QuickBooks & Xero sync
BenchKey pushes your sales into the books your accountant already uses. The sync is one-way (BenchKey → your accounting system), covers customers, invoices, payments, and refunds, and is built so a retry, a re-click, or an edit can never double-post.

Connect
Section titled “Connect”Both connections live in Settings → Integrations & Shipping → Integrations, under Accounting connections.
- QuickBooks Online: click Connect to QuickBooks, sign in to the QuickBooks account for your shop, choose the company, approve access. You come right back, connected. No keys to copy.
- Xero: click Connect, approve in Xero, done. BenchKey never sees your Xero login.
Map where sales post
Section titled “Map where sales post”Nothing syncs until you tell it where sales belong:
- QuickBooks: set the default QuickBooks item ID your invoice lines post against (and an optional tax code). The card links to a guided way to find it.
- Xero: set your default account code, and the bank/clearing account payments should post to (Xero requires an explicit account for payments; QuickBooks doesn’t).
Turn on auto-sync
Section titled “Turn on auto-sync”With the mapping set, enable auto-sync. From then on, invoices paid in BenchKey flow to your books within minutes: the customer, the invoice, the payment, and any refunds — refunds post as credit memos in QuickBooks and credit notes in Xero. A daily deeper pass retries anything transient (a provider hiccup, an expired session) over a seven-day lookback.
Prefer to stay manual? Every invoice also has its own Sync now action.
Why your books can’t double-post
Section titled “Why your books can’t double-post”This is the part that matters at reconciliation time:
- Every push is idempotent: each record carries a fingerprint, and an unchanged record re-pushed is a no-op. Retries, crashes mid-sync, and double-clicks single-post.
- If an invoice’s math doesn’t reconcile to the cent (lines − discount + tax ≠ total), BenchKey refuses to post it and flags it for review rather than corrupting your ledger.
- If something already synced is edited in BenchKey — a renamed customer, a changed payment — it is held in a review queue instead of being re-posted. You decide how it lands.
- Review-queue items are never auto-retried. A human clears them, on purpose.
Disconnect / reconnect
Section titled “Disconnect / reconnect”Disconnecting clears the stored authorization immediately; reconnecting is the same one-click flow. Your mapping survives a reconnect.
Does BenchKey import from QuickBooks or Xero? No — the sync is deliberately one-way, out of BenchKey. Your books are the destination of record, not a second editing surface.
Which plan includes accounting sync? Pro and up (it rides the integrations tier).