Why Your CRM and Your Accounts Don't Agree: HubSpot or Salesforce with Xero or MYOB

29 October 2026 Aaron Chambers Systems Integration, Business Strategy

Your CRM and your accounts disagree because they were set up separately and the connector between them only copies some records, under strict matching rules. Quotes often don't carry across at all. An invoice is skipped when its customer can't be matched. A tax rate that exists in both systems still isn't recognised as the same rate. And payments only flow back to sales if that part was switched on. The fix starts with decisions, not software: agree which system owns customers, products and tax, clean up both sides, and set up the standard connector properly. If you relied on the old Xero-built HubSpot app, check that first: it was switched off on 13 March 2026.

What "not agreeing" looks like

These are the problems we hear about most, in plain English:

  • A won deal doesn't become the right invoice. A quote is accepted in HubSpot or Salesforce, then someone retypes it into Xero or MYOB, or the connector creates an invoice with the wrong lines or prices.
  • The same customer exists twice. "Smith Builders Pty Ltd" in the CRM and "Smith Builders" in Xero become two contacts, each with half the history. Or the sync overwrites the accounts team's billing contact with the salesperson's contact.
  • Tax and items don't line up. A product called "Install - standard" in the CRM doesn't match the Xero item code, or the GST treatment differs, so invoices either fail to sync or land with the wrong tax.
  • Sales can't see who has paid. Payment status lives only in the accounts, so sales chases a renewal with a customer who is overdue.
  • The connection quietly stops. The app says "connected", but nothing has synced for a fortnight.

Then the sales report and the revenue report give different numbers. If that sounds familiar beyond the CRM, see when your systems give different numbers.

Why it happens

The connector copies less than people assume. HubSpot's marketplace listing for its own Xero data sync says plainly that quotes do not sync. Its help article lists contacts, products, invoices and payments as the objects it syncs. So the step most businesses actually want automated, an accepted quote becoming an invoice, isn't covered by the standard connector. Salesforce has no native Xero or MYOB connection at all; you rely on connector apps from the Salesforce AppExchange or a connection built for you.

Records only sync when they can be matched. HubSpot's help article says an invoice needs an associated customer that is present in both HubSpot and Xero, or it won't sync. If contacts were created separately in each system, with slightly different names or emails, the connector either skips the invoice or creates a duplicate.

Tax rates don't travel. According to HubSpot's help article, tax rates created in HubSpot won't sync to Xero, and invoices using HubSpot's automated sales tax won't sync from HubSpot to Xero at all. One reviewer on the HubSpot marketplace wrote on 29 September 2026 that they couldn't sync their historical invoices "because Xero and HubSpot cannot figure out a way to allow a user to match tax rates that exist in both platforms."

History doesn't come across. HubSpot's help says only payments created after you connect the app will sync to HubSpot, to prevent duplicates. Old invoices and payments stay where they were unless someone loads them deliberately.

At the time of writing, HubSpot's Xero data sync listing on the HubSpot marketplace is rated 2.2 out of 5 from 46 reviews. Reviewers mention records that "suddenly stop syncing due to an error 'AuthenticationUnsuccessful'" and contact details being overwritten. Ratings change, so check the listing yourself.

First check: were you on the old Xero-built HubSpot app?

There used to be two HubSpot and Xero apps: one built by Xero (often listed as "HubSpot CRM integration by Xero") and one built by HubSpot ("Data Sync"). According to Xero's notice to affected customers, as reported by several connector vendors, the Xero-built app was retired and automatically disconnected on 13 March 2026. Contacts and invoices stopped syncing for anyone who hadn't moved. Its Xero App Store listing no longer loads. We couldn't find the retirement notice on Xero's or HubSpot's public help pages, so treat the date as reported rather than officially published.

To check:

  1. In Xero, go to Settings and open Connected Apps. See which HubSpot app is listed and whether it's connected.
  2. In HubSpot, open your connected apps and check which Xero integration is installed and when it last synced.
  3. If invoices stopped arriving around mid-March 2026, this is the likely cause. Anything raised since may need entering, without creating duplicates.

HubSpot's own Data Sync app and third-party apps weren't affected.

For MYOB users, the 2026 change to watch was different: MYOB changed its API permissions on 1 September 2026, and connections that weren't updated stopped working. Our post on why MYOB integrations stopped working after the API change covers what to check.

Step 1: decide which system owns what

Before touching any settings, agree who is the "owner" of each type of data. The owner is the system where it's created and changed; the other system receives a copy. Write it down on one page:

  • Customers and contacts: usually the CRM owns the person and company, and the accounts own billing details (billing email, ABN, payment terms).
  • Products and prices: pick one. If finance sets prices and item codes, the accounts system owns them and the CRM receives them. If sales builds custom quotes, decide how a one-off line becomes a valid invoice line.
  • Tax codes: the accounts system should own GST treatment. Turn off tax calculation in the CRM if it conflicts, and map each CRM product to the correct Xero or MYOB tax code.
  • Invoices: decide where they're created. Either the CRM creates them and the accounts receive them, or accounts create them from a won deal. Not both.
  • Payments: always owned by the accounts. The CRM only receives the status.

This page settles most arguments, and it's the brief for whoever sets up the connection.

Step 2: clean up both sides before switching sync on

Connecting two untidy lists makes one bigger untidy list.

  1. Merge duplicate contacts in both systems, matching on ABN where you have it.
  2. Match product names and item codes. Line both lists up in a spreadsheet and archive anything no longer sold.
  3. Check tax codes on every item in Xero or MYOB, and set the same treatment in the CRM.
  4. Agree a cut-over date. Decide whether historical invoices need to come across at all. Often they don't; sales may only need open invoices and payment status from now on.

For a deeper tidy-up, see our Xero and MYOB integration and migration guide.

Step 3: set up the standard connector properly

For many businesses this is enough, if the process is simple: one Xero organisation, standard products, an invoice when a deal is won.

HubSpot and Xero (HubSpot's Data Sync):

  • Choose the sync direction for each object: two-way, HubSpot to Xero only, or Xero to HubSpot only. Follow your ownership page. Products owned by accounts should sync one way, from Xero.
  • Review the default field mappings. HubSpot says custom field mappings need at least a Data Hub Starter subscription (previously called Operations Hub), so check your plan before assuming a field will carry across.
  • Don't use HubSpot's automated sales tax on invoices you need in Xero.
  • Turn on payment sync so sales can see status, knowing it only covers payments from the connection date onwards.

Salesforce and Xero or MYOB: choose an AppExchange connector app that handles the objects you use (opportunities, quotes, products, custom objects) and Australian GST. Test it with real deals, a credit note and a part-payment first.

HubSpot and MYOB: there are fewer options than for Xero. Check any app supports your MYOB product and the September 2026 permissions.

Then check it monthly: compare invoice counts and values, read the error log and look for duplicates. Our 15-minute monthly integration health check walks through it.

When the standard connector isn't enough

Some processes simply go beyond what a connector does. Signs you've reached that point:

  • accepted quotes need to become invoices, with the same lines, discounts and tracking categories
  • you run several Xero organisations or MYOB company files, and deals need routing to the right one
  • billing is by milestone, recurring or usage, and currently lives in a spreadsheet
  • custom fields or Salesforce custom objects need to reach the accounts
  • someone spends time every week fixing sync errors or retyping invoices

Then it's worth a connection built around your process, with errors flagged to a person, not silently skipped. Our pages on HubSpot and Xero, Salesforce and Xero and HubSpot and MYOB integration explain how we approach each one, and our CRM and accounting integration guide covers what each type of data should do.

If the CRM is only one of several systems that don't agree, start with the bigger picture. Our $5,000 Process & Systems Audit maps how a sale becomes an invoice and then cash across all your systems, and gives you a written report on what to fix first.

Frequently asked questions

Why won't my HubSpot quotes sync to Xero?

HubSpot's own Xero data sync doesn't sync quotes; its marketplace listing says so. It syncs contacts, products, invoices and payments. To turn an accepted quote into a Xero invoice automatically, you need a different connector app or a connection built for your process.

Is the HubSpot Xero integration being retired?

The older app built by Xero was retired on 13 March 2026, according to Xero's notice to affected customers as reported by connector vendors. HubSpot's own Data Sync app was not affected. Check Connected Apps in Xero to see which one you have.

Why are my HubSpot invoices not syncing to Xero?

The most common reasons are that the customer doesn't exist in both systems, the invoice uses HubSpot's automated sales tax, a tax rate or item doesn't match, or the connection has lost its authorisation. Read the sync error log first; it usually names the record and the reason.

Should the CRM or the accounts own customer details?

Usually the CRM owns the person and company, and the accounts own billing details. What matters is that you decide, write it down and set the sync direction to match.

If your sales and finance numbers still don't agree after the simple fixes, book a free initial chat and we'll talk it through.