...
Strategy Name | Description | Calculation | Example | |||
---|---|---|---|---|---|---|
ProrateDayOfMonthUsing30DayMonth | This strategy will prorate based on remaining days of a fixed month length of 30. | bundleValue * ((30-dayOfMonth) + 1) / 30). | For the 5th the calculation would always be bundleValue * (26/30) irrespective of the actual month length. | |||
ProrateRemainingCalendarDaysUsing30DayMonth | This strategy calculates actual remaining days of the month (including the date itself) but uses a | bundleValue * ((monthLength - dayOfMonth + 1)/30) | Example 1: January 5th would be calculated by bundleValue * (27/30).
| |||
ProrateRemainingDaysOfMonth | This strategy will prorate a bundle based on the actual remaining days of the month (including the date itself), using the calendar month length. | bundleValue * (remainingDays / lengthOfMonth) | Example 1: February 27, 2018 would be bundleValue * (2 / 28).
| |||
ProrateRemainingDaysOnInvoiceSchedule | This strategy will prorate a bundle based on the remaining days of the current invoice schedule, compared to the associated billing cycle length. | bundleValue * ( remainingDays / billing_cycle.length ) | Let the billing_cycle have a length of 14 and the current invoice_schedule be from 1st-14th January.
|
3 - Implementation Details
...