When it's time to do your books, your accountant wants the underlying data, not a dashboard. Session gives you two one-click CSV downloads - a bookings ledger (one row per booking) and a session attendance report (one row per session) - both ready to open in Excel, Numbers, or Google Sheets and both scoped to the date range you pick.
The exports live on the Reports page. They respect the same date range and location filter you've set, so the file you download matches the figures on screen.
Who can export
CSV exports are part of Reports, so they're available to Admin and Superadmin users only. Staff don't see the Reports page or the Export button. To give someone access, change their role from Settings → Team - see admin and staff roles.
Download an export
- 1
Open Reports and set the date range you want at the top of the page (and a location, if you run more than one venue).
- 2
Select Export in the page header, then choose Bookings ledger or Session attendance.
- 3
In the dialog, confirm the From and To dates. They default to your current page range, but you can override them here.
- 4
Pick a tax rate (covered below), then select Download CSV. The file saves to your device, named with the export type and date range.
Export is shown on wider screens. If you don't see it, you're on a narrow mobile layout - open Reports on a desktop or tablet to download.
Bookings ledger
One row per booking, sorted by date. This is the detail behind your revenue figures - the file your accountant reconciles against your bank and Stripe statements.
Each row includes:
- Date and Session time - when the session takes place.
- Session type - the name of the session.
- Customer name and Customer email.
- Price option - the ticket type bought (see price options), with any Add-ons listed alongside.
- Spaces - how many spaces the booking took.
- Voucher code, Discount, and Voucher redeemed - any voucher or discount applied.
- 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 issued.
- Booked at - when the booking was made.
- Booking ID and Stripe session ID - for tracing a specific booking.
- Phone, Marketing consent, and Consent recorded - the customer's phone and per-venue marketing-consent state (see the customers directory).
The ledger includes cancelled and no-show bookings, since you may have taken and refunded money on them. The Status and Refund amount columns tell you which is which. Net of refunds is gross minus the refund columns.
Session attendance
One row per session that ran in the period, sorted by date. This is your occupancy and attendance picture - useful for spotting which slots to add, trim, or promote.
Each row includes:
- Date, Day, Start time, and End time.
- Session type and Location.
- Capacity and Spaces booked.
- Occupancy % - how full the session ran.
- Gross revenue, your tax column, and Net ex. tax.
- Refunds gross - refunds against that session.
- Cancellations - how many bookings were cancelled.
- Instance ID - for tracing a specific session.
Setting a tax rate
Both exports let you split gross takings into a tax column and a net column, so your accountant doesn't have to. When you download, you choose how the tax is applied:
- 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.
- Custom - enter any rate for this one export.
The tax column is labelled with your own term - VAT, GST, or whatever your region uses - which also comes from your regional settings.
If you're not sure which rate to use, leave it as Exempt / 0% and ask your accountant. You can re-export at any time with a different rate - nothing is changed in your data.
Money columns and currency
All amounts are written as plain decimal numbers (for example 15.00), so spreadsheets add them up without trouble. Every money column header carries your currency code in brackets - Gross (GBP), Net ex. tax (AUD), and so on - so there's never any doubt which currency a figure is in.
Net revenue in these exports is shown before Stripe's card-processing fees. To reconcile the exact amounts that landed in your bank, cross-check against your Stripe dashboard. Revenue is attributed to the session date, not the payment date - which is why these figures won't line up with Stripe's payment-date reports. See Reports for more on how revenue is counted.
Year-end exports
The two exports here cover bookings and attendance. For your accounting liabilities - money taken for sessions not yet delivered, and the value of unredeemed vouchers and bundles - use the separate downloads in the year-end section of Reports. See deferred income and voucher liability.
Common questions
- 1
Why don't the totals match my Stripe dashboard? Two reasons. Revenue is attributed to the session date, not the payment date, so a booking paid in March for an April session counts towards April. And net is shown before Stripe's processing fees. Stripe reports by payment date and after fees, so the two differ by design.
- 2
Do the exports include offline and walk-in payments? Yes. Payments you recorded by hand are included in the revenue figures alongside card payments - see offline and walk-in payments.
- 3
A name or phone number opens as a formula or shows a stray apostrophe. Why? Session protects every export against spreadsheet formula injection - a cell starting with
=,+,-, or@(which a spreadsheet would otherwise run as a formula) is stored as plain text. The apostrophe is hidden when the file opens and the value reads correctly; it's a safety measure for customer-entered text. - 4
Can I export just one location? Yes. Set the location filter in the Reports header before exporting, and the file covers that venue alone. The filter appears for accounts with more than one location.
- 5
Can Staff download these? No. Exports are part of Reports, which is limited to Admin and Superadmin. See admin and staff roles.