Cross-checking shipping documents before lodging: the 5 checks that catch costly mistakes

Compliance / Customs / Document-processing

Bruce·27 Jan 2026·7 min read

The costly mistakes in customs aren't the obvious ones. They're the quiet ones, where two documents disagree on a weight or a container number and nobody notices until ABF sends a letter six months later.

We built a 15-check cross-document reconciliation system into StarShipper because this kept coming up in conversations with brokers and forwarders. Not fraud, not exotic edge cases, just everyday inconsistencies between documents that should agree but don't. The commercial invoice says one gross weight, the packing list says another. The B/L has a different port code than the booking confirmation. Nobody catches it because there are 30 shipments to clear today and checking documents against each other is the thing that gets skipped under pressure.

Why documents disagree

Shipping documents are produced by different parties at different times. The supplier creates the commercial invoice when goods are packed. The shipping line issues the bill of lading when the container is loaded. The freight forwarder prepares the packing list, sometimes from the supplier's data, sometimes from their own inspection. A booking confirmation is generated days or weeks before the B/L.

Each document is created independently, often by different people in different countries, using different systems. They're describing the same shipment, but they don't talk to each other. When a container number gets transposed on the invoice, nothing flags it. When the port of discharge changes after booking but the arrival notice still shows the old port, nobody catches it automatically.

The result is that by the time you're lodging a customs entry, you might have five documents that mostly agree but differ on one or two critical fields. And those differences are exactly what ABF looks for in audits.

The five checks

These aren't complicated. Most experienced brokers run some version of them mentally. The problem is doing it consistently, on every shipment, when you're handling 30 declarations a day.

1. Container numbers across all documents

The bill of lading, packing list, commercial invoice, and arrival notice should all reference the same container numbers. This sounds obvious, but container numbers follow the ISO 6346 format (four letters, seven digits) and OCR errors are common. The letter O becomes zero. B becomes 8. I becomes 1.

Check that every document references the same containers, and that the check digit (the last digit) is valid. If the B/L says MSCU1234567 and the packing list says MSCU1234568, one of them has a typo. The check digit calculation will tell you which.

Also watch for documents that reference containers not on the B/L. This usually means a container was dropped from the shipment after the invoice was issued, or the supplier packed goods across different containers than originally planned.

2. Party names: shipper, consignee, buyer, seller

The shipper on the B/L should match the seller on the commercial invoice. The consignee on the B/L should match the buyer on the invoice and the importer on any customs documentation. In practice, names vary because companies use trading names, abbreviated names, or local-language versions of their legal name.

"Shenzhen Huawei Technologies Co., Ltd" on the invoice and "Huawei Technologies" on the B/L are obviously the same party. But if the invoice says "Guangzhou Electronics Trading" and the B/L says "Shenzhen Pacific Export Co", that's a different situation. Either there's a trading intermediary involved, or someone's documents are wrong.

Don't expect exact matches. Strip out company suffixes (Pty, Ltd, Inc, Corp, GmbH) and compare what's left. If the core name is clearly different, that needs investigating before you lodge.

3. Weights and package counts

Gross weight should be consistent across the B/L, packing list, and commercial invoice. They won't always match to the gram, because different parties round differently, but they should be within a couple of percent. If the B/L says 18,000kg and the invoice says 12,000kg, something is wrong. Either goods were added or removed after the invoice was issued, or someone's using net weight where they should be using gross.

Package counts should match exactly. The B/L says 240 cartons, the packing list should say 240 cartons. No tolerance here. A difference in package count usually means a short-shipment or over-shipment, and that affects duty calculations, insurance claims, and customs declarations.

4. Port codes and locations

Port of loading and port of discharge should match across the B/L, booking confirmation, and arrival notice. Ports are identified by UN/LOCODE (five characters, like CNSHA for Shanghai or AUBNE for Brisbane), but documents sometimes use port names instead of codes, and names can be ambiguous.

Watch for transshipment changes. A booking might show direct routing CNSHA-AUBNE, but the actual B/L shows CNSHA-SGSIN-AUBNE because the line added a transshipment. The discharge port is still correct, but the routing changed, and that can matter for transit time estimates and insurance coverage.

Also check country of origin on the commercial invoice and certificate of origin. If the invoice says "Made in Vietnam" but the certificate of origin says China, you have a problem that affects duty rates, FTA eligibility, and potentially anti-dumping measures.

5. Values and commercial terms

The total value on the commercial invoice should be internally consistent: line item prices multiplied by quantities should add up to the total. This catches data entry errors where someone typed 1,000 units at $5.00 but the line total says $50,000 instead of $5,000.

Incoterms should match between the invoice and any other document that references them. If the invoice says FOB Shanghai but the B/L references CIF Brisbane, someone needs to clarify who's paying freight and insurance, because that changes the customs value calculation.

For CIF and CFR shipments, check that the freight and insurance amounts on the invoice are consistent with what appears on the B/L or freight invoice. ABF calculates customs value (VoTI) from the transaction value plus adjustments, and inconsistent freight figures mean your duty calculation is wrong.

What ABF actually looks for

The Australian Border Force runs risk-based profiling on import declarations. They're looking for patterns: undervaluation, misclassification, incorrect origin claims, and inconsistent documentation. A shipment where the declared value is significantly lower than the weight-based average for that HS code gets flagged. A shipment where the country of origin doesn't match the port of loading gets a second look.

Post-clearance audits can go back four years. If ABF finds that your declarations consistently had weight discrepancies or value mismatches, the penalty isn't just for the shipment they audited. They'll sample your entire history.

The brokers who avoid this aren't doing anything clever. They're just checking documents against each other before lodging, every time, and fixing discrepancies before they become part of the customs record.

Making it practical

Running these five checks manually on every shipment is realistic if you're handling a dozen declarations a day. At 30 or 50, it becomes the thing that gets skipped when you're under pressure. That's exactly when mistakes happen.

The minimum viable version is a checklist. Print it, stick it on your monitor, tick the boxes. Container numbers match. Parties match. Weights within tolerance. Ports correct. Values add up. It takes five minutes per shipment and it catches the kind of errors that cost thousands in penalties and hours in audit responses.

The better version is automation. Software that reads all the documents for a shipment, extracts the relevant fields, and compares them automatically, flagging mismatches before you lodge. That's what we built into StarShipper, but the principle works regardless of what tools you use. The point is that the check happens consistently, not just when you remember or when you have time.

The checks nobody runs

Beyond the five basics, there are subtler checks that catch less obvious problems. HS codes on the commercial invoice should match what you're declaring. If the supplier put 8471.30 (laptops) on the invoice and you're declaring 8471.41 (desktop computers), you'd better have a good reason. B/L numbers should be consistent across arrival notices and delivery orders. Seal numbers on the B/L should match the container manifest.

None of these are difficult individually. The challenge is doing all of them, on every shipment, without fail. The brokers who build this discipline into their process, whether through checklists, software, or good staff training, are the ones who sleep well when ABF sends that audit letter.

Not sure which documents you need in the first place? The complete guide to Australian import documents covers every document type and when it's required. And if you want to check whether your import documents are complete before lodging, the import document checklist generates a tailored list based on your product and origin country.

See it work on your documents

Forward a commercial invoice or bill of lading to your StarShipper inbox — every field extracted and validated in seconds.

or