
Logistics risks of relying 100% on Amazon fulfilment in Europe
4 March 2026
DONE ICS2 Phase 3 Is Here: What E-commerce Sellers Need to Know to Avoid Border Delays
5 March 2026

OUR GOAL
To provide an A-to-Z e-commerce logistics solution that would complete Amazon fulfillment network in the European Union.
If you sell into the EU for the first time, it’s easy to assume that “import taxes” are one single charge. Many US brands treat import duty and VAT as interchangeable — so once the duty is paid, the job feels done. And then the carrier invoice lands, showing a second, often higher amount labeled “VAT,” and margins suddenly look very different from what you planned.
This confusion is incredibly common among non-EU e-commerce sellers. You already know your HS Codes, you understand customs value, and you’ve shipped internationally before — but the way the EU handles VAT at the border works nothing like US sales tax. The result? Mispriced products, unexpected landed costs, and a lot of head-scratching during customs clearance.
This article walks you through the difference between import duties and VAT in a simple, structured way. You’ll see how each tax is calculated, what they apply to, and how to estimate the total amount you’ll actually pay when your goods arrive in Europe. By the end, you’ll be able to run accurate duty and VAT calculations yourself — and avoid the most common surprises at the EU border.

Why import duties and VAT are not the same
To many non-EU sellers, import duty and VAT blend together into one bucket of “border charges.” They appear on the same paperwork, they’re charged at the same moment, and the whole process feels like a single customs checkpoint. But at the border of the European Union these two taxes play entirely different roles — and understanding that difference is the key to calculating your real landed costs.
Import duty is essentially a tariff. It’s tied to what you’re importing, not where it’s going. The HS Code you choose determines the rate, which means the same shipment value can produce completely different duty outcomes depending on the product category. A makeup brush kit, a pair of sneakers, and a Bluetooth speaker may all be worth the same amount, but the EU will charge them different duty because they fall under different classifications.
VAT works on a different logic. It’s a consumption tax applied because the product is entering the EU market, not because of its category. And unlike duty, VAT isn’t calculated on just the product price. It’s applied to a broader base that includes the customs value and the duty. That’s why VAT often ends up being the larger number on the invoice — it’s simply calculated on more components.
Another layer of complexity comes from how the rates vary in practice — and the variation is significant enough to change your landing cost by several percentage points. Duty rates shift with the HS Code, so a cosmetic palette might face a completely different tariff than skincare or beauty tools, even if all three products fall under “cosmetics” in everyday language. VAT adds another variable: it’s tied to the destination country. Shipping the same $70 cosmetic kit into Germany means applying a 19% VAT rate, while delivering it to France triggers 20%, and sending it to the Netherlands applies 21%.
Those small percentage differences compound quickly because VAT is calculated on the customs value plus duty — so even a one-point increase in VAT doesn’t translate into a one-point increase in cost, but more.
How import duties are calculated
Import duty in the EU starts with one foundational element: the HS Code. Everything flows from that. Once your product is classified correctly, the EU tariff schedule assigns a specific duty rate to that HS Code — sometimes it’s zero, sometimes it’s a few percent, and sometimes it’s noticeably higher. For cosmetics, the rates tend to sit in the low-to-mid single digits, but the exact number depends on the precise category you choose. A makeup brush, a cosmetic bag, and a liquid foundation may all travel in the same parcel, yet each one can fall under a different duty rate.
After the HS Code comes the second key component: the customs value. In the EU, customs value typically includes the product cost plus international shipping and insurance up to the EU border. That means even small changes in freight cost slightly shift the basis on which duty is calculated.
Once you know both the customs value and the duty rate, the calculation itself is very straightforward:
Import Duty = Customs Value × Duty Rate
That’s the entire formula - but its accuracy depends entirely on the inputs — especially the HS Code. Misclassification can change the duty amount significantly, which is why EU customs authorities expect sellers to be consistent and precise in how they classify their goods. There's one more nuance many US sellers don’t expect: the duty calculation directly affects the VAT calculation that comes later, because VAT is charged on a base that includes the duty. So even a small duty rate feeds into a larger VAT number downstream. That’s one of the reasons EU landed costs behave differently than what most US brands are used to.

How VAT is calculated at EU borders
If duty feels relatively straightforward once the HS Code is set, VAT is where many non-EU sellers get tripped up — not because the math is difficult, but because the base for the calculation is broader than most expect. In the EU, VAT isn’t applied only to the product value. It’s applied to almost everything that brings the shipment to the EU border, plus the duty you just calculated.
The starting point is the same customs value used for duty: the product cost, international shipping, and any insurance charges that form the landed value before customs. Once the duty is added on top of that, the sum becomes the VAT base. That single detail — VAT being charged after duty — is what makes VAT amounts noticeably higher than many US sellers anticipate.
From there, the calculation follows a simple formula:
Import VAT = (Customs Value + Import Duty) × VAT Rate
And this is where country differences matter. Each EU destination sets its own VAT rate, and it applies immediately at import. Shipping the same cosmetic kit to Germany means 19% VAT; sending it to France applies 20%; delivering it to the Netherlands triggers 21%. With VAT calculated on a larger base, even a one-point difference between countries changes the final amount more than you might expect.
There’s one specific scenario where VAT doesn’t get charged at the border: when the shipment qualifies for IOSS. This applies only to B2C orders under €150 and only when the seller (or marketplace) is registered in the IOSS system. In that setup, VAT is collected directly from the customer at checkout, so by the time the parcel reaches EU customs, the VAT has already been prepaid and linked to the shipment through the IOSS number.
What’s important — and often misunderstood — is that IOSS changes only the VAT collection point, not the tariff rules. Customs still evaluates the shipment normally, and if the product’s HS Code carries a duty rate, that duty is still payable at import. IOSS doesn’t waive duty; it simply prevents the customer from being charged VAT again upon delivery. For a $70 cosmetic kit, that means VAT can be prepaid via IOSS, but any applicable duty based on the HS Code will still be charged at the border.
Practical example: US cosmetics brand shipping to Germany
To see how the duty and VAT formulas work in reality, let’s walk through a simple scenario. Imagine a small US beauty brand sending a cosmetic kit — a makeup bag filled with basic products — to a customer in Germany. The declared value is $70, and the shipment travels as a standard international parcel.
To keep the math straightforward, we’ll use an example exchange rate of $1 = €0.92. (In practice, customs uses the official monthly rate published by local authorities.)
Step 1: Convert the declared value to EUR
$70 × 0.92 = €64.40
Step 2: Determine the customs value
For this example, let’s assume the declared value already includes the cost of the items and the proportional shipping cost up to the EU border — meaning €64.40 becomes our customs value.
Step 3: Calculate the import duty
Cosmetics often fall into HS Codes where duty rates sit around the low single digits. For illustration, let’s use a 6.5% duty rate.
Import Duty = €64.40 × 6.5% = €4.19
Step 4: Build the VAT base
This is where many sellers miscalculate. VAT is not charged on the product value alone — it’s charged on customs value + import duty:
€64.40 + €4.19 = €68.59
Step 5: Apply the VAT rate
Germany applies a 19% standard VAT rate.
Import VAT = €68.59 × 19% = €13.03
Step 6: Add everything together
For this single $70 cosmetic kit, the total import charges look like this:
• Duty: €4.19
• VAT: €13.03
• Total tax payable at import: €17.22
Even though the duty rate is small, it still pushes the VAT base upward — which is why VAT becomes the largest part of the total.

How to verify your duty and VAT before shipping
Once you understand how duty and VAT are calculated, the next step is making sure your numbers are actually correct before the shipment leaves your warehouse. The EU system is predictable, but only when the inputs are. A small misstep — the wrong HS Code, an outdated VAT rate, or a missing calculation component — can easily shift your landed cost in ways you didn’t plan for. Here’s how sellers keep those surprises under control.
The first checkpoint is the HS Code. If the classification is even slightly off, the duty rate will be wrong, and the error will cascade into the VAT calculation as well. That’s why many e-commerce brands periodically re-check their classifications against the official tariff database (TARIC in the EU) to make sure nothing has changed — because tariff updates do happen.
Once your HS Code is set, verify the exact duty rate attached to that classification — because in cosmetics, the spread between categories is wide enough to matter. A filled makeup bag might carry a duty rate in the mid-single digits, while empty cosmetic cases can fall under completely different headings with lower rates. Makeup brushes made of synthetic materials often sit closer to zero duty, while certain skincare preparations can have higher percentages tied to their ingredient composition. Even products that appear similar on the surface — for example, a cream versus a gel — may fall under different tariff lines, each with its own duty rate.
After that, confirm the VAT rate for the destination country, as the rates are different between countries. Germany applies 19%, France 20%, the Netherlands 21%, and other member states vary as well. Since VAT is charged on the customs value plus duty, even a one-point difference affects the final amount more than sellers expect. If you are importing to different countries at the same time, it's important that you double-check you used the correct VAT rate for each country.
It’s also worth checking whether the shipment falls under IOSS rules. For B2C orders under €150, VAT can be collected at checkout instead of at import — but only if you’re registered in the system or selling through a marketplace that is. This changes when VAT is paid, but not the duty obligations.
Finally, run the numbers using the actual formulas rather than approximations. Duty always applies to the customs value; VAT always applies to the customs value plus duty. Running the full calculation takes less than a minute once you have the right data — and it’s the only way to get a true landed cost before shipping, one that won't have you unpleasantly surprised by customs calling to say you have a due tax to be paid.

If you’d like expert support with classification checks, landed-cost estimates, or preparing your customs documentation, the team at FLEX Logistics can help you navigate the process with confidence. A short consultation is often enough to audit your current setup and make sure your shipments enter the EU smoothly — and without surprises.






