Tillypad XL enables to apply various promotion types including discounts.
Discounts are calculated individually for each order item, and the results are summed up. The amount of discounts is calculated according to certain rules set in promotion formulas. The amount of discount is rounded individually for each order item according to a specified rule.
The Promotion rounding mode parameter enables to select a rounding rule, while the Rounding precision (sales) parameter determines the rounding precision (the number of places after the decimal point). Both of the parameters can be specified in segment's system settings for a certain division or for all divisions.
The mode is selected from the following list of options:
Mathematical – denotes that the amount of discounts (markups) will be rounded according to usual mathematical rules.
Round down – the amount of discounts is always rounded down, while the amount of markups is rounded up.
Round up – the amount of discounts is always rounded up, while the amount of markups is rounded down.
Round down (cumulative) – when the amount of discount is rounded, previously accumulated errors are taken into account. The final adjustment diminishes the amount of discounts (and increases the amount of markups).
Round up (cumulative) – when the amount of discount is rounded, previously accumulated errors are taken into account. The final adjustment increases the amount of discounts (and diminishes the amount of markups).
The figure below shows how numbers are rounded in different modes.
The following example illustrates the promotion rounding modes.
Supposing there are two items in the order. They cost 100 RUB and 200 RUB. The discount of 3.7% is applied to both of them. The discount amount will be 3.7 RUB and 7.4 RUB, respectively. The total discount is calculated as 3.7 + 7.4 and equals to 11.1 RUB. The total due will be calculated as 100 + 200 - 11.1 = 288.9 RUB.
In the system settings the rounding precision is zero. It means that values will be rounded up or down to whole number, i.e. to rubles.
Depending on the selected rounding mode the following results can be obtained:
Mathematical – according to mathematical rounding rules 3.7 RUB (the discount amount for the first order item) will be rounded up to 4 RUB, while 7.4 RUB discount will be rounded down to 7 RUB. The total discount will be 4 + 7 = 11 RUB. The total due will be calculated as 300 - 11 = 289 RUB.
Round down – according to rounding down rules 3.7 RUB will be rounded down to 3 RUB, and 7.4 RUB discount will be rounded down to 7 RUB. The total discount will be 3 + 7 = 10 RUB. The total due will be calculated as 300 - 10 = 290 RUB.
Round up – according to rounding up rules 3.7 RUB will be rounded up to 4 RUB, and 7.4 RUB discount will be rounded up to 8 RUB. The total discount will be 4 + 8 = 12 RUB. The total due will be calculated as 300 - 12 = 288 RUB.
Round down (cumulative) – rounds down the amount and applies the accumulated error.
The discount for the first order item amounts to 3.7 RUB; the accumulated error is 0; 3.7 + 0 = 3.7 RUB; therefore, the rounded discount amount is 3 RUB. Accumulated error correction: 3.7 - 3 + 0 = 0.7 RUB. The discount for the second order item amounts to 7.4 RUB; the accumulated error is 0.7; 7.4 + 0.7 = 8.1 RUB; therefore, the rounded discount amount is 8 RUB. Accumulated error correction: 7.4 - 8 + 0.7 = 0.1 RUB.
The total rounded discount will be 3 + 8 = 11 RUB. The total due will be calculated as 300 - 11 = 289 RUB.
Round up (cumulative) – rounds up the amount and applies the accumulated error.
The discount for the first order item amounts to 3.7 RUB; the accumulated error is 0; 3.7 + 0 = 3.7 RUB; therefore, the rounded discount amount is 4 RUB. Accumulated error correction: 3.7 - 4 + 0 = - 0.3 RUB. The discount for the second order item amounts to 7.4 RUB; the accumulated error is minus 0.3; 7.4 - 0.3 = 7.1 RUB; therefore, the rounded discount amount is 8 RUB. Accumulated error correction: 7.4 - 8 - 0.3 = - 0.9 RUB.
The total rounded discount will be 4 + 8 = 12 RUB. The total due will be calculated as 300 - 12 = 288 RUB.
© Tillypad 2008-2012