Design a Subscription Billing Platform

Last updated: October 30, 2025

Quick Overview

Design a subscription billing platform that handles recurring payments, plan changes, prorations, trials, and dunning management for SaaS products.

Intuit
System Design
Software Engineer
Intuit
October 30, 2025
Software Engineer
Onsite - System Design
System Design
Hard

7

3

4,644 solved


Design a subscription billing platform that handles recurring payments, plan changes, prorations, trials, and dunning management for SaaS products.

Relevant across Intuit products and for engineers working on Intuit's own subscription infrastructure. Tests understanding of billing state machines and financial accuracy.

What the Interviewer Expects
  • Design a subscription lifecycle state machine covering trials, active, paused, cancelled, and expired states
  • Handle plan upgrades, downgrades, and mid-cycle prorations accurately
  • Implement dunning management with intelligent retry logic for failed payments
  • Support multiple billing frequencies and complex pricing models (tiered, per-seat, usage-based)
  • Ensure revenue recognition compliance and accurate financial reporting
Key Topics to Cover
Subscription State Machine
Proration
Dunning Management
Revenue Recognition
Billing Accuracy
How to Approach This
  1. Start by clarifying functional and non-functional requirements with the interviewer.
  2. Estimate the scale: QPS, storage, bandwidth. This drives your design decisions.
  3. Draw a high-level architecture first, then deep dive into 1-2 critical components.
  4. Discuss trade-offs explicitly (e.g., consistency vs availability, SQL vs NoSQL).
  5. Address failure scenarios, monitoring, and how the system handles 10x traffic spikes.
Possible Follow-up Questions
  • How do you handle a proration when a customer upgrades mid-billing-cycle on a metered plan?
  • What happens if a payment fails on the last day of a trial period?
  • How would you support grandfathered pricing for existing customers?
  • How do you ensure billing accuracy when customers make multiple plan changes in a single billing cycle?
Sharpen Your Skills on Codemia

Practice similar problems with our interactive workspace, get AI feedback, and track your progress.

Practice System Design Problems
Sample Answer
Requirements
  • Functional Requirements:
    1. Subscription State Management: Implement a state machine that manages subscriptions through different states: trial, active, paused, cancelled, and expired. ...
Capacity Estimation
  • Active Subscriptions:
    Assuming Intuit services grow to support 10 million active subscriptions, with a monthly churn rate of 5%, we can estimate the following:
    • **New Subscriptions per ...

Submit Your Answer
Markdown supported

Related Questions