Does Your TMS Need HS Codes Now?

De minimis is ending in the US and EU. Learn whether your TMS needs an HS code field, how to configure it, and what breaks if you skip it.

Does Your TMS Need HS Codes Now?

Yes, if you ship anything across a border that used to ride under $800 in the US or €150 in the EU, your TMS needs an HS or HTS code field and a way to feed it duty logic. The US suspended its de minimis exemption indefinitely as of the June 24, 2026 rule, and the EU follows on July 1, 2026. If you're 100% domestic, skip this post and come back when you add your first cross-border lane.

Which shipments actually need an HS code in your TMS now?

Any shipment crossing into the US or EU, including small B2B parcels that used to clear duty-free under the old thresholds. Domestic parcel, LTL, and FTL moves are unaffected.

On the EU side, the new fee takes effect July 1, 2026, and applies to all low-value parcels purchased online and shipped from non-EU nations. The mechanic matters for your rating logic: the duty is charged per item category (per tariff heading), not per parcel. A three-SKU parcel gets charged three times, and a separate EU-wide handling fee of approximately €2 per HS code is also confirmed, to be implemented no later than November 1, 2026, bringing the combined charge to roughly €5 per HS code once both are in effect. If your TMS rates by parcel instead of by line item, you'll under-quote every mixed shipment.

On the US side, the change is broader and already live. CBP regulations now implement an indefinite suspension of the de minimis administrative exemption for imports valued at $800 or less, meaning all entries must utilize formal or informal entry procedures. That's not a fee tweak. That's every sub-$800 parcel now needing a classification.

Where does the HS code field actually live: TMS, ERP, or a separate engine?

It depends on your SKU count crossing borders, but the code itself should live in your product master data, not be typed in at shipment creation. Three patterns show up in practice:

  • HS code as a field on the SKU in your ERP or PIM, synced to the TMS at label time. This is the only scalable option once you're past a handful of SKUs.
  • A dedicated landed-cost or customs engine called at rating time, which returns the code and the duty stack together rather than storing the code as static data.
  • Manual entry per shipment, which works as a stopgap for low volume but breaks the moment someone is out sick or a new hire misclassifies a part.

If you've got more than roughly 50 SKUs crossing borders, don't hand-key this. Sync it from wherever your master data already lives. Multi-carrier platforms like Cargoson, nShift, Sendcloud, and Easyship, along with dedicated customs tools like Zonos and ShipperHQ, are all built to carry HS code and customs data through to the actual carrier label, so the field doesn't get lost between systems.

Can your TMS calculate the actual duty, or just carry the code?

Most freight and parcel TMS platforms carry the code, they don't calculate the duty. That job goes to a broker, a carrier's own customs API, or a dedicated landed-cost engine that takes the HS code, value, and country of origin and returns a number.

This is where the US/EU distinction bites. The EU's interim system runs on a flat fee, so your TMS mostly needs the code and the item count. The US calculation is deeper. Expanding from the Harmonized System's 6-digit level, the United States requires a 10-digit number to classify products being imported, using the Harmonized Tariff System (HTS) administered by USITC. A generic 6-digit HS code from your supplier's packing list won't clear US customs on its own. A real landed cost figure for a US-bound shipment also has to return the 10-digit HTS code plus every duty layer that hits the parcel at the border: base MFN rate, Section 301, Section 232 with steel and aluminum pour country detail, Section 122 reciprocal surcharge, and any Chapter 99 entries. If your current setup only stores a 6-digit code and calls it done, that's the gap to close first.

What breaks if you skip HS codes after the de minimis change?

Parcels sit in a bonded warehouse waiting for a broker to manually classify them, DDU shipments get refused at the door when the recipient won't pay the surprise duty, and brokers reject entries outright for missing classification data. None of these are hypothetical anymore, they're the direct mechanical consequence of the rule change described above: every sub-threshold entry now has to go through formal or informal entry, and entries without a usable HTS code can't be filed.

Run one week-one check: pull every international shipment that got held, refused, or hit with an unexpected invoice, and trace it back to whether the HS/HTS field was populated, correct, and at the right digit depth. That log becomes your business case for fixing the field permanently instead of firefighting it shipment by shipment.

Do multi-carrier parcel platforms handle this differently than a freight TMS?

Yes. Consumer-facing multi-carrier tools like ShippyPro, Shipmondo, and ShipStation increasingly build HS code fields and DDP/DDU logic straight into checkout, because ecommerce brands need the duty number before the customer clicks buy. Heavier freight TMS platforms like MercuryGate, Descartes, and SAP TM generally expect the code to arrive upstream from ERP, already attached to the SKU. Cargoson sits in between, bridging carrier connectivity across both parcel and freight modes, which matters if your shipments span small B2B parcels and full truckloads on the same lanes. Whichever platform you're on, check how your TMS setup handles the handoff between master data and the label print, because that's usually where the field silently drops.

What should you check in your TMS configuration this quarter?

  • Audit your SKU master data for a populated HS code field, and confirm it's at 10 digits for US-bound lanes, not just 6.
  • Confirm a country-of-origin field exists and is filled in, not just assumed from your default supplier.
  • Run one full test shipment on an EU lane and one on a US lane end to end, from order to label to customs entry.
  • Verify your customs or duty vendor is returning the correct format, 10-digit HTS for the US, not a generic 6-digit HS pulled from a global list.
  • Document who owns the field going forward: ops, finance, or compliance. Someone needs to own it before the next SKU launch, not after the next held shipment.