Package Synchronization and Advanced Package Combinations
Summary
This article details the synchronization of packages and how the Base Frequency set on services is affected by the Bill Frequency on packages.
Package Frequency and Synchronization
Package Bill Frequency dictates the how often the services within the package will be billed for. As an example, if the package Bill Frequency is set for monthly and you add an annually recurring service to that package, the annually recurring service amount will show an amount equal to the year divided by the frequency of the package (service Base Fee/12 in this case) to come up with a monthly fee to be charged associated with what originally was a yearly recurring service.
Default EngageIP Billing Behavior (Synchronized)
EngageIP is a synchronized billing solution, which means that all packages on an account will synchronize to bill on the same bill day defined on the account. i.e. a customer will not be billed for one package on the 12th, and another on the 23rd. Once the system bills the first time, it will synchronize both packages (prorating where needed) so that the packages start to recur on the same day (bill day) of the month. Â However there are several options that let you override this default behavior, covered below.
Disabling Synchronization on Packages
There are two package components which allow you to disable billing data synchronization at the package level, FullPeriodBilling and Sync Disable.  These components behave differently from each other and are explained in the Package and Overview Components Listing article.
Mixed System Sync Disable and Prorate Option
In a mixed system where the default behavior is set to NOTÂ synchronize but on occasion (such as initial package add) you DO want to initially synchronize a package to the bill day on the account, a new option is available called 'Sync Bill Date'. A new Webservice method was created to be able to add packages and use this option as well, its called: AddPackageToUserWithNextBilldateWithBillNowAndSyncBillDate
Requirements:
Package component added on packages as needed called 'Sync Disable'
The below image demonstrates what the check box will look like when the system is configured to override the syncdisable system wide option. When the package is added with 'Bill Now' selected, the package will initially prorate up to the accounts bill day.
Examples of Monthly and Yearly recurring packages
Example 1 - Monthly Recurring Package
Notice how the base fee is shown which reflects the original base fee of the service. The amount then shows as the calculated value that the system will charge on a monthly basis to make up the full base fee. The system in this case synchronizes the base fees (where difference bill frequencies exist on services) to the bill frequency of the package.
Example 2 - Yearly Recurring Package
As seen below (all services effectively charge $30 broken down by month) for an annual package, the services amount column shows the calculated yearly recurring amount. It has calculated the monthly and quarterly service yearly charges by looking at the bill frequency of the package, and multiplying as needed to create a yearly recurring fee.
In the scenario where you might want to have a customer receive monthly invoices for a monthly service and added to that once a year a charge for a yearly service (where the yearly base fee would be applied once for the whole year), you would create multiple packages. One yearly package with a yearly service / One monthly package with a monthly service and so on so that the customer receives base fee charges according to the bill frequency of the service and not necessarily the package.
Prorating Logic
When EngageIP prorates a package, it uses the below calculation to determine how much to prorate:
If the next bill date is Feb 28, 2012 and the bill day on the account is the 6th, the system when billing the package will need to bill from Feb 28th to March 5th so that it can bill full monthly periods going forward from March 6th. The Billing engine takes the number of days in the month where it starts billing which is February with 28 days (where a leap year is not counted), then it takes the monthly recurring package price and divides that by the number of days in that month. If Package price is $100 for example, then $100 / 28 days = $3.57 (per day). Next it determines the number of days to bill for, in this case 6 days total (the 28th through the 5th).
$3.57 * 6 days = the prorated amount ($21.42)