Calendar billing in Advanced Billing lets you align subscription renewals to a specific day of the month, making billing dates predictable for your customers and easier for your accounting team to manage. When enabled, all renewals follow a consistent schedule, reducing date drift, streamlining invoicing, and improving the customer experience. Calendar billing is available when the product’s billing interval is one month, all component price points match that interval or have no interval, there is no trial period, and the next_billing_at field is not set when creating a subscription via the API.
Advanced Billing supports calendar billing for subscriptions when the following criteria are met:
- The product’s billing interval is one month.
- All component price points are one month or have no defined billing interval.
- The subscription has no trial period.
- For API users: You must not set
next_billing_atwhen creating the subscription. This field is typically used for importing existing subscriptions.
You can set calendar billing in the following ways:
- Via a Public Signup Page, select the “Calendar Billing” option.
- Via the API, specify a calendar billing day using the
snap_dayattribute when creating the subscription. - Via the Admin UI, select the calendar billing date when creating a subscription:
Set the Billing Day and the first charge handling.
Billing Day
A valid calendar billing day (or snap_day in the API) can be any number between 1 and 28, or “last day of the month.” In API calls, the last day of the month is represented by end. When specified, the subscription renews by default at 12:00 PM in your site’s time zone on that day.
If end is used, the subscription renews on the last day of each month at 12:00 PM in the site’s time zone.
Snap time can optionally be set to 5:00 PM in Settings → Calendar Billing.
End of the Month
Without calendar billing, signups at the end of the month will shift earlier over time. For example, a signup on October 31 will renew on November 30, December 30, January 30, February 28, March 28, and continue on the 28th thereafter.
Daylight Savings Time
If your time zone observes daylight savings time (DST), renewal times may appear to shift by one hour twice a year as clocks “spring forward” and “fall back.” Advanced Billing stores dates in UTC, which does not observe DST, so renewals occur at the same UTC time year-round. This can cause local time changes.
To maintain a consistent local renewal time, manually adjust the next billing date and time for each subscription twice a year when DST changes. This includes ensuring the correct offset at the next renewal.
Tip: Avoid scheduling billing close to midnight on the first or last day of the month, as DST changes can shift the renewal across days, causing duplicate or skipped billing events.
Signups With Calendar Billing
Subscriptions created with calendar billing enabled can be charged in one of three ways at signup:
-
Prorated: The prorated product price is charged immediately.
This is the universal default, but a site default can be set in Settings → Calendar Billing.
- Immediate: The full product price is charged immediately.
- Delayed: The full product price is charged with the first scheduled renewal.
Prorated Calendar Billing
For prorated charges, the amount depends on the signup date and time relative to the snap_day. Signups within 24 hours before the site’s renewal time (12:00 PM or 5:00 PM) on the snap_day are treated as full period signups. All others are charged a prorated amount until the next snap_day.
| snap_day | Signup Date | Amount Charged at Signup | current_period_ends_at |
| 15 | June 2, 3:00 PM | Pro-rated amount from 6/2 to 6/15 | June 15, 12:00 PM |
| 15 | June 14, 3:00 PM | Full amount from 6/14 to 7/15 | July 15, 12:00 PM |
| 15 | June 15, 12:01 PM | Pro-rated amount from 6/15 to 7/15 | July 15, 12:00 PM |
| end | June 2, 3:00 PM | Pro-rated amount from 6/2 to 6/30 | June 30, 12:00 PM |
| end | June 29, 3:00 PM | Full amount from 6/29 to 7/31 | July 31, 12:00 PM |
| end | June 30, 12:01 PM | Pro-rated amount from 6/30 to 7/31 | July 31, 12:00 PM |
Immediate Calendar Billing
The full amount is charged at signup regardless of the signup date. Signups within 24 hours before renewal time are treated as full period signups.
| snap_day | Signup Date | Amount Charged at Signup | current_period_ends_at |
| 15 | June 2, 3:00 PM | Full amount | June 15, 12:00 PM |
| 15 | June 14, 3:00 PM | Full amount | July 15, 12:00 PM |
| 15 | June 15, 12:01 PM | Full amount | July 15, 12:00 PM |
| end | June 2, 3:00 PM | Full amount | June 30, 12:00 PM |
| end | June 29, 3:00 PM | Full amount | July 31, 12:00 PM |
| end | June 30, 12:01 PM | Full amount | July 31, 12:00 PM |
Delayed Calendar Billing
No charge is applied at signup. The first full charge occurs on the first renewal date as determined by snap_day.
| snap_day | Signup Date | Amount Charged at Signup | current_period_ends_at |
| 15 | June 2, 3:00 PM | nothing | June 15, 12:00 PM |
| 15 | June 14, 3:00 PM | nothing | June 15, 12:00 PM |
| 15 | June 15, 12:01 PM | nothing | July 15, 12:00 PM |
| end | June 2, 3:00 PM | nothing | June 30, 12:00 PM |
| end | June 29, 3:00 PM | nothing | June 30, 12:00 PM |
| end | June 30, 12:01 PM | nothing | July 31, 12:00 PM |
Editing Calendar Billing Dates
If a subscriber signs up via a Public Signup Page with calendar billing enabled, the snap_day can be changed via the Admin UI. Follow the steps in Subscription Summary.
Modifying the next billing date may result in a prorated charge if it affects the subscription’s alignment to its configured snap_day and snap time.
- The
snap_daymust match bothcurrent_period_ends_atandnext_assessment_at. - The renewal time must match the configured site time (12:00 PM or 5:00 PM).
- No interim billing date can cause a shortened or extended billing period before the next
snap_day.
Product Changes and Calendar Billing
- You cannot change a subscription to a product with an expiration date. Use an upgrade or downgrade instead.
- You can change to a product with a trial period, but the trial is ignored unless the subscription is already in trial.
- Additional restrictions, including prepaid product rules, may prevent certain product changes while on calendar billing.
Comments
Article is closed for comments.