Overview
A typical Stripe Billing migration includes:- Modeling your product catalog in Orb
- Importing customers and subscriptions
- Backfilling historical usage data
- Sending real-time usage events
- Configuring invoicing and collections
- Validating results and cutting over
Step 1: Define Pricing in Orb
Use the dashboard or API to define your product catalog in Orb. This includes:- Items and plans: Representing your sellable products and how you package them.
- Prices and adjustments: Defining how customers are charged (e.g. flat fees, usage-based charges, discounts, minimums)
- Plan configurations: Supporting logic such as adjustments over many prices, prepaid allocations, and invoicing settings such as your net terms.
Step 2: Import Customers and Subscriptions
Customers and their active subscriptions can be imported via the API or dashboard.- Use the
POST /customers
endpoint to create Orb customers. Set theexternal_id
to the customer ID in your system. - Use the
POST /subscriptions
endpoint to define each customer’s active plan and billing cycle. We recommend using a historicalstart_date
on the subscription to preserve contract timelines and usage aggregation.
Step 3: Backfill Historical Usage (Optional)
If you want Orb to generate accurate invoices or analytics based on prior usage data, you can backfill events. Ensure that your account is not set to issue invoices before backfilling data, as issued invoices will not be recalculated.- Export historical usage from Stripe or your internal systems
- Format events using Orb’s ingestion schema
- Use the official backfill script to upload events
- Close the backfill, which will trigger invoice recomputation to reflect the backfilled usage.
Step 4: Send Live Usage Events
Send real-time usage events to Orb using the ingestion endpoint. Orb’s event ingestion system supports:- Out-of-order events
- Backdated timestamps
- Custom properties for analytics and aggregation
- High-throughput ingestion
Step 5: Set Up Invoicing and Payments
Orb can handle invoice generation and optionally integrate with Stripe for payments. You can configure:- Invoice frequency and timing
- Line item formatting and grouping
- Webhooks for invoice creation and payment updates
- Stripe Payments integration for collections
Step 6: Cut Over to Orb
Once all customer data, subscriptions, and usage events are validated:- Stop creating subscriptions in Stripe Billing
- Transition to using Orb as the source of truth for metering and invoicing
- (Optional) Keep Stripe Payments as your payment processor