Skip to main content

Period Calculation

The Period Calculation controls how a period is determined for invoicing. Billing for a period length of one month is usually without issues in Business Central. However, if the start of the billing period is within the last three days of a month, unexpected results may occur.

A contract invoice issued for one month starting 28.02. (no leap year) ends with the Business Central standard calculation on 27.03. (+ 1M - 1T). However, a recurring bill from the last of a month should extend to the penultimate of the following month in order to actually invoice for a full month. Microsoft work with exactly the same period calculation when invoicing usage data via NCE (New Commerce Experience).

In order to do justice to this, a selection is available as to whether periods are calculated using the Business Central Standard method or the DYCE Subscription & Recurring Billing method (analogous to recurring billing of usage data via NCE). The option Align to Start of Month uses the Business Central Standard period calculation, whereas Align to End of Month uses the new method.

Align to Start of Month

The calculation of a month with the option Align to Start of Month as Period Calculation in the contract line uses the Business Central standard date calculation.

Calculation of the period

When calculating a whole month, the start date plus one month minus one day is used to calculate the end of the period. For the calculation of two months, the start date plus two months minus one day is used to calculate the end of the period.

1M - 1T2M - 1T1Q - 1T1Y - 1T
28.01.24 - 27.02.2428.01.24 - 27.03.2428.01.24 - 27.04.2428.01.24 - 27.01.25
29.01.24 - 28.02.2429.01.24 - 28.03.2429.01.24 - 28.04.2429.01.24 - 28.01.25
30.01.24 - 28.02.2430.01.24 - 29.03.2430.01.24 - 29.04.2430.01.24 - 29.01.25
31.01.24 - 28.02.2431.01.24 - 30.03.2431.01.24 - 29.04.2431.01.24 - 30.01.25
29.02.24 - 28.03.2429.02.24 - 28.04.2429.02.24 - 28.05.2429.02.24 - 27.02.25

Price calculation

The Billing Rhythm is not taken into account when calculating the price. The Billing Rhythm determines the cycle in which a contract line is invoiced (billing period) if no manual intervention is made. The price of a Billing line is calculated on the basis of Price and Billing Base Period in the Service Commitment or Contract line and the Billed Base Period. If the invoiced period is a multiple of the Billing Base Period, the price is multiplied accordingly.

Monthly price = 100,- (Price = 100,- Calculation Base Period = 1M)

1M - 1TPrice2M - 1TPrice1Q - 1TPrice1Y - 1TPrice
28.01.24 - 27.02.2410028.01.24 - 27.03.2420028.01.24 - 27.04.2430028.01.24 - 27.01.251200
29.01.24 - 28.02.2410029.01.24 - 28.03.2420029.01.24 - 28.04.2430029.01.24 - 28.01.251200
30.01.24 - 28.02.2410030.01.24 - 29.03.2420030.01.24 - 29.04.2430030.01.24 - 29.01.251200
31.01.24 - 28.02.2410031.01.24 - 30.03.2420031.01.24 - 29.04.2430031.01.24 - 30.01.251200
29.02.24 - 28.03.2410029.02.24 - 28.04.2420029.02.24 - 28.05.2430029.02.24 - 27.02.251200

If periods are invoiced, that do not correspond to a multiple of the Billing Base Period, days (as the next smaller unit) are always used for the price calculation. Depending on the calendar month and the Billing Base Period, a different number of days is used as the basis. In a calendar year that is not a leap year, the number of days is 31 in January, 28 in February and 90 in the first quarter (01.01.25 - 31.03.25).

Price of the Billing lines=1nPrice of Contract linesNumber of days in the started periodDays to be invoiced in the started periodPrice \ of \ the \ Billing \ lines = \sum\limits_1^n \frac{Price \ of \ Contract \ lines}{Number \ of \ days \ in \ the \ started \ period} * Days \ to \ be \ invoiced \ in \ the \ started \ period
Start - EndPriceBilling Base PeriodBilling RhythmInvoiced PeriodPrice of the Billing Lines
01.01.2023 - 15.01.2023100,-1M1J15 von 31 Tagen100/ 31 * 15 = 48,387
01.02.2023 - 14.02.2023100,-1M1J14 von 28 Tagen100 * 14 / 28 = 50,-
01.01.2023 - 14.02.2023100,-1M1J1M + 14 Tage100/ 31 * 31 + 100 * 14 / 28 = 150,-
31.01.2023 - 01.03.2023100,-1M1J1M + 2 Tage100,- + 100,- * 2/ 28 = 107,143
01.01.2023 - 14.01.2023100,-1Q1J14 von 90 Tagen100/ 90 * 14 = 15,556
01.01.2023 - 14.04.2023100,-1Q1J1Q + 14 von 91 Tagen100/ 90 * 90 + 100 * 14 / 91
28.02.2023 - 14.06.2023100,-1Q1J1Q + 18 von 92 Tagen100/ 92 * 92 + 100 * 18 / 92 = 119,565

Align to End of Month

If the Service Start Date and Next Billing Date are within the last 3 days of the end of a month, the period is calculated from the end of the month. This means, that a Contract line that is invoiced from the last day of a month for a month, is invoiced up to the penultimate day of the following month. This happens regardless of how long the respective months are. This type of Period Calculation guarantees that the 13th monthly invoice starts on the same day (one year later). Apart from that, this type of Period Calculation works in the same way as Align to Start of Month

Monthly price = 100,- (Price = 100,- Billing Base Period = 1M)

1M - 1T2M - 1T1Q - 1T1Y - 1T
28.01.24 - 27.02.2428.01.24 - 27.03.2428.01.24 - 27.04.2428.01.24 - 27.01.25
29.01.24 - 26.02.2429.01.24 - 28.03.2429.01.24 - 27.04.2429.01.24 - 28.01.25
30.01.24 - 27.02.2430.01.24 - 29.03.2430.01.24 - 28.04.2430.01.24 - 29.01.25
31.01.24 - 28.02.2431.01.24 - 30.03.2431.01.24 - 29.04.2431.01.24 - 30.01.25
29.02.24 - 30.03.2429.02.24 - 29.04.2429.02.24 - 30.05.2429.02.24 - 27.02.25
Important

If Service Start Date or Next Billing Date are not within the last 3 days of the month, Business Central default logic (Align to Start of Month) will be applied.

Calculation of prices

The price calculation is carried out using exactly the same logic as above. Only the period lengths are potentially different.

Monatspreis = 100,- (Preis = 100,- Berechnungsbasis Zeitraum = 1M)

1M - 1TPreis2M - 1TPreis1Q - 1TPreis1Y - 1TPreis
28.01.24 - 27.02.2410028.01.24 - 27.03.2420028.01.24 - 27.04.2430028.01.24 - 27.01.251200
29.01.24 - 26.02.2410029.01.24 - 28.03.2420029.01.24 - 27.04.2430029.01.24 - 28.01.251200
30.01.24 - 27.02.2410030.01.24 - 29.03.2420030.01.24 - 28.04.2430030.01.24 - 29.01.251200
31.01.24 - 28.02.2410031.01.24 - 30.03.2420031.01.24 - 29.04.2430031.01.24 - 30.01.251200
29.02.24 - 30.03.2410029.02.24 - 29.04.2420029.02.24 - 30.05.2430029.02.24 - 27.02.251200
Price of the Billing lines=1nPrice of Contract linesNumber of days in the started periodDays to be invoiced in the started periodPrice \ of \ the \ Billing \ lines = \sum\limits_1^n \frac{Price \ of \ Contract \ lines}{Number \ of \ days \ in \ the \ started \ period} * Days \ to \ be \ invoiced \ in \ the \ started \ period
Start - EndPriceBilling Base PeriodBilling RhythmInvoiced PeriodPrice of the Billing Lines
01.01.2023 - 15.01.2023100,-1M1J15 von 31 Tagen100/ 31 * 15 = 48,387
01.02.2023 - 14.02.2023100,-1M1J14 von 28 Tagen100 * 14 / 28 = 50,-
01.01.2023 - 14.02.2023100,-1M1J1M + 14 Tage100/ 31 * 31 + 100 * 14 / 28 = 150,-
31.01.2023 - 01.03.2023100,-1M1J1M + 2 Tage100,- + 100,- * 2/ 28 = 107,143
01.01.2023 - 14.01.2023100,-1Q1J14 von 90 Tagen100/ 90 * 14 = 15,556
01.01.2023 - 14.04.2023100,-1Q1J1Q + 14 von 91 Tagen100/ 90 * 90 + 100 * 14 / 91 = 115,385
28.02.2023 - 14.06.2023100,-1Q1J1Q + 15 von 92 Tagen100/ 92 * 92 + 100 * 15 / 92 = 116,304