Documentation Index
Fetch the complete documentation index at: https://docs.decodahealth.com/llms.txt
Use this file to discover all available pages before exploring further.
Where this shows up: Analytics > Accounting Overview (accrual recognized revenue, deferred liability) and Analytics > Product Sales Breakdown when you switch to the Accrual basis. The setup choices described here live on each membership product under Settings > Memberships.
Two questions per membership
Each membership product carries two settings that together decide how its cycle revenue gets recognized:- What members get at renewal — the mechanic. When a member’s monthly billing runs, what does the clinic owe them in return?
- When the revenue gets counted — the recognition. As benefits are used? Spread over the cycle? At the moment of billing?
What members get at renewal
| Option | What it means | Use it when |
|---|---|---|
| Service credits | The cycle billing unlocks one or more specific services at a discounted (often free) price, up to a defined limit. | The plan is “X services per period” — e.g., “4 facials per month”, “1 Botox visit per quarter”. |
| Account credit | The cycle billing adds a dollar amount to the patient’s account that they can spend on any service or product. | The plan is “$200 per month toward anything” — patients pick how to use it. |
| None | The cycle billing has no service benefit attached. It’s a subscription fee for access, status, or some non-platform benefit (priority booking, member events). | The plan is a flat subscription — no included services, no included credit. |
When the revenue gets counted
| Option | What it means | Best fit |
|---|---|---|
| Per redemption | Each time the member uses a benefit, a share of the cycle’s revenue is counted. | Service-credit plans where members typically use most of what they’re entitled to (e.g., “4 facials per month” and they use 3-4). |
| Spread over the cycle | The cycle revenue is divided evenly across the billing period, regardless of whether the member uses benefits or not. | Plans where the member has continuous access (unlimited discounts, priority booking, all-you-can-use), or service-credit plans with high caps that most members don’t fully use. |
| As credit is spent | The cycle revenue is counted as the member spends the granted account credit on real services. Unspent credit stays as deferred revenue. | Account-credit plans (the standard accrual treatment for this mechanic). |
| At renewal (cash-style) | The full cycle revenue is counted at the moment of billing, with no deferral. | Memberships with no real future obligation — a flat access fee, a signup fee, or a clinic that explicitly wants simplified internal reporting. |
Valid combinations
| Per redemption | Spread over the cycle | As credit is spent | At renewal | |
|---|---|---|---|---|
| Service credits | ✓ standard | ✓ for high-cap or unlimited plans | — | ✓ for non-GAAP reporting only |
| Account credit | — | ✓ when the credit expires with the cycle | ✓ standard | ✓ for non-GAAP reporting only |
| None | — | ✓ for ongoing-access subscriptions | — | ✓ for one-time fees and pure access |
- Per redemption requires service credits to track against — there’s no per-redemption stream for the other mechanics.
- As credit is spent only applies to account-credit plans — it follows the actual spend.
- At renewal counts the whole cycle immediately. It’s the simplest option but only matches the accounting principle of “recognize as delivered” when there’s nothing further to deliver. Use it cautiously for service-credit and account-credit plans; the cycle billing still represents future services the clinic owes.
Worked examples
The four most common setups, walked through one cycle.Service credits, per redemption
Plan: $119/month, 4 facials included. Patient uses 3.| Day | What happens | Revenue counted |
|---|---|---|
| 1 | $119 cycle billed. Patient has 4 facials available. | $0 (deferred) |
| 5 | Patient redeems facial #1. | $29.75 ($119 ÷ 4) |
| 12 | Patient redeems facial #2. | $29.75 |
| 22 | Patient redeems facial #3. | $29.75 |
| 30 | Cycle ends. One unused facial. | $0 (an unused entitlement stays as deferred liability) |
Service credits, spread over the cycle
Plan: $250/month, unlimited 10% off everything (or “up to 100 services” — a cap that’s there for safety, not what members actually use). 30-day cycle.| Day | What happens | Revenue counted |
|---|---|---|
| 1 | $250 cycle billed. | $0 initially |
| 1–30 | A small slice of the $250 is recognized each day ($8.33/day). | $250 total by day 30 |
| Any | Patient using discount benefits during the cycle does not trigger separate membership-revenue events. The cycle’s recognition is on a clock, not a redemption counter. | — |
Account credit, as credit is spent
Plan: $250/month, member gets $250 in account credit to spend on anything. Member spends $200 on a facial mid-cycle, with the remaining $50 unspent.| Day | What happens | Revenue counted |
|---|---|---|
| 1 | $250 cycle billed. $250 account credit created. | $0 (the credit is deferred liability) |
| 15 | Member buys a $300 facial, pays $200 from credit + $100 from card. | $300 (the facial itself, on accrual delivery) |
| 30 | Cycle ends. $50 of credit unspent. | $0 — that $50 stays as deferred liability until spent (or expired) |
None, at renewal
Plan: $50/month flat clinic membership. No included services, no credit. Members just get access (priority booking, member-only events, status).| Day | What happens | Revenue counted |
|---|---|---|
| 1 | $50 cycle billed. | $50 (fully counted at renewal) |
| 1–30 | (nothing) | — |
| 30 | Cycle ends. | $0 — already counted |
How refunds behave
Refunds reverse only what was actually counted as revenue. The mode determines the shape of the reversal:| Mode | Refund behavior |
|---|---|
| Per redemption | A full cycle refund reverses every redemption event that came from the cycle. Partial cycle refunds aren’t currently reflected in per-redemption recognition — contact support if you need partial-refund handling for a service-credit plan. |
| Spread over the cycle | A refund triggers a “catch-up” adjustment. If a $500 cycle is partway recognized when a $200 partial refund posts, recognition snaps to the revised cycle total and the remaining days continue at the new daily rate. |
| As credit is spent | If the cycle itself is refunded after the member has spent some of the credit, recognition stays counted for the services that were delivered. The unspent portion of the credit is cleared. The revenue that was already recognized (through the spent credit) doesn’t reverse — services were delivered, revenue was earned. |
| At renewal | A refund posts a straight reversal on the refund date for whatever amount was returned. No catch-up math. |
Picking the right setup
A short checklist for setting up (or auditing) a membership product:Identify what renewal delivers
Look at the membership’s benefits in Settings > Memberships. Does it grant a specific entitlement (X services per cycle), a dollar credit ($X account credit per cycle), or neither (flat fee)? That answers the first question.
Pick a recognition shape that fits
- Specific entitlements that members typically use up → Per redemption.
- Specific entitlements with a high cap that’s there for safety, not utilization → Spread over the cycle.
- Unlimited benefits / continuous access → Spread over the cycle.
- Dollar account credit → As credit is spent.
- Pure access / flat fee / signup fee / no real obligation → At renewal.
Confirm with your accountant for external reporting
If your clinic reports to outside auditors, banks, or tax advisors, At renewal is generally only acceptable for products with no future obligation. For service-credit and account-credit plans, the principle of “recognize as delivered” usually applies — so Per redemption, Spread over the cycle, or As credit is spent are the right options.
Audit one cycle in Accounting Overview
After saving the configuration, run Analytics > Accounting Overview for a recent cycle and confirm the deferred-revenue and recognized-revenue numbers behave the way you expect. If you’re migrating a product from one mode to another, only future cycles pick up the new mode — past cycles keep the recognition they were created with.
