Bookkeeping for spas and medspas
You get paid before you deliver.
Spas, medspas and studios. Memberships, packages and gift cards mean the cash arrives months before the service does, so the bank balance and the earnings are two different numbers.
You will recognize this if…
- The bank balance looks healthy and the profit does not, or the reverse
- Nobody can say what the outstanding package and gift card balance is
- Membership revenue is recorded when it is charged rather than when it is earned
- You cannot say what a treatment room earns per hour it is open
- Retail and service margin are reported as one number
- Injectable stock is counted in vials rather than units, and waste is invisible
Why the close is hard here
These are the things that most often make the monthly close wrong here — and what has to be true for it to be right.
The money arrives before the service does
Memberships, packages and gift cards are liabilities until delivered. Recorded as revenue on receipt, growth looks better than it is and a flat month looks like a collapse. It is the single most common reason a spa's books do not describe the business.
A room costs the same whether it is occupied or not
Almost every cost is fixed against a number of available hours, so the number that governs the business is revenue per available treatment hour — not revenue, and not margin.
Service and retail are two different businesses
Different cost structures, different constraints, different working capital. Blended into one gross margin, a strong retail month hides a weak service month and dead stock sits for a year unnoticed.
Medspa inventory is measured in units, not bottles
Product can be a third of the ticket. Cost per unit, partial-syringe waste, reconstitution windows and expiry all have to be tracked, or treatment margin is a guess.
What we do about it
- Deferred revenue on memberships, packages and gift cards, moved and reconciled every month
- Gift card liability tracked by month of issue, with a written position on breakage
- Revenue per available treatment hour, by room and by provider
- Service and retail margin reported separately, with backbar inside cost of service
- Injectable inventory in units, with waste and expiry identified
- The booking system tied to the general ledger rather than living beside it
Covered here: Spa & medspa centre → · All industries →
Questions we get asked
Is membership money revenue when it hits the bank?
No. It is a liability until the service is delivered or the benefit period passes. Recording it as revenue on receipt overstates every month you are growing and understates every month you are not.
Do you work with Boulevard, Zenoti, Mindbody or Vagaro?
Yes. None of them removes the deferred revenue work — most post the full sale to revenue on the day it is taken. The monthly reconciliation between the booking system and the ledger is the job, whichever platform you run.
Can you handle injectable inventory?
Yes — cost per unit, waste and expiry, and treatment-level margin. Physical counts stay with your team; we maintain the accounting for them.
We are a medspa. Does the entity structure matter?
It can. Many states restrict who may own an entity providing medical services, which is why medspas are often structured with a professional entity and a management company. That structure has real accounting consequences, and it should be settled with a healthcare attorney in your state before the books are built around it.
Who this covers
If your business earns this way, the mechanics are the same whatever the label.
- Day spas
- Medspas and aesthetic clinics
- Injectable and laser clinics
- Wellness studios
- Massage and bodywork
- Salons with treatment rooms
- IV and recovery lounges
- Membership-based fitness studios
- Cryotherapy and float centres
- Multi-location spa groups
- Spa and medspa franchisees
- Owners opening a second location
Spa and medspa guides
Twelve of them, in the order they tend to matter.
Not sure this is you?
Most owners sit across two of these. A short conversation sorts out which parts actually apply.
Get started