# Xero and QuickBooks

> Use Session with Xero or QuickBooks by connecting your Stripe account to them, then fill the gaps Stripe can't see with Session's exports.

Who can do this: admins only.

Card payments go straight into your own [Stripe account](/docs/connect-stripe), so the simplest way to get them into Xero or QuickBooks is to connect Stripe to your accounting software. Session doesn't need to be connected itself. Stripe sends over every payment, refund, fee and payout, which is the part that's hardest to reconcile by hand.

## Connect Stripe to your accounting software

<Steps>
<Step>
In Xero, add the Stripe app from the Xero App Store. In QuickBooks, connect Stripe from the apps section, or use a sync tool such as Synder, A2X or Commerce Sync if your bookkeeper prefers one.
</Step>
<Step>
Sign in to the same Stripe account you connected to Session. If you're not sure which one that is, check the Stripe section of [Settings → Company](/go/admin/settings/company) in Session.
</Step>
<Step>
Ask your bookkeeper to map Stripe's fees to a bank fees account. Session's [platform fee](/docs/connect-stripe#what-it-costs) is a Stripe application fee, listed next to Stripe's own fee on each payment, so check it's mapped too.
</Step>
</Steps>

Only connect Stripe once. Recording the same sales from a second source, such as a manual import, counts them twice.

## Tell sales apart

Every payment Session takes has a description that starts with what was sold, so your bookkeeper can set up rules on it:

| Description starts with | What it was |
|---|---|
| **Session booking** | A session, with its name, date, time, location and spaces (or guests, for a private hire) |
| **Extra spaces** | Spaces added to an existing booking |
| **Bundle** | A [bundle](/docs/bundles) of sessions |
| **Gift voucher** | A [gift voucher](/docs/gift-vouchers) |
| **Membership** | A one-off [membership](/docs/membership) payment |

Gift vouchers and bundles are usually money you owe until they're used, not income, so they often go to a different account from session bookings. Your accountant will know how they want them treated.

<Callout variant="note">
Recurring membership payments are Stripe subscription invoices. Stripe writes their description itself (usually "Subscription creation" or "Subscription update"), so match those on that text instead.
</Callout>

## What Stripe can't see

Some figures only exist in Session. Download them from [Reports](/go/admin/reports):

- **Cash, bank transfer and other offline payments** never touch Stripe. The [bookings ledger](/docs/csv-exports#bookings-ledger) includes them, with a tax rate of your choice.
- **Money taken for future sessions** and **unspent voucher balances** are in [year-end reporting](/docs/deferred-income), as of any date you pick.
- **Takings per location**, if you run more than one site, come from the Reports location filter and the exports, which follow it.

## Common questions

1. **Does Session connect directly to Xero or QuickBooks?** No. Stripe already sends your accounting software everything about card payments, and a second connection would record the same sales twice.

2. **Why do older payments have no description?** A description is set when the payment is taken, so some older payments don't have one. Match those using the booking or customer details in Stripe.

3. **Why doesn't my payout match my takings?** Stripe pays out the total minus its fee and Session's platform fee, and payouts can group several days of payments together. Connecting Stripe to your accounting software splits each payout back into its payments and fees.

4. **How do I handle VAT?** Choose your tax rate when you download the [bookings ledger](/docs/csv-exports#setting-a-tax-rate), or let your bookkeeper apply it with rules in Xero or QuickBooks.

5. **Can refunds be matched too?** Card refunds made in Session go through Stripe, so they reach your accounting software the same way as payments. Refunds of [offline payments](/docs/refunds#offline-and-walk-in-refunds) are made by you, so record those yourself.
