How-to guide

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. 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. 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. 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. 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. 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. 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.

Free trial

The RevOps expert your team never had.

Ask it anything about your book of business, and it answers from your live data. Point it at the renewal that needs a quote and it drafts one. All the digging, none of the digging.
  • 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
Try free for 30 days

No credit card required. Cancel anytime.

FAQ

Frequently asked questions

Does Bunny create invoices in QuickBooks Online?
No. With QuickBooks Online, Bunny syncs journal entries rather than invoice documents. Invoices are issued and collected in Bunny, and the receivable, revenue, tax and payment entries land in QuickBooks on the accounts you mapped.
Can I sync both invoices and journal entries to Xero?
No, Xero takes one mode at a time: invoices (with their customers) or journal entries. Bunny blocks turning on both, because posting the same sale twice would double your receivables.
What happens when an invoice synced to Xero is paid in Xero?
In invoice mode, if the full amount is paid in Xero, Bunny records a matching payment and marks its own invoice paid, so the two systems stay in step.
What if a journal line points at an account that isn't mapped?
Bunny only posts lines whose account was imported from your ledger. Anything else is skipped and named in the job log under Settings > Jobs, so fix the mapping in GL mappings and it goes on the next sync. Xero journal sync won't switch on until every account type has a default mapping.
Can we import journal entries ourselves instead of syncing?
Yes. Billing > Journal exports to CSV or XLS with whatever filters you apply, so you can import entries into any accounting system by hand while you test, or if your ledger isn't QuickBooks Online or Xero.