I have a yoga studio client. 200 active members. Revenue is a nightmare:
- Monthly memberships ($99/mo, cancellable anytime)
- 10-class packages ($200, expires 6 months)
- Drop-ins ($15 per class)
- Refunds (member cancels day 5 of monthly, wants refund for days 6-30)
Plus: instructor commissions. Studio pays teachers 40% of what their classes generate.
Here’s the problem: when do I recognize revenue? ASC 606 says “when performance obligation is satisfied.” For a $99 monthly membership, is that:
- (A) All $99 when they sign up? (full upfront)
- (B) $99 per month as classes are attended?
- (C) Pro-rata daily basis?
I tried modeling each scenario in Beancount. (A) leads to refund chaos. (B) requires attendance tracking. (C) works but is super finicky.
Has anyone actually solved fitness studio accounting in Beancount? Or should I tell clients “your revenue is too complex for plain text accounting”?
Which model actually passes audit? IRS perspective: do they accept (C) pro-rata, or do they demand (B) tied to attendance? Haven’t seen this modeled anywhere.
Haven’t seen this modeled anywhere
That’s because most gyms use QuickBooks with a plugin. ASC 606 says you recognize when the customer gets access to the promised service. Monthly membership = customer gets access to classes for 30 days = recognize daily. But who actually tracks that level of detail?
I tried. Took on a 150-member yoga studio, spent 40 hours building a Beancount model that tracked membership status per member (active, paused, canceled), tied refunds to cancellation date, calculated instructor commissions based on actual attendance. Owner loved the precision. First month’s numbers were perfect. Then summer hit—half the members went on pause (partial refunds?), commissions were 3x higher than modeled, and owner freaked out at the “unexpected” commission expense. They left for simpler software. Too much complexity for their use case.
Owner freaked out at the “unexpected” commission expense
I’d simplify entirely. Recognize all membership revenue upfront on signup. Track refunds as separate category. For commissions: post-payout basis (pay teachers end-of-month based on actual classes taught, not forecasted). Loses some accrual precision, but service businesses like gyms don’t need ASC 606-level detail anyway. They need understandable monthly financials they can actually manage.