How do I map Stripe subscription schedules to deferred revenue?
Stripe subscription schedules break a subscription into sequential phases — each with its own price, quantity, and duration — which is what Loopfour's createSubscriptionSchedule action uses to represent a planned upgrade, downgrade, or trial. Stripe's own Revenue Recognition product then treats each invoice line item as a separate performance obligation and amortizes it over that phase's period.
Part of the finance integrations guide.
| What a schedule represents | Sequential phases (up to 10), each with its own price, quantity, and duration |
|---|---|
| Loopfour actions | createSubscriptionSchedule, updateSubscriptionSchedule |
| How Stripe Revenue Recognition reads it | Each invoice line item is treated as its own performance obligation, amortized evenly over its period |
| What's not automatic | A line item needs a period set, or Revenue Recognition recognizes the full amount at finalization instead of deferring it |
What a phase actually changes
A subscription schedule's phases attribute defines when changes happen and what properties of the subscription change at each point — price, quantity, coupons, tax rates. Phases must be sequential (only one active at a time), and Stripe supports up to 10. When a phase becomes active, Stripe updates the underlying subscription to match it automatically; you don't have to separately call an update on the subscription itself once the schedule is in place.
How Stripe's own Revenue Recognition reads a schedule
Subscriptions create invoices on each cycle, with each subscription item corresponding to an invoice line item, and the period of that line item populated automatically from the subscription item's period. Stripe's Revenue Recognition product treats each invoice line item as its own performance obligation: when the invoice finalizes, it defers the total recognizable amount and amortizes it evenly across the line item's period. If a line item has no period set, Revenue Recognition recognizes the full amount immediately at finalization instead — which is the detail that matters most when mapping a schedule's phases to deferred revenue correctly.
Setting one up
The mechanics are the same whether the change is an upgrade or a downgrade — only the price and quantity in each phase differ. What matters for revenue recognition is that each phase's items carry a real price associated with a recurring interval, so the resulting invoice line items get a period Stripe can amortize over, rather than reading as one-off charges.
Next step
Map the finance workflow with the most exposure and prove the automation path.
Bring the invoice, contract, payment reconciliation, or customer finance workflow you have to defend at audit. Loopfour can map the trigger, controls, integrations, and approval loop.
Worked example
A $50/mo plan scheduled to upgrade to $150/mo after 2 months
A customer signs up for a $50/mo plan with a schedule that upgrades them to $150/mo after 2 months, for a 12-month total commitment. The schedule has two phases: phase 0 (2 months, $50/mo) and phase 1 (10 months, $150/mo). Each month, the active phase generates an invoice with one line item, and that line item's period (one calendar month) is what Stripe Revenue Recognition amortizes the recognizable amount over — so each $50 invoice defers and recognizes $50 across its own month, and once phase 1 activates in month 3, each $150 invoice does the same at the new price. Nothing about the deferral logic changes at the phase boundary; only the price does.
Frequently Asked Questions
Sources
Related
Topic
Revenue Recognition
Revenue recognition determines when — not just how much — revenue hits the books. Under ASC 606 (US GAAP) and its international counterpart IFRS 15, revenue is recorded as a company satisfies its perf…
Read moreTopic
Integrations
Every finance automation vendor publishes an integrations page: a grid of logos, a claim of "seamless" connectivity, and not much else. That page answers a marketing question — does this vendor touch…
Read moreDiagnostic
What breaks when a mid-term Stripe subscription change hits deferred revenue?
A subscription downgrade or upgrade mid-cycle creates a negative line item in Stripe — crediting back the unused portion of the old plan — alongside a positive line item for the new one. A workflow that only expects positive invoice amounts can drop or misapply that negative line item, which throws deferred revenue and AR out of sync after the change.
Read moreDiagnostic
How do I reconcile Stripe subscription revenue against the GL?
Stripe's own Revenue Recognition product generates the journal entries — debiting Accounts Receivable and crediting Deferred Revenue at finalization, then debiting Deferred Revenue and crediting Revenue as each period is recognized. Reconciling against the GL means comparing Stripe's debits-and-credits export against what actually posted, not re-deriving the entries by hand.
Read more