Backdating subscriptions
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 customer
, price
, and backdate_start_date
.
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 backdate_start_date
with 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.
