
From 1 July 2026 the EU removes the 150 EUR customs duty relief for low-value imports (Council Regulation (EU) 2026/382, Article 1). Until 1 July 2028 it charges instead a temporary customs duty of 3 EUR per item in a consignment with an intrinsic value up to 150 EUR, where the goods are imported under the IOSS scheme or are goods in postal consignment (Article 2). Since 1 July 2026 that term means goods in a consignment up to 150 EUR sold in a distance sale to an EU customer, excluding IOSS goods and goods that benefit from preferential measures (Delegated Regulation (EU) 2015/2446, Article 1(24), as replaced by Delegated Regulation (EU) 2026/1022). Together the two cover every distance sale up to 150 EUR, with or without IOSS; it turns on the sale, not on who carries the parcel. Customs estimates that duty and shows it to the shopper as its own line at cart and checkout, so there are no surprise charges on delivery.
It only adds the duty when all of these are true: the feature is enabled, the date is inside the legal period, the store ships from outside the EU, the destination is an EU country, and the cart goods value is at or below your threshold. Intra-EU orders and orders over the threshold are left untouched.
The plugin cannot see how a parcel will be declared, so it assumes a distance sale to a consumer. Goods imported without IOSS that claim a preferential tariff, for example under a trade agreement with their country of origin, are outside the 3 EUR rule; tick “Outside the 3 EUR duty” on those products and they add no duty line, while the rest of the catalogue is still charged. Their value still counts toward the goods-value threshold.
The duty is only added between 1 July 2026 and 1 July 2028, the period Article 2 sets. If that period is extended, untick “Only apply the duty between 1 July 2026 and 1 July 2028” in the settings.
Ceuta and Melilla are outside the customs territory of the Union (Regulation (EU) No 952/2013, Article 4(1)), although WooCommerce files them under Spain. A Spanish address in the province of Ceuta or Melilla, or with a postcode starting 51 (Ceuta) or 52 (Melilla), is treated as outside the EU: a parcel shipped there is not charged, and a store whose WooCommerce address is in Ceuta or Melilla is charged on parcels to mainland Spain and the rest of the EU.
Separately, from 1 November 2026 customs charge a Union handling fee of 2 EUR per item on goods sold in distance sales, at any consignment value (Regulation (EU) 2026/2108, Article 20(2); Delegated Regulation (EU) 2026/2152, Articles 1 and 2). Customs does not add this fee.
What it does:
- Adds an “EU import duty (estimate)” fee at cart and checkout using the native WooCommerce fees API
- Calculates the duty as the number of distinct tariff lines in the cart multiplied by your per-line amount
- Counts tariff lines from a per-product tariff code, falling back to the product category, then the product
- Works in the classic checkout and the Cart and Checkout Blocks, and is HPOS compatible
- Per-line amount, threshold, store origin country, EUR conversion rate, tariff-line basis, fee label and taxable flag are all configurable
- Adds taxes on top: the duty is shown as its own line in addition to VAT
- Who pays the duty is your choice: charge it at checkout (DDP), show it as an estimate outside the total because the carrier collects it on delivery (DAP), or absorb it and only record the amount on the order
- Counts the same tariff line from two countries of origin as two lines, with a country of origin per product and a store default
- Customs paperwork: generate printable Commercial Invoice and Customs Declaration (CN22/CN23) slips, carrier CSV export with formula injection defense, merchant EORI setting, customs product descriptions, and REST API order endpoint
This is the WooCommerce equivalent of the import duty handling that hosted platforms add at checkout, without a monthly subscription.
Documentation and links
- Documentation – plogins.com/plogins-customs/docs/
- Plugin page – plogins.com/plogins-customs/
- Source code – github.com/wppoland/plogins-customs
- Bug reports and feature requests – GitHub issues
Reporting a security issue: email hello@wppoland.com, and under our coordinated disclosure policy we confirm within two business days, assess within five, and patch a critical issue within seven days of confirming it.
Translations
Customs is fully translatable and ships the plogins-customs.pot template. Translations are delivered by WordPress.org language packs from translate.wordpress.org, which is where Polish, German and Spanish are being contributed; the package itself carries no compiled translation files.
Screenshots

The estimated EU import duty shown as its own line in the cart totals.

The EU Import Duty settings under WooCommerce: per-line amount, threshold, origin country and how tariff lines are counted.

The same duty line in the cart on mobile.