Skip to content

Cost and margin

Give your products a cost so every quote line shows its margin, and know where that cost can come from.

Updated 23 September 2026

Why
A discount on a line with no cost behind it is a margin nobody can see.
What
A product's cost is the cost core field, held in integer minor units beside its price.
How
Load it with a cost column on import, or accept it from supplier prices when Source is on.

Set a product's cost

RouteHow
ImportMap a cost column (cost price, buy price, landed cost) on the Imports view. See importing products.
Supplier pricesOn Suppliers' prices, select products and choose Accept as cost. The best active supplier price becomes the cost and the product records which supplier it came from. Needs Source and the engineer role or above.

The products API and REST connections do not write cost, and the API never returns it.

Margin on a quote line

When a product line is added, the product's cost is copied onto the line. The line then shows its margin under the amount, as a whole percentage: gross margin on the price after the line discount, (price - cost) / price. A negative margin shows in the danger colour.

A line with no cost shows no margin, never 100%. Margin is never markup.

Changing a product's cost later does not rewrite quotes already raised: each line keeps the cost it was added with.