Billing

Xero and QuickBooks sync

Connecting the ledger, what pushes across, the hourly payment pull, and the trap to avoid.

8 min read ·

Full guide: https://docs.printersfriend.com/integrations/accounting

Xero sync is not available yet. This article describes how it works once it is switched on; nothing on this page is available in your workspace until then.

Xero and QuickBooks Online are both supported, one at a time, from the Accounting card under Integrations.

Connecting

Press Connect Xero or Connect QuickBooks, approve access on the provider's own screen, and you come straight back with the ledger connected. There is nothing to paste: no tokens, no client id, no secret. The tokens are stored for your workspace and refreshed shortly before they expire, so the connection does not lapse every half hour.

A Connect button appears only for a provider Printer's Friend holds a developer app for. Until then the card says Accounting sync is not available yet and shows no fields. Nothing is faked while you wait: no push runs, no sync status changes.

Only the provider you connect is active; there is no both-at-once mode. Disconnect removes the stored tokens and nothing else. Your ledger is untouched.

What pushes out of Printer's Friend

Invoices, when they are issued. The customer is pushed as a contact in your ledger first, and the ledger's contact id is recorded on the customer record (the read-only Xero/QB ID field), so later pushes reuse it. Payments, when you record one here, so an invoice marked paid in Printer's Friend is marked paid in the ledger. Credit notes, when a return is credited. Each push runs as a background job, and the external id, the sync status and the sync time are recorded against the invoice, so you can see what landed.

What comes back in

Payments. Every hour, payments recorded in your ledger in the last 25 hours are pulled and matched to the matching invoice, which marks it paid here. The overlapping look-back window is deliberate: it means an hour with a hiccup is picked up on the next pass instead of being lost.

What does not sync

The trap to avoid

Do not edit a synced invoice in your ledger. The next push from Printer's Friend can overwrite your edit. Amend the invoice here and let it push, or, if you need something that only exists in the ledger, use a manual journal entry which sits alongside the synced invoice and survives.

When a push fails

Failures are logged with the provider's response and the invoice keeps its sync status, so an invoice that did not land is visible rather than silently absent. The usual cause is a token the ledger refused: press Disconnect, connect again from the card, and the next push carries it across.

Without a connected ledger a push is refused with a clear message on the invoice and nothing is faked: no synthetic ids, no pretend sync. Connect the ledger first, then let the next push carry the invoice across.

Still stuck?

Email hello@printersfriend.com and quote the name of this page. Support is on every plan, with a reply within 1 business day.

Read next

Taking card payments with Stripe → Late payment chasers → Refunds and credit notes → All help topics →