Setting pricing
Atlas computes sell prices from cost + margin rules. This page explains how the resolver decides the number that lands on a quote line.
Margin vs. mark-up
Atlas uses margin from cost, not mark-up. A $100 cost item with a 25% margin rule sells for $133.33, not $125. The formula is:
sell = cost / (1 - margin/100)
If a 25% margin reads to you like "sell for cost + 25%", flip your rules to Profit $ instead.
Hierarchy
Rules apply in tier order, most specific first:
- Sub-sub-category (e.g. Computers > Components > CPU)
- Sub-category (Computers > Components)
- Category (Computers)
- All Products: the fallback, always present
The first rule found wins. Atlas walks the tree from the product's category upward.
List Price Guard
If you set RRP on a product and configure the list-price guard, the engine
caps sell at RRP × guard%. For example:
| Input | Value |
|---|---|
| Cost | $100 |
| Margin rule | 25% |
| RRP | $107 |
| Guard | 80% |
| Sacrifice | 60% |
| Final sell | $113.33 |
Without the guard the rule would have produced $133.33. The cap is $107 × 80% = $85.60 (below cost, so doesn't apply). The sacrifice is 60% of $33.33 margin = $20, taking sell down to $113.33. The cap and the sacrifice race each other; the higher number wins.
Price groups
Each tenant can define up to two named "groups" with margin discount %. Assign clients to a group on the client overview page. The discount subtracts from the margin rate, not from the final price: a 5% discount on a 25% margin rule yields a 20%-margin price.
Per-product overrides
If one SKU should always sell at a fixed price regardless of rules, set
products.price_override on that SKU. The resolver returns the override
verbatim and skips the engine.