Three audit cycles, and a
membership that reads the books
A national nonprofit membership association publishes its financial statements to its own members four times a year and is audited annually. Most organizations answer to a board. This one answers to everyone who paid dues, which means the numbers have to survive being read by people who did not prepare them.
What it produces
Statements the membership can read, and a file the auditor can work through without a scavenger hunt.
Membership dues are collected in advance on four terms, one of which runs for decades, so the largest liability on the balance sheet is money already spent by people who have not yet received what they paid for. Each period’s receipts enter as a dated cohort and amortize across their own term. A member who joined on a five year term in 2024 is still earning out of the row they entered on in 2029.
The quarterly disclosure is prepared in the same format the audited statements use. A member reading the interim figures in July and the audited figures the following spring is looking at the same statement with different assurance attached, which is the point of publishing at all.
Three internal accounting staff have been developed into the procedures across the engagement. They prepare, they sit in the audit, and they answer the questions. That is the part that decides whether any of this survives a change in who is doing the work.

What was broken
Deferred revenue was the whole problem, and it was structural.
Multi-year and lifetime memberships are easy to sell and hard to account for. Cash arrives in one month and the obligation runs for years, so the schedule has to remember every cohort separately and keep remembering long after the person who set it up has moved on. Handled loosely, the balance drifts, cohorts that should have completed keep earning, and the number on the balance sheet becomes a plug that nobody can derive.
Sitting above that was a reporting obligation with no margin for error. Quarterly statements go to the membership. Annual statements are audited. An adjustment that would be a private conversation at most companies is, here, a correction published to everyone who paid.
The build
One schedule, used by everyone, proved every month.
Each membership term gets its own amortization tab, and each month’s receipts enter as a new dated cohort row. The month’s earned revenue fills across, cohorts completing their term are zeroed rather than carried, and the schedule cannot produce a negative deferred balance. Totals roll up to a summary that proves out against the general ledger before anything downstream runs.
The tie-out is the part that matters for the audit. Ending deferred revenue per the schedule against the general ledger, and revenue recognized per the schedule against the statement of activities. Both to zero, every month, in writing. A schedule that proves itself twelve times a year is not a schedule the auditor needs to test from scratch.
The disclosure statements and the board summary read from the same closed figures. Budget-to-actual, investment performance, membership receipts, and written commentary come out of the close rather than being assembled alongside it.
Running the audit from the client side
Three cycles managed end to end: planning, the request list, preparing and defending the schedules, working through the questions, and getting to issued statements. The audit is unpleasant when the organization spends the first three weeks reconstructing what it did during the year. Preparing the support as the year runs converts it into a review of work that already exists.
This is also the least automatable thing in the practice, and worth naming plainly. A production team with a reviewer on top can prepare a schedule. It cannot sit across from an auditor and answer for a judgment, hold the relationship with the tax preparer, or train someone. That is the line between a controller and an outsourced accounting department, and it is where the low-cost comparison stops being a comparison.
