Chargify stores several dates associated with each subscription:
You can change the next billing date and time of a Subscription by clicking the “Change Billing Date” button next to the billing date.
After clicking the button, you will have the opportunity to 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 date to extend or shorten the trial period.
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.
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.
Chargify also supports Calendar Billing for subscriptions, when the subscription’s product meets the following criteria:
If the product meets those criteria, then you may start using Calendar Billing in two different ways:
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 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.
Subscriptions created with Calendar Billing enabled will always be charged at signup, but 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. The table below explains the possible scenarios:
|snap_day||Signup Date||Charge 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|
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.
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”.
Chargify 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.