Retroactive start dates can be used to test your billing cycles by creating accounts in the past to simulate invoicing scenarios.
Retroactive start dates can be used to test your billing cycles by creating accounts in the past to simulate invoicing scenarios.
Note: Alternatively, billing cycles can also be testing by advancing Virtual Time.
Creating accounts using the <retroactive_start_date> parameter in the create_acct_complete API allows accounts to be created in the past, but considerations should be taken, depending on the desired testing.
It is a best practice to retroactively start accounts within the current billing period for most circumstances. This allows testing of accounts with payments and plan changes in the proper period without having to wait an entire month to make sure statements and invoices are correct. Retroactively starting accounts within the current billing period will also allow a more realistic representation of accounts and dates that are all processed on the correct dates by the batch process.
One testing strategy may be to start accounts retroactively on a staggered basis so that, each day, multiple accounts are processed through a bill cycle.
For example, 10 accounts are created on each day: 29 days ago, 28 days ago, 27 days ago, and so on. This allows various payment, credit, add-on, and plan change dates to be tested.
Below are some considerations that should be taken when using retroactive start dates.
Even if accounts are created in the past, all additional transactions on an account happen on the current day. There is no way to retroactively apply transactions such as credits, payments, and plan changes.
Note: Plan changes can have a “retroactive proration start date,” where simulation of dollar amounts can be tested, but the actual start date of a plan cannot be set to a date in the past.
If accounts are retroactively started more than one month/recurrence period in the past, bill cycles are processed overnight each day until the account reaches the current period.
For example, if a monthly plan account is started six months in the past, one bill cycle will process each night for six months until the current bill cycle is reached.
Note: Going back more than one month will not allow plan changes, credits, payment collection, or other transactions to occur within the respective period. Doing so may result in odd behavior with displayed invoice dates.
Similar to Virtual Time, the dates of the invoice/statement generation will always show the current day, and will not match the actual dates of the service period.
Even if credit cards are added to the create_acct_complete API call, the payment is still processed on the current day.