Episode 2 Duration 1:37

Why is our invoice out by a few pounds and nobody can explain it?

Two systems are doing correct arithmetic but rounding in different places, usually around VAT. One stores the ex-VAT price rounded to two decimal places; the other works from the inclusive price and strips VAT at the end. Multiply by a big quantity and the gap appears, different on every order, which is why nobody can pin it down.

Read the full write-up

Transcript

Ever had an invoice come through a few pence, or a few pounds, out and nobody can explain why?

Tax is usually the culprit. You sell something for £10 including VAT, and that works out as £8.33 recurring excluding VAT.

And your website may be configured to store the price as it’s displayed, because it seems sensible, so it stores it as £8.33. So imagine a customer suddenly buys a thousand items. That’s £8,330 excluding VAT, or £9,996 including VAT.

You may have noticed we’ve just lost £4 on what should be a £10,000 order.

Nobody’s mistyped anything in this scenario. It’s just that websites, ERP systems and other backend systems calculate and do their rounding in slightly different ways. That’s why the error, when it comes through, often doesn’t look the same, as it depends on what the customer is buying.

A couple of questions during discovery avoid this. Do you store the prices including or excluding VAT? How many decimal places do you tend to store your price data to? And where should the rounding happen: at a unit level or an invoice level?

These couple of questions quite quickly avoid what can be a recurring conversation between accounts and the website team to work out what’s going wrong.

It turns out tax doesn’t need to be taxing.

Frequently asked questions

Why is the gap different on every order?

Because it depends on quantity and on which products are in the basket. A rounded price multiplied by a thousand drifts by pounds; by one, by nothing. No two orders reproduce it the same way, which is what makes it so hard to trace.

Which system should hold the master price?

Either can, as long as both agree on whether it is stored with or without VAT, how many decimal places it carries, and where the rounding happens. Agreeing that rule matters more than the integration itself.

How do I check my own site?

Find a VAT-inclusive price that does not divide cleanly, such as £10, and ask what your website stores for it ex-VAT. Then ask your ERP the same question. If the answers differ, you have found the gap.