Strip the acronyms away and IOSS moves the VAT moment from the border to the checkout. The consumer pays the correct destination rate when they buy. The seller, or an intermediary established in the EU acting for a non EU seller, files one monthly IOSS return covering all member states and pays the VAT over. Customs sees the IOSS number on the import declaration and releases the goods without assessing import VAT, because the tax was already collected as a sale tax.
The 150 euro ceiling is the hard edge. A consignment above it falls out of the scheme entirely and back to standard import VAT and duty handling, which is why basket design, split shipment rules, and honest intrinsic value declarations matter. Intrinsic value means the goods themselves, excluding transport and insurance billed separately. Sellers who engineer values down to fit under the ceiling are not using the scheme. They are creating the enforcement file.
EU customs reform has proposed removing the customs duty exemption for consignments under 150 euros, making platforms deemed importers in more cases, and rebuilding data requirements through a central customs data hub. Timelines have slipped and details have been negotiated, which is the normal life of EU legislation. The direction is consistent even where dates move: low value imports will carry more data, more duty, and more platform responsibility than the model sellers built a decade ago.
For a seller, the practical reading is that IOSS remains the VAT rail while the duty rail changes underneath it. A model that assumes zero duty forever on a 149 euro consignment is a model with an expiry date. A model that uses IOSS for VAT and prices in eventual duty on low value goods survives the reform whenever it lands, in whatever final shape.
The common failures are boring: the IOSS number missing or malformed on the customs data, so the parcel gets assessed at the border and the customer is charged twice. A marketplace sale declared under the seller's own IOSS number when the platform is the deemed supplier and should have used its own. Returns handled as new imports. Each failure is a data discipline problem between the store, the carrier file, and the declaration, not a flaw in the scheme.
Audit your own chain with a test order per quarter into two or three member states. Check the checkout VAT rate against the destination state's current rate, the number transmitted to the carrier, and the absence of a border charge on delivery. Sellers discover their integration broke from a customer's angry email or not at all. A scheduled test order is cheaper than either.
Intermediaries, fiscal representatives, and marketplace terms all price the scheme differently, and the right structure depends on where your sales concentrate and whether you sell through platforms, your own store, or both. Confirm current status with a licensed customs broker or EU VAT advisor before a sourcing or market decision, because member state practice and the reform timetable move faster than any overview can track.
What does not change: the customer experience IOSS was built for is still the one that converts. Tax visible at checkout, no doorstep bill, no courier advancement fee. Sellers who keep that experience through whatever structure the rules settle on keep the EU customers the doorstep model loses.
No. Reform proposals change the duty treatment of low value consignments and platform responsibilities around the scheme. IOSS as the VAT collection mechanism for eligible imports continues, and planning should assume its data requirements tighten rather than disappear.
It cannot use IOSS. Import VAT and any duty are handled under standard import procedures, typically collected from the buyer at or after delivery unless the seller ships DDP through a broker.
For sales where the platform is the deemed supplier, the platform's IOSS number applies and the seller usually does not use their own for those orders. Direct store sales are separate and need their own structure. Map every channel before registering or cancelling anything.
Usually because the IOSS number did not reach the import declaration correctly, or the consignment exceeded the ceiling. Trace the number through the carrier file first. That is where the break almost always sits.