You are here:
Whole-Month Calculations
For monthly subscription term units, Salesforce CPQ calculates a whole month by adding a value of one to the original month’s number for each month in the subscription term. If the result goes past the term’s end date, CPQ recalculates using one value less. The period from this date until the end of the term is a partial period. (Salesforce CPQ Managed Package)
Let’s look at some basic examples.
| Term | Calculation |
|---|---|
| 12/31/2019 through 06/20/2020 | We add 6 months to 12/31, which puts us at 06/31. So, we recalculate using a value of 5 to get us to 05/31. This calculation gives us a period of five full months + a partial period of (05/31 through 06/20 = 21 days). |
| 12/30/2019 through 6/20/2020 | We add 6 months to 12/30, which puts us at 06/30. So, we recalculate using a value of 5 to get us to 05/30. This calculation gives us a period of five full months + a partial period of (05/31 through 06/20 = 21 days). |
When start dates fall on or near the end of the month, we run into cases where the last period’s end date would be invalid.
| Term | Calculation |
|---|---|
| 12/31/2019 through 03/15/2020 | We add 3 months to 12/31, which puts us at 03/31. When we recalculate using a value of 2, we get 02/31. Since this date is invalid, we use 02/29 instead. This calculation gives us a period of two full months + a partial period of (02/29 through 03/15 = 16 days). |
When the end date is the true end date of a month, where the quote line’s Default Subscription Term = 1 and Prorate Precision = Monthly + Daily, the prorate multiplier calculates a whole value only when the start date is the true start of a month.
| Term | Prorate Multiplier |
|---|---|
| 12/28/2020 through 2/27/2021 | 2 |
| 1/1/2021 through 2/28/2021 | 2 |
| 12/29/2020 through 2/28/2021 | 2.0329 |

