Fixing accounting sync problems and changed records
This guide covers things that can happen after you connect QuickBooks Online or Xero: a sync fails, a refund or time entry is in an uncertain state, or a record you already sent was changed in your accounting system. ServiceVisit never writes over your books to settle a disagreement. It tells you, and you decide.
Before you start
- You need a role that includes Manage Integrations.
- Refund recovery also requires Export Billing Data.
- Everything below is on Settings, then Integrations, apart from the invoice steps.
Steps
A sync failed or was blocked
- Read the yellow banner after the sync. Blocked reasons are written out in full.
- Select view errors to open the Sync Errors list.
- Fix the cause, usually a missing mapping or an expired connection, then sync again.
Time entries needing sync attention
- Find Time entries needing sync attention, which appears only when there are failures. Each row shows the error and the last attempt.
- Where a send was uncertain, open the Resolve uncertain section for your accounting system (it ends in send) and check your accounting system for that technician, date and duration.
- If a matching record exists, enter its ID under the link field and select Link record.
- If none exists, explain how you checked (at least 10 characters), tick the box confirming you found no matching record, and select Authorize retry.
A Xero invoice send is uncertain
- Find Invoices needing a remote check after refreshing Integrations. A send still in progress cannot be retried.
- Select Check invoice in Xero. ServiceVisit compares candidates with the saved customer, dates, currency, invoice number, reference, amounts, tax, accounts and tracking. A matching invoice is confirmed without another write; Sync Invoices then finishes its local export record.
- Different, voided or ambiguous records remain unresolved. Review them in Xero and contact support.
- If nothing retains the original invoice number or reference, inspect Xero yourself. Editing both fields can hide an invoice from this check. Only if the invoice was not recorded, open Authorize another invoice send, confirm your inspection, enter a reason of at least ten characters, then authorize. ServiceVisit checks again before retaining your named decision.
- Use Sync Invoices to send after authorization. The previous attempt and key remain retained. If the invoice changed after the decision, another send remains blocked pending review.
A Xero refund send is uncertain
- Refresh Integrations after a failed refund sync. Find Refunds needing a remote check, which identifies the invoice and refund amount. A send still in progress cannot be retried.
- Select Check refund in Xero. ServiceVisit looks for the exact refund and compares its customer, date, currency, bank account, lines, tax and tracking with the saved request. This is a read-only check.
- If one matching refund exists, ServiceVisit links it without sending another refund.
- If none is found, review the result and enter a reason of at least 10 characters. Select Authorize another refund send, then Sync Refunds. The authorization expires as an option when its check becomes stale; check again if asked. Your authorization and reason are retained.
- If Xero has multiple or different matching records, review them in Xero and contact support. ServiceVisit keeps the send unresolved and does not issue a replacement automatically.
Changing account mappings or reconnecting does not clear an uncertain refund. Check now in the changed-records section checks records already exported; it does not resolve an uncertain send. An older unmarked transaction with the original reference also blocks another send. If no candidate is found, inspect Xero first: editing both the reference and source marker can hide a refund from the check. Missing or incomplete Xero pages never count as an absent refund.
A Xero payment send is uncertain
- Refresh Integrations and find Payments needing a remote check. Select Check payment in Xero after the original send finishes. This reads Xero without creating a payment or moving money.
- A matching marked payment is confirmed. Sync Invoices then finishes its local export record.
- For an older unmarked payment, inspect Xero and use Confirm an existing Xero payment with its exact payment ID and your reason. ServiceVisit rechecks the invoice, account, amount, date, currency and reference. Amount and date alone do not identify a payment.
- Changed, ambiguous or unlinked invoice payments block another send. Investigate them in Xero.
- If no candidate remains, inspect Xero yourself: editing both invoice and reference can hide a payment from the check. Only if it was not recorded, open Authorize another payment send, confirm your inspection and enter a reason. A fresh check runs before authorization.
- Use Sync Invoices after authorization. The previous attempt, actor and reason remain retained. If the payment request changed, another send remains blocked.
A Xero financing fee send is uncertain
- Refresh Integrations and find Financing fees needing a remote check. Select Check fee in Xero after the original send finishes. These checks create no accounting document and move no money.
- An exact marked fee is confirmed. Sync Invoices finishes its local export; the successful financed-remittance payment is preserved.
- For an older unmarked fee, inspect Xero and use Confirm an existing Xero fee with its exact bank transaction ID and your reason. Lender, bank account, date, currency, reference, amounts, lines, tax and tracking must match. Amount and date alone do not identify the fee.
- Changed, ambiguous or unlinked transactions block another send. Investigate them in Xero.
- If no candidate remains, inspect Xero yourself: editing both the reference and source marker can hide a fee. Only if it was not recorded, open Authorize another fee send, confirm your inspection and enter a reason. A fresh check runs before authorization.
- Sync Invoices sends after authorization. The previous attempt, actor and reason remain retained. A changed fee request cannot reuse the decision.
A journal or invoice void needs review
- Under Journals and invoice voids needing a remote check, select Check in Xero. This creates no accounting document and moves no money.
- A matching journal or an already-voided original invoice is linked, so the next sync can finish locally. Changed or ambiguous records remain blocked.
- For an older journal, use Confirm an existing Xero journal, enter its exact receipt and a reason. ServiceVisit compares the full journal before linking it.
- If no journal is found, inspect Xero for an edited narration/source marker. Authorize another attempt only after confirming it was not recorded and entering a reason. For an invoice void, inspect the exact original invoice and confirm it is still authorised, not voided.
- Sync the original stream after authorization. A fresh check runs before the decision, and the earlier attempt remains retained. Write-off reinstatement invoices use the invoice review section.
An older credit send needs review
Use Confirm an existing historical credit with its exact Xero note ID and original allocation receipt, if allocated, plus a reason. Both are read and compared with the retained source facts. Leave allocation blank only if the note has none; the missing allocation then needs a separate review and authorization. Confirmation itself sends nothing. Another source's receipt, mismatched tax/account details or an ambiguous allocation cannot be linked.
A record changed in your accounting system
- Select Check now under the heading that asks whether your accounting system (QuickBooks Online or Xero, by name) still agrees with ServiceVisit. The page shows when it was last checked, or that it never has been. The check runs only when you ask.
- Any disagreement is listed with what changed. Nothing is re-sent.
- If the change was intended, optionally add a note under "Why it stands (optional)" and select Acknowledge. ServiceVisit accepts that version and stops reporting it.
- If it was not intended, correct the record in your accounting system, then select Check now. The item clears once the two agree.
- Open Previously resolved to see past findings, who acknowledged them and their notes.
Recording a change on an invoice
- Open the exported invoice and select Mark as Modified.
- Enter what was changed in the accounting system. The comment is required.
- The invoice then reads Modified in accounting system, and the invoice list shows a modified badge.
Tips
- If the connection itself is the problem, the page shows the last error. Use Reconnect. Nothing already exported is affected.
- Do not switch on your accounting system's own sales-tax calculation to make a mismatch go away. ServiceVisit owns the tax figure.
If something goes wrong
- The Sync Errors list says no details are available: run the sync again and read the banner.
- Xero time will not load users: check Projects access and reconnect Xero if needed.
Related articles
- Accounting integration with QuickBooks Online and Xero — The accounting integration sends your ServiceVisit invoices, payments, refunds, customer credits and approved technician time to your accounting system, so your bookkeeper does not retype them. It…
- Connecting QuickBooks Online or Xero — Connecting links your ServiceVisit account to one QuickBooks Online company or one Xero organisation. You authorize the link in your accounting system, and ServiceVisit brings you back to the…
- Choosing your accounts for QuickBooks Online and Xero — Mapping tells ServiceVisit which account in your accounting system each kind of money posts to, for example where customer payments land or where a refund is recorded. The setup page lists only…
- What exports to your accounting system and when — Once you are connected and your accounts are mapped, ServiceVisit sends records to QuickBooks Online or Xero. You can send eligible records from the Integrations page at any time. A periodic sweep…
- View an Invoice — Viewing an invoice opens a single invoice with its line items, so you can check what was billed before you send it, collect on it or answer a customer's question about it.