Billing errors cost you twice. First, you lose revenue you earned. Second, you spend time correcting mistakes that shouldn't have happened. Olympic weightlifting gym monthly billing reconciliation is a structured process that closes the gap between what your software charges and what actually happened on the floor. Run it consistently and you catch failures before they compound.
This SOP is written for a VA running the end-of-month billing process. It assumes admin-level access to your gym management software and view access to your payment processor. Work through the steps in order and document every finding in the reconciliation log.
If you're building out your VA's full admin scope, start with how to hire a fitness virtual assistant to understand what financial access to grant and what to keep with the owner.
Step 1: Set the Reconciliation Window and Pull Your Reports (Day 1 of New Month)
Run monthly reconciliation on the first business day of each new month, covering the prior full calendar month.
Pull three reports from your gym management platform:
1. Membership revenue report. In Wodify, go to Reports > Revenue and filter by the prior month. In Mindbody, use the Sales by Revenue Category report. In Zen Planner, pull the Payment Detail report. Export to CSV.
2. Failed and declined payment report. Filter the same date range for any transaction with a declined, failed, or retry status. Export separately.
3. Refund and adjustment report. Any credits applied, refunds issued, or comp memberships granted during the month. Export separately.
Also pull your payment processor statement. If you use Stripe, download the monthly payout reconciliation from the Stripe dashboard. If you process through Square or the processor built into your platform, pull the equivalent monthly settlement report.
Save all files in a dedicated folder labeled by month: 2026-05_reconciliation.
Step 2: Match Platform Revenue to Processor Deposits
The total charged in your gym platform should match the total deposited by your payment processor, minus processing fees.
Build a simple reconciliation spreadsheet with four columns:
- Date
- Transaction ID
- Amount charged (from gym platform)
- Amount deposited (from processor)
For each batch deposit your processor sends, verify it matches the sum of transactions in your platform for that date range. Flag any gap of more than $1.00 for investigation.
Common reasons for mismatches:
- Processing fees were not accounted for in the platform report
- A refund was processed directly in Stripe or Square but not recorded in Wodify/Mindbody/Zen Planner
- A transaction failed after being marked as successful in the platform (rare but possible with older integrations)
Document every discrepancy with the transaction ID, the expected amount, the actual amount, and a one-line note on likely cause. You are not solving every discrepancy in Step 2 - you are cataloging them for Step 4.
Step 3: Audit Failed and Declined Payments
Pull every failed payment from the prior month. For each one:
Check whether it was retried and resolved. Most platforms auto-retry declined payments on a set schedule (often Day 3, Day 7). If the retry succeeded, mark it resolved. If it's still outstanding, it needs action.
Check whether the member is still active. An outstanding payment from a cancelled membership may be uncollectable. Note it as such and flag for the owner to decide whether to pursue.
Check the decline reason. Stripe and most processors return decline codes. "Insufficient funds" means the card works but the account was empty. "Card expired" means you need updated payment info. "Do not honor" from the bank usually means the card was flagged or cancelled. Each reason has a different outreach approach.
For outstanding failed payments on active memberships, the VA sends a payment update request within the first 3 business days of the month. Use the platform's built-in dunning tool if available - Wodify has a payment retry sequence, and Mindbody has automated past-due notifications. If those tools aren't active, send a manual email with a secure payment update link.
Log every outreach in the reconciliation sheet: date sent, method, response, resolution.
Step 4: Reconcile Session Pack Usage
Olympic weightlifting gyms frequently sell session packs alongside or instead of monthly memberships - 10-session packs, 20-session packs, private coaching blocks. These require separate tracking because the revenue is recognized over time as sessions are used.
Pull the session pack usage report from your platform. Check:
- Total packs sold in the prior month (new revenue)
- Sessions redeemed against existing packs (usage draw-down)
- Packs with zero sessions used in 60+ days (inactive clients at risk)
- Packs nearing expiration in the next 30 days
Cross-reference session pack deductions against your attendance log. If a client is showing 8 sessions used but only attended 6 according to your attendance records, investigate. Manual check-ins entered incorrectly and no-show deductions by policy are the two most common causes.
Flag any discrepancy to the head coach. Coaches sometimes comp sessions or run informal make-up sessions that don't get logged. Every unlogged session is a billing gap.
Step 5: Verify New Membership Billing Started Correctly
Every new member who joined last month should show a prorated or full first-month charge. Pull the new member list and cross-reference each name against the revenue report.
Common failures:
- Member signed up but payment method was never charged (sign-up flow completed without billing trigger)
- Proration was calculated incorrectly for a mid-month start
- A free trial was extended past its intended end date
For each new member, confirm: sign-up date, first charge date, charge amount, and that the amount matches the membership plan rate in your system. If any don't match, document and resolve before the next billing cycle runs.
Step 6: Confirm Membership Cancellations Stopped Billing
Every membership cancelled last month should show no charge after the cancellation effective date.
Pull the cancellation log from the prior month. Check each cancelled member against the revenue report to confirm no post-cancellation charge was processed. If a charge ran after cancellation, issue a refund immediately and document the error with the transaction ID.
Also check for members whose cancellation was requested but not processed in the platform - a common issue when cancellation requests come in via email and the platform entry gets missed. The VA cross-references cancellation emails or form submissions against the platform's active membership list on a bi-weekly basis to prevent this, but end-of-month is a final check.
Step 7: Produce the Monthly Reconciliation Summary
Once all steps are complete, the VA produces a one-page summary for the gym owner:
- Total revenue collected (gross)
- Total processing fees
- Net revenue deposited
- Number of failed payments (resolved vs. outstanding)
- Outstanding balance to collect
- Session pack liability (sessions sold but not yet used)
- Cancellations processed
- Any material discrepancies found and their resolution status
Deliver this report by the 5th business day of the new month. If you use a tool like QuickBooks or Wave for bookkeeping, this summary feeds directly into the monthly close entries your bookkeeper or accountant needs.
For the full range of admin tasks a VA can own in your gym, see the fitness VA tasks list.
FAQ
How long does this reconciliation process take each month?
For a gym with 50-150 active members, a well-organized VA typically completes the full reconciliation in 3-5 hours spread across the first two business days of the month. Larger gyms with more complex session pack structures may need a full day.
Does the VA need accounting software access to do this?
No. The VA works from the gym platform reports and the payment processor dashboard. The reconciliation summary is then handed to your bookkeeper or accountant for journal entries. Keep accounting software access with a financial professional unless you have a VA with a bookkeeping background.
What's the biggest billing error that Olympic weightlifting gyms miss?
Session pack over-deductions. When coaches manually check in clients or mark no-shows as attended by mistake, session balances drift from reality. Clients notice, and the dispute conversation is unpleasant. Monthly reconciliation of pack balances prevents most of these.
How should the VA handle a client who disputes a charge?
Document the dispute immediately: client name, charge date, charge amount, and the client's stated reason. Pull the transaction record and attendance log. If the charge was correct, the VA provides documentation. If there was an error, escalate to the owner for approval before issuing any refund. Never issue a refund without owner sign-off unless your gym has a written policy authorizing the VA to do so.
Should this SOP change if the gym switches from Wodify to Mindbody?
The steps stay the same. The report names and navigation paths change. When switching platforms, the VA should document where each report lives in the new system during the transition month before the first solo reconciliation run.