VAT

Shopify Reverse Charge VAT for EU B2B: Correct Bookkeeping in Moneybird

Shopify Reverse Charge VAT for EU B2B: Correct Bookkeeping in Moneybird

If you sell via Shopify to businesses in other EU countries, you will encounter reverse charge VAT sooner or later. In Dutch it is called “btw verlegd.” It sounds simple in theory, but in practice things go wrong in three places: in Shopify, in your bookkeeping, and on the invoice itself. This article explains how reverse charge VAT works for EU B2B sales, what the common mistakes are, and how Schakel fully automates the accounting process in Moneybird.

What is reverse charge VAT?

Reverse charge VAT is an EU-wide rule that applies to cross-border supplies to VAT-registered businesses. Instead of you as the seller calculating VAT and remitting it to the tax authority, the VAT obligation shifts to the buyer. The buyer processes the VAT as output tax in their own return in their own country.

The invoice shows 0% VAT with the note “reverse charge” or in Dutch “btw verlegd.” The customer’s VAT number must always appear on the invoice. If this number is missing or invalid, you cannot apply the reverse charge mechanism and you as the seller become liable for the VAT yourself.

When does reverse charge apply?

Reverse charge applies to cross-border B2B supplies of goods or services when:

  • The buyer is a VAT-registered business in another EU country
  • The buyer has a valid EU VAT number
  • The transaction is an intra-community supply (ICS) or service

For supplies to businesses outside the EU, export rules apply and 0% VAT is used anyway, but without the EU reverse charge mechanism.

Reverse charge VAT in Shopify: how does it work?

Shopify supports reverse charge for EU businesses, but the configuration is not always straightforward. In Shopify you can mark customers as a “company” and store a VAT number. When a European business customer with a valid VAT number places an order, Shopify automatically calculates 0% VAT.

Common Shopify pitfalls

In practice, we regularly see the same problems with reverse charge VAT in Shopify stores:

VAT number not validated. Shopify stores VAT numbers but does not always automatically validate them against the EU’s VIES database. An invalid or inactive VAT number still results in 0% VAT, even though that is not correct from a bookkeeping or tax perspective. Always verify VAT numbers via the European Commission’s VIES portal.

VAT number not entered by the customer. In Shopify, customers can enter their VAT number at checkout, but this field is not always clearly visible or mandatory. As a result, business customers sometimes place orders without a VAT number, and Shopify calculates the standard VAT rate. Your customer then receives an invoice with VAT instead of reverse charge.

Shopify B2B portal not configured. Shopify offers a separate B2B portal for wholesale and business customers. If you do not use this, reverse charge may not be applied automatically. Make sure your tax settings under “Settings > Taxes and duties” are correctly configured for the EU.

Invoice description missing required legal text. An invoice with reverse charge must include specific text: “reverse charge” or “btw verlegd” and the customer’s VAT number. Shopify itself does not generate compliant invoices. This is exactly where Moneybird and Schakel take over.

Correctly booking reverse charge VAT in Moneybird

In Moneybird, intra-community supplies (ICS) are a separate category. You record them on a specific ledger account for ICS revenue, and the VAT rate is 0% with the code “ICS” or “reverse charge.” In your VAT return, these supplies appear in the section for intra-community deliveries.

If you do this manually for every Shopify order, it takes a significant amount of time. For each order you need to:

  • Check whether it involves an EU business with a valid VAT number
  • Create an invoice in Moneybird with 0% VAT (ICS)
  • Add the customer’s VAT number to the invoice
  • Link the correct ledger account
  • Add the description “reverse charge”

With a handful of orders per month this is manageable. But when you process dozens or hundreds of business orders, it becomes unsustainable.

Ledger accounts for reverse charge VAT in Moneybird

For ICS supplies, you typically use the following account structure in Moneybird:

  • ICS revenue account (e.g. 8010): For revenue on intra-community supplies
  • 0% VAT rate ICS: Available by default in Moneybird, linked to the correct section of the VAT return

Ask your accountant which accounts apply to your specific administration. Schakel allows you to configure the ledger account per transaction type.

How Schakel automates reverse charge VAT

Schakel reads the VAT information from every Shopify order. If Shopify has calculated 0% VAT for an EU business customer, Schakel recognizes this as an intra-community supply. The invoice is then automatically created in Moneybird with:

  • The 0% ICS VAT rate on the correct ledger account
  • The customer’s VAT number on the Moneybird contact and on the invoice
  • The note “reverse charge” in the invoice description
  • The business name and billing address of the business customer

You never need to manually check whether an order should be booked as an ICS. Schakel does this automatically based on the VAT data from Shopify.

Combining with other VAT scenarios

Most Shopify stores do not exclusively process EU B2B orders. Alongside reverse charge, you also handle:

  • Domestic B2C orders at 21% or 9% VAT
  • EU B2C orders via the OSS scheme
  • Exports outside the EU at 0% VAT (export rule)

Schakel processes all these scenarios automatically. You do not need to determine which VAT rule applies to each order. For more on how the OSS scheme works alongside reverse charge, see our article on the OSS scheme for Shopify and EU sales.

Practical example: B2B order from Germany

Say a German company places an order in your Shopify store. They entered their VAT number at checkout. Shopify calculates 0% VAT. What happens automatically via Schakel?

Schakel receives the order and sees that 0% VAT has been calculated for a customer in Germany with a VAT number. The system creates a Moneybird contact for this company (or links to an existing one) with the VAT number in the EU VAT number field. An invoice is then created with 0% VAT on the ICS account, with “reverse charge” in the description and the customer’s VAT number visible on the invoice.

You do not need to do anything. The invoice is ready in Moneybird, correctly categorized for the VAT return and ready to send to the customer.

Reporting and compliance in Moneybird

For your VAT return, you need to report the total revenue from intra-community supplies each quarter. If all orders are correctly booked via Schakel, you can simply filter by the “ICS” VAT rate in Moneybird and retrieve totals per period.

Beyond the regular VAT return, as a supplier you are also required to submit an EC Sales List (ESL). This lists the total amount of ICS supplies per customer. With Moneybird as your base, you can compile this list easily, as long as the contacts have the correct VAT numbers. Schakel takes care of this automatically.

For more on general VAT processing from Shopify to Moneybird, see our article on VAT processing in Moneybird from Shopify. And if you also work with business customers who order without EU reverse charge, see our article on B2B invoices via Shopify to Moneybird.

Checklist: reverse charge VAT done right

Use this checklist to verify that your reverse charge VAT setup is correct:

  • Shopify collects VAT numbers from EU business customers at checkout
  • Shopify calculates 0% VAT for EU businesses with a valid VAT number
  • VAT numbers are validated (manually via VIES or via an app)
  • Moneybird has a 0% VAT rate “ICS” configured
  • Schakel is connected and configured to recognize ICS orders
  • Invoices include “reverse charge” and the customer’s VAT number
  • You file an EC Sales List (ESL) each quarter

Want this handled automatically? Pick your connector.

Back to the blog