Pricing Rules Overview
Pricing rules calculate the sell price from the supplier’s cost price. They are applied at export time — the supplier’s raw price is stored unchanged in the catalogue.
How pricing rules work
Section titled “How pricing rules work”Rules are evaluated in priority order (lower number = higher priority). The first matching rule sets the price. Subsequent rules in the chain can use the previously-calculated price as their base.
Example rule chain:
| Priority | Name | Condition | Action |
|---|---|---|---|
| 1 | Nike premium | Brand = Nike | cost_plus_percent 40% |
| 2 | Sale items | Category = Sale | set_price from attribute |
| 3 | Default margin | (all products) | cost_plus_percent 30% |
A Nike product on sale: rule 1 matches first (priority 1), so it gets 40% margin — the sale rule (priority 2) and default (priority 3) are skipped.
A non-Nike product not on sale: rules 1 and 2 don’t match. Rule 3 applies: 30% cost-plus.
Rule conditions
Section titled “Rule conditions”Rules can be scoped to:
- All products (no condition)
- Specific supplier(s)
- Specific canonical category
- Specific canonical brand
- Attribute value (e.g.
delivery_days <= 2) - Price range (e.g. supplier price >= 500)
Multiple conditions on the same rule are AND’d together.
Rule actions
Section titled “Rule actions”cost_plus_percent
Section titled “cost_plus_percent”sell_price = supplier_price × (1 + margin / 100)Recommended for most catalogues. When the supplier raises their price, your sell price rises automatically and your margin percentage is always preserved.
cost_plus_fixed
Section titled “cost_plus_fixed”sell_price = supplier_price + amountFixed euro margin per unit. Margin percentage shrinks as price rises.
markup_percent
Section titled “markup_percent”sell_price = base_price × (1 + value / 100)Apply a percentage markup on top of a previously computed price. Used in rule chains where the first rule sets a base price and a subsequent rule adds a channel markup.
markup_fixed
Section titled “markup_fixed”sell_price = base_price + amountAdd a flat amount to a previously computed price.
set_price
Section titled “set_price”sell_price = valueOverride with an exact price. Used for promotional products or agreements with fixed pricing. Note: when supplier price rises above the hold price, margin goes negative — use a min_margin_percent guard rule to detect this.
round_to
Section titled “round_to”Round the sell price to the nearest value. Applied as the final step for clean-looking prices.
| Round to | Example input | Result |
|---|---|---|
| 0.05 | 12.73 | 12.75 |
| 0.10 | 12.73 | 12.70 |
| 0.50 | 12.73 | 12.50 |
| 1.00 | 12.73 | 13.00 |
| 0.99 | 12.73 | 12.99 |
Multi-currency
Section titled “Multi-currency”If a supplier’s feed currency differs from your export currency, pricing rules apply after currency conversion. The supplier price is converted using the current FX rate (+ FX buffer) before the rule is applied.
Example:
- Supplier price: USD 100
- FX rate: 0.92 (USD → EUR) + 2% buffer
- Converted price: EUR 93.84
- 30% margin: EUR 121.99
See Margin Formulas for detailed calculation examples.
Testing pricing rules
Section titled “Testing pricing rules”On any product variant in the catalogue, click Price preview to see how each pricing rule would price that product and which rule would win.
The price preview shows the full rule evaluation chain — which rules matched, which were skipped, and the final calculated price.