Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Developer tools
Get started
Payments
Finance automation
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Overview
Billing
    Overview
    About the Billing APIs
    Subscriptions
    Invoicing
    Usage-based billing
      Choose a usage-based billing setup
        Use products and prices
          Manage billing setup
          Transform quantities
        Use rate cards
      Record usage for billing
      Offer billing credits
      Monitor usage
      Usage-based pricing models
    Connect and Billing
    Tax and Billing
    Quotes
    Revenue recovery
    Automations
    Scripts
    Revenue recognition
    Customer management
    Entitlements
    Test your integration
Tax
Reporting
Data
Startup incorporation
HomeFinance automationBillingUsage-based billingChoose a usage-based billing setupUse products and prices

Manage your usage-based billing setup

Learn how to handle billing-related tasks for your usage-based billing model.

Copy page

After you create your usage-based billing model, you can modify different parts of your billing setup. For example, you can update a subscription item’s price during a billing cycle, backdate a subscription to include usage in the next invoice, or cancel usage-based subscriptions.

Update prices mid-cycle

You can update a subscription item’s price during a billing cycle. However, limitations apply when switching from one meter price to another.

On future invoices, we reflect only usage that occurs after the update. For example, say you have a monthly subscription that you switch from price A to price B on January 16. At the end of the month, the invoice includes usage from January 16 to January 31 at price B. Usage from January 1 to January 16 isn’t billed.

Similar restrictions apply if you add a new subscription item with a billing meter price in the middle of the subscription cycle. For example, say you add a new subscription item with price C on January 16. At the end of the month, the invoice includes usage from January 16 to January 31 at price C for that subscription item.

To capture previously reported usage when changing prices, choose one of these options:

  • Report the aggregated usage again to capture it in the cycle on the new price.
  • Reset the billing_cycle_anchor parameter to now to apply the old price to previously reported usage.

These workarounds address the current limitation.

To update the price for a subscription item:

Command Line
cURL
curl https://api.stripe.com/v1/subscription_items/{{SUBSCRIPTION_ITEM_ID}} \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d price={{NEW_PRICE_ID}}

To delete a subscription item:

Command Line
cURL
curl -X DELETE https://api.stripe.com/v1/subscription_items/{{SUBSCRIPTION_ITEM_ID}} \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

After deletion, the invoice doesn’t reflect any usage from that item.

Create a backdated subscription

You can record usage for a customer even before creating a subscription for them. After recording usage for a customer, use the backdate_start_date to create a subscription before the first report. This allows you to include usage in the next subscription invoice.

Command Line
cURL
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer={{CUSTOMER_ID}} \ -d "items[0][price]"={{PRICE_ID}} \ -d backdate_start_date=1710000000

Cancel usage-based subscriptions

With usage-based billing, the bill the customer pays varies based on consumption during the billing cycle. When changing the billing cycle results in a subscription interval ending early, you charge the customer for the usage accrued during the shortened billing cycle.

Note

We don’t support proration with usage-based billing.

You can’t reactivate canceled subscriptions. Instead, you can collect updated billing information from your customer, update their default payment method, and create a new subscription with their existing customer record.

If you use cancel_at_period_end to schedule the cancellation of a subscription, you can reactivate the subscription at any time up to the end of the period. To do so, update cancel_at_period_end to false.

For subscriptions that cancel at the end of the period, the final invoice at the end of the cycle includes metered usage from the last billing cycle.

Was this page helpful?
YesNo
Need help? Contact Support.
Join our early access program.
Check out our changelog.
Questions? Contact Sales.
LLM? Read llms.txt.
Powered by Markdoc