Billing Dates

How Advanced Billing Stores Billing Dates

Advanced Billing stores several dates associated with each subscription:

  • Trial Expires At: Timestamp for when the trial period (if any) ended
  • Activated At: (activated_at) Timestamp relating to the start of the current (recurring) period
  • Paid Through Date: Timestamp related to the end of the current recurring billing period in which the subscription is paid.
  • Next Retry At: (next_assessment_at) Timestamp that indicates when capture of payment will be tried or retried. For active subscriptions, this value will usually be the same as the current period's start date. However, these dates will diverge if a renewal payment fails and must be retried. In that case, the current period end date will advance to the end of the next period (time doesn’t stop because a payment was missed) but the next assessment date will be scheduled for the auto-retry time (i.e. 24 hours in the future, in some cases)
  • Next Billing: (current_period_ends_at) Timestamp relating to the end of the current (recurring) period (i.e. when the next regularly scheduled attempted charge will occur)

Changing the Billing Date

For Evergreen Subscriptions only.

You can change the next billing date and time of an Evergreen Subscription by clicking the “Change Billing Date” button next to the billing date. Payments are batch-processed approximately every 20 minutes. The next billing date represents the scheduled date/time, and the payment itself will be processed by your gateway within 20 minutes of the scheduled next billing date.

subscription-next-billing-1.png
Select "Change Billing Date"

If an invalid date is chosen, the date picker will automatically interpret the correct date. For example, when February 30 is entered, the next billing will be set to March 2nd in a non-leap year.

subscription-next-billing-2.png
Enter a new billing date and time

This will set both the current period end date and the next assessment date to the specified date. If the subscription is trialing, it will also set the trial end date to extend or shorten the trial period.

For Evergreen Subscriptions that are currently using calendar billing, the screen will give the option to also adjust the calendar billing date to align with the new renewal date.

If the calendar billing date is not aligned with the next billing date, the renewal charge will be prorated rather than full price. The calendar billing date must be aligned to avoid prorated charges.

subscription-next-billing-3.png
Adjust calendar billing date along with the renewal date

When in live mode, in addition to being able to change the date/time to any future time, you can change the billing time up to 2 hours in the past. When setting the time in the past, the payment will be added to the next batch of processing.

Calendar Billing

Advanced Billing also supports calendar billing for subscriptions, when the subscription’s product meets the following criteria:

  • The product period must be 1 month
  • The product cannot have a trial
  • The product cannot have an expiration

If the product meets those criteria, then you may start using calendar billing in the following ways:

  • Through a Public Signup Page, by choosing the ‘Calendar Billing’ option.
  • Through our API, by specifying a calendar billing day via the snap_day attribute when creating the subscription.
  • If your site utilizes Relationship Invoicing, a calendar billing date can be set when creating a subscription in the admin UI:
select-calendar-billing.png
Select Calendar Billing as the Billing Date

select-calendar-billing-date-and-charge.png
Choose a calendar billing date and the type of signup charge

Snap Day

A valid calendar billing day (or snap_day) can be any number between 1 and 28, or end. When the calendar billing day is specified, the subscription will renew, by default, at 12:00 PM in the time zone for your site, on the specified day.

If end is given as the snap day, the subscription will renew on the last day of each month, at 12:00 PM in the site’s time zone.

End of the Month

When calendar billing is not in use, for signups at the end of the month, the billing date will shift back a day or two as it passes through shorter months, and will eventually land on the 28th.

For example, a signup on October 31 will renew on November 30, December 30, January 30, February 28, March 28, and on the 28th thereafter.

Daylight Savings Time

If your time zone observes daylight savings time, you may notice that your subscription renewal times seem to shift by one hour twice a year as you “spring forward” and “fall back”.

Advanced Billing stores the dates internally in UTC (Universal Coordinated Time) which does not observe daylight savings time.

If you would like your subscriptions to renew at a certain time regardless of whether daylight savings time is in effect, you would need to modify the next billing date/time for all of your monthly subscriptions twice a year when the time changes, and also take into account what the offset should be at the next renewal each time you modify the next billing date/time on a subscription.

In addition, we recommend that you avoid setting the billing time near midnight on the first or last day of the month. In this situation, the time change may cause the renewal to cross the day boundary, resulting in the subscription being billed twice in the same calendar month, or seeming to skip a month.

Signups With Calendar Billing

Subscriptions created with calendar billing enabled have three options for how the charge will be handled at signup:

  • Prorated: The default. The prorated product price will be charged immediately.
  • Immediate: The full product price will be charged immediately.
  • Delayed: The full product price will be charged with the first scheduled renewal.

Prorated Calendar Billing

Prorated Charge at Signup: For the prorated charge, the amount charged depends on the date and time of the signup relative to the calendar billing day (or snap_day) specified. The rule is that any signup that occurs within 24 hours before 12:00 PM on the snap_day will be treated as a “full period signup”, and the subscription will be charged for a month’s worth of product and component usage. In addition, the subscription’s current_period_ends_at will be the snap_day of the next month. In all other cases, the subscription will be charged a prorated amount at signup for the period from the signup date to the next snap_day, and the current_period_ends_at will be the upcoming 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

Immediate Charge at Signup: The full amount will be charged at signup, regardless of the date and time of the signup relative to the calendar billing day (or snap_day). Any signup that occurs within 24 hours prior to 12:00 PM (noon) on the snap_day will be treated as a full period signup, and the subscription’s current_period_ends_at will be the snap_day of the next month. Otherwise, the the current_period_ends_at will be the upcoming snap_day.

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

Delayed Charge at Signup: Nothing will be charged at signup, regardless of the date and time of the signup relative to the calendar billing day (or snap_day). Any signup that occurs before 12:00 PM (noon) on the snap_day will set the subscription’s current_period_ends_at to the snap_day of this month. Otherwise, the current_period_ends_at will be the upcoming snap_day in the following month.

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 that has enabled calendar billing, the snap day can be changed via the application. To change the snap day, please follow the instructions under the subscription summary.

Please be aware that modifying the next billing date of calendar-billing-based subscriptions will add a pro-rated charge in some cases. The following conditions must be met to prevent prorated charges:

  • The calendar billing date (snap_day) must match the subscription’s next billing date (current_period_ends_at and next_assessment_at).
  • The time of renewal matches the site’s configured calendar billing settings, which will either be at noon or 5 PM.

As an example, let’s take a subscription that has a snap_day of the 5th, on a site where the designated calendar billing renewal time is 12PM, but whose next billing date has been changed to the 1st at 8 AM. Here is what will happen:

  • The subscription will renew on the 1st and be billed a prorated amount.
  • The subscription’s next renewal date will be pushed to the 5th at 12PM, which is the calendar billing date.
  • The subscription will renew again on the 5th at full cost. (Note: the previous billing period being shortened will not cause this renewal on the 5th to be prorated.)

Product Changes & Calendar Billing

If a subscriber is currently on a subscription that utilizes calendar billing, the following rules apply:

Expiring Products

  • You may not conduct a product change to a product that expires
  • In this case, we recommend an upgrade/downgrade to change the full attributes of the subscription

Trial Periods

  • You may change the subscriber to a product that contains a trial period.
  • The trial period will be ignored.
Was this article helpful?
0 out of 0 found this helpful