How Chargify Stores Billing Dates
Chargify stores several dates associated with each subscription:
- Current Period Start Date: Timestamp relating to the start of the current (recurring) period
- Current Period End Date: Timestamp relating to the end of the current (recurring) period (i.e. when the next regularly scheduled attempted charge will occur)
- Next Assessment Date: 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 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)
- Activated At: Timestamp for when the subscription first became Active.
- Trial Start Date: Timestamp for when the trial period (if any) began
- Trial End Date: Timestamp for when the trial period (if any) ended
Changing the Billing Date
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.
Chargify 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 two different ways:
- Through a Public Signup Page, by choosing the ‘Calendar Billing’ option (see Public Signup Page Settings: Calendar Billing for details).
- Through the Chargify API, by specifying a Calendar Billing day via the
snap_dayattribute when creating the subscription (see API: Subscriptions for details).
A valid Calendar Billing day (or
snap_day) can be any number between
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.
Signups With Calendar Billing
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|
||June 2, 3:00 PM||Pro-rated amount from 6/2 to 6/15||June 15, 12:00 PM|
||June 14, 3:00 PM||Full amount from 6/14 to 7/15||July 15, 12:00 PM|
||June 15, 12:01 PM||Pro-rated amount from 6/15 to 7/15||July 15, 12:00 PM|
||June 2, 3:00 PM||Pro-rated amount from 6/2 to 6/30||June 30, 12:00 PM|
||June 29, 3:00 PM||Full amount from 6/29 to 7/31||July 31, 12:00 PM|
||June 30, 12:01 PM||Pro-rated amount from 6/30 to 7/31||July 31, 12:00 PM|
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”.
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.