The member paid. The access you owe them is still mostly in the future.
Membership cash and membership income are different days. If someone pays for a year of access today, you have cash today and you owe them access until the year runs out. Counting the whole payment as this month's sales makes this month look like a success and makes the next eleven months look like you are staffing an empty business. Chargebacks make a second mess. The bank pulls the dues back after you already counted them, and a net deposit hides the reversal inside a smaller number. Trainers you pay as contractors add a year-end problem that is ordinary and strict: what you paid each of them has to be findable, without guessing which 'contractor' line was a person.
Decide the schedule in plain language and then follow it. A month-to-month membership can be this month's sales if this month's access is what they bought. An annual membership paid up front is not twelve months of access delivered on the signup day. Hold the unearned portion and release it as the months pass. Initiation fees are yours when you have done whatever the fee was for. If the fee is just a price to get in, and there is no separate work, your tax preparer can say whether it is earned at signup. Do not invent that answer here. Do label the fee so the answer can be applied without reclassifying a blob called memberships.
Freezes and cancellations need a path. A frozen member is not earning you the same month as an active one if you are not providing access. A cancellation refunds what was unearned, and it may or may not refund what was earned, depending on the contract. The books should be able to show which of those you did. A single negative deposit labeled 'billing' does not show it.
Family add-ons and day passes are easy to dump into the same dues bucket. Add them only if they are truly the same kind of access. A day pass is earned the day they walk in. An annual plan is not. If both say 'membership' and nothing else, the unearned balance becomes a lump you cannot explain to a member who asks what they have left.
When the bank pulls a membership payment back, the sale or the cash you recorded has to come back out. If you only ever record the net deposit, the chargeback disappears into a smaller deposit and the member still looks paid in your billing system. Record the gross billing, record the processor fee, and record the chargeback as a reversal of that member's payment. Then the person at the desk and the person looking at the bank are talking about the same member.
Fees on the chargeback are fees. They are not a reduction of sales and they are not a miscellaneous surprise. You want to see how much of the billing file the bank is willing to undo. That number, visible, is what tells you whether the dues you are celebrating are dues you will keep.
A trainer paid as a contractor needs their name on the payment. The total you paid them is what makes the year-end form possible. This page will not state a dollar threshold. Your tax preparer applies the rule. A payment coded to 'trainers' with no name is a total you cannot split in January without asking the trainer what they remember being paid. Personal-training revenue is also its own sale if the member paid for training rather than for floor access. Mixing training cash into dues makes both numbers useless.
Equipment you are paying off is the same shape as any other machine. The treadmill is not a miscellaneous expense, and the loan payment is not a second treadmill. Label the asset and label the payment. A lease payment is the lease until someone who is allowed to classify it says otherwise. Do not drop it into 'gym supplies' beside the paper towels.
Send the billing-system report, the bank deposits, a list of trainers and how they are paid, and any annual memberships that are still inside their term. The first pass builds one month where gross dues, fees, chargebacks, and the deposit agree, and where annual cash that is still unearned is labeled unearned. Trainer payments have names. You can see floor access separately from training if both exist.
What you should feel, reading it, is that the cash in the bank is partly a promise. Spending the promise is how gyms get surprised in the month the crowd was already paid for.
Record the cash today. Record as sales only the access you have already provided. The rest is a liability until the months actually pass.
Usually fees, refunds, or chargebacks. Record those as themselves. Shrinking sales to match the deposit hides which members were reversed and hides the fee.
Only if every description is the trainer's name and you never paid them any other way. Put the name on the payment when you make it. The form is a report, not a December research project.
If your file looks like this, start with a free look: gym QuickBooks cleanup.