Financial Reports: Complete Guide

What Financial Reports is for

Financial Reports shows booking money recorded during a selected payment period. Use it to answer:

  • How much qualifying booking revenue was received?
  • How much was collected online and how much was recorded as cash?
  • What Oakline platform fees and Stripe processing fees apply?
  • What is the resulting net value?
  • Which payments, families and sessions make up those totals?

The report is an operational payment report. It does not prepare statutory accounts, calculate tax or replace Stripe payout reconciliation, bookkeeping software or professional accounting advice.

Opening the report

  1. Sign in as a tenant administrator.
  2. Select Reports from the main navigation.
  3. Choose a Month and Year, or set a custom From/To date range.
  4. Optionally filter by Status, or search by customer name or email.

Staff accounts are not given access to the tenant financial report.

The report uses payment dates

Financial Reports is a cash-basis view. Its period filter uses the date the payment record was created, not the date of the booked session.

Example:

  • A parent pays on 28 August for a session running on 12 September.
  • The payment appears in August Financial Reports.
  • The booking value appears in the September operational Dashboard because that screen is grouped by session date.

This difference is intentional. Read Dashboard revenue vs Financial Reports for a full comparison.

Filters

Month

Choose a single month or All Months. All Months covers the selected calendar year.

Year

Select the calendar year containing the payment dates you want to review.

Family / Parent

Search by name or email in the customer search box, or select one specific match from the dropdown to filter to that account — the same selection also enables Export family PDF. Clear the search to return to the organisation-wide view.

Status

Filter the Transactions tab to Success, Cancelled or Rejected, or leave it on All to see everything. See Status, rejected payments and cancellations below for what each value means.

Date range

Set a From and To date to filter by an exact range instead of Month/Year. When both dates are set, the date range takes precedence over the Month/Year selection.

Changing a filter reloads the report. A loading overlay confirms that Oakline is updating the payment, fee and total calculations.

Which payments are included

The report includes payment records with one of these qualifying statuses:

  • Paid: a completed online payment.
  • Cash: a payment recorded as cash.
  • Deposit paid: a confirmed deposit payment.

The payment must be associated with at least one booking record for the tenant.

The report does not treat these as received revenue:

  • Pending or incomplete checkouts.
  • Failed payments.
  • Payment records that are not linked to a booking.
  • Bookings paid entirely with account credit when no new payment was taken.
  • Standalone shop orders; these are included in Families Activity where eligible.

A cancelled booking can remain in the financial report when money was received and no refund was recorded. Cancellation and refund are separate financial events.

Status, rejected payments and cancellations

Every qualifying row also carries a Status, shown as a badge and available as a filter:

  • Success: the payment is recorded and its bookings are active.
  • Cancelled: some or all of the linked bookings were cancelled or refunded. A partial cancellation shows an additional Partial badge.
  • Rejected: the payment attempt failed — for example, a Stripe Checkout session expired or was abandoned. Rejected rows are shown at £0 throughout (paid amount, fees and profit), because no money was collected under that record. This is intentional: a customer who fails a checkout and then successfully pays through a new attempt has their payment counted once, against the successful attempt, not twice.

Rejected rows are included in the report for visibility, not because they represent revenue — filtering to Rejected gives you a list of abandoned checkout attempts, which previous versions of this report did not show at all.

Summary figures

Total Revenue / Gross Revenue

The qualifying payment amount received in the selected period, reduced by recorded booking refunds attributed to those payments.

Platform Fees / Oakline Fees

The Oakline platform fee attributed to the qualifying transactions.

  • For online payments with a reconciled fee breakdown, Oakline uses the recorded application fee.
  • For eligible cash bookings, Oakline uses the debit recorded in Fee Bank.
  • When a cash fee is later recovered through an online payment, it remains attributed to the original cash booking and is not counted a second time as an online Oakline fee.

Stripe Fees

The Stripe processing and other Stripe costs attributed to online transactions.

  • Where Stripe fee reconciliation has completed, Oakline uses the recorded fee components.
  • Where exact components are not yet available, Oakline can use an estimate.
  • Cash payments do not have a Stripe processing fee.

Net Profit / Net Value

The report calculates:

Reported revenue - Oakline fees - Stripe fees

This is an operational net payment value. It does not include wages, venue costs, equipment, insurance, tax or other business expenses, so it should not be interpreted as statutory or accounting profit.

Transaction table

Each row represents a qualifying payment, not necessarily one child or one booking. Select the arrow at the start of a row to expand its full detail.

Column Meaning
Date The payment record date used by the period filter.
Method / Status Online, Cash or Credit, alongside the Success/Cancelled/Rejected status badge.
Parent The parent account associated with the payment.
Description Children and sessions linked to the payment. One checkout can list several items.
Paid Revenue retained after any recorded booking refund adjustment.
Platform Fee Oakline fee attributed to that payment.
Stripe Fee Stripe cost attributed to an online payment.
Profit / Net Paid value minus the displayed platform and Stripe fees.

Method now distinguishes three ways a booking was paid for:

  • Online: a card payment through Stripe.
  • Cash: recorded as a cash payment.
  • Credit: paid entirely from the family's account credit balance, with no new card or cash payment taken.

Expanded detail

Expanding a row shows, when relevant:

  • Discount breakdown: how much of the booking's discount came from a sibling discount, a multi-session/multi-booking discount, a voucher, or an unspecified/other source (see Discount breakdown below).
  • Refund: the refund method (Stripe, account credit, original payment credit, or manual) and date.
  • Account credit: how much credit was applied, and whether it covered the booking fully or partially.
  • Bookings in this transaction: how many linked bookings are active, cancelled or refunded, when a payment covers more than one.

Transactions, Online and Cash tabs

  • Transactions includes every qualifying row in the filtered report, with the status, method, refund/credit and discount detail described above.
  • Online includes completed card or Stripe-based transactions.
  • Cash includes payments recorded with cash status.

The summary cards update when you change tabs, allowing you to compare online and cash totals without changing the period.

Discount breakdown

Where a booking's price was reduced, the Transactions tab attributes the discount to its source:

  • Sibling discount: a discount configured for a second or later child in the same family.
  • Multi-session discount: a discount configured for booking multiple occurrences at once.
  • Voucher: a discount code redeemed at checkout.
  • Other: the discount amount does not fully match a tracked source. This includes bookings made before this breakdown was tracked (the total discount is still correct; only the split by source is unavailable for those older bookings) and Family Booking sessions, where every child after the first attends free — a distinct mechanic from sibling or multi-session discounts.

Searching by customer

Type a name or email in the search box to filter to matching customers, or select a specific customer from the dropdown to filter the report to that one family — the same selection enables Export family PDF.

Refunds and cancellations

A recorded booking refund reduces the revenue allocated to that booking.

Fees that were already charged can remain as costs. For that reason, refunding a payment does not always return the report's net value to the position it had before the original charge.

Historical refunded bookings without a stored refund amount are treated as fully refunded for report calculations. See Fees, refunds and reconciliation.

Fee Bank recovery badge

A cash booking's platform fee is recorded in Fee Bank rather than collected at the time of payment. Cash rows in the Transactions tab show whether that fee is still pending recovery or has already been recovered through a later online payment from the same family, so you can see at a glance which cash sessions still owe a platform fee.

Monthly Session Report

Select View Monthly Report (or the equivalent annual label when All Months is selected) to group the filtered financial activity by session.

The session report shows:

  • Purchases.
  • Bookings.
  • Gross revenue.
  • Oakline fees.
  • Stripe fees.
  • Net value.

One purchase can pay for several booking records, so Purchases and Bookings are deliberately separate counts. Read Monthly Session Report for the allocation rules.

Families Activity

Select Families activity to rank families by confirmed net spend over a custom date range. It includes payment, booking and eligible shop-order counts and separates gross paid value from cancelled or excluded allocations.

Read Families Activity Report for definitions.

Printing and saving a PDF

Use Print PDF for the transaction report or Print Report inside the session summary.

Oakline opens the browser's print workflow. To create a PDF, choose the browser or operating system option such as Save as PDF.

Exporting to CSV

Select Export CSV on the Transactions tab to download the currently filtered rows — including status, method, fee breakdown, discount breakdown by source, refund method and credit used — as a CSV file, ready for a spreadsheet or an accountant. The export reflects whichever Month/Year, date range, status and customer filters are active when you select it.

Staff payroll reporting has its own separate CSV export.

Why a total may not match Stripe payouts

Stripe can combine transactions into payouts and can apply fees, refunds, disputes or timing rules separately from Oakline's booking report. Differences can also result from:

  • A payment and session occurring in different months.
  • Cash transactions, which never appear in Stripe payouts.
  • Pending Stripe fee reconciliation.
  • Refund timing.
  • Payments covering several bookings.
  • Account credits reducing the amount newly collected.
  • Stripe payout batching or reserves.

Use the payment ID, payment date, parent and description to trace an Oakline row before comparing it with the corresponding Stripe transaction or payout.

Investigation checklist

If a number looks unexpected:

  1. Confirm the selected month, year (or date range) and family.
  2. Decide whether you are comparing payment date or session date.
  3. Open Transactions, Online and Cash to identify the payment method, and use the Status filter to isolate Success, Cancelled or Rejected rows.
  4. Check whether one payment covers multiple children, dates or sessions.
  5. Expand the row to check for a recorded refund, account-credit contribution, or discount breakdown that doesn't match expectations.
  6. Open the Monthly Session Report to see how the payment was allocated.
  7. Look for the estimated Stripe fee notice.
  8. Compare the individual payment with Stripe, rather than comparing the report with a batched payout.

If the payment-level records still do not explain the difference, contact Oakline support with the tenant, selected period and relevant payment IDs. Do not send full card details.

Still stuck?

Our support team is happy to help.

Contact Us
Was this article helpful? Yes No