·8 min read·customs-invoice team

Customs Holds: 7 Reasons Shipments Get Detained (and How to Avoid Each)

Most customs detentions come from the same short list of causes. Here are the seven that matter, ordered by how often they actually stop a shipment, with the fix for each.

A customs hold is a temporary detention while the authority at the port decides whether to release your shipment, request more paperwork, inspect the cargo, or — worst case — seize it. Holds are expensive: daily demurrage accumulates from the moment the container hits the port, and your consignee’s clearing broker is already on the phone to you. The good news is that the causes of holds are well-known and mostly preventable. Here are the seven most common, ordered by how often they actually detain real shipments.

1. Wrong or missing HS code

The Harmonized System code determines the duty rate. Customs officers compare the declared code against the physical goods on inspection. If they don’t match, the shipment is held until you either provide a corrected HS code or pay the difference in duty. If your product could plausibly fit a higher-duty code, customs defaults to the higher one.

The fix:use at least the 6-digit HS subheading, and ideally the destination country’s full extension (10 digits for the US, 8–10 for the EU). Double-check borderline classifications — a leather laptop bag with synthetic lining is chapter 42 (leather articles), not chapter 39 (plastics), because leather is the essential character. See HS Codes Explained and our chapter index for the detail.

2. Country of origin ≠ country of shipment

Customs officers watch this field harder than people expect, because it drives preferential duty treatment. “Made in” means where the goods were manufactured, not where the box happens to sit before you ship it. A product manufactured in Vietnam, warehoused in Singapore, shipped to the US is Vietnamese origin. Get this wrong and you either pay duty you didn’t need to (if the real origin has a better rate) or claim a preference you don’t qualify for — which triggers a post-release audit.

The fix:capture origin at the product level. If you’re a dropshipper or have multiple manufacturers, each line item on the invoice carries its own origin — don’t aggregate.

3. Incomplete or missing consignee tax ID

Every destination country requires a tax identifier for the importer of record. Missing this field is the #1 reason brokers bounce the paperwork back to the shipper before even filing the entry:

The fix:confirm the consignee’s tax ID at the order stage, not at the shipment stage. Put it on the invoice in the consignee block. If the consignee doesn’t have one, they can’t legally import — don’t ship.

4. Declared value that doesn’t match the transaction

Customs valuation rules (WTO Customs Valuation Agreement) require the declared value to reflect the actual transaction value between unrelated parties, adjusted for the Incoterm. If you under-declare, customs can re-assess using one of five alternative valuation methods — all of which are less favourable than the transaction method. Under-declaration, discovered later, triggers back-duty plus penalties.

The specific trap: using an EXW price on a DDP invoice. DDP bakes freight, insurance, and duties into the sale price that customs expects to see. Declaring only the EXW portion mismatches every other piece of paperwork in the file.

The fix: declared value equals the Incoterm-adjusted transaction value. Our generator does this automatically once you pick an Incoterm and enter freight / insurance.

5. Document mismatches (invoice ≠ packing list ≠ bill of lading)

Customs officers spot-check cross-document consistency: invoice shows 500 units at 12 kg each = 6,000 kg net weight, but the packing list says 5,800 kg and the airwaybill says 6,400 kg gross. Any discrepancy over a few percent is a red flag for under-declaration, misclassification, or outright smuggling.

The fix: derive all three documents from the same source of truth. Our generator creates the commercial invoice and packing list from the same line items in a single step — totals always reconcile. If your OMS produces separate documents, diff them before shipping.

6. Sea-only Incoterms on container shipments

This one causes indirect holds rather than direct ones. FOB, CFR, CIF, and FAS are sea-only terms defined around bulk and break-bulk freight — where goods are physically loaded onto the vessel by the shipper’s people. Containers aren’t loaded by the shipper; they’re handed over at the terminal, and the carrier loads the vessel. So an FOB container is a legal contradiction: where does risk transfer, exactly?

The hold arises when the freight forwarder or broker notices the mismatch and asks for an amended invoice. A one-day delay while you re-issue. Occasionally customs itself challenges the Incoterm on valuation grounds and holds until clarified.

The fix: use FCA for container handover at terminal, CPT / CIP for seller-paid main carriage, DAP / DDP for door-to-door. The Incoterms 2020 chart has the full decision flow.

7. Restricted or prohibited goods without the right licence

Some categories always need extra paperwork:

The fix: know your product category before you quote the buyer. A customs broker can run a five-minute classification check that reveals any licence requirements.

How to prevent holds in the first place

A pre-shipment checklist that catches 90% of issues, run in the order listed:

  1. HS code matches the destination country’s tariff schedule at the full local length.
  2. Country of origin is the country of manufacture — not shipment.
  3. Consignee tax ID is present, valid format, and matches the destination’s requirements.
  4. Declared value equals the Incoterm-adjusted transaction value.
  5. Invoice totals, packing list totals, and airwaybill weights all reconcile.
  6. Incoterm matches the transport mode (FCA / CPT / DAP for containers; FOB / CFR / CIF for bulk sea only).
  7. Any regulated goods have their supporting licences attached.

What to do if your shipment is already held

  1. Get the specifics. Your customs broker will be notified before you are. Ask for the exact reason code and which documents the port wants.
  2. Respond within 48 hours. Storage fees accumulate daily. Fast resolution is almost always cheaper than haggling over duty rates.
  3. Don’t amend the invoice in place. Issue a corrected commercial invoice with the same invoice number + a revision suffix (e.g. INV-2026-001-R1). Keep the original for audit trail.
  4. If you were under-declared, pay the difference. Fighting a re-assessment takes weeks. Paying and moving forward is usually the right commercial decision.
  5. Document the fix.Add the reason to a shared internal log so your team doesn’t repeat it next month.

FAQ

How long can customs hold a shipment?

There is no universal limit. In the US, CBP can hold a shipment for up to 30 days before it is either released or formally seized. In the EU, member states typically hold for up to 20 working days for an examination. If the issue requires new documentation from the shipper, the clock often pauses — expect 5 to 15 business days if you respond promptly.

Who pays the storage fees while a shipment is held?

The importer of record, almost always. Daily demurrage or bonded-warehouse charges accumulate from the day the shipment arrives until release. This is why even a short hold can become expensive — $50–$200 per container-day at major ports is typical.

Can I stop a hold before it happens?

Yes — by getting the invoice right the first time. HS code, country of origin, consignee tax ID, declared value, and Incoterm consistency are the five fields customs checks hardest. Our generator validates all of them before you export the PDF.

Is a hold the same as a seizure?

No. A hold is a temporary detention while customs reviews paperwork or conducts an inspection. A seizure is a formal action where customs takes legal title to the goods, usually because of a serious violation (fraud, sanctioned goods, prohibited items). Most holds resolve with corrected paperwork; few escalate to seizures.

What to do next

The fastest way to prevent every issue on this list is to generate invoices from a system that validates the fields customs actually checks. Our wizardcatches sea-only Incoterms on container shipments, pre-fills country-specific tax-ID prompts, and uses HS code autocomplete so you don’t end up with a wrong classification. If you want the full deep-dive on the five most expensive invoice mistakes, read this related post. If you’re still choosing your Incoterm, the Incoterms 2020 chart is the faster reference.

Stop re-typing the same fields.

Generate a compliant customs invoice PDF in under a minute, with HS code autocomplete and Incoterms validation baked in.

Create an invoice