A practical guide to two-way Xero sync for trade businesses: what actually moves between your job app and Xero, a month-end routine, and how to avoid duplicate customers, VAT mismatches and double-logged payments.
Key takeaways
If you are raising a job in one system and the invoice in another, month end is a spreadsheet exercise: working out which invoices are actually paid, which customer you already have on file under a slightly different name, and which VAT code someone typed by hand instead of picking from a list. The fix is a genuine two-way sync, where invoices, payments, customers and VAT codes move automatically in both directions between your job management software and Xero, not a one-way push that only sends data out. Checker syncs both ways with Xero: every invoice you raise and every payment you take flows automatically between Checker and Xero, so the job and the money you were paid for it stay the same record in both places.
If you are still weighing up which job management software to pair with Xero in the first place, our guide to the best job management software that integrates with Xero for UK trades covers that decision. This guide picks up from there: what to expect once the sync is switched on, and how to run reconciliation without creating extra work for yourself.
Picture the ordinary version of this. An engineer finishes a boiler service, raises the invoice on their phone before leaving the driveway, and takes a card payment there and then. Back at the office, whoever handles the books either re-keys that invoice into Xero from scratch, or waits until month end to do a batch of them together. Somewhere in that gap, a payment gets missed, a VAT rate gets typed wrong, or the customer gets created twice because the office did not know the engineer had already added them on site.
None of this is because anyone is careless. It is what happens by default when the job system and the accounting system are two separate places that only meet when a person manually carries information between them. The invoice total might match, mostly, but proving it took someone sitting down with two screens open, and any job that got missed does not surface until a customer chases a receipt or an accountant asks why a job shows as unbilled three months after it was done.
A two-way sync removes the manual carrying. It does not remove the need to check your figures at month end, but it changes what that check involves: confirming the sync worked, not re-entering the sync’s job by hand.
“Syncs with Xero” gets used loosely, so it is worth being specific about what the two versions actually do.
A one-way push sends data outward only, usually invoices and customer records moving from the job app into Xero. That is genuinely useful, it means invoices do not need re-typing, but it stops there. If a payment gets reconciled in Xero, the job app does not know. If an invoice gets edited in Xero, the job app is now out of date. Xero’s own bank reconciliation screen matches imported bank lines to existing invoices using suggested matches based on amount, date and contact, and that reconciliation state, paid or not, lives inside Xero. A one-way push has no route back out of Xero to tell the job app that state changed, so the job still shows as unpaid or open somewhere else, and someone has to notice and fix it.
A genuine two-way sync closes that gap. Every invoice you raise and every payment you take flows automatically both ways between Checker and Xero, QuickBooks or Sage, so reconciling a payment in Xero is the same action as marking it paid in the job app, because they are the same record.
It is worth checking this distinction for whichever accounting package you actually use: do not assume it behaves identically across all of them. Checker connects to Xero, QuickBooks and Sage, but documents the depth of that connection separately for each: Xero’s sync is described as full two-way, where QuickBooks and Sage have their own documented behaviour for what flows back. The lesson generalises beyond Checker: confirm what comes back out of the accounting package as well as what goes into it, before you rely on either direction at month end.
Per Checker’s own accountancy integrations page, this is what the sync covers:
The lock date is the cutoff you set when you connect Checker to Xero, QuickBooks or Sage. Every invoice and payment dated on or after that date flows both ways in the background: raise it in Checker and it appears in your accounts, reconcile it in Xero and Checker knows.
This is a different control from Xero’s own lock dates, and it is worth understanding both. Xero has a Reporting Period lock date and an End of Year lock date, set separately inside Xero’s financial settings under the Advisor role, and they restrict who can edit a transaction dated on or before the lock date, no matter where that transaction came from. Checker’s lock date decides what is eligible to sync at all; Xero’s lock dates decide who, if anyone, can still change a transaction once it exists. Used together, they mean a job invoiced and reconciled last quarter is not quietly disturbed by a sync running this quarter, and it is not accidentally editable by someone in Xero either.
A two-way sync does not remove reconciliation as a task, it removes the re-keying that used to sit underneath it. A short routine covers what is left:
Duplicate customer records. This usually happens when a customer is created manually in Xero even though a matching record already exists from the Checker sync, or the other way round, most often when someone is working quickly on site and someone else is working quickly in the office at the same time. Letting Checker create and match customers automatically, instead of adding them separately in Xero, avoids most of this. Where a duplicate does appear, use Xero’s merge feature to fix it: deleting one manually loses the transaction history that merging keeps.
Mismatched VAT codes. A code that looks wrong is often not a sync fault but Xero’s own default tax rate order asserting itself, the contact’s default, then the item’s default, then the account’s default, overriding what was expected. Checking those defaults on the Xero side, alongside the VAT code chosen in Checker, closes this gap faster than assuming the sync itself is broken.
Payments logged twice. This happens when a payment that already came through Checker, a card payment taken on site for example, is also entered as a new receive-money transaction directly in Xero’s bank reconciliation screen, instead of matching it against the invoice that already exists. The habit that prevents it: use the suggested-match option in Xero and skip creating a fresh transaction.
Editing a synced invoice. Edits made in Xero do update Checker, so the two stay level either way. Even so, the steadier habit is to make changes in Checker, where the job record started, so the job history and the invoice keep telling the same story later. Once an invoice has been reconciled, use a credit note allocated against it and leave the original line unchanged, which is also how Xero itself expects a reconciled invoice to be adjusted.
Accounts sync with Xero, QuickBooks or Sage sits on Checker Pro and above, at £19.99 a month. Checker Lite, at £10.99 a month, includes unlimited invoicing, quoting and job sheets, but has no CRM, no reminders and no accounts sync. If double entry between your job app and Xero is the problem you are trying to solve, Lite will not solve it. Pro+, at £25.99 a month, adds unlimited sub users on top of everything Pro includes.
The trial does not need card details, so it is possible to connect a real Xero organisation, set a lock date, and raise a real invoice to see the sync work before choosing a plan. Pro also includes the automations that keep an invoice from stalling before it ever needs reconciling, an invoice chaser once payment terms expire alongside the appointment and quote chasers, so fewer invoices arrive at month end unpaid in the first place.
It means data moves in both directions automatically. Raise an invoice in your job management app and it appears in Xero without re-entry. Reconcile a payment in Xero and your job app shows the job as paid. A one-way push only sends data outward, usually invoices and customers into Xero, so anything that happens on the Xero side, a payment, an edit, a reconciled bank line, does not come back, and you end up checking two systems by hand anyway.
Every invoice you raise and every payment you take flows automatically both ways between Checker and Xero, including line items, quantities, prices and notes. Payments logged on either side reconcile on the other. Edits made in Xero update Checker. Customers are created and matched on both sides. VAT codes at 20%, 5%, 0% and exempt sync, along with CIS deductions, credit notes and part-payments.
The lock date is the cutoff you set when you connect Checker to Xero, QuickBooks or Sage. Every invoice and payment dated on or after that date flows both ways automatically in the background: raise it in Checker and it appears in your accounts, reconcile it in Xero and Checker knows. It stops the sync from reaching back into periods you have already closed and reconciled.
No, they are two different controls that work together. Checker’s lock date decides which invoices and payments are eligible to sync at all. Xero’s own lock dates, a Reporting Period lock date and an End of Year lock date, are set separately inside Xero’s financial settings and restrict who can edit transactions dated on or before those dates, regardless of where the transaction originated.
Usually a customer is created manually in Xero when a matching record already exists from the Checker sync, or the reverse. Letting Checker create and match customers automatically avoids most of this. If duplicates do appear, Xero’s own merge feature combines the transaction history onto the record you keep and archives the other, and the merge can be undone.
Xero applies its own default tax rate settings in a set order, the contact’s default, then the item’s default, then the account’s default, when a transaction is created. If any of those defaults are set differently to what was raised in Checker, the code that shows can differ from what was expected. Checking the defaults on the Xero side is worth doing alongside checking the VAT code selected in Checker.
Typically a payment already sent through Checker, for example a card payment, is also entered manually into Xero’s bank reconciliation screen as a new receive-money transaction, instead of matching it to the invoice that already exists. Match the payment to the existing invoice using Xero’s suggested-match screen and it stops happening.
Edits made in Xero do update Checker, so the two systems stay level. The safer habit once work is underway is to edit in Checker, where the job record originated, so the job history and the invoice still tell the same story later. Once an invoice has been reconciled, the standard way to adjust the amount is a credit note allocated against it, leaving the original line untouched.
Accounts sync with Xero, QuickBooks or Sage needs Checker Pro or above, at 19.99 pounds a month. Lite, at 10.99 pounds a month, covers unlimited invoicing, quoting and job sheets but does not include accounts sync.
Checker connects to all three, but each has its own documented behaviour, so check the specifics of whichever one you use instead of assuming they all work identically. Xero’s sync is documented as full two-way. The safest approach with any accounting package is the same one this guide recommends for Xero: check both directions, what leaves your job app and what actually comes back, before you rely on it at month end.
If double entry between your job app and Xero is costing you an evening every month, connect your accounts to see the sync run on a real job.
Get Started FreeThis guide describes Checker’s own documented Xero sync behaviour and Xero’s own published features. Confirm current behaviour inside your own Checker and Xero accounts, since account-level settings can change what you see.