# CSV exports

> Hand your accountant clean, ready-to-open spreadsheets - a booking-by-booking ledger and a session-by-session attendance report - for any date range you choose.

Who can do this: admins only.

Both exports open in Excel, Numbers or Google Sheets and live on the [Reports](/go/admin/reports) page. They follow your date range and location filter, so the file matches the figures on screen.

<Screenshot
  alt="The Export dialog on the Reports page, showing a From and To date picker, a tax rate selector, and a Download CSV button"
  caption="The Export dialog, opened from the Export button on the Reports page"
  mat="cream"
/>

## Download an export

Exports are available to **Admin** and **Superadmin** users only - see [admin and staff roles](/docs/team).

<Steps>
<Step>
Open [Reports](/go/admin/reports), set the date range (and a [location](/docs/locations), if you run more than one), then select **Export** and choose **Bookings ledger** or **Session attendance**.
</Step>
<Step>
Confirm the **From** and **To** dates, which default to your page range, pick a [tax rate](#setting-a-tax-rate), and select **Download CSV**.
</Step>
</Steps>

<Callout variant="note">
Export only shows on wider screens. If you don't see it, open Reports on a desktop or tablet.
</Callout>

## Bookings ledger

One row per booking, sorted by date - the detail behind your [revenue figures](/docs/reports). Each row includes:

- **Date**, **Session time**, **Session type**, **Customer name** and **Customer email**.
- **Price option** - every [price option](/docs/price-options) on the booking, such as `2× Regular price, Supported price`, with any **Add-ons** alongside.
- **Spaces** - how many [spaces](/docs/shared-capacity) the booking took.
- **Voucher code**, **Discount**, and **Voucher redeemed** - any [voucher](/docs/vouchers) or discount applied. **Voucher redeemed** is money taken off a gift card or credit, and is blank for a bundle or session voucher.
- **Gross**, your **tax** column, and **Net ex. tax** - the money split out by your tax rate.
- **Status** - confirmed, completed, no show, or cancelled (cancelled rows note whether a refund was issued).
- **Refund amount** and **Refund net ex. tax** - any [refund](/docs/refunds) issued.
- **Booked at**, **Booking ID** and **Stripe session ID**.
- **Phone**, **Marketing consent**, and **Consent recorded**.
- **Voucher sessions redeemed** - how many sessions a [bundle](/docs/bundles) or session voucher covered.

<Callout variant="note">
The ledger includes cancelled and no-show bookings. Net of refunds is gross minus the refund columns.
</Callout>

## Session attendance

One row per session that ran in the period, sorted by date. Each row includes:

- **Date**, **Day**, **Start time**, and **End time**.
- **Session type** and **Location**.
- **Capacity** and **Spaces booked**.
- **Occupancy %**.
- **Gross revenue**, your **tax** column, **Net ex. tax** and **Refunds gross**.
- **Cancellations** and **Instance ID**.
- **Waiting list people** and **Waiting list spaces** - demand that session couldn't take. See [waiting lists](/docs/waiting-lists).

<Callout variant="tip">
Sort by **Waiting list spaces** to find the dates that sold out hardest - occupancy can't show demand beyond 100%.
</Callout>

## Setting a tax rate

When you download, choose how to split gross takings into a tax column and a net column:

- **Exempt / 0%** - no split; net equals gross. Use this if you're not tax-registered or unsure.
- **Standard rate** - your default rate, taken from your [regional settings](/go/admin/settings/company).
- **Custom** - enter any rate for this one export.

The tax column uses your region's term, such as VAT or GST (see [international venues](/docs/international)).

<Callout variant="tip">
You can re-export at any time with a different rate - nothing in your data changes.
</Callout>

## Money columns and currency

Amounts are plain decimal numbers (for example `15.00`), and every money column header carries your currency code, such as `Gross (GBP)`.

## Other exports

- **Everything at once** - every booking, customer, waiver, session and price for all time, with bookings and attendance files in the same shape as these. See [exporting all your data](/docs/data-export).
- **Year-end liabilities** - money taken for sessions not yet delivered and unredeemed voucher and bundle value. See [deferred income and voucher liability](/docs/deferred-income).

## Common questions

1. **Why don't the totals match my Stripe dashboard?** Amounts are before fees and counted by session date - see [why this doesn't match Stripe](/docs/reports#why-this-doesnt-match-stripe).

2. **Do the exports include offline and walk-in payments?** Yes, [payments you recorded by hand](/docs/add-a-booking#record-an-offline-payment-or-apply-a-voucher) are included alongside card payments.

3. **Why is the file for the wrong venue?** The export follows the [location filter](/docs/locations) in the Reports header. Change it before exporting.
