Hi Everyone,
Currently I am trying to integrate my Xero account with my free Hubspot account but every time I try to connect, I receive an error stating 2FA is not enabled. This is quite frustrating because 2FA is in fact enabled, I even removed it and re-added it and it still does not work.
The account I am using is a Super Admin and has all permission required so I am so unsure as to why on earth this does not want to connect for me.
I’ve attached an image to this thread of the exact error but if anyone has any ideas as to what I may be doing wrong, please let me know.
Thank you.
Callum
Hi @Callum_M and welcome, it’s a pleasure to have you on the HubSpot Community!
Thanks for reaching out and thanks for the screenshot!
I can see why this is frustrating, especially after resetting 2FA. Please confirm that 2FA shows as active under Settings > General > Security in the same HubSpot account where you’re installing Xero. Then try connecting again in an incognito window or another browser.
If Require Two-Factor Authentication is already enabled under Settings > Security > Login, please note that this account-wide setting can take up to 24 hours to apply. You can review the details in this 2FA setup guide.
If the error continues, please send me the approximate time of your latest attempt by DM, and I’ll look into this further.
Thanks so much,
Bérangère
Hi Berangere,
Thank you for your reply. I was able to get the integration working based of the steps you suggested, turns out 2FA was not on for all logins.
I am now getting a new error though with the integration stating I need to reinstall it to active certain features. I’ve attached an image for reference but would you know what this means? I also had the connection disconnect itself.
I did do what it asked and tried reinstalling it but nothing seemed to change.
Thank you.
Hi @Callum_M and thanks for the update.
I’m glad the 2FA issue is resolved 
The “reinstall to activate certain features” message might be that the Xero app connection or its permissions were not fully refreshed.
Before reinstalling again, can you please go to Settings → Integrations → Connected Apps → Xero and check:
- Whether the app shows as connected or disconnected.
- The CRM syncs tab to confirm whether the contact, product, or invoice syncs are still active.
- The app activity/log to see when it disconnected or was reconnected. HubSpot records app installation, reconnection, and disconnection activity there.
If it is disconnected, can you please reconnect the existing Xero account and accept all requested permissions.
If the warning remains, please share the exact wording of the message (I don’t see the attachment, I’ve sent you a DM about this) and the approximate time of the disconnection so that we can investigate further.
For information, here is the article: Connect HubSpot and Xero (Data Sync).
I’d love to hear from our Top Experts: Hi @Alex_Boissonneault, @alyssamwilie and @evaldas do you know what might be the issue here, please?
Thanks so much and have a wonderful day!
Bérangère
Thanks for looping me in @Berangere.
@Callum_M, i read through the whole thread, good to see 2FA sorted.
That “reinstall to activate certain features” banner, i’ve hit it with three or four clients on the Xero app this year. It appears when HS has added new sync objects (invoices, payments) and your connection doesn’t have the Xero permissions for them yet. Reinstalling should fix it, but here’s the catch: it only works if Xero actually shows you a new consent screen with the extra permissions. If you clicked reinstall and it bounced you straight back to HubSpot without Xero asking you anything, nothing changed. Xero just reused your old approval. I’m fairly sure that’s what you saw.
Fix it from the Xero side:
Log into Xero > click your org name > Settings > Connected apps > HubSpot > Disconnect.
Then in HubSpot, Settings > Integrations > Connected apps > Xero > Uninstall. Properly uninstall, not just disconnect.
Reinstall from the marketplace with the same super admin login. This time Xero will ask you to approve permissions again, check the list includes invoices/payments before you hit Allow. If you’ve got more than one Xero org, pick the right one.
Your field mappings and sync settings come back after reinstall, so nothing to worry about there.
On the connection dropping by itself, Xero kills the link if the token hasn’t refreshed in 60 days, or if the Xero user who authorised it had their access or 2FA changed. Given you were resetting 2FA at exactly that time, I’d put money on that being the cause. Once you reconnect cleanly it stays.
Try that and let me know. If the banner’s still there after a proper reinstall, @Berangere can escalate it.
Hi Alex,
Thank you for getting back to me.
I’ve gone ahead and run the steps you suggested and removed both the app from hubspot and Xero but I was never prompted with the permission screen you mention. I am now able to sync contacts, invoices and products but the banner is still there telling me to reinstall.
This is exactly what the banner says: “Please reinstall the app manually to turn on these permissions and activate related features”
Please let me know if there is something I am doing incorrectly.
Thank you.
Callum
Hi @Callum_M, thank you for the additional details and for testing in an incognito window. Thanks also @Alex_Boissonneault for your help!
Can you please confirm that you are reinstalling Xero by HubSpot (Data Sync) from the HubSpot Marketplace, not only reconnecting Xero. In HubSpot, go to Settings → Integrations → Connected Apps → Xero → Actions → Uninstall. Then reinstall it from the Marketplace, complete the Xero login, review the requested permissions, and click Accept.
If you never see the permissions screen, try the installation in an incognito window or another browser, with ad blockers disabled. Also, can you please confirm that the Marketplace listing does not show the app as already installed?
I’d love to hear from our Top Experts: Hi @Anton, @SteveHTM and @Alex_Boissonneault do you have other suggestions to help @Callum_M, please?
Thanks so much and wishing you a fantastic weekend!
Bérangère
@Callum_M, Nice, now i can see the exact wording, that changes things.
First, your connection is fine. Contacts, invoices, products all syncing means nothing’s actually broken.
I sent you the wrong way with Xero, sorry. That banner is about HubSpot permissions, not Xero ones. That’s why Xero never asked you anything. HubSpot keeps adding features to the app that need extra scopes in your portal, and the app page nags until they’re granted.
Go to Settings > Integrations > Connected apps > Xero > Overview and scroll down past the syncs. The permissions are split into two lists.
If they’re under “Available after re-authentication”, there’s a Re-authenticate button. Click that. That’s the prompt you were missing.
If they’re under “Available after upgrade”, that’s your answer. Payments sync and custom field mappings need paid tiers. On Free they can’t be turned on, so the banner just sits there. Ignore it, everything you can use is already working.
My money’s on the second. Tell me which list they’re in and I’ll confirm.
Thanks for looping me in @Berangere, and @Callum_M glad the sync is at least moving now. This one comes up a lot, so a few things worth knowing:
The “2FA not enabled” message is misleading. HubSpot isn’t checking whether 2FA exists on your user, it’s checking whether the session you’re logged in with right now was authenticated with HubSpot’s own 2FA. That’s why people who have it turned on still hit the wall. Three common culprits:
- You logged in with Google/Microsoft or SSO. Those don’t count for this check. Log out completely, sign back in with your HubSpot email + password, complete the 2FA prompt (authenticator app or SMS), then go install Xero. Don’t rely on a “remember this device” session from before you enabled 2FA — that token predates the 2FA flag.
- Account-level “Require 2FA” was just switched on. Settings > Account Defaults > Security. It can take up to ~24h to propagate to the app-install check, so if you flipped it recently, give it a day and retry.
- Stale consent on the Xero side. Uninstalling in HubSpot isn’t enough, Xero still holds the old authorization and silently reuses it, which is why you never saw the permissions screen. In Xero: Settings > Connected apps > HubSpot > Disconnect. Then reinstall from the HubSpot Marketplace and you’ll get a fresh consent screen with the new scopes (that’s also what clears the “reinstall manually to turn on these” banner).
If the banner’s still there after that, it’s almost certainly the sync objects that need a paid tier, on Free they’ll just sit greyed out and it’s cosmetic, nothing broken.
Hope this gonna help.
Hi Alex,
I’ve done what you suggested and had a look around the menu but there is no “Re-Authenticate” button like you speak of, only the banner that mentioned I need to re-install it to authenticate the permissions.
I’ve also had the integration once again disconnect as my “Connection has expired”, this is becoming quite annoying and tedious. I understand I have the free version of Hubspot currently but does it not support these basic integrations?
Also while I appreciate your help greatly so far and am very thankful for it, I do not appreciate the use of AI, if I wanted help from an AI chat bot I would have asked it, but I came here for genuine human support on this issue.
Thanks
Callum
@Callum_M, fair point and i bang these out between client calls and they come out sounding like a manual. All of this is from my own screen, not a bot.
To your question… yes, Free supports the Xero integration. Contacts, products and invoices sync on Free, which is exactly what you’ve got working. The banner is about payments sync and custom field mappings, which need paid Hubs. On Free there’s nothing to authorise, so no button appears and the banner never clears. Ignore it.
The connection expiring is Xero dropping the token, not HubSpot. You can check in Xero under org name. whether HubSpot is listed and whether the org is a paid subscription or a trial/demo. Trials and the Demo Company expire and take connected apps with them.