top of page

How Does Shopify Handle Taxes? VAT, Duties and Overrides

Writer: Customs Buddy
Customs Buddy
Jan 1, 2024
10 min read

Updated: Sep 23

Shopify calculates sales tax and VAT at checkout, based on where you sell from and where the order is going. It doesn't file or pay that tax, unless you're in the US and pay for Shopify Tax's automated filing. Duties and import taxes run on a separate system, which you can switch on at checkout on any plan.

Once the customer has paid, Shopify hands the rest back to you: registering for tax, filing outside the US, and a document almost nobody mentions — a commercial invoice for every international order. This guide follows the money from checkout to the border: who calculates, who collects, who files, and which paperwork has to prove it.

Table showing who handles each kind of tax on a Shopify order. Four rows: sales tax and VAT, EU import VAT on orders of 150 euros or less through IOSS, duties and import taxes including the 3 euro EU duty, and the commercial invoice. Columns show who calculates, who collects, who files or pays, and the document involved. Shopify calculates and collects the first three at checkout. You file and pay, except US sales tax returns, which Shopify Tax can file for a fee. The commercial invoice row shows Shopify sends you to the carrier's website to create it. A footnote says that on Managed Markets, Global-e handles duties, tax remittance and commercial invoices.

Does Shopify calculate sales tax automatically?

Yes. How well depends on which of Shopify's three tax services your store is on, which in turn depends on your country.

Tax service

Where it's available

What it does

Shopify Tax

US, EU, UK, Canada

Category rates, US "rooftop accuracy", state fees/holidays, liability insights, US filing, EU/UK VAT invoices

Basic Tax

Norway, Switzerland, Australia, New Zealand, Singapore

Standard automatic rates, without the Shopify Tax extras

Manual Tax

Every other country

You set the rates yourself

Third-party tax apps work everywhere, on top of any of these. Basic Tax is also closing to new stores: new US ones can't enroll as of 14 July 2025, and Canada/EU/UK stores only keep it if set up to collect tax before 13 May 2026 — after that, you're on Shopify Tax.

What does Shopify Tax cost?

At the time of writing, Shopify Tax is free up to $100,000 USD in sales (or the EUR, GBP or CAD equivalent) — an annual allowance for stores created before 13 May 2026, a lifetime one for stores created after.

Past the allowance, Shopify's pricing page lists:

Region

Basic, Grow, Advanced

Plus

US

0.35%

0.25%

EU, UK, Canada

0.25%

0.15%

Capped at $0.99 per order, charged only where you've turned tax collection on.

Does Shopify file and pay your sales tax?

Mostly no. Shopify's tax overview puts it plainly: "Tax is your responsibility. Shopify doesn't remit or file your taxes for you, unless you use Shopify Tax and set up automated filing."

That automated filing is US-only — monthly, quarterly, semi-annual and annual returns, at $75 per generated return on Basic, Grow and Advanced ($50 on Plus, at the time of writing), paid per return and non-refundable if it can't be filed due to errors.

Shopify also doesn't register you — you register with each state or tax authority yourself, then add that registration in Shopify so it starts collecting.

How Shopify tells you where you owe US sales tax

Shopify Tax includes liability insights, under Settings > Taxes and duties > United States, tracking physical and economic nexus by state (the connection, through a warehouse or enough sales, that obliges you to collect that state's tax) on net sales — after refunds, shipping and tax — moving a state to "Monitoring" at 80% of its threshold. Two caveats: updates can lag a few days, and it's "not a substitute for advice from a tax authority."

How does Shopify handle VAT for EU and UK sales?

Shopify Tax calculates EU and UK VAT — the sales tax Europe charges on most goods — at checkout. Three settings matter most.

OSS and the €10,000 threshold

Since 1 July 2021, one EU-wide €10,000 distance-selling threshold has replaced the old per-country ones. Above it, charge the VAT rate of the customer's country, reported through OSS (the EU's One-Stop Shop, a single VAT return for all EU countries) or local registrations, set up in Shopify. If you've read about "VAT MOSS," that's outdated — it was replaced by OSS in 2021.

IOSS for EU orders of €150 or less

IOSS (the Import One-Stop Shop) lets Shopify collect EU VAT at checkout for merchants outside the EU, on orders of €150 or less, so the customer doesn't get a VAT bill on delivery; orders over €150 get import VAT and duties at the border instead. It's a VAT scheme, not customs clearance, and doesn't cover the separate €3 EU duty — see what changed with the EU €150 exemption and the €3 duty.

To set it up: Settings > Taxes and duties > European Union, find Collect on orders shipping to the EU (IOSS), click Collect import VAT and enter your IOSS number (the page's VAT invoices setting is a tax document for your customer, not a customs invoice). Your IOSS number also has to appear on the paperwork travelling with the parcel, not only in Shopify.

Customs Buddy location settings for a warehouse in Leeds. The Tax credentials panel holds two VAT numbers, a UK and a Dutch one, plus an IOSS number and an EORI number, both highlighted, with empty MID and REX fields below. On the left, the company name, contact, export email and DDP terms of sale that fill the From section of every invoice from this location.

VAT-inclusive prices

UK and EU shoppers expect prices with VAT included; US shoppers expect tax added at checkout. Dynamic tax display handles both — turn it on under Markets > [market] > Taxes and duties > Tax display > Dynamic tax display. It adjusts product prices only, not shipping rates, and has one catch that matters later: Shopify says "any tax overrides won't be recognized when using dynamic tax-inclusive pricing."

For B2B orders, Shopify validates a business buyer's VAT number automatically, whether entered at checkout or saved on their profile, and applies reverse charge on cross-border EU/UK B2B orders where your fulfilment location differs from the destination — so the buyer accounts for the VAT instead of you.

Does Shopify collect duties and import taxes?

Yes, if you turn it on. Duties are charged by destination customs when goods cross the border — a different tax from sales tax or VAT — and have been available on every Shopify plan since 2 February 2025 (previously Advanced or Plus). Choose whether they show as a line item at checkout or are built into the price, under Markets > [market] > Duties and taxes; either way, the customer pays estimated duties up front.

What it needs from you:

  • HS codes and country of origin on your products — without one, Shopify estimates duty from the description and category instead.

  • A DDP-capable carrier if you buy labels in Shopify; it doesn't work with Shopify Fulfillment Network.

At the time of writing, the duty-calculation fee is 0.5% — "temporarily lowered" from 0.85% (Shopify Payments) or 1.5% (other gateways), with no published end date — applied to every order with calculated duties, even at zero, but not to domestic or intra-EU ones.

DDP vs DAP, and why the label matters

Incoterms decide who pays shipping and duty. DDP (delivered duty paid) means you pay the import costs; DAP (delivered at place) means the customer pays the carrier on delivery. If Shopify collected duties at checkout, ship on a DDP label — otherwise the carrier bills your customer again at the door, and they pay twice. At the time of writing, Shopify Shipping offers DDP labels with Canada Post (to the US only), DHL Express, DHL Express Canada and DHL eCommerce.

What changed in 2025 and 2026

Two border rules moved underneath this. US de minimis is gone: it stopped applying to US shipments on 29 August 2025, and Canada Post CA-to-US shipments have needed DDP since 28 August (more on what that means for your paperwork). The EU now charges €3 per tariff line: from 1 July 2026, qualifying orders of €150 or less into the EU pay a flat €3 duty, handled automatically with duty calculation or Managed Markets — no settings change needed.

Managed Markets: when Global-e takes over

Managed Markets is Shopify's merchant-of-record service, run by Global-e, handling duties, tax remittance, registrations, HS code assignment and commercial invoices for you. It costs 3.5% (3.25% on Plus) plus FX/Payments fees, needs Basic plan or higher and Shopify Payments, and covers continental-US businesses plus certain Canadian and UK stores. Since mid-2026, every market moved from DDU (delivered duty unpaid) to DDP by 24 August, and duties can be built into product prices with no duty line at checkout. If your orders go through it, most of the "what's left to you" section below doesn't apply.

How do tax overrides and exemptions work in Shopify?

Overrides charge a different rate than Shopify's default, for a collection or for shipping. Exemptions stop charging tax to a specific customer.

Product and collection overrides

  1. Go to Settings > Taxes and duties and pick the country.

  2. Open Product overrides and click Add override.

  3. Choose the collection.

  4. Pick the region and enter the tax rate.

  5. Click Add override.

It only works with manual collections, not automated ones or app-added products. On Shopify Tax, product categories set rates by type and "reduce the need for tax overrides," in Shopify's words.

Shipping overrides, including the EU

Shopify admin European Union tax settings. Cards from top to bottom: Collect VAT in an EU country, Collect VAT cross-border, Collect on orders shipping to the EU (IOSS) with the note Applies VAT on orders up to €150 and a Collect import VAT button, Company VAT number for reverse charge, VAT invoices with a Generate and display invoices when orders are placed checkbox, Tax rate management, then Shipping overrides and Product overrides, both showing To use overrides, you need to collect VAT.

Shipping overrides set the rate charged on shipping:

  1. Go to Settings > Taxes and duties and pick the country. For the EU, choose European Union.

  2. Open Shipping overrides and click Add override.

  3. Pick the region.

  4. Enter the rate and save.

The full EU path is Settings > Taxes and duties > European Union > Shipping overrides; the card (and product overrides, right below it) only work once you collect EU VAT — until then Shopify shows "To use shipping overrides, you need to collect VAT." Shopify notes that "shipping tax overrides take effect regardless of whether you have a tax policy in place."

Customer tax exemptions

  1. Open Customers and select the customer.

  2. Click ⋯ and choose Manage tax settings.

  3. Pick Collect tax, Don't collect tax, or Collect tax unless exemptions apply. The last one lets you choose exemptions from a list.

  4. Click Save.

When overrides silently stop working

Overrides fail without an error message. Four cases, from Shopify's docs:

  • Duties are on for that region. "When duties are activated, the system doesn't use tax overrides for that region because duties and import taxes are calculated using a different method."

  • Dynamic tax-inclusive pricing is on. Overrides aren't recognised.

  • The product is in an automated collection, or was added by an app.

  • You set a US state override, which drops local taxes and risks undercharging — overrides work only at country or state level, not city or district, and on a bundle the override is ignored and its components are taxed instead.

What does Shopify leave to you?

More than checkout suggests. Registration, filing outside the US, and checking the numbers are all yours, under Analytics > Reports (US/Canada sales tax reports need Shopify Tax).

Then there's the commercial invoice — your exporter's statement of what's in the parcel, what it's worth and where it was made, which customs reads line by line. Shopify's page on post-checkout duties tasks gives you a to-do list for every international order where it collected duties:

  • Create a commercial invoice for the order.

  • Mark the terms DDP.

  • Make sure it matches the Shopify order on HS code, country of origin, price after discounts, quantity, and the duties and import tax collected.

  • Buy a DDP label so the customer isn't charged twice.

For creating the invoice, Shopify points you to the carrier's website — it no longer generates one itself, and merchants have reported that since late 2023. Put simply: Shopify collected the duties at checkout, and now wants a commercial invoice whose HS codes, discounted prices and duty total match that order, typed on the carrier's site. Nor is the VAT invoice Shopify Tax generates for some EU/UK orders (not Portugal) a substitute: it's for the buyer, with VAT IDs and a business name, not HS codes or origin.

Comparison table of what Shopify's native documents contain against what a commercial invoice needs. Four columns: order invoice, Shopify Order Printer invoice, shipping label customs form, and commercial invoice. Six rows: HS code, country of origin, EORI or IOSS number, Incoterm, signature, and many product lines. The order invoice has none of the customs fields. Order Printer has no HS code or origin field and can carry EORI or Incoterm only as hard-coded text. The label customs form takes HS code and origin typed per label, DDP or DAP on DHL Express, and caps USPS forms at 3 or 10 lines; Shopify's docs don't say whether it carries EORI, IOSS or a signature. Only the commercial invoice column is filled in every row.

Discounts are where hand-built invoices slip first: the invoice needs the price after discounts, and a copied list price overstates customs value. At 200 EU orders a month, that's not something to retype and cross-check by hand daily — it's the job Customs Buddy does, building the invoice from the Shopify order: HS code and origin per line, units, value, currency, DDP or DAP terms from the shipping location, and a totals block for freight, insurance and delivery duties paid. Discounts can be baked in or shown separately, and finalized invoices locked against further edits.

Customs Buddy makes the document — it doesn't calculate or collect tax, file returns or declarations, pay duties, or act as your broker, and on Managed Markets orders you don't need it, since Global-e already handles the commercial invoice. For the step-by-step, see how to create a commercial invoice for a Shopify order; to run it without clicking, see automating the invoice once duties are collected.

Example commercial invoice generated by Customs Buddy for an order shipped from Leeds, United Kingdom to Berlin, Germany. The From section lists the seller's company name, address, VAT, EORI and IOSS numbers next to the invoice date, invoice number, DDP terms of sale and reason for export. Ship To and Sold To show the buyer. Three lines give units, a material-based description, a six-digit HS code, a two-letter country of origin, unit and total value in euros. The footer has the declaration statement, shipper, signature and totals including freight and tax.

What to actually do

  1. Check which tax service you're on — Shopify Tax, Basic Tax or Manual Tax decides what's automatic.

  2. Register where you owe tax and add it in Shopify, then decide who files — Shopify doesn't register you, and only US Shopify Tax automated filing covers filing for you.

  3. Add HS codes and country of origin to every product you ship abroad — duty calculation and the invoice both depend on them.

  4. Ship on DDP labels if you collect duties, or your customer pays twice.

  5. Re-test overrides after turning on duties or dynamic tax display — both switch them off.

  6. Produce a commercial invoice for every international order, matching HS code, origin, discounted price, quantity and duties collected.

FAQ

Does Shopify pay my taxes for me?

No. It calculates and collects tax at checkout, and files US sales tax returns only with Shopify Tax automated filing ($75 or $50 per return, at the time of writing). It never registers you.

Is Shopify Tax free?

Up to $100,000 in sales — annual for stores created before 13 May 2026, lifetime for newer ones. After that it's 0.15% to 0.35% depending on region and plan, capped at $0.99 per order, at the time of writing.

Why is my Shopify tax override not working?

Usually one of three things: duties are active for that region, dynamic tax-inclusive pricing is on, or the product sits in an automated collection. Shopify ignores the override in all three.

Does Shopify charge the €3 EU customs duty at checkout?

Yes, automatically from 1 July 2026, with duty calculation or Managed Markets. No settings change is needed.

Does Shopify create the commercial invoice when it collects duties?

No, unless you're on Managed Markets, where Global-e does it. Otherwise Shopify tells you to create one per order, mark it DDP and match it to the order.

Shopify now handles more tax than it used to — sales tax, VAT, duties at checkout, even US filing. What it doesn't do is produce the document customs checks all of that against.

Customs Buddy turns each international Shopify order into a commercial invoice with HS codes, country of origin, discounted prices, DDP terms and the right VAT, IOSS or EORI number for its shipping location. It makes the document — it doesn't file your tax returns or customs declarations, pay your duties, or act as your broker. Install it, generate an invoice for a real order that had duties collected (Free plan, 10 a month), and compare it line by line with the Shopify order.

bottom of page