How to sync SaaS invoices and payments to QuickBooks Online or Xero
Connect QuickBooks Online or Xero in Bunny's integrations, import your chart of accounts, and map Bunny's account types (accounts receivable, deferred revenue, earned revenue, tax payable and the rest) to your own accounts under GL mappings. Then turn on automatic sync: Bunny pushes the journal entries it creates for invoices, payments and credit notes into your ledger. With Xero, you can instead sync the invoices themselves, with their customers, as Xero invoices.
Before you start
- Admin access to the QuickBooks Online company or Xero organization. QuickBooks Desktop isn't supported.
- Ideally, a Bunny sandbox and a test QuickBooks or Xero company to check mappings before going live.
How to do it in Bunny
-
1
Connect the integration
Go to Settings > Integrations > Available integrations and choose QuickBooks Online or Xero. Select the entity (or entities) it applies to, click Connect to and authorize Bunny in the QuickBooks or Xero sign-in window.
-
2
Import your chart of accounts
Click Update accounts on the integration page. Bunny copies your QuickBooks or Xero chart of accounts in, so every entry it posts targets an account that already exists in your ledger.
-
3
Map account types under GL mappings
Open Billing > GL mappings. For each account type Bunny posts to (accounts receivable, deferred revenue, earned revenue, CP/CA, tax payable, payments, banking fees, conversion gain and loss, bad debt) pick the imported account, set its Account type and mark it Default. Nothing posts to an account you didn't choose.
-
4
Check the journal Bunny builds
Open Billing > Journal. Bunny keeps double-entry books as it bills: an invoice debits accounts receivable and credits deferred revenue and tax payable; a payment debits your cash clearing account and credits receivables; credit notes reverse the original lines. Filter, review, or export to CSV or XLS before anything syncs.
-
5
Choose the Xero mode (Xero only)
Xero offers two modes, and you pick one. Automatically sync invoices sends each invoice and its customer to Xero once it leaves draft; the invoice arrives for approval in Xero, with lines on your earned revenue account. Automatically sync journal entries posts Bunny's journal entries as manual journals. Choose invoices if your team works AR inside Xero, journals if you want deferred revenue on the balance sheet.
-
6
Turn on automatic sync
Enable Automatically sync journal entries (or invoice sync in Xero) and save. Bunny pushes new entries to your ledger every hour; click Sync journal entries on the integration page to push straight away. Each run is logged under Settings > Jobs, along with any line it skipped.
Worked example: one annual contract, start to finish
Acme signs a $24,000 annual subscription, invoiced up front on January 1 with no sales tax, and pays by wire on January 20. Bunny’s entity is connected to QuickBooks Online, with GL mappings pointing at Acme Books’ own accounts.
January 1: invoice issued. Bunny creates this journal entry and syncs it within the hour:
| Account (mapped in QuickBooks) | Debit | Credit |
|---|---|---|
| 1200 Accounts Receivable | $24,000 | |
| 2400 Deferred Revenue | $24,000 |
January 20: wire recorded. When AR approves the bank deposit in Bunny (or records it as a manual payment), Bunny posts:
| Account | Debit | Credit |
|---|---|---|
| 1010 Customer Cash Clearing (CP/CA) | $24,000 | |
| 1200 Accounts Receivable | $24,000 |
Card payments through Stripe work the same way, with the processing fee debited to your banking fees account and only the net amount to clearing.
In March, Acme adds an analytics module for $3,000, prorated to the end of the term. The add-on invoice produces its own receivable and deferral entry the same way, and Acme’s payment clears it.
Nobody keyed anything into QuickBooks. The receivable, the deferral and the cash all arrived from the same records that produced the invoices, and the line-level detail behind every entry stays in Bunny’s Journal for whoever asks how a number was reached.
Go deeper
More how-to guides
Step-by-step answers to the billing and quoting jobs B2B SaaS teams ask about most. See all how-to guides.
- How to manage subscriptions and billing from ChatGPT or Claude
- How to co-term an add-on to an existing subscription
- How to set approval rules for sales discounts
- How to bill custom enterprise deals when your self-serve billing runs on Stripe
- How to prorate a mid-term upgrade on an annual SaaS contract
- How to turn a signed quote into a subscription and first invoice
- How to quote and bill a multi-year ramp deal with annual price uplifts
- How to get MRR, churn and NRR from your Stripe data
- How to bill seats and usage on one invoice
- How to invoice enterprise customers by wire or ACH and match payments to invoices
The RevOps expert your team never had.
- Type "send upgrade quotes to all starter plan accounts" — done in seconds
- Know which renewals need you this month, while there is still time to do something about it
- Find every overdue invoice in one question, instead of one account at a time
No credit card required. Cancel anytime.