Wrong Tax-calculation in checkout with reverse charge and reduced sales tax

Dear Community,

I try to set up the reverse charge automation for intra-Community supply within the EU and ran into some issues i could not find a solution to.

  • The Shop is based in Germany (Basic Plan) and we sell B2C and B2B (but less, and its not worth to make a separate shop)
  • We sell goods with 19% and 7% sales tax
  • if ordered in germany the sales tax is calculated correctly (VAT-ID and reduced sales tax via collection is set up)

Problem:

  • If I activate the reverse charge automation in shopify (same issue with the tax exemption checkbox for customers) Shopify deducts during the checkout always the 19% sales tax, also for the goods with only 7% sales tax.
  • Why does it once deduct the correct 7% sales tax within germany but the wrong sales tax as soon as it is international?

Two separate things are stacking here and they’re worth pulling apart, because one is documented behaviour and the other is a config gap.

The reverse charge half first. Shopify’s own tax overrides doc says customer tax exemptions always take precedence over tax overrides, and that an exempt customer won’t be charged tax on applicable products even if overrides are in place. So the moment reverse charge or the exempt checkbox kicks in, your 7% collection override isn’t consulted at all. It gets bypassed by design. If your prices include tax, Shopify still has to strip the VAT back out of the gross to arrive at a net, and with the override already out of the picture it does that against Germany’s base rate of 19%. That’s why a 7% item loses 19% of its gross instead of 7%. Domestically nobody is exempt, so the override stays live and you get the right number. That gap is the whole difference you’re describing, and it’s why it looks inconsistent.

The second layer is that overrides are registered per country. You created that 7% override under Germany, so it applies to Germany. Selling B2C into other EU countries under OSS uses the destination country’s rates, and your German override does not travel with the product. If those goods qualify for a reduced rate in France or Italy you’d need an override per destination country, and those reduced rates aren’t 7% everywhere either.

Quick way to see it clearly: same 7% product, one cart for a German B2C customer, one for an exempt B2B customer in Austria, then compare the net that survives on each. If your prices include tax, the exempt one should land roughly 10% below where it ought to be. That size of gap is the override being skipped, not rounding or a broken VAT-ID check.

Are your prices set to include tax, and is this only hitting reverse charge B2B orders or also the plain exempt-checkbox customers?

Dear Lumine,

thank you for the detailed explanation.

The prices are set to include tax and it is hitting both, B2B and exempt checkbox customers. Both times the net price of goods with reduced Sales tax is not calculated correctly and the mentioned 10% to low.

The result of this, if I understand correctly, is that shopifys reverse charge system does not work correctly according to the german (EU) tax system for reduced sales tax and is not suitable for businesses selling goods with reduced sales taxes internationally b2b.

Because if I sell a book (7% Vat) for 10,70€ including taxes the net price of the book is at 10€, and the net price is what matters with the reverse charge. But the reverse charge system of shopify deducts 19%, meaning it calculates the net price with 8,99€, which is simply wrong. Going with this woud mean with every b2b sale of goods with reduced sales tax the business would lose 10% of margin, which is frankly said not a good deal.

Is there a way to change this? Otherwise Shopify is not suitable and we will choose another system, working correctly with reduced sales taxes, although I am really happy so far with shopify for another shop.

The ~10% shortfall you measured strongly supports the explanation above, and the math may be useful to include in your Shopify Support ticket.

Take a tax-inclusive price P on a product that should carry 7% VAT. The correct net price is P ÷ 1.07. If Shopify instead backs VAT out using the standard 19% rate, the result is P ÷ 1.19.

The difference is:

1 − (1.07 ÷ 1.19) = 10.1%

That’s almost exactly the shortfall you’re seeing. So this looks much more like Shopify backing the standard 19% rate out of reduced-rate items when the exemption is applied than a rounding issue. I’d include that arithmetic, along with one concrete affected order, in the support ticket.

While that ticket is open, a couple of interim approaches are worth testing:

  • Tax-exclusive pricing for B2B customers, where your Shopify setup allows it. The underlying problem here comes from Shopify having to back VAT out of a tax-inclusive price; starting with a net price avoids that particular calculation.

  • Draft/manual orders for known B2B customers, with the final amounts checked before the order is issued. It’s not elegant, but for lower volumes it can prevent the reduced-rate pricing error from carrying through.

One downstream thing I’d also check is the invoice itself. For a qualifying intra-EU B2B sale of goods, the invoice needs both the seller’s and buyer’s VAT IDs and must indicate that the intra-Community supply is VAT-exempt — commonly, for a German seller, with wording such as “steuerfreie innergemeinschaftliche Lieferung.”

That’s a different VAT mechanism from the “reverse charge” treatment generally associated with cross-border B2B services, even though the terms sometimes get used loosely in Shopify discussions.

So whatever invoicing setup you use, I’d run one mixed-product B2B test order and verify the invoice amounts independently rather than assuming the checkout values carried through correctly.

That matters because if checkout has calculated the underlying net amounts incorrectly, an invoicing app that simply consumes those order values can faithfully reproduce the same error on the invoice.

Would be very useful if you post back what Shopify Support concludes. There’s also a very similar Shopify Community thread involving tax-exempt customers and reduced VAT rates, so this doesn’t appear to be an isolated edge case.

Disclosure: I build Facturely, an invoicing app in this space, so I’m not neutral on the invoice-layer point — but the diagnosis and workarounds above apply regardless of tooling.