Note: This functionality is currently in preview, not fully release in production yet!
Here in the Rounding rules tab under pricing settings you can set up how price rules should handle rounding for your differens price lists.
Most common is to have specific rules for each currency, but it is also possible to have rules even within a curency, see below.
The rules are prioritized by granularity, which means that a rule for the Currency "SEK" is lower in priority than a rule for "SEK" AND price list type "Online Campaign"
You can also have a default rule set, for all other currencies. This is the "Fallback" that will handle all currencies that does not have its own rules.
Price list rounding is applied when prices are calculated, which happens in background jobs, after changes are done to a products price data, or if a price rule has changed.
The process looks like this:
- A new calculated price (from a price rule or inherited to another price field)
- Rounding rule is applied
- Result is saved
Rounding is not done in real time, it is processed behind the scenes and applied where it is needed.
Rounding is not applied for:
- Inherited price field with no currency conversion
- The "fixed price" rule
- The "Use standard price" rule (when # is used, instead of %)
- The "Use Recommended price" rule and the rebate is exactly 0
For roundings that are applied on Inc VAT prices, the rounding logic decides from which Sales Area to fetch the VAT rate, this is commonly the Sales Area set on the price list, but if that is set to null the logic resolves it from the default Sales Area on the client.
Editing a specific rule, gives a lot of choices. The page can be separated in three sections.
Give the rule a Name and Description.
Define the scope of the rule by selecting Price-list type, Currency or Application.
They are all optional.
You can also decide which price Field that the rule should be applied to. The most common choice here is Sale Price, but you can also choose Recommended Price or Catalog Price here, or leave it out and the rules is applied to all price fields.
You can have more than one rules with the same scope, the least change from the raw price calculation wins.
Lastly, there are two checkboxes. First, you can choose if the rounding should be applied on the price including VAT, or Exluding VAT. The ex VAT choice is default.
Norce stores prices excluding VAT.
When rounding Inc VAT Norce starts its rounding calculation by first adding the VAT, make a rounding adjustment and then calculates back to the adjusted ex VAT value and saves that on the price fields.
- (unrounded) price ex VAT ("124.54") ->
- Calculate Price IncVAT ("155.675") (25%) ->
- Rounding rules applied ("155.70") (closest 0.x0) ->
- Calculate ex VAT price ("124.56") ->
- Save
Second, you can choose how the rounding should handle if a price calculation must use the fallback to minimum margin(*).
Either you can let the rounding work as intended, with the risk that the minimum margin may not be fully garanteed. Or you can force the minimum margin fallback and this might result in an uglier price as a result.
(*) Some price rules allows for a min margin fallback rule.
This make it possible to override a rebate (for example) if the new price would be too low and instead make sure that the price doesnt fall under the min margin value on the price rule.
Under the settings section the meat of the rounding logic is created. You can add many settings for different price ranges.
- Range type, choose price above, price below or price between
- Range, set the start and/or end to the range
- Direction, choose up, down or closest (using away-from-zero rounding)
- Decimals, lets you choose the precision, the choices are -2, -1, 0, 1, 2
- Offset, changes the amount after rounding.
Allowed values:
- -2 -> Rounds to 0.0X
- -1 -> Rounds to 0.X0
- 0 -> Rounds to X.00
- 1 -> Rounds to X0.00
- 2 -> Rounds to X00.00
Offset changes the rounding after it is calculated.
A rounding to 2.00 with an offset of -0.01, for example, will change to 1.99.
As you set up your rounding settings, you can use the test prices section to try out your rounding rules.
This test section will directly try to apply your rules as you work with them.
Create new rows and set your own price amounts too see how the logic handles them.
See example below: