Paddle Billing
Search

Change billing dates

Change the billing date of a subscription to change when a customer next pays, and when their subscription renews in the future.

Subscriptions renew automatically when their billing period elapses. For example, a subscription might renew every week, month, or year.

Change the billing date of a subscription when customers want their subscription to renew on a certain day or time every period, like the 1st of the month or the first day of the financial year.

Working with trialing subscriptions? You can extend a trial or cut a trial short to bill for it right away, see: Extend or activate a trial

How it works

Paddle automatically creates subscriptions when customers pay for recurring items using the checkout, or when you create and issue invoices using manually-collected transactions.

By default, the billing date for each renewal is based on the date that the subscription was created. For example, if a subscription bills annually then its billing date is every year on the anniversary of when it was created.

Change the billing date against a subscription to change when the subscription renews. This changes the next billing date of the subscription, and the day and time that it renews in the future.

When you change a subscription billing date, you can determine how Paddle should bill for any changes. This is called proration. Paddle's subscription billing engine calculates proration to the minute, allowing for precise billing.

If you choose to prorate:

  • When a customer moves their billing date later than their renewal, Paddle calculates the prorated amount that they owe and bills for it.
  • When a customer moves their billing date sooner than their renewal, Paddle calculates the prorated amount that they already paid for and creates a credit for it.

You can also choose do_not_bill to change the billing date without charging or crediting.

You can't make changes to a subscription if the next billing period is within 30 minutes.

Change billing dates

Change the next billing date for a subscription using the API in two steps:

  1. Build a request

    Create a request that includes your new next billing date as the next_billed_at date, along with a proration_billing_mode to say how Paddle should handle proration.

  2. Preview your changes

    Preview the impact that changing the billing date has on the regular amount the customer pays and the next renewal, as well as any immediate charges. This is optional, but recommended — you should present charge information to your customer.

  3. Update the subscription

    Send the request to apply the changes. Paddle updates the subscription.

Build request

Build a request that includes next_billed_at with the date and time the subscription should next bill.

next_billed_atstring<date-time>

RFC 3339 datetime string of when this subscription is next scheduled to be billed. Include to change the next billing date.

Along with the next_billed_at field, you must include the proration_billing_mode field to tell Paddle how to bill for the changed date.

You can only use prorated_immediately, prorated_next_billing_period, and do_not_bill when changing billing dates for a subscription.

proration_billing_modestring

How Paddle should handle proration calculation for changes made to a subscription or its items. Required when making changes that impact billing.

For automatically-collected subscriptions, responses may take longer than usual if a proration billing mode that collects for payment immediately is used.

When changing billing dates for automatically-collected subscriptions where the proration_billing_mode is prorated_immediately, Paddle tries to collect for the amount due right away.

You can optionally include on_payment_failure to tell Paddle how to handle payment failure when updating a subscription.

If omitted, this defaults to prevent_change meaning that Paddle returns an error and doesn't apply subscription changes when payment fails.

on_payment_failurestring

How Paddle should handle changes made to a subscription or its items if the payment fails during update. If omitted, defaults to prevent_change.

Request

This example changes the billing date for a subscription to January 1, 2024.

Preview changes

Send a PATCH request to the /subscriptions/{subscription_id}/preview endpoint with the request you built.

Response

If successful, Paddle returns a preview of the updated subscription entity. It includes the next_billed_at date that you set.

Previews include immediate_transaction, next_transaction, and recurring_transaction_details that give you information about upcoming transactions impacted as a result of this change. In this example, proration_billing_mode is prorated_next_billing, meaning:

  • Paddle doesn't create a charge immediately, so immediate_transaction is null
  • Paddle calculates proration and charges for them on the next renewal, detailed in next_transaction

Update subscription

Send a PATCH request to the /subscriptions/{subscription_id} endpoint with the request you built.

Response

If successful, Paddle returns the updated subscription entity. It includes the next_billed_at date that you set.

Events

transaction.createdOccurs if prorated_immediately is included and Paddle creates a transaction for a prorated amount that a customer owes.
transaction.completedOccurs when payment for a prorated transaction is completed successfully.
subscription.updatedOccurs when the next_billed_at date is changed against a subscription.

Related pages