Follow these steps at your club’s own website. Available screens and actions depend on your account’s role and the programs your club has enabled.
Overview
Admin › Reports is visible to the treasurer, manager, and admin roles — every staff role, in other words. Only the member role has no admin access at all. Six tabs: Dues & AR, Statements, Bond liability, Credits & refunds, Payouts, Accounting periods.
At the top of every tab, a short snapshot strip shows Active members, Collected this year, AR aging total, and Renewed (paid count vs total membership years for the season). Those figures reuse the same report functions as the tabs below — not a second definition of membership or money.
The page's main workflow is an explicit month-end checklist, with each step's "done" state read live off the page: review credits/refunds → export the GL journal → reconcile Stripe payouts → close the period. Work the tabs in that order at month end.
Closing a month is a treasurer/admin action, and only available once the month has fully ended. You can't close the current or a future period early. Board can view every tab but can't close a period, reopen one, or arm the annual statement send. Those all require treasurer or admin. Reopening a closed period, by contrast, is not restricted beyond the treasurer/admin role gate. Any treasurer or admin can reopen a closed period at any time to make a correction. This is deliberate: it's the audited escape hatch for month-end fixes, not a bug. The reopen form requires a reason (rejected if left blank or whitespace-only, same as a late-fee waiver) alongside the confirm dialog, and every close and reopen writes an audit log entry (accounting_period.close / accounting_period.reopen) recording who, when, and, for reopen, why. See Invoices, payments, and credits for what a closed period blocks. Voiding an invoice is blocked by a closed period the same as credits, adjustments, and manual payments.
Dues & AR
Renewal-year buttons change billed / collected / credits / outstanding for that year. Receivables aging is as-of today: open and processing invoices bucketed by days past due, anchored on the invoice's due date if it has one, otherwise on when it was sent or created. An invoice whose outstanding balance nets to zero (for example, fully offset by a later refund or credit) is dropped from the aging table entirely. If you're looking for a specific invoice in the CSV and can't find it, check whether it's already netted to zero. Download CSV on that card is the aging table (invoice, household, due, days late, outstanding). Every row, not the on-screen cap. Annual statements are sent from the Statements tab (this tab only links there).
Statements
Arm or pause the annual household statement send for the selected renewal year. Eligible households get balance, bond, and camp totals by email in daily batches. Treasurer or admin only.
Bond liability
Totals are what the club owes back today, how many households still have a deposit, and all-time received vs refunded+forfeited. The household table (and Download CSV) lists each remaining balance: household, owed back.
Active member households with no deposit recorded yet (typical after a member import or seed. Bond is collected on initiation, separately from dues) are counted at the bond amount configured in Settings. Once a deposit, refund, or forfeiture is on the books for a household, those amounts are the source of truth.
Bond returns themselves are check payables, not Stripe refunds. See Relinquishment.
Payouts
Every payout listed is one your club's own Stripe account paid out, matched against the payments behind it. On a platform hosting several clubs the Stripe payout records live in one shared table, so the report filters them by your club's connected account — you will never see another club's deposits, and they will never see yours.
On the Payouts table, each row leads with the arrival date and deposit amount; the Stripe payout id sits underneath in smaller type. A count reading (N still to match) is normal and worth reading — click it to expand the list of unmatched lines right there in the row: those are Stripe lines in the deposit that are not tied to a member payment yet — often a fee, an adjustment, or a refund still waiting to match. Those are what the discrepancy figure is explaining, so the payout total ties back to what actually landed in the bank. The reconciliation CSV also lists unmatched lines in full.
If a payout you expected is missing, the usual cause is that its items have not been mirrored yet — the nightly job pulls them in — or that the club's Stripe account was connected after the payout was made.
Other CSVs
An empty Credits & refunds review says there is no activity to review for the selected month. This is not a claim that other queues are complete. Reopen remains an explicit button with a required reason and confirmation.
Credits & refunds and Accounting periods offer the GL journal CSV for a month. The check-run card downloads approved payables. Payouts has a reconciliation CSV for the selected month.
Amounts in every export are decimal dollars (the only place integer cents become a decimal).
The GL journal nets out voided invoices automatically: a voided invoice's original line items still print unchanged (relabeled invoice_line (voided)) at their original billed date, and each line also gets a compensating negative invoice_line_void row dated at the invoice's void date. You can import the CSV as-is into QuickBooks. No need to manually filter or back out (voided) lines.