BunStackDocs

VAT, OSS & outside the EU

How VAT is calculated

The rule behind every VAT amount in the checkout: the customer's country, your VAT scheme, the product's category and B2B.

Last updated · 3 min read · Suggest an edit

The settings that decide

Under Settings › Tax & VAT:

FieldEffect
VAT scheme OSSEU customers are charged the destination country's rate. Requires OSS registration with your tax agency
VAT scheme Home country onlyAlways the home country's rate, for sellers under the EU threshold of €10,000 per year
B2B reverse chargeOn: businesses in another EU country with a valid VAT number get 0 %
Default tax categoryFor products without their own category
Countries outside the EUExport 0 % by default, or destination VAT under a registration (VOEC, UK)

The rule, step by step

  1. Delivery country decides. If missing, the home country is used.
  2. Home country → the home country's rates. The order is domestic.
  3. EU country → the destination country's rates under OSS, otherwise the home country's. The rate book has every EU country with validity dates, so an old order is calculated against the rate that applied then.
  4. Outside the EU → 0 % (export), unless you hold a registration in the country. See VOEC and countries outside the EU.
  5. Business in the EU with a valid VAT number and the B2B toggle on → 0 % and the order is marked as reverse charge. The number is checked against VIES; the answer is cached for 30 days. If VIES is down, VAT is charged.
  6. The product's tax category picks the row in the rate book: standard, reduced, alternative reduced, super-reduced or zero. If the category is missing in the country, the country's standard rate is used.

Shipping, discounts and rounding

  • Discounts are allocated across the lines before VAT is calculated, to the cent.
  • Shipping is taxed in proportion to the goods' VAT rates: only 25 % goods give 25 % on shipping; a mixed basket gives apportioned shipping VAT. Kustom receives one shipping line per rate.
  • Prices including VAT means the gross price is the same in every country and VAT is backed out at the destination rate. At 0 % the customer pays the gross price without VAT.

What the order stores

Rate, taxable amount and VAT per line, shipping VAT per rate, VAT number and reverse charge, currency, rate and totals in the base currency. Reports never recalculate afterwards.

Case matrix

CustomerThe checkout chargesReport
Consumer in the home countryHome country's ratesOrdinary VAT return
Consumer in the EU, OSSDestination country's ratesThe OSS report
Consumer in the EU, home country onlyHome country's ratesOrdinary return
EU business with valid VAT number, B2B on0 %EC sales list
Outside the EU without registration0 % exportShown as export, not declared
Outside the EU with registration (VOEC, UK)The country's ratesOwn table for declaration to that country
Item above the country's ceiling0 % on the whole consignmentExport