Shopify VAT: how to handle Danish VAT and EU VAT correctly
When you sell from a Danish webshop, VAT is not a detail you can put off. In short, Shopify VAT is about charging the right rate to the right customer and then being able to report it correctly. In this guide we walk through how to handle Danish VAT and EU VAT correctly in Shopify, so you avoid the classic mistakes that only surface when the accounts need to be reconciled.
The short answer to the question many people ask, namely whether there is VAT on Shopify: Shopify is a platform, not a tax authority. Shopify does not charge VAT on your behalf by itself. You set up your rates and rules, and Shopify calculates and adds VAT to orders based on your configuration. The responsibility for correct setup and reporting rests with you as the seller.
How to set up Danish VAT in Shopify
You will find the basic setup under Settings and then Taxes and duties in your Shopify admin. Here you register your business in the regions where you are liable for VAT. For a Danish webshop, you start by enabling VAT collection for Denmark, so that all sales to Danish customers have the correct 25 percent applied.
One important decision is whether your prices are shown including or excluding VAT. For pure B2C sales in Denmark, prices are typically shown including VAT, while B2B often requires prices excluding VAT. If you run both B2C and B2B from the same platform, as we see with many brands, price display and VAT logic must be set up so they follow the customer type. That is exactly the kind of setup we address from the start in a migration project.
Our recommendation is to test the setup with real test orders to different countries and customer types before you go live. A VAT error is rarely spotted at checkout, but it becomes expensive once it has been running for three months.
EU VAT, One Stop Shop and distance selling
When you sell to private customers in other EU countries, the distance selling rules apply. If your total sales to private individuals in the EU exceed a common EU threshold, you must charge VAT at the customer's own country rate, not the Danish one. In practice this means a German private customer must pay the German VAT rate, and a French customer the French rate.
To avoid having to register for VAT in every single country, you use the One Stop Shop scheme. With One Stop Shop you charge the local rates in Shopify, but report and settle everything through a single Danish filing. In Shopify you enable this under the European Union in the regional settings section, where you choose to collect VAT and enter your One Stop Shop registration. Shopify then adds the correct destination rates automatically.
If instead you sell to VAT registered businesses in other EU countries, the reverse charge rule applies. Here you typically do not charge Danish VAT, because it is the buyer's job to account for the VAT in their own country. This requires that you can validate the customer's VAT number, which should be part of your B2B setup.
Reporting and VAT deduction on EU purchases
How EU VAT is reported depends on whether it concerns your sales or your purchases. Sales to private individuals in other EU countries are reported through One Stop Shop, while ordinary EU sales to businesses are reported in your VAT return and in the system for EU sales without VAT.
The question of whether you can deduct VAT on purchases within the EU is tied to the reverse charge rule. When you buy goods or services from a business in another EU country, there is usually no VAT on the invoice. You calculate 25 percent Danish VAT of the amount yourself and report it as both input VAT and output VAT in your VAT return. The net effect is zero, provided the purchase relates to your VAT liable activity, and this is why you can effectively deduct the VAT. This happens in your accounting system, not in Shopify.
The point is that Shopify controls what the customer pays in the store, while reporting takes place in your bookkeeping system. A clean data transfer between the two is crucial for the numbers to add up.
How Mercive can help
Want to take this further? Read more here:
