Once a price has been calculated, the last step before you review it is rounding. Rounding reshapes a raw number like €24.73 into a tidy ending like €24.99. Pricen offers two systems: standard rounding, which uses built-in price tiers and needs no configuration, and custom rounding, where you define your own endings and price ranges. This article explains both, and the safeguards that keep rounding from pushing a price too far.
Set your default rounding once, in account settings
You don't have to configure rounding separately every time you build a strategy. Under Settings > Price Rounding you can define your default rounding rules at the account level. Once set, these rules are applied automatically to every new strategy you create, so your pricing stays consistent across the whole account without extra effort. You can still adjust or switch off rounding within an individual strategy if a particular case needs it.
You can also set up different rounding rules for different strategy types. If you'd like, say, your price optimization strategies to round differently from your price changes, smart discounts, or dynamic pricing strategies, you can define a separate rule for each type, and each will be applied automatically to the matching strategy.
Standard rounding
Standard rounding works like postage brackets: different price ranges get different endings. Each band has its own pattern, applied automatically.
Price tier | Resulting ending | Example in | Example out |
Below 5 | x.x9 | 3.42 | 3.39 |
5 up to 20 | x.00, x.25, x.50, or x.75 | 12.40 | 12.50 |
20 up to 50 | x.49 or x.99 | 34.20 | 33.99 |
50 up to 100 | x.99 | 75.30 | 74.99 |
100 and above | x.00 | 245.60 | 246.00 |
Custom rounding
Custom rounding replaces the standard tiers with your own rules. Each rule covers a price range and lists the endings a price is allowed to land on. A price is first sorted into the matching range, then snapped to the best valid ending in that range.
A rule has three parts: a lower bound (the price where the rule starts applying), an upper bound (where it stops, or empty for "no upper limit"), and a list of endings the price can land on.
Pattern syntax
The asterisk * is a wildcard digit, so any single digit fits, much like a wildcard in a file search. Where the asterisk sits relative to the decimal point decides how aggressively the price is reshaped.
Pattern | Meaning | Example valid values |
| Any whole number, ending in .99 | 4.99, 17.99, 245.99 |
| Any whole number, ending in .49 | 4.49, 17.49, 245.49 |
| Tenths free, hundredths fixed at 9 | 3.19, 7.49, 12.89 |
| Ones digit fixed at 9 | 9, 19, 29, 39 |
| Last two whole digits fixed at 99 | 99, 199, 299, 1099 |
Choosing a direction (methods)
When more than one valid ending could host a price, the method decides which one wins. Think of three highway exits: Closest takes the nearest one regardless of side; Round Down always takes the lower; Round Up always takes the higher.
Method | Behaviour |
Closest (default) | Picks whichever valid price is mathematically nearest. |
Round Down | Always floors to the lower valid price. |
Round Up | Always ceilings to the higher valid price. |
Rounding safeguards
Both systems can compare the rounded result against your original price and re-round if it drifts too far. With standard rounding, if the result rises above your configured upper limit the system re-rounds downward, and if it falls below the lower limit it re-rounds upward; it only steps in when the price escapes the acceptable corridor. Custom rounding offers the same two optional bumpers: an upper safeguard (a price ceiling) and a lower safeguard (a price floor).
One important rule for custom rounding: these safeguards only fire when the method is Closest (the default). An explicit Round Up or Round Down is treated as a hard directive and bypasses the safeguards, even if the result lands above the ceiling or below the floor. In practice, Round Down can drop a price below your floor and Round Up can push it above your ceiling, without auto-correction. If you want the guardrails respected, keep the method on Closest.
Worked examples
Scenario | Input | Configuration | Output |
Standard, sub-5 tier | 3.42 | Standard rounding | 3.39 |
Standard, 20–50 tier | 34.20 | Standard rounding | 33.99 |
Standard, 100+ tier | 245.60 | Standard rounding | 246.00 |
Custom .99, rounds up | 17.60 | Pattern | 17.99 |
Custom .99, rounds down | 17.30 | Pattern | 16.99 |
Custom .99, forced up | 17.30 | Pattern | 17.99 |
Two endings, nearest is lower | 23.20 | Patterns | 22.99 |
Hundreds banding | 250 | Pattern | 299 |
Upper safeguard triggers | 19.50 | Pattern | 18.99 |
Round Down bypasses floor | 10.10 | Pattern | 9.99 (below floor, allowed) |
Same input, Closest respects floor | 10.10 | Pattern | 10.99 |
To read one of these: for input 250 with pattern *99.*, the valid endings are 99, 199, 299, 399, and so on. 250 sits between 199 and 299: it's 49 away from 299 and 51 away from 199, so the closer anchor, 299, wins.
