Your job software “syncs with Xero”. That sentence is doing more work than the software is.
Open the pricing page of almost any job management tool built for trades or cleaning and you will find a tick beside the words Xero integration. It sits near the bottom, in the same list as SMS reminders and photo attachments, and it gets roughly the same share of your attention — which is to say none, because of course it integrates with Xero, everything integrates with Xero. You read the tick and you take away a comfortable idea: my jobs and my books agree with each other.
I want to be fair to the software, because the tick is not a lie. Something genuinely does sync. The trouble is that the thing which syncs and the thing you assumed syncs are two different objects, and the distance between them never announces itself. There is no error message, no red banner, no Tuesday morning where it breaks. It surfaces eleven months later as a bank balance that will not agree with Xero, and nobody in the building able to say when it started.
What the tick actually buys you
Strip the marketing off and the standard integration does one thing. When you mark a job as invoiced, it creates a sales invoice in Xero. One direction, one object, one moment in time. That is the whole feature.
This is genuinely worth having. Re-typing invoices by hand is miserable, slow, and reliably wrong about once a fortnight, and a tool that removes that job has earned its keep. If raising the invoice were the end of the story you would have no problem at all.
But an invoice is only one half of a transaction. The other half is the money, and the money does not travel the same road.
The money takes a different road home
Say a customer taps their card on your crew's phone at the end of a bond clean. From where you are standing that is done — paid, finished, next job. What actually happens is that the payment processor takes the money, holds it for a couple of days, batches it together with every other payment you took that period, subtracts its fees, and deposits one lump sum into your account on Thursday.
So your bank feed shows a single deposit for an odd amount that matches no invoice you have ever raised. Meanwhile Xero holds a few dozen individual invoices, each sitting politely at awaiting payment, because nothing ever told Xero they were paid. The job software knows the customer paid. Xero does not. There is no line of code anywhere in that stack whose responsibility it is to connect the two.
What happens next is not fraud or incompetence. It is a reasonable person clearing a bank feed on a Friday afternoon. The deposit has to go somewhere, so it gets coded to sales, or to a clearing account someone opened once with good intentions. The bank feed goes green. Everything looks reconciled.
Except the income has now been counted twice — once when the invoice was raised, once when the deposit was coded — and the original invoices are still open, and will be open forever, because nothing will ever close them. Your aged receivables report has quietly become fiction. If you are on accruals, so has your BAS.
Four ways the gap widens on its own
The payout problem is the big one, but it is not alone, and the others compound because a one-way push has no memory of what it already sent.
- Retries make duplicates. The connection drops mid-sync, the job software is not sure whether the invoice landed, so it sends again. Now there are two. Each one is individually plausible and neither is obviously the wrong one, which is exactly why they survive being looked at.
- Edits do not travel. You fix the price on a job after the invoice has gone across. The job software updates. Xero does not, because the push already happened and nothing is watching for changes. The two systems now disagree, and both of them believe they are right.
- Cancellations leave a body behind. A job gets cancelled or a customer disputes it. You void it in the job software and move on. The Xero invoice is still there, still owed, still ageing, still in the debtors figure you use to judge how the business is going.
- Fees disappear from the story. The processor's cut never appears as an expense anywhere, because the only number that reached your books was the net deposit. You are quietly understating both your revenue and your costs, which cancels out in the profit line and hides in every ratio you might use to price a job.
The uncomfortable part, given what we sell
I should be straight about the position I am arguing from, because we sell software at both ends of this problem and it would be very convenient for me if you believed every other tool was broken.
Extrua Dispatch pushes invoices to Xero as well. The physics are the same for us as for anyone. A tool cannot make a payout arrive as individual payments, and no integration on the market can change how a processor batches money. Anyone claiming otherwise is describing a product that does not exist.
The difference worth asking any vendor about — us included — is not whether the sync exists. It is whether the sync has an opinion about payments: does it know the deposit relates to those particular invoices, does it record the fee, does it refuse to send the same invoice twice, does it tell you when the two sides have drifted apart. Those are answerable questions. Xero integration is not.
Every job management tool can tell you what you invoiced. Very few can tell you what you were actually paid, and the difference between those two numbers is the one your accountant will find in July.
How to find out where you actually stand
This takes about twenty minutes and needs no new software. Do it before you believe anybody, including me.
- Open aged receivables in Xero and sort by oldest. If there is a wall of small invoices from customers you know paid on the day, you have found the payout problem. Those are not debtors — they are receipts nothing ever matched.
- Look up the balance of any clearing or suspense account. A clearing account is meant to be a room things pass through. If it holds a large number that only ever grows, it has become a room things live in, and that number is the size of the disagreement.
- Sort your sales invoices by amount and scan for pairs — same customer, same figure, dates a minute or two apart. Duplicates from retries cluster like that, and they are much easier to spot by amount than by date.
- Compare the bank balance Xero shows against the actual balance in your banking app, today. Reconciled to the last statement line is not the same as correct, and this is the fastest way to see the difference.
- Ask whoever sold you the job software one question: when a payout lands, what closes the invoices? If the answer involves somebody doing it manually each week, that is your answer, and it is fine — as long as somebody is actually doing it.
If those checks turn up something you do not like, the drift is fixable and the mechanics are boring rather than mysterious. We have written up the two most common versions in detail — why Stripe payouts won't reconcile in Xero and how to find and fix duplicate invoices — and if the gap has been growing for years rather than months, that is what Reconcile is for.
None of this is hypothetical for us. Extrua exists because the founder's own Sydney cleaning business ran exactly this setup and ended up $56k of variance away from the truth — 124 of 140 payouts reconciled to the cent by the end of it, and 41 duplicate invoices caught along the way. Not one of those problems was caused by anybody being careless. They were caused by a tick on a pricing page meaning less than everyone assumed it did.
The bit I would actually take away
Integrations are sold as a state — connected, synced, linked — and they are almost never a state. They are a specific behaviour, running at a specific moment, in one direction, doing one thing. The word integration is a claim about the wiring, not a promise about the result.
So when the next tool tells you it syncs with your accounting software, take the extra minute to ask what it sends, which way it goes, and what happens to the money. It is an unglamorous question and it will make the salesperson slightly less enthusiastic. It is also, in my experience, the difference between books you can make a decision from and books somebody has to spend a fortnight rebuilding.
Software for service businesses — built by an operator.
Job management, books, and AI agents that actually know your business.