The performance obligation.
A subscription box is a series of performance obligations. Each month’s delivery is a separate obligation. Revenue is recognized when the obligation is satisfied (delivery), not when the customer is charged. For monthly billing, this is straightforward: charge and deliver in the same month. For annual prepay, the cash arrives in month one but revenue spreads across twelve months.
Under IFRS 15 and US GAAP ASC 606, the unsatisfied portion is contract liability (deferred revenue). On an annual $120 subscription, the journal at charge is debit Bank $120, credit Deferred subscription revenue $120. Each month, debit Deferred subscription revenue $10, credit Subscription revenue $10. After 12 months, the liability is zero and revenue is recognized in full.
Monthly billing flow.
Monthly billing is operationally simpler. Customer charged $12, box delivered in the same month. Journal: debit Shopify clearing $12, credit Subscription revenue $12. COGS posts at the box WAC (sum of component costs at source branch). Net effect is recognition in the same month as cash.
The complication: when does delivery actually happen? If the customer is billed on the 1st but the box ships on the 25th, revenue recognition is at the 25th, not the 1st. For 4-day-long shipping windows this is a minor timing issue. For monthly billing that bridges month-end, revenue can shift between months. Most merchants ignore this and recognize at billing; technically, recognize at delivery.
Annual prepay mechanics.
A customer signs up for annual prepay at $120 (a discount over $12 × 12 = $144). Cash arrives now, deliveries spread over 12 months. The deferred revenue schedule is $10 per month for 12 months.
COGS posts each month at the box WAC. On a box with $6 WAC, monthly recognition is debit Deferred revenue $10, credit Subscription revenue $10, debit COGS $6, credit Inventory $6. Gross margin per month is $4. After 12 months, total revenue $120, total COGS $72, gross margin $48, or 40%.
- Charge: debit cash, credit deferred revenue (full amount)
- Each delivery: debit deferred revenue, credit subscription revenue (1/12)
- Each delivery: debit COGS, credit Inventory at box WAC
- Year 1 net: revenue minus COGS = annual gross margin
Pause, skip, and cancellation.
A customer pauses for two months on an annual prepay. Two months’ deferred revenue stays on the books beyond month 12; the obligation extends. Eventually those two months are delivered and revenue recognizes. The deferred revenue balance does not disappear; it just delays.
Cancellation mid-subscription on an annual is the harder case. Some merchants offer pro-rata refunds; others do not. With a refund, debit Deferred revenue (the unrecognized portion), credit Bank for the refund amount. Without a refund, the customer keeps their delivery rights but you must keep the deferred revenue on the books until they are delivered or expire under the terms.
Free first box and acquisition cost.
A common subscription tactic: free first box, then $12/month thereafter. The first box is a customer acquisition cost (CAC), not revenue. Cost of the free box (component WAC + shipping) hits Marketing expense or CAC, not COGS. Revenue starts from month 2.
On a free first box with $6 component WAC and $2 shipping, debit Marketing expense $8, credit Inventory $6, credit Shipping payable $2. The customer is now subscribed; month 2 onwards is normal subscription accounting. Mixing the free box into COGS understates margin and overstates COGS.
Churn, LTV, and cohort accounting.
Churn is operational, not GL. But LTV (lifetime value) calculations should drive how aggressively you spend on CAC. If your monthly subscription has 6-month average lifetime, LTV is $12 × 6 = $72. Net of COGS, contribution margin LTV is $48. CAC up to that ceiling is justified; above is a leak.
Cohort revenue accounting (group customers by acquisition month, track their revenue and churn over time) is a finance discipline that runs alongside the books. Nonari surfaces cohort revenue from the same data that drives the GL, so finance and ops use the same numbers without a separate analytics pipeline.
Multi-currency subscriptions.
A EUR-priced subscription on an EU storefront introduces FX into the deferred revenue ledger. The USD equivalent of €10 monthly is recorded at the order rate. When delivery occurs and revenue recognizes, the rate may have moved. Recognize at the original order-time rate; the FX delta on the bank receipt is a separate FX gain/loss.
Annual prepay in EUR is the messiest case. €120 prepaid, $129.60 booked at order rate of 1.08. Over 12 months, USD equivalent recognized is $10.80/month at the original rate. If the rate moves significantly during the year, your EUR subscription book moves too. Nonari handles this by anchoring the deferred revenue schedule at order rate and isolating any FX revaluation on the open liability balance.
Where Nonari fits.
Nonari treats subscription orders as recurring obligations with a deferred revenue schedule generated at sign-up. Each delivery event recognizes one period of revenue and posts COGS at box WAC. Pause, skip, and cancellation events adjust the schedule automatically. Free-first-box logic routes to Marketing expense rather than COGS.
For merchants running subscription boxes both domestically and internationally, the multi-currency engine isolates FX from operational margin. Cohort views show monthly retention and contribution margin per cohort. The accounting layer is correct, audit-defensible, and operationally informative without a separate finance team building shadow spreadsheets.