Five Things a Price Has to Be
British price marking rules treat a price as five things: a number to a stated precision, a unit, a condition, a currency, and a relative type size. A price field in a system is the first of those and half of the fourth — and two of the five are properties of how something is printed, which is why no data model has anywhere to put them.
The short version, first
If you sell to consumers in Britain from a shelf, the thing your system calls a price is one of five properties the law attaches to it. The precision is stated and it is finer than sterling: a unit price below a pound is expressed to the nearest tenth of a penny, and a money column with two decimal places cannot hold that. Since April 2026 a product offered at more than one price must show every price, every unit price, and the conditions attached to each — prominently, next to the product, without the customer having to ask. And several of the requirements are about legibility and relative type size, which are properties of a printed thing rather than of a record. Our own printed label, for what it is worth, carries a barcode, an internal reference and a name, and no price at all.
It is worth reading a price marking rule at least once in a career, because it is one of the few places where the law is unusually explicit about something software people treat as obvious. A price, it turns out, is not a number.
The Price Marking Order has been in force since 2004 and picked up a set of amendments taking effect in April 2026. Between them they impose five distinct kinds of requirement on the same figure, and only one of the five is the figure.
One: the number, to a precision the Order specifies
This is the detail that ought to interest anybody who has built a pricing table. Where a unit price falls below one pound, it must be expressed to the nearest 0.1p — with the rounding rule spelled out at the hundredths-of-a-penny digit. Above a pound you may express it to the nearest penny or to the nearest tenth of a penny, each with its own stated rounding.
A tenth of a penny is a third decimal place on sterling, and sterling has two. Our own price columns are money columns with two decimal places, which is correct for a price somebody pays and wrong for a rate somebody compares — and that is the distinction the Order is drawing without saying so. A unit price is not an amount of money. It is money per quantity, and a rate does not inherit its currency's precision.
A selling price is an amount. A unit price is a rate that happens to be denominated in money. Store them in the same kind of column and one of them is wrong.
Two: the unit, which needs a unit
A unit price is required for products sold from bulk and for products that must be marked with a quantity or made up in a prescribed one. There is a neat exemption for anything whose unit price is identical to its selling price — a single item sold as one — and a specific rule for pre-packaged solids in a liquid medium, where the unit price refers to the net drained weight, and where both are shown it must be clear which is which.
Our stock is held as whole numbers with no unit of measure, which is a limitation we have written about from a different direction. It is worth noticing here because it sets the ceiling: a unit price is arithmetically impossible without a unit, so this property is not a formatting question, it is a schema one.
Three: the condition, and this is the new one
Since 6 April 2026, where a trader proposes to sell a product at more than one selling price, the indication must set out each selling price and each unit price — and whether a particular price depends on conditions being satisfied. Where it does, those conditions must be prominently displayed, unambiguous, clearly legible, easily identifiable, available without the customer needing to seek assistance, and in close proximity to the product.
That is a rule about loyalty and member pricing, and it is a rule about data as much as about signage. A price with a condition attached is a different object from a price: it carries a sentence that has to be true, printable, and next to the goods.
We are two steps away from it rather than one. An item here has a single selling price — there is no price list, customer group or tier — so the plural in "each selling price" has nothing to iterate over. And the closest thing in the product to a condition on a price is a discount at the till, which is an amount and a free-text sentence recorded after the sale by whoever gave it. This Order wants the condition before the sale, on the shelf, where somebody who has not asked can read it. Those are opposite ends of the same transaction.
Four: the currency, and one place we are accidentally right
The indication must be in sterling. If you indicate a willingness to accept a foreign currency, you must also do one of two things: give the price in that currency along with any commission, or clearly identify the conversion rate along with any commission — and in either case say that the price or rate does not apply to card transactions on accounts denominated in other currencies, whose rate will be the payment scheme's.
That second option is a good fit for a rule we already hold to and have written about at length: we group totals by currency, lead with the largest, and do not convert. Article 6(2)(b) does not ask you to convert either — it asks you to disclose the rate and the commission and to disclaim the card case. So the compliant shape and our house rule agree, which does not happen often enough to pass over quietly.
Five: the size, and there is nowhere to put it
The remaining requirements are about how the thing looks. The indication must be unambiguous, easily identifiable, clearly legible and — since April 2026 — displayed using a font which is clear and of reasonable size. Where a non-metric quantity is priced alongside the metric unit price, the unit price must predominate and the other must be in characters no larger than it. Delivery, freight and postal charges, including the taxes on them, must be unambiguous, easily identifiable and clearly legible in their own right.
Predominance is a relationship between two rendered things. No pricing table has a column for it, and no API returns it. It belongs to whatever produces the printed artefact — which brings us to the honest position on all of this.
Our label is for the scanner, not for the shelf
We print labels. You choose how many, how many per row, and the width, height, barcode height and code size in millimetres, on screen or as a PDF. What goes on the label is the barcode, the item's own reference and its name — and no price. Which means this entire Order currently has no surface in this product: we are not indicating a price to a consumer, we are identifying goods to a device. Those are two different stickers that look alike, and it took reading a price marking rule to notice that we only make one of them.
One more that is quietly sensible
Article 9, in its April 2026 form, is the sort of drafting worth admiring. Where a trader is reducing prices and it is not reasonably practicable to mark each product with the reduced price, a general notice will do — provided the details of the reduction are prominently displayed, unambiguous, easily identifiable and clearly legible. A rule that anticipates the sale rail and says what the shortcut has to satisfy, rather than pretending the shortcut will not be taken.
Four questions for a system that will price goods on a shelf
What is the precision of your price field?
What you will probably hear
Two decimal places, offered as obviously correct.
How to read it
Correct for a selling price and wrong for a unit price, which this Order requires to a tenth of a penny below a pound. Ask specifically about the unit price column, because in most systems it is either the same column or computed on the fly and rounded for display.
Can a price carry the condition that makes it available?
What you will probably hear
A description of a customer group or a promotion.
How to read it
A group answers "who gets it". The rule asks you to display "on what condition", in words, next to the goods. Ask whether the condition is a printable string attached to the price, because that is the thing that goes on the shelf edge.
Show me what goes on a printed shelf label.
What you will probably hear
A label with a barcode and a name.
How to read it
Then it is an identification label, which is a different artefact from a price indication. Ours is exactly that and we say so. Ask whether two prices and two unit prices fit on it, and which one comes out larger.
If we take payment in another currency, what does the display show?
What you will probably hear
A converted figure.
How to read it
A converted figure is one of the two lawful shapes and it commits you to a rate. The other is to disclose the rate and any commission and stay in sterling. Ask which the system does, because a converted figure with no rate shown satisfies neither.
A price label is a small build with a schema underneath it
None of the following is a module, and the order matters: the last two are only meaningful once the first two exist.
A unit of measure on an item
With a quantity per pack, so a unit price can be computed at all. This is the one everything else waits on, and it reaches every screen that shows a quantity.
A unit price held as a rate
In its own column, at a precision that is not the currency's — with the rounding rule stated where the figure is produced rather than assumed by whatever renders it.
A price label with the price on it
Alongside the barcode we already print, taking a selling price and a unit price and laying them out at the right relative prominence.
A condition attached to a price
As a printable sentence rather than a group membership, so a second price can carry the words that say who may have it and on what terms.
The first two are schema, the third is a template, and the fourth needs a second price to attach to — which is the larger conversation about price lists we have had elsewhere.
Tell us what your operation needsWhat AWRA OpsHub does today
- A configurable printed label sheet, on screen or as a PDF, with the quantity, the labels per row, and the label, barcode and code dimensions all set in millimetres.
- A machine-readable code on every item, generated rather than assumed, and rendered as dark ink on a light plate because a scanner reads it and a theme must not move it.
- A selling price and a buying price on every item, each as a money amount at the currency's own precision.
- Currency precision resolved per currency, so a figure renders with the number of decimal places its currency actually uses rather than an assumed two.
- Totals grouped by currency and never converted, with the largest slice leading and the composition disclosed rather than summed into a single number that means nothing.
- A discount recordable at the till, with the amount and a free-text note kept against the sale.
More we can add to your workspace
- A unit of measure and a pack quantity on an item, which is what a unit price is computed from and what every other item on this list waits on.
- A unit price as a rate in its own right, stored at a precision finer than the currency's, with its rounding decided where the figure is produced.
- A price on the printed label, laid out beside the code we already print, with a selling price and a unit price at the relative prominence a shelf edge needs.
- A condition attached to a price as printable words, so a second price can say who may have it and on what terms, before the sale rather than after.
- A second price at all — the plural this rule assumes, which is the price-list conversation rather than a field.
- A conversion rate and any commission shown alongside a sterling price, for the case where a foreign currency is accepted at the counter.
Where we point you to a specialist
- We will not tell you which of your products this Order reaches. Its scope article, its second schedule of exemptions and its cross-references into weights and measures legislation decide that, and we read the scope and the exemptions no further than to know they exist. A trading standards adviser owns that question, and it changes whether a unit price is required at all.
- We will not put a price on a label and call it price marking. Four of the requirements in this Order are about legibility, prominence, proximity and relative type size — properties of a printed artefact in a physical place, judged by whether an ordinary person can read it without asking for help. Software can produce a layout that makes compliance possible and it cannot certify the result, and we would rather build the first and say so than imply the second.
The first two are the build, and they are a column and a rate rather than a feature: a unit of measure with a pack quantity, and a unit price stored as a rate at its own precision. The third follows in a day once those exist, because the label sheet, the dimensions and the rendering are already there and the fields are all it waits on. The fourth and fifth are the price-list conversation and want scoping properly. The sixth is small and we would take it alongside the third.
See inventory and point of sale
Generated codes on every item, configurable label sheets on screen or as PDF, per-currency precision on every figure, and totals grouped by currency rather than converted.
Explore point of saleFrequently asked questions
Does your system produce compliant price labels?
No, and for a more basic reason than we expected when we looked. The label we print carries the barcode, the item's reference and its name, and no price — so it is an identification label rather than a price indication, and this Order has no surface in the product at all today. What it would need is a unit of measure on the item, a unit price held as a rate rather than as a money amount, and a template that lays a selling price and a unit price out at the right relative prominence. The first two are schema and the third is a day's work once they exist.
Why can a unit price not use the same column as a selling price?
Because a selling price is an amount of money and inherits its currency's precision, and a unit price is a rate that happens to be denominated in money. This Order makes the difference explicit: a unit price below one pound must be expressed to the nearest tenth of a penny, which is a third decimal place on sterling. Our price columns hold two, correctly, and a shared column would force the rate to round to the amount's precision — which is exactly the comparison the unit price exists to make possible.
What changed in April 2026?
Several things at once, and the one worth knowing is new: where a product is offered at more than one selling price, the indication must set out every selling price and every unit price, and where a price depends on conditions being met, those conditions must be prominently displayed — legible, identifiable, next to the product, and available without the customer having to ask. The same amendments also tightened the wording on font clarity and size and on how delivery and postal charges must be shown. We have cited the instruments rather than narrating their history, because two of them amended each other before coming into force.
Can you record why a customer got a lower price?
Only after the fact and only loosely. A discount at the till is an amount and a free-text note against the sale, with no reason code and no approver — which we have written about separately as a governance problem. What this Order asks for is the opposite arrangement: the condition on a price, in words, displayed next to the goods before anybody buys anything. A note explaining what happened is not a notice explaining what is available.
How does this interact with taking payment in another currency?
The rule offers two shapes and we happen to fit one of them. Prices must be in sterling; if you accept a foreign currency you must either give the price in that currency with any commission, or clearly identify the conversion rate with any commission — and either way say that this does not apply to card transactions on accounts in other currencies, where the payment scheme's rate governs. Our house rule is to group figures by currency and never convert them, which is compatible with the second shape. What we do not yet do is display a rate and a commission alongside a price, which is the part that would make it usable at a counter.