International tax

Shopify EU Tax & VAT on Personalization Options

Personalization option fees are VAT-liable in the EU at the destination country's rate. A €5 photo-upload fee sold to a Spanish buyer carries 21% Spanish VAT; the same fee sold to a German buyer carries 19% German VAT. Get the display, collection, or remittance wrong and you owe back taxes across 27 member states. Here is the OSS setup, the country-by-country rates, and the display rules that satisfy EU consumer law.

Last updated: August 23, 2026~13 min readBy the Print It My Way team

Not tax advice. This article is a technical implementation reference for Shopify merchants selling personalization options into the EU. Consult a qualified EU tax advisor for compliance with your specific circumstances — VAT rules vary by product type, buyer type (B2B vs B2C), and country of establishment.

The OSS one-stop shop (post-July 2021)

Since July 2021 the EU consolidated cross-border e-commerce VAT reporting into the One-Stop Shop (OSS) scheme. If you're a non-EU seller shipping personalized products to EU consumers, or an EU seller shipping to consumers in other EU countries, you register once (typically in one EU member state or, for non-EU sellers, in a member state of your choice), file one quarterly OSS return covering all 27 countries, and pay the aggregated VAT to your chosen tax authority. They redistribute it. This replaces registering separately in each country you sell into once you exceed the €10,000 pan-EU threshold.

The IOSS import scheme (goods under €150)

If you ship personalized goods from outside the EU with a per-package value under €150, register for the Import One-Stop Shop (IOSS). Collect VAT at checkout at the destination country's rate, and packages clear customs without VAT being levied on the buyer. Above €150 per package, standard customs procedures apply and the buyer pays VAT + duties on delivery.

Standard VAT rates by EU member state

CountryStandard rateReduced rate (books, some print)
Germany (DE)19%7%
France (FR)20%5.5% / 10%
Italy (IT)22%10% / 4%
Spain (ES)21%10% / 4%
Netherlands (NL)21%9%
Belgium (BE)21%12% / 6%
Poland (PL)23%8% / 5%
Sweden (SE)25%12% / 6%
Denmark (DK)25%None
Ireland (IE)23%13.5% / 9%
Portugal (PT)23%13% / 6%
Greece (EL)24%13% / 6%
Austria (AT)20%13% / 10%
Finland (FI)24%14% / 10%
Luxembourg (LU)17%14% / 8% / 3%

Personalized apparel and printed goods almost always fall under the standard rate. Books can qualify for reduced rates in most member states — check per country if you sell personalized books.

Shopify tax settings (native)

Shopify Tax (or Shopify's Basic tax service) can register you for OSS via Avalara integration and auto-apply the correct destination-country rate at checkout. Enable it under Settings → Taxes and duties → European Union → Manage. Once configured, the VAT rate on option fees at checkout is automatic.

VAT-inclusive display (required by EU consumer law)

EU Directive 98/6/EC requires product pages sold to consumers to display prices including VAT. A €5 net option fee shown as "+€5.00" on the product page is illegal in most member states — it must show "+€6.00" (with 20% VAT already included, or your specific destination rate). Configure your Cart Transform to store option fees as gross (VAT-inclusive) amounts for EU markets; Shopify's tax engine reverse-calculates the net for reporting.

// Cart Transform: EU gross-inclusive option fee
const OPTION_FEES_EU_GROSS = {
  photo_upload: { DE: 5.95, FR: 6.00, IT: 6.10, ES: 6.05 }, // 19-22% VAT included
  rush_production: { DE: 9.52, FR: 9.60, IT: 9.76, ES: 9.68 },
};
// Shopify tax engine handles net reverse-calc automatically

Personalization services — goods or services?

Personalization applied to a physical product (engraving a mug, printing a photo on a shirt) is treated as part of the goods sale, VATed at the goods rate. Pure personalization services with no physical delivery (a design consultation) are B2C service VAT — always destination-country rate under OSS. Merchants who sell both should split line items and let Shopify categorize each.

B2B — the reverse-charge exemption

Sales to another VAT-registered EU business use the reverse-charge mechanism — you don't charge VAT, the buyer accounts for it in their country. Requires the buyer to provide a valid VAT ID at checkout, and you must verify it via VIES before invoicing. Shopify B2B checkout includes a VAT ID field; Shopify's tax engine validates it against VIES and removes VAT from the invoice automatically for verified B2B customers.

Invoice requirements

EU customers can request a VAT invoice for any purchase, and B2B customers require one for their own accounting. Invoices must include: your VAT number, the buyer's VAT number (if B2B), invoice date, unique sequential invoice number, description of goods (personalization spec + product), VAT rate, VAT amount, and total. Shopify generates compliant invoices automatically at checkout for B2B orders; D2C invoices are on-request via order confirmation email link.

Frequently asked questions

Do I have to charge VAT on Shopify personalization option fees in the EU?

Yes — personalization option fees are VAT-liable at the destination-country rate under the EU OSS scheme. Register for OSS in one member state and file one quarterly return covering all EU sales.

What is the OSS one-stop shop and when do I need it?

The One-Stop Shop is the post-July-2021 EU scheme that consolidates cross-border consumer VAT into a single registration and quarterly return. You need it once your total cross-border EU B2C sales exceed €10,000/year, or you can register voluntarily below that threshold to simplify reporting.

What is IOSS and how does it differ from OSS?

IOSS (Import One-Stop Shop) applies specifically to goods imported into the EU with a per-package value under €150. You collect VAT at checkout at the destination country's rate; the package clears customs without further VAT. OSS applies to intra-EU distance sales.

How do I display VAT-inclusive prices for EU personalization?

Configure your Cart Transform to store option fees as gross (VAT-included) amounts for EU markets. Shopify's tax engine reverse-calculates the net for reporting. Product pages must show gross prices under EU Directive 98/6/EC.

Do B2B EU buyers pay VAT on personalization?

No — verified VAT-registered EU businesses use the reverse-charge mechanism. They provide their VAT ID at checkout, you verify it against VIES, and the invoice is issued net of VAT (they self-account).

What VAT rate applies to personalized t-shirts in Germany?

The standard German rate — 19%. Personalization is treated as part of the goods sale, not a separate service, so the goods rate applies.

Does Shopify automatically handle EU VAT on option fees?

Yes with Shopify Tax enabled — the tax engine applies destination-country rates at checkout and includes option fees in the tax calculation. You still need to register for OSS and file quarterly returns; Shopify calculates but doesn't file for you.

What happens if I don't register for OSS?

You must register for VAT separately in every EU country you sell into once you exceed €10,000 pan-EU. Not registering while collecting VAT is illegal; collecting VAT and not remitting can trigger multi-country tax audits, back-tax assessments, and penalties.

Related reading

Try it free on Shopify

Print It My Way's permanent Free plan supports VAT-inclusive display, OSS-compatible Cart Transform pricing, and EU B2B reverse-charge — works with Shopify Tax out of the box.

Install Print It My Way