Net, Gross and VAT: Pricing Right for Trade and Public
Ask a trade customer for the price of a pallet of stock and they will quote you a number without VAT. Ask a consumer in a shop what something costs and they will read the figure on the shelf, VAT included, because that is the only number they ever see. Both are right. They are describing the same goods from two vantage points, and the gap between them is where a surprising amount of operational trouble lives.
If your business sells to both groups, and a good many UK businesses do, you are running two pricing conventions at once. Get the plumbing wrong and you will quote a builder a price 20% higher than they expected at checkout, or show a member of the public a figure that omits the tax they are legally being charged. Neither builds confidence. This piece is about getting the net, gross and VAT mechanics right when your audience is mixed.
Why trade sees net and the public sees gross
The convention is long-settled, but the reasoning is worth restating plainly.
Trade buyers are almost always VAT-registered themselves. The VAT they pay is input tax they reclaim from HMRC, so it is a cash-flow item that washes out, not a real cost. The number that matters to them, the one they compare across suppliers and use to work out their margin, is the net price. Showing them VAT-inclusive figures forces mental arithmetic on every line. Quote net and you are speaking their language.
Consumers cannot reclaim anything. For them the VAT is part of the cost. UK consumer protection rules reflect this: when you advertise a price to the public, the figure shown must be the total payable, inclusive of VAT. A member of the public should never reach the checkout and discover tax that was hidden from the listing. The price they saw is the price they pay.
So the rule of thumb is straightforward:
- Selling to trade: display net (excluding VAT), with the VAT shown as a separate line and a gross total.
- Selling to the public: display gross (including VAT), with the VAT visible in the breakdown but the headline figure being the total.
The standard UK VAT rate is 20%, and for most goods that is the rate you will apply. The difficulty is rarely the arithmetic; it is doing the right thing for the right person, consistently, across every product, page and document.
One storefront, two audiences
A single storefront serving both groups is harder to run than two, yet most businesses do not want two to maintain. The answer is to make the price presentation depend on who is looking, while the stored price stays in one form.
In practice that means storing the net price as the single source of truth and deriving the gross figure from it at display time, at the correct VAT rate for that product. A logged-in trade account sees net throughout: product pages, basket, quote, invoice. An anonymous or consumer visitor sees gross. The same product record drives both; only the lens changes.
This is where an integrated commerce and back-office setup beats a bolt-on. When your store and your ERP share one product and pricing model, the VAT treatment travels with the product wherever it appears, and the audience flag decides the presentation. Maintaining “trade prices” and “public prices” as two independent lists is where drift creeps in, and drift in pricing is expensive. If you are weighing up how to structure this, our work on e-commerce and ERP integration is built around this single-source principle.
A few presentation details earn their keep. Make the VAT treatment unambiguous on screen: a net price should carry a clear “ex VAT” or ”+ VAT” label, a gross price should say “inc VAT”, and that labelling should stay consistent from listing to checkout to document. Show the breakdown at the basket and on the invoice regardless of audience: trade buyers still need the figure for their records, and consumers are reassured by seeing it itemised.
Customer-specific and contract pricing
Beyond the trade-versus-public split sits another layer: not every trade buyer pays the same net price. Negotiated discounts, volume tiers and contract rates are normal in distribution, and they have to coexist with the VAT logic rather than fight it.
Customer-specific pricing operates on the net figure. A contract that gives a wholesaler an agreed rate on a product line sets their net price; VAT is then applied to that net at display and invoice time, at whatever rate the product attracts. Discounts and tax stay in separate lanes. Never discount a gross figure and reverse-engineer the net, because rounding will betray you, and never bake VAT into a contract rate, because the rate can change independently of your commercial terms.
Keeping this in one pricing engine matters for the same reason the audience split does. When the contract rate, the base price and the VAT rate all live in the same model, the right net price is selected for the right customer and the correct VAT is applied on top, every time. When they live in spreadsheets and separate systems, someone has to remember to apply the contract rate and then apply VAT correctly, and “someone has to remember” is not a control.
Common pitfalls
The failures here are predictable, which is good news, because predictable failures can be designed out.
Wrong treatment to the wrong audience. A consumer sees a net price and is undercharged, or a trade buyer sees gross and overestimates the cost. Tie presentation firmly to the identified audience and default to gross for anyone you cannot identify, because the consumer rules are the stricter standard.
Rounding errors. If you store gross prices and back-calculate net, or apply VAT to already-rounded figures, the pennies stop reconciling, and across a large basket the totals can disagree with the line items. Store net, apply VAT once, and round consistently in one place, not in three parts of the code that each differ slightly.
Zero-rated and reduced-rate items. Not everything is 20%. Some goods are zero-rated, some attract the reduced rate, and the rate is a property of the product, not a global setting. A system that assumes 20% everywhere will misprice anything that is not standard-rated. Every product needs its own VAT rate attached, read per line at display and invoice time.
Convention drift between systems. The store says one thing, the accounting system another, the invoice a third. This is almost always a symptom of more than one pricing source. Consolidate to one and the drift has nowhere to come from.
Frequently asked questions
Should I show net or gross prices on my website?
It depends on who is looking. Show gross, VAT-inclusive prices to consumers, because the advertised figure must be the total they pay. Show net, VAT-exclusive prices to trade buyers, because that is the figure they work with and reclaim. If your store serves both, drive the presentation from whether the visitor is an identified trade account, and default to gross for anyone you cannot identify.
How do I handle a product that is not standard-rated?
Treat the VAT rate as a property of each product rather than a single site-wide setting. A zero-rated or reduced-rate item carries its own rate, and your pricing logic reads that rate per line when it calculates VAT and the gross figure. As long as the rate lives with the product in one place, mixed-rate baskets work correctly without special handling.
Why does it matter that pricing comes from one source?
Because every duplicate of a price can fall out of step. When the store, the ERP and the invoice all read from one net price with one attached VAT rate, the trade-versus-public split, contract rates and the correct tax resolve consistently. Maintain prices in several places and you are relying on people to keep them aligned, which is where errors and disputes begin.
The mechanics are not complicated in themselves. What makes them hard is doing the right thing for two audiences, across many products at different VAT rates, with negotiated rates on top, and keeping that consistent from the first listing through to the invoice. The way through is not cleverer arithmetic but fewer copies of the truth: one net price per product, one VAT rate attached to it, and presentation that adapts to who is looking. Get that right and the rest is display.
— T.R.