Tax authorities in Europe (such as NL and DE) require that VAT is calculated per product / per VAT rate, and not once over the total order amount.
As soon as a menu or order contains multiple VAT rates, the system must first split the price across the individual components and calculate the VAT for each component separately. This mandatory method creates small rounding differences — and this is exactly how it should work.
This article explains why this happens and why it is correct.
1. VAT must be calculated per product
A menu can contain items with different VAT rates, for example:
Burger → 7%
Fries → 7%
Cola → 19%
The customer pays one total price, but the system must split it because:
• VAT must be calculated separately per VAT rate
• Tax authorities require that VAT is calculated per product
• Otherwise, the VAT calculation would be incorrect
This splitting creates rounding per line.
2. Each component is rounded → small differences are normal
For every product in the menu, the system calculates:
• The revenue for that product (proportionally split)
• The VAT for that product
• A rounding to 2 decimals
If a menu consists of 3 products, there will be 3 separate rounding moments.
This automatically creates micro-differences between:
• the total of all VAT lines, and
• the VAT you would get if you calculated VAT once over the total amount
For a few orders the effect is tiny, but with hundreds or thousands of orders these small rounding differences add up.
This is not incorrect — it is the legally correct method.
3. Addons increase the difference
Many orders include addons such as:
• Extra sauce
• Extra topping
• Large size
These addons do not have their own product line, but they do increase the total price.
The system:
• adds the addon amount to the main product
• splits the total price proportionally again
• calculates VAT per product
Each addon creates extra rounding moments → and therefore more small differences.
4. Why the differences sometimes add up
When you have many orders with:
• multiple VAT rates
• many menus
• many addons
… all these micro-differences can add up to a visible difference, for example:
€2.85 between “VAT on revenue” and total “Revenue.”
This is normal and accepted by tax authorities as long as VAT is calculated per product — which is exactly what the system does.
Summary
Differences between VAT on revenue and Revenue can appear because:
• VAT must be calculated per product by law
• menu prices are split across multiple products
• each line is rounded individually
• addons do not have their own product line but do affect the total price
• many small rounding differences accumulate across large order volumes
The system is working correctly — the small differences are a direct result of the legally required VAT calculation method.
