# Connect Xero or QuickBooks

> Post your shop's sales, refunds and payment fees to Xero or QuickBooks Online every day, through a clearing account per payment provider, so each payout matches your bank. How to connect, map your accounts and tax, choose a daily summary or one document per order, and what to do when a day needs you.

Help Centre / Integrations - Updated 19 October 2026

Shoprocket posts your sales into your accounting software for you. Once a day, after each day has closed in your store's timezone, it sends that day's sales, refunds and payment fees to **Xero** or **QuickBooks Online**, already split into the right accounts and ready to match against your bank.

It only sends. Nothing in your books changes your shop: no products, stock or customers come back the other way.

Both apps work the same way. Where they differ, this article says so.

## Connect

1. Go to **Apps** and add **Xero** or **QuickBooks**. Both are on every plan.
2. Open its screen: **Settings > Xero** or **Settings > QuickBooks**.
3. Press **Connect Xero** (or **Connect QuickBooks**), sign in, and choose the organisation (Xero) or company (QuickBooks) your shop's sales belong in.

![Settings > QuickBooks before connecting: a Connect QuickBooks button, with what connecting does beside it](https://v3.shoprocket.io/img/help/connect-xero-or-quickbooks/connect.webp)

You come back to the same screen with your organisation or company named at the top. Nothing posts yet: first check the accounts below, choose where syncing starts, and press **Save and start syncing**.

You can connect both at once, for example while your accountant moves your books from one to the other. Each posts on its own.

## Choose how sales appear

**Daily summary** (the default) sends one document per payment provider per currency each day. Its lines split the day's takings into sales at each tax rate, untaxed sales, shipping, discounts, gift cards sold and gift cards redeemed. It keeps your books tidy at any volume, and it is what most ecommerce bookkeepers prefer.

**One per order** sends every paid order as its own document, made out to the customer (found by email, so a repeat customer stays one contact) with a line per product, and every refund as its own refund document. It suits shops below a few hundred orders a day. Payment fees still post as one document a day per provider, because that is how the provider charges you.

What each document is called in your books:

| | Xero | QuickBooks Online |
|---|---|---|
| A day's (or an order's) sales | Invoice, paid in full into the clearing account | Sales receipt, deposited into the clearing account |
| Refunds | Credit note, refunded out of the clearing account | Refund receipt, paid out of the clearing account |
| Stripe and PayPal fees | Bill from "Stripe fees" or "PayPal fees", paid from the clearing account | Expense from the "Stripe fees" or "PayPal fees" vendor, paid from the clearing account |

Changing the mode later applies from the next day that closes. Days already sent stay as they are.

## Map your accounts

The **Accounts** card is filled in for you by matching names in your chart of accounts. Check each one and change any that don't fit:

- **Sales**: revenue from products.
- **Shipping**: shipping you charged. Leave it as Sales if you don't split it.
- **Discounts**: discount codes and offers, posted as a negative line.
- **Gift cards**: a liability account. A gift card sold is money you owe the buyer in goods until it is spent, so it is never revenue. Redeeming one moves it back out of that liability.
- **Payment fees**: an expense account for what Stripe and PayPal keep.

![The QuickBooks setup screen: Accounts picked from the chart by name, the US sales tax note, and a Shoprocket clearing account for each payment provider](https://v3.shoprocket.io/img/help/connect-xero-or-quickbooks/setup.webp)

In QuickBooks every sales line needs a product or service, so Shoprocket creates service items named **Shoprocket sales**, **Shoprocket shipping**, **Shoprocket discounts** and **Shoprocket gift cards**, each pointing at the account you chose. Leave them as they are; if you change an account here, the item follows.

## Map your tax

Tax posts exactly as your shopper was charged, never recalculated by your accounting software.

- **Xero, and QuickBooks outside the US**: the **Tax rates** card lists each tax rate your orders used, matched by rate to one of your Xero tax rates or QuickBooks tax codes. Choose one for any that are blank, and one for **No tax** (shipping, discounts, untaxed sales, gift cards). Several US-style rates charged on the same basket (a state rate plus a city rate) appear as one combined rate.
- **QuickBooks in the US**: QuickBooks works out US sales tax itself (automated sales tax), so there is nothing to match. Taxed lines are marked taxable and the tax you charged is sent as the total. Sales tax must be set up in QuickBooks under **Taxes**, or a taxed day waits until it is.

A day that used a tax rate with no match waits, and says which rate. It never posts at a guessed rate.

## Clearing accounts and bank reconciliation

Each payment provider gets its own **clearing account**: a holding account the provider's sales are paid into, refunds and fees are paid out of, and the provider's payout leaves from.

Press **Create a Shoprocket clearing account** next to a provider and Shoprocket creates one for you ("Shoprocket Stripe clearing", and so on). In Xero it is a current asset that accepts payments; in QuickBooks it is a Bank account. Pressing it twice reuses the first one. You can also choose an account you already have.

When the provider pays out to your bank, match the bank deposit as a **transfer from that clearing account**, not as a sale. The sales are already in your books; the payout only moves the money to the bank. If everything is in, the clearing account goes back to zero after each payout.

### Fees, by provider

- **Stripe and PayPal** report their fee on each payment, so the day's fees post as one bill (Xero) or expense (QuickBooks) from the clearing account. The payout then matches exactly.
- **Mollie and Authorize.net** don't report a fee per payment, so their sales post **gross** and no fee document is sent. Book their fee when you reconcile, from the monthly fee invoice or the difference on the payout, the way you do today.
- **Manual payments** (bank transfer, cash on delivery) have no fee.

## Turn off any other sales feed

The most common accounting mistake is every sale arriving twice: once from Shoprocket and once from Stripe's or PayPal's own app or bank feed. If that feed also imports sales, turn its sales import off and keep it for payouts only.

Before your books start, Shoprocket looks for a Stripe or PayPal bank account in your Xero or QuickBooks. If it finds one, it names it and asks you to tick **That feed doesn't import sales**, and syncing can't start until you do. A feed that only brings in payouts and fees is fine. Even when nothing is found, check: some apps create no account we can see.

## Where syncing starts

Choose **From today**, **The last 30 days** or **The last 90 days**. This is where your books in Xero or QuickBooks start, and it is fixed once the first day is queued. Each day then posts within an hour or so of closing in your store's timezone. A 90-day backfill takes a few hours to catch up.

If your organisation or company doesn't have a currency your shop sells in, the screen warns you before you start. Add it first (Xero: Settings > Currencies, on a plan with multi-currency; QuickBooks: turn on multicurrency under Settings > Account and settings > Advanced), or those days won't post.

## Sync history, blocked days and Retry

**Sync history** lists every document sent, newest first, with a **View in Xero** or **View in QuickBooks** link once it is posted. Each order's page also shows where that order went: its own document, or the daily summary it is a line of.

![Sync history: the newest day marked Needs you because it is before the QuickBooks closing date, with a Retry button, and the days before it Posted](https://v3.shoprocket.io/img/help/connect-xero-or-quickbooks/sync-history.webp)

A document that couldn't post shows **Needs you** in red, says why, and the app wears a red dot on the Apps page. Nothing after it is held up; only that document waits. The usual reasons:

- **A tax rate, account or clearing account isn't chosen**, or an account was archived. Choose one and save: everything that was waiting on it goes again on the next run.
- **The day is in a period you locked**: Xero's lock date, or QuickBooks' closing date. Move the date, then press **Retry**.
- **A currency is missing** from your organisation or company. Add it, then press **Retry**.
- **The accounting software refused the document** for another reason. Its own words are shown; fix what it says, then press **Retry**.

**Retry** puts every waiting or failed document back in the queue, and the next run posts it. Retrying never makes a duplicate: each document is sent with its own ID, so one that already arrived is recognised, not created again.

If Xero or QuickBooks can't be reached, Shoprocket tries again by itself (after 5 minutes, then 30, then a few hours) and only shows **Failed** after about two days of trying. If it stops accepting the connection (you removed the app on their side, or it lapsed), the screen says **Reconnect**: connecting the same organisation or company again carries on from where it stopped.

## Disconnect

Press **Disconnect** on the app's screen. Syncing stops and Shoprocket forgets the sign-in. Everything already posted stays in your books, and your mapping is kept in case you reconnect.

## Related

- [Connect your Stripe account](https://v3.shoprocket.io/help/connect-stripe.md)
- [E-invoices for business customers](https://v3.shoprocket.io/help/e-invoices.md)

---

- HTML version: https://v3.shoprocket.io/help/connect-xero-or-quickbooks
- Language: English (en)
- Also in: [العربية](https://v3.shoprocket.io/ar/help/connect-xero-or-quickbooks.md), [Deutsch](https://v3.shoprocket.io/de/hilfe/xero-oder-quickbooks-verbinden.md), [Ελληνικά](https://v3.shoprocket.io/el/help/connect-xero-or-quickbooks.md), [Español](https://v3.shoprocket.io/es/ayuda/conectar-xero-o-quickbooks.md), [Français](https://v3.shoprocket.io/fr/aide/connecter-xero-ou-quickbooks.md), [עברית](https://v3.shoprocket.io/he/help/connect-xero-or-quickbooks.md), [हिन्दी](https://v3.shoprocket.io/hi/help/connect-xero-or-quickbooks.md), [Bahasa Indonesia](https://v3.shoprocket.io/id/bantuan/hubungkan-xero-atau-quickbooks.md), [Italiano](https://v3.shoprocket.io/it/aiuto/collegare-xero-o-quickbooks.md), [日本語](https://v3.shoprocket.io/ja/help/connect-xero-or-quickbooks.md), [Lietuvių](https://v3.shoprocket.io/lt/pagalba/prijungti-xero-arba-quickbooks.md), [Norsk](https://v3.shoprocket.io/nb/hjelp/koble-til-xero-eller-quickbooks.md), [Nederlands](https://v3.shoprocket.io/nl/hulp/xero-of-quickbooks-koppelen.md), [Polski](https://v3.shoprocket.io/pl/pomoc/polacz-xero-lub-quickbooks.md), [Português](https://v3.shoprocket.io/pt/ajuda/ligar-xero-ou-quickbooks.md), [Română](https://v3.shoprocket.io/ro/ajutor/conecteaza-xero-sau-quickbooks.md), [Русский](https://v3.shoprocket.io/ru/help/connect-xero-or-quickbooks.md), [ไทย](https://v3.shoprocket.io/th/help/connect-xero-or-quickbooks.md), [Türkçe](https://v3.shoprocket.io/tr/yardim/xero-veya-quickbooks-baglama.md), [中文](https://v3.shoprocket.io/zh/help/connect-xero-or-quickbooks.md)
