Seller in Ireland, customer in Netherlands, electronically supplied service. Answers below are live responses from a working API, not written from memory.
Charge NL VAT at 21% (customer's country) and report via the One-Stop Shop (OSS).
Charge NL VAT at 21% (customer's country) and report via the One-Stop Shop (OSS).
For digital goods sold to EU consumers the place of supply is where the customer belongs, so the customer's national rate applies and it is reported through the One-Stop Shop. Applying the seller's own rate is the single most common mistake in hand-rolled checkouts.
B2C electronically supplied services taxed where the customer belongs (Art. 58); reported via OSS.
| Case | Charge VAT? | Rate | Mechanism |
|---|---|---|---|
| Consumer (B2C) | Yes | 21% | standard |
| Business with VAT ID (B2B) | Yes | 21% | standard |
| Standard digital rate in Netherlands | 21% (VAT) | ||
curl "https://checkout-tax-api.pages.dev/decide?seller_country=IE&buyer_country=NL&product_type=digital"
Free, no key. A valid VAT number in buyer_vat_id flips it to reverse charge.
The decision above — place of supply, reverse charge, out of scope, and the invoice wording for each — is about 30 branches once you cover the EU, UK, US, Canada and Australia. It also ships as a one-time $49 self-host kit — full source, tests, and a one-command deploy to your own Cloudflare Worker. The hosted API is free either way.