There are points in conversations about cross-border complexity where sensible people stop nodding and start laughing. Not because the topic is funny, but because it has crossed the line from “complex” into “surely nobody expects this to work”.
Tax on shipping is one of those points. When we first discovered the complexities of calculation tax on shipping for cross border eCommerce, our initial response was “Seriously..?”
Unfortunately, it wasn’t a joke.
Most merchants assume shipping is just… shipping. A cost. A line item. Something you add at checkout and maybe apply standard VAT to if you must. After all, you’re not selling shipping. You’re selling a product and the courier is just helping it along.
Unfortunately, tax authorities did not get that memo.
The apparently absurd part
Here’s the short version of what often happens in real life. The merchant sells (and the customer) buys a basket of products in one go. They might include a book, a food item and an item of clothing. From an eCommerce (and ePAL) perspective, that’s:
- a zero-rated product
- a reduced-rate product
- and a standard-rate product
All in the same basket – but senza probleme for ePAL. It’s what the “Cross Border Calculator” API & plugins were built for.

But then the checkout adds shipping and is happily configured to charge one shipping fee. I mean, it’s one order so there’s only one shipping fee… so that’s cool.
Now comes the fun bit. In some countries, the VAT on shipping:
- must be split across each product line
- must inherit the VAT rate of each product
- must be calculated proportionally
- and must still reconcile to a single total that Customs will accept (did you know there is effectively a Customs Duty on the shipping part as well?)
Which means the same shipping charge can simultaneously be:
- partly zero-rated for tax purposes
- partly reduced-rate for tax purposes
- and partly standard-rate for tax purposes
All at once. For not only the same basket, but for the same single shipping amount,
If this sounds like something invented by a particularly mischievous tax committee, that’s because it was.
And no, this is not hypothetical. This is how it actually works in places like Germany, Austria, Ireland and France. Oh, and within the United States, each individual State can set it’s own rules for Tax on Shipping!
And just in case tax on shipping was not quite complicated enough, shipping can also form part of the customs value of the goods. This means different portions of the same shipping charge can attract different rates of Customs Duty too.
But that is an absurdity for another day.
“But surely nobody enforces this?”
This is usually the next reaction and for a long time, the honest answer was “sometimes they do, sometimes they don’t” but cross border enforcement has changed in recent years & months.
Customs and tax systems are no longer relying on humans reading paperwork and making judgement calls. They are automated. They validate data. They expect consistency. They cross-check values. They do not laugh at absurdity. They simply reject inconsistency, correct inaccuracies & penalise non-compliance.
So when shipping VAT is:
- applied at the wrong rate
- applied as a single flat rate when it shouldn’t be
- or not apportioned correctly across line items
the system doesn’t debate it. Instead, increasingly, it stops the parcel or flags it, or silently reroutes it into a different import flow.
And suddenly your €40 order costs the customer €52 at the door and nobody understands why (well, ePAL does).
The merchant experience
This is usually where merchants discover that “tax on shipping” was never just a footnote. What they experience instead is:
- a customer asking why they were charged extra
- a carrier asking why the declaration is different to the checkout
- a refund that doesn’t reconcile with the original VAT calculation
- a support ticket that nobody wants to own
- and a growing suspicion that their checkout maths is not as solid as they thought
The truly maddening part is that nothing feels wrong. The product VAT looks right, the shipping fee looks reasonable and the total looks plausible.
But plausible is not compliant. And plausible does not clear Customs.
Why this feels absurd (but isn’t optional)
From a merchant’s perspective, the absurdity is obvious. You are not selling shipping as a product. Customers don’t think shipping has a “tax personality”. No buyer has ever said: “I’d like my postage taxed proportionally by product category please.”
And yet, from a regulatory perspective, shipping is part of the supply of goods. It is considered ancillary. And in some jurisdictions, ancillary costs inherit the tax characteristics of what they support.
This is why:
- shipping can affect IOSS eligibility
- shipping can change the intrinsic value calculation
- shipping VAT can affect refunds
- and shipping VAT can differ within the same order
It’s not intuitive and it’s not consumer-friendly – but it is how the rules are written and once written, they must be applied correctly.
The real problem is not the rule. It’s the burden.
The real issue is not that these rules exist. The real issue is that merchants are expected to:
- know which countries require shipping VAT apportionment
- know how to calculate it per line item
- know when shipping inherits reduced or zero rates
- know how this affects refunds and returns
- and know how this interacts with duties, thresholds and FX rules
And all while trying to sell products.
This is not a reasonable cognitive load and it is exactly why “we’ll just apply standard VAT to shipping” stops working as volume increases – particularly because it unnecessarily overcharges your customers (…bet you didn’t know that!).
This is where ePAL earns its keep
ePAL exists for precisely these moments. Not the obvious cases – the awkward ones. The ones where a merchant looks at a regulation and thinks: “Surely nobody expects me to do this manually.”
Of course not. ePAL expects you to do it automatically (you can, of course, do it manually if you prefer… and if you have nothing else to do). Or you can let ePAL:
- calculate tax on shipping correctly per destination
- apply shipping VAT apportionment when required
- align shipping tax with product tax logic
- ensure totals reconcile at Customs
- and do all of this before the customer clicks pay

So the merchant never has to even think about whether shipping should be partly zero-rated or not. They just get a compliant, auditable fully landed cost. And the customer gets a parcel that arrives without drama. And nobody pays more tax than they have to.
Absurd rules. Predictable outcomes.
Cross-border eCommerce is full of rules that sound ridiculous until the parcel gets stuck. Tax on shipping is one of the best examples.
- It’s unintuitive.
- It’s inconsistent across countries.
- It’s easy to get wrong.
- And it causes disproportionate pain when it is.
Which is exactly why it needs to be automated – because the moment you start thinking “I really hope nobody checks this edge case” is the moment you need ePA – not to make the rules less absurd but to make their consequences disappear.
Most checkouts calculate – ePAL optimises.