VAT, OSS & outside the EU
How VAT is calculated
The VAT settings and the rule behind every VAT amount in the checkout: customer country, VAT category and B2B with VIES.
This is where you set up VAT.
Where: Settings › Tax & VAT. You choose the VAT category on the product.
The settings
| Setting | What it does | Default | Limits |
|---|---|---|---|
| VAT identity | Shows Home country, Base currency and VAT number. The OSS stamp shows the VAT scheme. | OSS | BunStack sets the home country and base currency when it creates the workspace. You cannot change them or the VAT scheme in the admin. |
| VAT number | Printed on receipts and invoices. You save it with Save VAT number. | Empty | Two letters for the country, then the number. No storefront can go live without a number. |
| B2B reverse charge (0 % for validated EU VAT numbers) | A business in another EU country pays 0 % when VIES accepts the VAT number. | Off | Saved when you tick the box. |
| Rate book · destination countries | Shows today's rates for every country a storefront sells to. | – | A dash means the country's standard rate applies. |
| Outside the EU · export or destination VAT (VOEC / UK) | Chooses export or the country's VAT for countries outside the EU. | Export | See VOEC and countries outside the EU. |
| VAT category | Chooses the rate for the product. The field is in the product's PRICE card. | Standard | Variants inherit the product's category. |
The VAT number, the B2B box and the countries outside the EU need the owner or admin role. The countries in the rate book are the storefronts' shipping countries. You choose them under Storefronts › [storefront] › Checkout.
The rule, step by step
- The delivery country decides. If it is missing, the home country decides.
- The home country gives the home country's rates. The order is domestic.
- Another EU country gives that country's rates, under OSS.
- A country outside the EU gives 0 % as an export. The exception is a country where you are registered. See VOEC and countries outside the EU.
- A business in another EU country gets 0 % when all three are true: B2B reverse charge is on. VIES accepts the VAT number. The number's country is the delivery country.
- The product's VAT category chooses the rate: Standard, Reduced, Reduced (alt.), Super-reduced or Zero. If the country lacks the category, the country's standard rate applies.
The rate book has every EU country with validity dates. The checkout uses the rate that applies on the day of purchase. A buyer with a VAT number from the home country always pays VAT.
VIES
- BunStack asks VIES when the customer enters a VAT number in the checkout.
- An answer is valid for 30 days. BunStack does not ask VIES about the same number again during that time.
- If VIES does not answer within 8 seconds, the checkout charges VAT. BunStack does not keep that answer.
- The order stores the VIES answer. The OSS report shows it per order.
What the customer sees
- With B2B reverse charge on, the checkout shows the step “Företag (valfritt) / Business (optional)” with the field “Momsregistreringsnummer / VAT number”.
- The order confirmation has a “Momsspecifikation / VAT breakdown” with the taxable amount and VAT per rate.
- With reverse charge it shows “Omvänd betalningsskyldighet / Reverse charge” and the VAT number instead of the rates.
- At 0 % without reverse charge it shows “Ingen moms på denna order. / No VAT on this order.”
Price, discount and shipping
- With Prices include VAT (B2C default) on, the price is the same in every country. BunStack works out the VAT at the delivery country's rate. The box is under Storefronts › [storefront] › Checkout and is on by default.
- At 0 % the customer pays the same price. The price then contains no VAT.
- With the box off, the checkout adds the delivery country's VAT to the price.
- BunStack spreads the discount over the lines before it calculates VAT. The parts add up to the cent.
- Shipping VAT follows the goods. BunStack splits shipping over the goods' rates in proportion to their value excluding VAT. A basket with only 25 % goods gives 25 % on shipping.
- Kustom receives one shipping line per rate.
What the order stores
The order stores the rate, the taxable amount and the VAT per line, and the shipping VAT per rate. It also stores the VAT number, reverse charge, currency, rate and totals in the base currency. The rates on an order never change afterwards.
Reports and Analytics convert to the base currency at the rate on the order. The VAT reports do not. They convert at the ECB rate for the quarter's last day, under Article 369h of the VAT Directive (2006/112/EC). If the ECB has no rate for the currency, the report does not count the order. It lists the order under Warnings in the OSS report, and you declare it by hand.
Case matrix
| Customer | The checkout charges | Report |
|---|---|---|
| Consumer in the home country | The home country's rates | The ordinary VAT return |
| Consumer in another EU country | That country's rates | The OSS report |
| EU business with a valid VAT number, B2B on | 0 % | EC sales list |
| Outside the EU without registration | 0 % export | Shown as export and not declared |
| Outside the EU with registration (VOEC, UK, CH) | That country's rates | Own table for that country's return |
| An item above the country's ceiling | 0 % on the whole consignment | Export |
See also
- The OSS report quarter by quarter
- VOEC and countries outside the EU
- The checks before go-live: the Tax & VAT check blocks until the VAT number is valid.
- Base currency and more currencies