CrossFit Box Monthly Billing Reconciliation

Billing errors cost CrossFit boxes money every month. Failed charges that no one follows up on. Members on old plans that never got updated. Payments that processed but never hit the bank account correctly. A clean CrossFit box monthly billing reconciliation process, run by a VA, catches all of it before it becomes a real problem.

This SOP walks through every step. Assign it to your VA. Run it on the same date each month. The 3rd or 4th of the month works well after most billing cycles have processed.

Step 1: Pull Billing Reports from Your Gym Management Software

The first job is getting the data out.

In PushPress, go to Billing > Reports and export the full billing run for the previous month. You want the transaction-level report, not just the summary. This shows every charge attempt, the result (success, failed, declined), and the member name tied to each transaction.

In Wodify, navigate to Reports > Financial and pull the Payment Report filtered to the billing period. Make sure you include all payment types: recurring memberships, drop-ins, retail, and any manual charges.

Zen Planner has a Billing Summary and a Transactions report under its Reports tab. Pull both. The summary gives you the high-level totals; the transactions report shows you the individual line items you need for reconciliation.

SugarWOD integrates with PushPress and other processors. If your box uses SugarWOD as the front end but bills through a connected payment system, pull the billing report from the payment system, not SugarWOD.

Export everything to CSV. Name the file clearly: "May2026_BillingReport_Raw.csv." Store it in your shared drive folder for that month. Do not work from the software dashboard directly. Exports give you a fixed snapshot you can return to.

Step 2: Identify Failed Payments

Open the transaction export and filter for any result that is not "Successful" or "Approved." Failed, declined, pending, and error statuses all need action.

Create a separate tab or sheet called "Failed Payments." For each failed transaction, log:

  • Member name
  • Membership plan
  • Charge amount
  • Failure reason (card declined, expired card, insufficient funds, bank error)
  • Date of the failed attempt
  • Number of prior failures in the last 90 days (pull this from the software's billing history for that member)

Most gym management systems attempt retries automatically. PushPress retries on days 3, 5, and 7 after a failure by default. Check whether your system has auto-retry enabled and what the retry schedule is. If a charge is still in retry status, note that and monitor it. Do not start the dunning sequence until the retry window has closed.

Flag any member with two or more failed payments in the past 90 days as high priority. These members are likely to have unresolvable card issues and need direct contact faster.

Step 3: Run the Dunning Sequence

Dunning is the process of following up with members on failed payments. Your VA runs this in a defined sequence.

Day 1 (same day as failure confirmed): Send an automated or manual email asking the member to update their payment method. Most gym software has a built-in "update payment" link that routes the member to a secure form where they enter new card details. Include that link. Keep the email transactional and non-judgmental.

Day 4 (if no update): Send a follow-up text or second email. Subject line: "Action needed: your membership payment."

Day 8 (if still no update): Send a final notice. This one should state clearly that access may be restricted if payment is not resolved by a specific date. Check your box's policy on when to suspend access. Some boxes freeze accounts after 14 days, others wait longer.

Day 14 (if unresolved): Escalate to the owner. The VA documents the communication history and notes the current membership status. The owner decides whether to make a personal call, extend grace, or pause the membership.

Log every contact attempt in your failed payments sheet. When a member updates their payment method, mark the row as resolved, note the date, and run a manual charge if the system did not auto-retry.

Step 4: Update Member Statuses

After the dunning sequence runs, some members will have resolved their payment. Others will not. Your VA needs to update membership statuses to reflect the current reality.

Members who resolved payment: Confirm their membership is in "active" status in PushPress, Wodify, or Zen Planner. If it was paused due to non-payment, reactivate it and confirm the next billing date is correct.

Members who did not resolve: Work with the owner to determine the correct status. Options include:

  • Paused (access suspended, billing stopped)
  • Cancelled (membership ended, member notified)
  • Active with a manual note (grace period granted by owner)

Do not leave members in a "failed payment" limbo state in the software. Every member record should have an accurate status at the end of reconciliation. Ambiguous statuses create confusion when coaches check class rosters and when you run the next month's billing cycle.

Also review any membership plan changes made during the month (upgrades, downgrades, pauses, and cancellations) and confirm the billing reflects the correct plan for each member. Upgrades processed mid-month should show prorated charges. Cancellations should show a final billing date, not an ongoing recurring charge.

Step 5: Reconcile Against Bank Deposits

This step confirms that what your software says you collected matches what actually landed in your bank account.

Pull your bank statement for the same billing period. Download the PDF or CSV from your bank's online portal. You want every deposit from your payment processor (Stripe through PushPress, Wodify Payments, PaySimple, or your direct processor).

Payment processors typically settle funds 1-3 business days after the charge date and net out their fees before depositing. Your reconciliation needs to account for this lag and for processor fees.

Create a simple reconciliation table:

Source Expected Amount Actual Deposit Difference
PushPress memberships $X $X $0
Drop-in charges $X $X $0
Retail/merchandise $X $X $0

If there is a difference, investigate before flagging it. Common causes: a charge processed on the last day of the month and settled in the next month's deposit cycle, or a refund that reduced a deposit. Document your explanation in the reconciliation sheet.

Any unexplained difference of more than $50 should be flagged to the owner immediately.

Step 6: Flag Discrepancies for Owner Review

Compile a discrepancy log: any situation where the billing data does not match expectations. This includes:

  • Bank deposits that do not reconcile to software totals
  • Members charged the wrong amount (plan mismatch)
  • Members who should have been charged but have no transaction record
  • Duplicate charges (two transactions for the same member on the same day)
  • Refunds processed that were not authorized by the owner

For each discrepancy, the VA documents the issue, the likely cause, and a recommended action. The owner reviews this list and approves the corrections.

Corrections (manual refunds, adjustments, plan fixes) are made after owner approval. The VA never processes a refund or plan change without sign-off.

Step 7: Deliver the Monthly Billing Summary

At the end of reconciliation, the VA produces a one-page summary for the owner. Keep it brief.

Include:

  • Total revenue collected this month
  • Number of members billed
  • Number and value of failed payments
  • Recovery rate (failed payments resolved vs. total failures)
  • Number of members paused or cancelled due to non-payment
  • Outstanding unresolved balances
  • Any discrepancies flagged and their status

Send it as a shared Google Doc link or a PDF attachment. The owner should be able to read it in under three minutes.

A VA who runs this process monthly is protecting thousands of dollars in revenue. Pair this SOP with payroll processing to close month-end with both sides of revenue. Roll billing data into your KPI dashboard so owner reports stay in sync. McKinsey reports 60% of occupations could automate 30%+ of activities.

Frequently Asked Questions

Q: How long does this reconciliation process take a VA?

For a box with 100-200 members, expect 2-4 hours of focused work on the day billing reports are pulled, plus 1-2 hours over the following days to track dunning responses and update statuses. A VA handling this monthly will get faster after the first two or three cycles.

Q: What if the gym software does not export clean CSVs?

Some older versions of gym management software have inconsistent exports. If exports are incomplete, your VA can work from the software's dashboard and manually log transactions into your reconciliation sheet. It is slower but produces the same result. Log a support ticket with the software vendor to get clean exports fixed.

Q: Should the VA have full access to the bank account?

No. The VA reconciles against a bank statement that the owner provides or shares in read-only view. The VA should not have transaction-level access to the bank portal unless the owner has made a deliberate decision about that level of trust and access.

Q: What is a normal failed payment rate for a CrossFit box?

Card failure rates vary by payment processor and member demographics. Rates between 3-8% per billing cycle are common. If your box is consistently above 10%, investigate whether your payment processor is well-matched to your member base, or whether your dunning sequence needs to be tightened.