You can backdate a subscription to bill customers for time that has already elapsed. This is often used when migrating to Stripe or for record keeping purposes. The
backdate_start_date field specifies the date the subscription is backdated to. You can optionally bill customers for this elapsed time and set the next billing date.
Backdating and charging users
Sometimes users might have access to your service before a subscription is created for them. To charge users for this time, create and backdate a subscription by passing the
This creates an invoice with a prorated amount for the time between the backdated start date and the current time. In this example, it also sets the
start_date on the subscription to September 1 and the billing cycle anchor to the current date.
Backdating without charging users
If you’re migrating to Stripe, you might want to backdate your subscriptions without charging your customers. You can do this by passing
proration_behavior: 'none' when you create the subscriptions. This sets the
start_date to the same value as
backdate_start_date, but it doesn’t charge the customer for backdated time.
Backdating and setting the billing cycle anchor
You can combine
billing_cycle_anchor to backdate a subscription and set the billing cycle anchor to a date in the future. This creates a prorated item on the next invoice for the time between the backdated start date and the billing cycle anchor. This is useful if you’re migrating to Stripe and need to carry over the next billing date for your subscriptions. It also allows you to bill customers for elapsed time and to carry over the start dates for your subscriptions from your previous integration.
For example, let’s say it’s October 15 and you’re migrating to Stripe. You have a subscription that started on September 1 and the next billing date is November 1. To migrate this subscription, create a new subscription and set
backdate_start_date to September 1 and
billing_cycle_anchor to November 1.
This immediately issues an invoice for the prorated amount from the time between September 1 and November 1. The next invoice will be issued on November 1. It also sets the
start_date of the subscription to September 1.