Blog · Board and management reporting · Shipping and logistics
How a forwarder or customs broker measures customs exceptions from its entry data: entries held per customer and per lane, hold rate against the broker's own norm, days held, the reason codes, the share caused by the customer's own data, missing commodity codes, wrong values, incomplete descriptions, against the share caused by the broker or the authority, the cost in storage and delay, and the customer conversation about the fields that stop their freight.
A forwarder's customs team clears thousands of entries and firefights the held ones. Which customers are held most, and why, lives in the entry data and nobody rolls it up. Rolled up, most holds at one customer trace to the same two fields on its commercial invoices. This guide sets out hold rate per customer against the norm, the cause split, the cost, and the conversation.
Per customer, per lane, per period:
Hold rate = entries held ÷ entries filed Norm = the broker's hold rate on the same lane and commodity group Median days held Cause split: customer data, broker entry, authority
Per customer: cost of holds = storage and demurrage incurred + delay days × a stated rate.
Customer identifiers only.
entries filed = cleared without hold + held and cleared + held and open
Every entry in one state. A held entry with no reason code is listed as unexplained.
| Customer | Entries | Hold rate | Lane norm | Days held, median | Customer data | Broker entry | Authority | Cost of holds |
|---|---|---|---|---|---|---|---|---|
| 2207 | 840 | 14% | 4% | 6 | 71% | 9% | 20% | $91,000 |
| 4471 | 520 | 4% | 4% | 3 | 30% | 20% | 50% | $8,000 |
| 9034 | 310 | 9% | 4% | 4 | 15% | 65% | 20% | $14,000 |
Customer 2207 is held three and a half times the norm and seven in ten of its holds are its own data. Customer 9034's holds are mostly the broker's keying, which is the broker's finding, not the customer's.
| Reason | Holds | Field on the customer's documents |
|---|---|---|
| Commodity code missing or invalid | 48 | HS code on the commercial invoice |
| Valuation query | 22 | Declared value vs invoice total |
| Description insufficient | 14 | Goods description |
Two fields on the customer's invoice template explain most of ninety-one thousand dollars of storage and delay. That is a meeting with the customer's export team and a corrected template.
Holds firefought, never rolled up. The same customer, the same field, every week.
No cause attribution. The customer blamed for the authority's inspection; the broker's keying invisible.
Norm ignored. A hard lane looks like a bad customer.
Cost not summed. Storage charges in one file, demurrage in another, delay nowhere.
Mapped once, the entry data, the charges and the reason mapping produce hold rate against norm, the cause split, the cost and the fields per customer every month. Covirage builds this from the exports as they are. The shipping and logistics page describes the setup, and the detention and demurrage guide covers where the cost of holds ends up.
By reason code, mapped to three sources: customer data, where the correction came from the customer; broker entry, where the broker corrected its own keying; authority, where the entry was selected for inspection with no error found. The mapping is written once and applied to every hold.
The broker's own hold rate per lane and commodity group, from its entry history. A customer at three times the norm on the same lane is the finding; a lane where every customer is held is the authority's regime, not any customer's data.
Storage and demurrage incurred while held, from the charges, plus the days of delay. Per customer, per period. It is the customer's own cost and it is usually larger than they know, because it arrives as separate charges nobody adds up.