# Reports

> See revenue, what you keep, occupancy, membership and customer figures for any date range, each compared with the period before - and why they differ from Stripe.

Who can do this: admins only.

Open [Reports](/go/admin/reports) from the admin sidebar. Every figure follows the [date range](#choosing-a-date-range) at the top of the page and, with more than one venue, the [location filter](#filtering-by-location). Reports is available to Admins, not Staff - see [admin and staff roles](/docs/team).

<Screenshot
  shot="admin-reports"
  alt="The Reports page showing revenue, sessions and occupancy, and customer figures with period comparisons"
  caption="The Reports page, open from the admin sidebar"
  mat="cream"
/>

## Revenue and what you keep

**Revenue** is everything paid across the period, minus refunds, before any fees. It includes bookings later cancelled or marked as no-shows, and [offline payments](/docs/add-a-booking#record-an-offline-payment-or-apply-a-voucher) you recorded by hand.

**You keep** is Revenue minus Stripe's card fee and the [Session platform fee](/docs/connect-stripe) - the figure closest to what reaches your bank. Hover the ⓘ on either figure for the split.

- It's an estimate: fee data starts from **13 August 2026**, so earlier bookings use the fee rate measured on later ones.
- Offline payments carry no card fee, and neither fee comes back on a refund.

Each chart bar is one day's takings net of refunds (one per week for ranges over 30 days). A flat grey rail means no session ran; a taller grey stub means nothing sold.

## Why this doesn't match Stripe

Revenue, You keep, [deferred income](/docs/deferred-income) and the [CSV exports](/docs/csv-exports) are counted by **session date**, not payment date: a booking paid in March for an April session counts towards April. Stripe reports by payment date, and Revenue is before fees, so the two won't match. Check Stripe for what landed in your bank.

## How bookings were paid

The **Paid by** table splits bookings into **Paid in full**, **Part-paid with credit or a discount**, **Fully covered by credit** (a [bundle](/docs/bundles) session, gift card or [membership](/docs/membership) allowance) and **Free or complimentary**. Its Revenue column adds up to Revenue; counts include confirmed bookings only. Credit-covered bookings show no revenue, because the money was taken when the customer bought the credit.

An **Add-on** table shows [add-on](/docs/add-ons) sales, leaving out cancelled bookings.

## Sessions and occupancy

**Sessions run** counts sessions that took place; **Total bookings** counts confirmed and completed bookings. **Occupancy** is measured in space-minutes, so [part-session](/docs/part-session) and [shared-capacity](/docs/shared-capacity) sessions report an accurate fill rate.

A table breaks these down by session type, with a **Waitlist** column for the [waiting list](/docs/waiting-lists), and a heatmap shows your busiest times. **Booking times** shows when customers place bookings, in your venue's timezone, leaving out imported bookings.

## Membership reporting

The **Memberships** section appears once you have a [membership](/docs/membership).

- **Active members** - live subscriptions, including cancelled ones running to the end of their paid period. The **/mo recurring** figure is what you're billing them, not money collected. Imported members who haven't reactivated are listed separately.
- **Member bookings** - sessions booked by today's members, and their share of all bookings.
- **Returned per £1** - what members saved divided by their plan prices.

**Discount given** is the standard price of every space members booked minus what they paid; guests and spaces with no standard price aren't counted. **Collected in this period** is subscription money actually received, recorded from 13 August 2026. The **By tier** table shows these per tier, with deleted tiers under **Other tiers**.

The session-type table's **Effective** column adds a nominal value for each visit covered outright by an included session, bundle or gift voucher. Don't add /mo recurring to your takings - that double-counts.

## Customers and year-end

**Customers** shows active and new customers, retention and sessions per customer. **Year-end** (desktop only) shows your [deferred income](/docs/deferred-income) and unredeemed [voucher](/docs/vouchers) and bundle value, always organisation-wide.

## Choosing a date range

The date picker at the top opens on the last 30 days, then on whatever you picked last; a preset like **This week** moves on with the calendar. A whole month or quarter is compared with the previous one, and any other range with the same number of days before it.

## Filtering by location

With more than one [location](/docs/locations), a filter in the header scopes every figure and export to one venue. A session's location comes from its schedule or one-off date, falling back to your primary location.

## Exporting to CSV

**Export** downloads a **Bookings ledger** or **Session attendance** file for your current dates and location - see [CSV exports](/docs/csv-exports).

## Common questions

1. **Stripe shows payments, but my revenue chart is empty.** Those bookings are for sessions that haven't run yet. Move the date range forward.

2. **I deleted a session - why is it still in my past figures?** Deleting removes only upcoming dates. To remove it entirely, get in touch.

3. **Revenue and Effective match for every session type. Is that broken?** No. If memberships give a discount rather than included sessions, every member booking records real money.

4. **Why is there no comparison on my membership figures?** It only appears once the previous period had at least 5 visits or £50 of discount, and some subscription income.

5. **Can I see how many members joined or cancelled?** Not as a count over time. Filter the [customers directory](/docs/customers-directory) to see current and former members.

6. **Why is a bundle redemption rate above 100%?** The bundle was topped up or is unlimited. The rate is sessions redeemed divided by sessions issued, excluding bundles carried over from another system.
