When an invoice raised in simPRO, AroFlo or ServiceM8 doesn't turn up in Xero or MYOB, the cause is almost always on a short list: the customer can't be matched, an item, account or tax code isn't mapped, the invoice number already exists, the date is in a locked period, a record was archived on one side, or the connection has lapsed. Start with the connector's error or history log, because it usually names the reason. Most of these are fixed in settings. When the same invoices keep failing after the obvious fixes, or arrive in the wrong shape, the connector itself may be the limit.
What the problem looks like
The job is finished, the invoice is approved in the job system and the customer has it. But in Xero or MYOB it isn't there, or it's there with the wrong customer or every line at a quantity of one. Accounts receivable is out, and the bookkeeper finds out at month-end, or when a customer pays an invoice the accounts don't know about.
The reviews show how common this is. As of October 2026, simPRO's app on the Xero App Store had a rating of 3.6 out of 5 from 69 reviews. One 1-star review says: "We cannot transfer invoices to Xero. We just keep getting the same response we need to remap our Simpro." Another says the link "completely missed supplier invoices, or at best sent them across incorrectly" (Xero App Store reviews for simPRO).
This article is about invoices that fail or arrive wrong. For month-end reconciliation (split payments, unallocated credits, timesheets), see simPRO and AroFlo to Xero or MYOB: what syncs and what doesn't. For ServiceM8 job profit, see ServiceM8 and Xero for growing trades businesses.
What to check first
Before changing anything, find out what the connector thinks happened:
- simPRO: simPRO's help guide points to Utilities > Xero > History for a log of every transaction posted to Xero, with the errors against each.
- AroFlo: the sync and error screens in the Xero integration settings.
- ServiceM8: check the invoice is approved, then look for it in Xero. ServiceM8 has a help article on resolving Xero invoice synchronisation issues.
Write down the exact error text for each failed invoice. Several failures with one message usually share one cause.
Cause-by-cause checklist
Work through these in order; the early ones are the most common.
1. The customer can't be matched
The job system has to find the customer in the accounts, or create them. If the names differ even slightly, it can't.
- In MYOB the message is often "Customer not found", for example "Error -190: Customer not found. Sale invoice not imported". MYOB Community answers explain that the card name must match in spelling and case, with no stray spaces (MYOB Community).
- Users also describe customers already in MYOB appearing again in simPRO's Transfer tab, so that transferring them creates duplicates.
- Threads on the MYOB Community cover "Error 173 – linking with simPRO" (thread) and "a large number of rejected files with error Code 173" when importing from simPRO to AccountRight (thread). We could only read search snippets of these, so check the replies against your own setup.
Fix: link the existing customer card rather than letting the job system create a new one, and agree one place where new customers are created.
2. Items, income accounts or tax codes aren't mapped
Every invoice line needs an account and tax code the accounts will accept. A new item, a new cost centre or a renamed account often has no mapping on the other side. ServiceM8 imports income accounts and tax rates from Xero, so an account archived in Xero can leave lines with nowhere to go. simPRO maps each cost centre to an account, so a new cost centre needs its mapping before its first invoice.
Fix: check the mapping screen whenever anyone adds an item, cost centre, account or tax rate. If you're tidying the chart of accounts, do it before reconnecting (see chart of accounts clean-up before integration).
3. The invoice number already exists
ServiceM8's help centre says an invoice number sent to Xero must be unique. The usual triggers are an invoice raised directly in Xero, or one voided or deleted and then recreated with the same number. Its advice: rename an invoice (for example, add "void") before voiding it, and let one system own the numbering (ServiceM8: resolving Xero invoice number conflicts).
Fix: decide which system issues invoice numbers, and stop raising job invoices directly in the accounts.
4. The date is in a locked period
Once the bookkeeper sets a lock date in Xero, or closes a period in MYOB, nothing dated earlier can post. simPRO's help guide lists Xero's "The document date cannot be before the period lock date" error, which has to be dealt with on the Xero side.
Fix: agree with the bookkeeper whether the invoice takes the current date or the lock date moves briefly. Don't quietly loosen the lock.
5. A record was archived or deleted
If a contact, item or account has been archived in Xero, invoices that use it are rejected. simPRO's help guide quotes Xero's message that the contact "has been archived" and "must be un-archived before creating new invoices or credit notes".
Fix: un-archive, resend, then archive again only if the record really is finished with. Tell whoever runs the job system before merging or tidying records in the accounts.
6. The connection has lapsed or points to the wrong file
Connections to Xero and MYOB rely on authorisation that can expire or be revoked, for example when the person who connected the app leaves. ServiceM8 also lists invoices that "synced to a different organization" where a business has more than one Xero organisation; the fix is reconnecting to the right one. In an MYOB Community thread about ServiceM8 invoices not sending to MYOB, ServiceM8 was reported to have put it down to an MYOB API token fault. MYOB also changed its API permissions in September 2026 (see MYOB integration stopped working after 1 September 2026).
Fix: reconnect with a user who has full access (for MYOB, an Administrator of the company file), confirm it's the right organisation or file, then resend everything that failed while it was down.
7. Zero-value invoices, partial payments and credit notes
ServiceM8 says an approved invoice with no value won't sync. Deposits, progress invoices, partial payments and credit notes each follow their own rules in each connector, and a credit note against an invoice that never reached the accounts has nothing to apply to.
Fix: clear failed invoices before the payments and credits against them, and keep a short list of which document types your connector sends.
When the invoice arrives in the wrong shape
Sometimes the invoice crosses but the detail changes. The best-known example is AroFlo to Xero: a request on Xero's Product Ideas forum says every line quantity is set to 1, with the real quantity moved into the description, which breaks inventory tracking and reporting. The support reply it quotes calls this a limitation of the Xero API. Totals are right; anything relying on line quantities isn't.
No setting fixes this, because it's how the connector was built. That's the clearest sign you've reached its limit.
When the connector itself is the limit
Most businesses find their problem in the first six causes. The connector, rather than your setup, is likely the limit when:
- the same invoices keep failing after mappings, customers and the connection have been checked;
- support says "remap" and remapping changes nothing;
- data you need (quantities, tracking, job references) is dropped or reshaped on every invoice;
- invoices need to go to one of several Xero or MYOB files by rule;
- someone already exports from the job system and imports into the accounts by hand every week.
Then the choice is a careful repair of the existing setup (clean mappings, merged duplicates, a cleared backlog and a regular check) or a custom integration that sends exactly what you need and keeps a log to compare against. Try the repair first.
When it's worth getting help
If a few invoices fail each month and the log says why, your team can handle it with the checklist above and a monthly integration health check.
Bring someone in when the backlog is months old, there are duplicate customers on both sides, nobody knows who set the connector up, or receivables in the accounts no longer match the job system and you can't say why. Our Xero and MYOB integration repair work starts with the connector and settings you have, and only moves to a custom build when the connector can't do the job. If missing invoices are one symptom of systems that don't fit together, the $5,000 Process & Systems Audit maps how work and data move between your systems and gives you a written report.
For the common patterns behind these failures, see when your integration only half works. See also trades and field service and the Xero and MYOB integration and migration guide.
Frequently asked questions
Why is my simPRO invoice not transferring to Xero?
Check simPRO's accounting link history first. The usual causes are an unmapped account or tax code, a customer that can't be matched, an archived contact in Xero, or an invoice dated before Xero's lock date. Fix what the error names, then resend.
What does "Customer not found" mean when importing into MYOB?
MYOB couldn't match the customer on the invoice to an existing card. Names must match exactly, including spelling, capitals and spaces. Link the existing card rather than creating a new one, or you'll get duplicates.
Why are my ServiceM8 invoices not showing in Xero?
ServiceM8's help centre covers three common reasons: the invoice has no value, it synced to a different Xero organisation, or its number already exists in Xero.
Why does AroFlo send every line to Xero with a quantity of 1?
Users report that AroFlo's Xero link sets line quantities to 1 and puts the real quantity in the description. It's how the connector works, not a setting you've got wrong.
Will reconnecting resend the failed invoices?
Not always. After reconnecting, compare invoices in the job system with the accounts for the affected dates, and resend anything missing, checking for duplicates.
If invoices from your job system keep going missing on the way to Xero or MYOB, book a free initial chat. We'll look at what's failing and tell you honestly whether it's a setting, a clean-up or a limit of the connector.