Skip to main content
New: Forge AI docs + Loop PM assistant. 7-day free trial.
TemplateFREE⏱️ 3-5 hours

Billing Spec Template

Spec billing and subscription features with clear pricing logic, payment flows, and edge case handling. Includes invoicing rules, proration calculations, and a filled B2B SaaS example.

By Tim Adair• Last updated 2026-03-05
Billing Spec Template preview

Billing Spec Template

Free Billing Spec Template — open and start using immediately

or use email

Instant access. No spam.

What This Template Is For

Billing is the feature that ships once and breaks for years. Every other feature on your roadmap earns revenue only if billing works correctly. Yet most product teams treat billing as an engineering problem and hand it off with a one-page spec that says "integrate with Stripe."

The reality is that billing logic touches every part of the product: plan changes, seat additions, proration, failed payments, refunds, tax compliance, invoicing, and dunning. Each of these has edge cases that, if unspecified, will be decided by whichever engineer picks up the ticket. Those implicit decisions become implicit policy, and implicit policy becomes customer complaints.

This template helps you specify billing and subscription features with enough precision to prevent the most common billing bugs. It covers pricing model definition, payment flow design, upgrade and downgrade logic, proration rules, failed payment handling, and invoicing requirements. Use it alongside the pricing tier template for pricing structure design and the Product-Led Growth Handbook for self-serve billing strategy.

The monthly recurring revenue glossary entry explains MRR calculation conventions that this spec references. The expansion metrics template tracks the revenue outcomes of the billing flows you define here.


When to Use This Template

  • When building billing from scratch. Specify the full system before writing code to avoid costly rework.
  • When migrating billing providers. Document existing logic so you can verify parity after migration.
  • When adding a new pricing model. Seat-based, usage-based, or hybrid pricing each introduces new billing flows.
  • When expanding internationally. New tax jurisdictions, currencies, and payment methods create billing complexity.
  • When billing bugs are recurring. If customers report incorrect charges more than once a quarter, the spec is incomplete.

How to Use This Template

Step 1: Define the Pricing Model

Document every plan, its price, billing interval, and what is included. Be explicit about units (per seat, per 1,000 API calls, per GB). Ambiguity in pricing definitions causes ambiguity in invoices.

Step 2: Map Payment Flows

Diagram every path from "user decides to pay" to "payment confirmed." Include new subscriptions, upgrades, downgrades, add-ons, and renewals. Each flow should have a clear trigger, success state, and failure state.

Step 3: Specify Proration Rules

Define exactly how mid-cycle plan changes are calculated. Proration math is the number one source of billing disputes. Document whether you prorate to the day, to the second, or not at all.

Step 4: Define Edge Cases

Failed payments, expired cards, chargebacks, refund policies, dunning sequences. These scenarios are rare individually but collectively they affect 5-15% of your subscriber base each month.

Step 5: Specify Invoice and Receipt Requirements

Define what appears on every invoice: line items, tax breakdown, company details, payment method summary. Many customers need invoices for expense reports and tax compliance.


The Template

Pricing Model Definition

FieldValue
Product name[Product name]
Billing provider[Stripe / Chargebee / Recurly / etc.]
Supported currencies[USD, EUR, GBP, etc.]
Tax handling[Provider-managed / custom / none]
Billing intervals[Monthly / Annual / Both]
Annual discount[X% off monthly price]
Trial period[N days / None]

Plan Definitions

PlanMonthly PriceAnnual PriceSeats IncludedOverage per SeatUsage LimitsKey Features
Free$0$0[N]N/A[Limits][Features]
[Starter]$[X]/mo$[X]/yr[N]$[X]/seat/mo[Limits][Features]
[Pro]$[X]/mo$[X]/yr[N]$[X]/seat/mo[Limits][Features]
[Enterprise]CustomCustomCustomCustomCustom[Features]

Payment Flows

New Subscription Flow

StepActionSystem BehaviorSuccess StateFailure State
1User selects planDisplay plan details and pricingPlan selectedN/A
2User enters payment methodValidate card / ACH / payment methodPayment method savedShow validation error, retry
3System creates subscriptionCharge first period, create subscription in billing providerSubscription active, receipt emailedSee Failed Payment Flow
4System provisions accessGrant plan-level permissionsAccess grantedRetry provisioning, alert ops
5System sends confirmationEmail receipt + welcome contentDeliveredQueue for retry

Upgrade Flow

StepActionSystem BehaviorProrationEffective
1User selects higher planShow price difference and prorated amount[Immediate / Next cycle][Immediate / Next cycle]
2System calculates proration[Credit remaining days on old plan, charge remaining days on new plan][Formula][Immediate]
3System charges differenceCharge prorated amount to payment method on file[Amount][Immediate]
4System updates accessGrant new plan permissions immediatelyN/A[Immediate]

Downgrade Flow

StepActionSystem BehaviorProrationEffective
1User selects lower planShow what will change, effective date[Credit / No credit][End of current period]
2System schedules changeMark subscription for downgrade at renewal[None / Credit applied to balance][Renewal date]
3Access continuesUser retains current plan until period endsN/A[Current period]
4System applies downgradeReduce permissions, charge new plan rateN/A[Renewal date]

Cancellation Flow

StepActionSystem BehaviorRefundAccess
1User requests cancellationShow retention offer (if applicable)N/AN/A
2User confirms cancellationSchedule cancellation at period end[None / Prorated / Full month]Retains until period end
3Period endsDowngrade to Free or deactivate accountN/A[Free plan / Read-only / Locked]

Proration Rules

ScenarioCalculationExample
Upgrade mid-cycle(New daily rate - Old daily rate) x remaining daysPro ($49/mo) to Business ($99/mo) on day 15 of 30: ($3.30 - $1.63) x 15 = $25.05
Downgrade mid-cycle[Credit remaining days at old rate, apply to balance / No proration][Define]
Seat added mid-cycleSeat price x (remaining days / total days in period)Add seat at $10/mo on day 10 of 30: $10 x (20/30) = $6.67
Seat removed mid-cycle[Credit remaining days / No credit until renewal][Define]
Annual to monthly[No proration, switch at renewal / Prorated refund of annual][Define]
Monthly to annual[Charge annual minus credit for remaining monthly days][Define]

Failed Payment Handling

EventTimingActionCustomer CommunicationAccess Impact
First failureDay 0Retry charge in 24 hoursEmail: "Payment failed, please update card"None
Second failureDay 1Retry charge in 48 hoursEmail: "Payment still failing" + in-app bannerNone
Third failureDay 3Retry charge in 72 hoursEmail: "Action required" + in-app modal[None / Read-only]
Fourth failureDay 7Final retryEmail: "Account will be restricted"[Read-only / Feature restriction]
Grace period endsDay 14Cancel subscriptionEmail: "Subscription cancelled"[Free plan / Locked / Data retained for X days]

Invoice Requirements

FieldRequiredSource
Invoice numberYesSequential, auto-generated
Invoice dateYesCharge date
Company nameYesAccount billing details
Company addressYesAccount billing details
Tax ID (VAT/EIN)If providedAccount billing details
Line itemsYesPlan name, quantity, unit price, total
SubtotalYesSum of line items
Tax amountIf applicableTax rate x subtotal
TotalYesSubtotal + tax
Payment methodYesLast 4 digits of card / bank name
Payment statusYesPaid / Pending / Failed

Billing Spec Checklist

  • Defined all plans with exact pricing and included features
  • Documented new subscription payment flow
  • Documented upgrade flow with proration rules
  • Documented downgrade flow with effective dates
  • Documented cancellation flow with retention step
  • Specified proration calculation for every mid-cycle change
  • Defined failed payment retry schedule and access impact
  • Specified dunning email sequence content and timing
  • Defined invoice fields and format requirements
  • Documented tax handling approach and supported jurisdictions
  • Specified refund policy and process
  • Tested all flows with billing provider sandbox
  • Reviewed with finance for revenue recognition compliance

Filled Example: B2B Collaboration SaaS

Plan Definitions

PlanMonthlyAnnualSeatsOverageStorageKey Features
Free$0$03N/A1 GBBasic boards, 5 integrations
Team$12/seat/mo$10/seat/mo (billed annually)5 min$12/seat/mo50 GBUnlimited boards, 50 integrations, SSO
Business$24/seat/mo$20/seat/mo (billed annually)10 min$24/seat/mo500 GBAdvanced reporting, audit log, custom fields

Proration Example: Team to Business Upgrade

Account: 8 seats on Team monthly ($96/mo). Upgrades to Business on day 12 of a 30-day cycle.

  • Remaining days: 18
  • Daily rate (Team, 8 seats): $96 / 30 = $3.20/day
  • Daily rate (Business, 8 seats): $192 / 30 = $6.40/day
  • Credit for unused Team days: 18 x $3.20 = $57.60
  • Charge for Business days: 18 x $6.40 = $115.20
  • Prorated charge: $115.20 - $57.60 = $57.60
  • Next full renewal: $192.00 on next billing date

Dunning Sequence Results (Q4 2025)

StageAccounts ReachedRecoveredRecovery Rate
Email 1 (Day 0)34219857.9%
Email 2 + Banner (Day 1)1445236.1%
Email 3 + Modal (Day 3)923133.7%
Email 4 (Day 7)611423.0%
Cancelled (Day 14)47N/AN/A

Overall recovery rate: 86.3% (295 / 342). The in-app modal at Day 3 recovered $18,400 in MRR that would have churned.

Key Takeaways

  • Billing specs prevent billing bugs. Every unspecified edge case will be decided by an engineer on a Friday afternoon
  • Proration rules are the most common source of billing disputes. Document the exact formula for every mid-cycle scenario
  • Failed payment handling recovers 5-15% of MRR that would otherwise churn. Invest in a proper dunning sequence
  • Make downgrade and cancellation flows fair. Customers who feel cheated by billing never come back
  • Test every flow in the billing provider's sandbox before shipping. One billing bug erodes more trust than ten product bugs combined

About This Template

Created by: Tim Adair

Last Updated: 3/5/2026

Version: 1.0.0

License: Free for personal and commercial use

Frequently Asked Questions

Should upgrades be prorated or charged in full?+
Prorate upgrades. Charging the full new plan price mid-cycle feels unfair to customers and generates support tickets. Most billing providers (Stripe, Chargebee) handle proration automatically. The key decision is whether to prorate to the day or to the second. Day-level proration is simpler and sufficient for most products.
When should a downgrade take effect?+
At the end of the current billing period. The customer already paid for the current period at the higher rate. Immediate downgrades require either a prorated credit (complex) or a perception of unfairness (the customer paid for features they lose immediately). End-of-period downgrades are simpler and feel fair.
How long should the failed payment grace period be?+
Seven to fourteen days is standard for B2B SaaS. Shorter grace periods recover less revenue. Longer grace periods allow unpaid access for too long. The optimal approach is graduated: no access impact for the first 3 days (most failures are transient), then restricted access, then cancellation. Track your recovery rate at each stage to optimize timing.
Should cancelled accounts retain data access?+
Yes, at minimum read-only access for 30-90 days. Customers who lose data access immediately rarely come back. Customers who can still log in, see their data, and realize they miss the product resubscribe at higher rates. Many SaaS companies offer read-only access on the free plan after cancellation. See the [cancellation flow template](/templates/cancellation-flow-template) for retention strategies. ---

Explore More Templates

Browse our full library of AI-enhanced product management templates

Free PDF

Like This Template?

Subscribe to get new templates, frameworks, and PM strategies delivered to your inbox.

or use email

Instant PDF download. One email per week after that.

Want full SaaS idea playbooks with market research?

Explore Ideas Pro →