Sannmerk
Reproducible calculations, not opaque scores.
Every derived value can be recomputed from the displayed facts.
Unit price
Unit price divides the effective price by total net quantity, accounting for the number of units per pack. We round only for display, never before computing. We never convert mass to volume without a sourced density: comparing a litre of sauce to a kilogram of pasta would be meaningless.
Money and quantities
Amounts are stored as integer minor units with their ISO 4217 currency: no floating-point number takes part in a monetary computation. Quantities keep their original unit alongside their normalised form.
GTIN identifiers
A GTIN is a digit string, never a number: its leading zeros are significant. We verify the GS1 check digit before accepting an identifier. An invalid code creates no identity — it returns an explicit error.
Format changes
When a product's net quantity decreases, we show the before and after with their dates and the corresponding unit price. We present observed facts and the method, without qualifying the manufacturer's intent. A format change is not in itself an unfair practice.
Freshness and uncertainty
Every price carries its observation date. When two sources contradict each other, we keep both pieces of evidence and flag the divergence instead of showing false certainty. When history is too short to conclude, we say so.