Reverse charge not applied at Shopify checkout — the two paths that work, and the two that silently fail.
Cross-border B2B sales inside the EU are usually zero-rated: the buyer self-accounts for VAT at home (the legal name is the reverse charge). Whether Shopify's checkout actually applies it comes down to exactly two mechanisms — and when neither fires, the only symptom is a tax line that shouldn't be there.
Measured on real Shopify checkouts · August 2026 · Irish store → German buyers · €100 standard-rate product
§ 1 · The mechanism
Two ways to a zero-rated line, four measured outcomes.
Path one: a guest buyer types their VAT number into checkout, Shopify validates it live, and the charge drops to zero. Path two: the buyer's record carries a reverse-charge tax exemption — on the customer, or on a B2B company's location — and the tax engine zero-rates from the record. Everything else is a variation on those two, and both were measured working. The failures are what happens at their edges:
| Configuration | Checkout charged | ✓ |
|---|---|---|
| Guest typed a valid VAT number at checkout | €0.00 | ✓ |
| Exemption assigned on the buyer's record (Shopify Tax) | €0.00 | ✓ |
| B2B company: VAT number on file, no exemption assigned | €19.00 | ✗ |
| Manual Tax store: exemption on file, ignored by the service | €19.00 | ✗ |
Amounts and tax lines read from settled checkout summaries; the Manual Tax row was measured all the way to a completed order — €119.00 actually paid by a buyer whose record carried the exemption.
The two failing rows are different diseases with the same symptom. The B2B row fails because the VAT number and the exemption are separate facts and only the exemption prices the order. The Manual Tax row fails because manual-rates tax services don't apply exemptions at all — the record is correct and inert.
§ 2 · Check it yourself
Find out which path your store is relying on.
-
Check which tax service each region runs
Settings → Taxes and duties → the region. Shopify Tax applies customer and B2B exemptions; a downgraded (manual-rates) region does not — Shopify's own downgrade screen lists exemptions as a Shopify Tax capability.
-
Audit the records you're relying on
For B2B companies: the location's tax settings must carry an assigned exemption, not just a VAT number. For repeat wholesale customers checked out as regular customers: the exemption lives on the customer record.
-
Price the scenario, don't guess it
A draft order for the buyer in question, cross-border address, shows the tax line without ordering anything. Wait for totals to settle before reading, and re-check an hour after any settings change — tax changes propagate on a delay.
§ 3 · The continuous version
VATparity measures all four rows, on your store, on every scan.
Guest buyers, business buyers with and without reverse-charge exemptions, and Shopify B2B company accounts are all priced by Shopify's own tax engine — calculations only, nothing ordered or changed — and compared against a versioned EU/UK rate table. Discrepancies are reported only after they survive a re-check an hour or more later. The paid plan re-scans weekly and alerts you when an answer changes.
§ 4 · Related problems