Payments playbook

Stripe reconciliation for sports clubs using online bookings

Reconciliation works when the booking record, the Stripe object, and the operator report agree. It fails when card state lives away from the schedule.

Lobby product team

Published 2026-05-12 - 6 min read

Product mock

Operator detail,
not stock proof.

The screen below is an illustrative Lobby product mock. It is included to show the implementation shape, not to imply a customer deployment.

book.club.example/admin/payments

Recent payments

€45.00Court 02 · 90 min · Sat 17 May 18:30Visa •••• 4242PAID
€32.00Class · Net positioning · MadisonCardPAID
€90.00Membership · Pro monthly · M. VeigaCardPAID
−€45.00Refund · Court 04 · cancelled in timeVisa •••• 8821REFUND

Next payout

€2 184.00

Mon 19 May

Processor fees

Stripe

Set by Stripe · Lobby never touches them

Lobby cut

€0.00

No booking percentage. Ever.

Step 01

Separate the club money flow from the software invoice

The member pays the club through Stripe. Stripe charges processing fees. Lobby invoices software separately and does not take a booking percentage.

Show Stripe status beside the booking, class, membership, or event record.

Keep processor fees in Stripe reporting rather than blending them into software revenue.

Make the Lobby fee model visible on pricing and contracts before rollout.

Step 02

Make every paid booking auditable

A finance-friendly booking row needs more than an amount. It needs enough identifiers to answer what was sold, how it was paid, and whether it has moved or refunded.

Check

Booking ID, court or class, member, amount, currency, and tax label

Check

Stripe checkout session or payment intent reference

Check

Payment status, refund status, payout date, and payment method

Check

Operator action history for moves, cancellations, and manual adjustments

Step 03

Run a short daily reconciliation check

The daily check should be boring: paid bookings match Stripe payments, refunds are intentional, pending payments are visible, and manual overrides are named.

Check

Filter yesterday and today by paid, pending, failed, and refunded states

Check

Compare gross booking totals with Stripe activity for the same window

Check

Review refunds against cancellation rules and staff notes

Check

Export the report before month-end cleanup changes the context

Step 04

Keep exceptions explicit

Cash payments, bank transfers, waived fees, and source-system imports can all exist, but they should not masquerade as card-settled Stripe revenue.

Tag offline payment methods separately from Stripe payments.

Keep imported historical payments reference-only unless the processor IDs are intact.

Expose failed and pending states to staff instead of hiding them from the booking desk.

Constraints

Limits to keep
in the plan.

Constraint

Stripe availability depends on the merchant setup and Stripe-supported markets.

Constraint

Lobby should not claim processor fees are included in the software subscription.

Constraint

Imported payment history is only as complete as the source system export.

How this was produced

This playbook is based on Lobby payment-flow design and Stripe reconciliation requirements. It is not based on customer results, performance claims, or anonymous anecdotes.

Next step

Bring the real workflow.
Review it in a demo.

    Stripe reconciliation for sports clubs using online bookings | Lobby