A transaction is a single line of “X owes Y for Z.” Every chargeable event in 1Club - a booking, a membership creation, a recurring membership period, a signup fee, a product sale, an external program entry - writes exactly one transaction. Settlement happens separately through payments linked over a join table. Open the page at Billing > Transactions. The grid pages on the server and is tab-filtered into All, Pending, Overdue, Paid.Documentation Index
Fetch the complete documentation index at: https://docs.1club.ai/llms.txt
Use this file to discover all available pages before exploring further.
Anatomy of a transaction
Each row carries:- Date of the obligation.
- Type (
booking_creation,booking_cancellation,membership_creation,membership_recurrence,membership_signup_fee,membership_cancellation,product_sale,external_program_entry,checkin_creation). - Description describing what was billed.
- Contact the transaction is against.
- Amount, Tax amount, Total amount, and Currency (the organization currency at the time of creation).
- Payment status:
pending,paid,void,failed,settled,overdue,partially_paid,refunded, orcancelled. - Invoiced flag. Once a transaction has been wrapped into an invoice (manually or by a bill run), this is
trueand the obligation will not be picked up by future bill runs. - Optional foreign keys to a booking, membership, product, external program, tax rate, and revenue account.
- Optional parent / child links, used to chain related entries together (for example a
booking_cancellationreferencing the originalbooking_creation).
paid at creation, so a free booking still produces a transaction but it never blocks anything.
How transactions get created
Most of the time you won’t create transactions by hand. They arrive when:- Someone is booked into a class, an area, or with an instructor. The booking flow writes the transaction at the price implied by the membership or the override.
- Someone buys a plan. You get
membership_creationplus, when applicable,membership_signup_fee. - A recurring membership period rolls over. The hourly
recurring-transactionsjob writes the nextmembership_recurrencetransaction. - A booking is cancelled with a refund or charge policy. You get
booking_cancellationlinked to the original. - A product is sold through the POS.
Transaction actions
From a row or from the details page:- Add payment. Available when the status isn’t
paidorvoid. Opens the payment dialog, where you pick a payment method (manual or Stripe) and record the settlement. - Add invoice. Available when the transaction hasn’t been invoiced yet, has a contact, and isn’t
void. Wraps the single transaction into a new one-line invoice and navigates to the invoice page. - Void. Available for any transaction not already
void. Marks the transactionvoidso it stops showing as owed and stops being picked up by bill runs. Voiding is a soft delete - the row remains for audit. - View opens the details page.
Batch actions
Multi-select in the grid unlocks two batch operations:- Charge. Calls Stripe for every selected transaction’s contact, charging their default payment method. The results dialog summarises which transactions succeeded, which failed, and the reason for each failure (no default method, charge declined, etc.). It uses idempotency keys built from the transaction ID and current date so reruns on the same day won’t double-charge.
- Record manual payment. Opens a dialog where you choose a configured manual payment method (cash, bank transfer, etc.) and a payment date, then writes a payment row against each selected transaction. Transactions already
paidorvoid, or with zero remaining balance, are skipped and counted in the summary so you can see exactly what landed.
Transaction details
Beyond the same fields shown in the grid, the details page exposes:- The payment method column lists each payment row linked to this transaction with amount and date, each linking to the payment.
- The full tax breakdown when a tax rate applied (rate name, percentage, description).
- Recurrence info for
membership_recurrencetransactions: auto-renew flag, billing frequency, and the period start/end dates. - The linked booking or membership as a clickable card.
- A Transaction relationships card showing the parent and any children, so you can trace a cancellation back to the original booking or follow a chain of recurring periods.
- All linked Payments in a grid at the bottom, including partial and refunded payments.
How payment status flows
When a payment is recorded, its outcome determines the transaction’s new status:| Payment outcome | Transaction status |
|---|---|
succeeded | paid |
failed | pending |
cancelled | pending |
refunded | refunded |
partially_refunded | partially_paid |
confirmed.
The hourly job that processes recurring memberships also runs a sweep that flips any pending transaction with a date in the past to overdue (start of UTC day). overdue is treated as a flavor of pending when invoice status is derived.
Caveats
- The user-facing “outstanding transactions” query treats anything not
paidas payable, so theoretically acancelledtransaction could surface there until it’s explicitly excluded. - Voiding a transaction doesn’t refund associated payments. If money was actually collected and now needs returning, refund the payment first, then decide whether to void the obligation.
Related
- Payments - the settlement events linked to transactions.
- Invoices - how to wrap transactions in a sendable document.
- Bill runs - sweeping pending transactions into invoices in bulk.
- Booking policies - decides when a booking’s transaction is created and when it must be paid.