Picture a straightforward trade. A buyer agrees to take a container of recycled PET resin from a supplier abroad and re-sell it, back-to-back, to a packaging plant a border or two away. The commercial part is a couple of emails and a signed contract. The hard part starts after everyone shakes hands — because now a shipment has to physically move, and moving it produces a stack of documents from parties who never speak to each other: the supplier's invoice and packing list, the carrier's bill of lading, a lab's certificate of analysis, a chamber's certificate of origin, an insurer's certificate, a fumigation record for the pallets.

None of those documents is hard to read on its own. The difficulty — and the risk — is that they all have to tell exactly the same story. And they're written by six different organisations, arrive over a week or two, and land as PDFs, scans and email attachments in whatever format each party happens to use.

The error is never in the document. It's between the documents.

A buyer checking a shipment isn't really reading each file for its own sake. They're checking one document against another, and the whole set against the purchase order. Does the consignee on the bill of lading match the buyer named on the invoice? Does the quantity — and the net and gross weight — tie out across invoice, packing list and certificate of analysis? Are the incoterms the ones that were agreed, and does the insurance actually cover them? Do the reference numbers — PO number, invoice number, B/L number — link the set together, or does one document quietly belong to a different shipment?

Each document can be perfectly correct on its own, and the set can still be wrong. The mismatch lives in the gaps between them — which is exactly where a manual, eyes-on check is weakest.

The four mismatches that actually stop a shipment

The wrong party. A consignee or notify-party name on the bill of lading that differs — even slightly — from the invoice and origin certificate. It's a small typo on paper and a held container at the port, because the party collecting the cargo no longer matches the paperwork.

The quantity that doesn't tie out. The invoice says one figure, the packing list's carton and pallet counts add up to another, the certificate of analysis references a third. Under a letter of credit, a discrepancy of a single unit is enough for the bank to refuse payment.

The missing certificate. No certificate of origin — an EUR.1 or equivalent — means the buyer's customer loses a preferential duty rate; a missing fumigation or compliance declaration can stop the goods being released at all. The document that isn't there is as expensive as the one that's wrong.

The under-covered insurance. On CIF terms the insurance certificate is expected to cover 110% of the invoice value, in the right currency, naming the right beneficiary. An insured value that's short, or a beneficiary that doesn't match, turns a claim into an argument at the worst possible moment.

Why a spreadsheet is where this goes wrong

Most import teams run this on a single, heroic Excel file — a registry where every shipment is a row and every document a column, updated by hand as PDFs arrive by email and get filed on a shared drive. It works, in the sense that a very careful person makes it work. But it depends entirely on that person opening every file, copying the PO, invoice and B/L numbers by eye, and remembering which certificate is still outstanding. The knowledge lives in one head and the check happens at human speed — usually under time pressure, right when the cargo is about to sail.

The same registry also has to track movement: the ETD and ETA of every container, so the sell side and the paperwork keep pace with the ship. Miss that, and the documents are perfect but late — released to the customer after the vessel has already berthed.

What actually helps: read, reconcile, flag

The work divides cleanly into a part machines are good at and a part they aren't. Reading a document and pulling out its key fields — consignee, quantity, incoterms, the linking numbers — is mechanical, and software can do it whatever the format, whether the file is a clean PDF or a phone photo of a stamped certificate. Comparing the set against the purchase order and against itself is arithmetic. Surfacing only the lines that disagree is a filter. All of that can be automated, and it's precisely the part that's slow and error-prone by hand.

What can't — and shouldn't — be automated is the resolution. When the invoice is a version behind and needs correcting, or a certificate is genuinely missing, that's a judgement call and a phone call. The right division of labour is a system that reads every document into one normalized registry, checks the whole set automatically, tracks ETD and ETA, and hands a person the one exception that needs a human — instead of asking them to re-check forty fields that already agree.

The same idea as the rest of procurement

This is the through-line of everything a decision engine does. In sourcing, it normalizes quotes so "cheapest" means cheapest to own. In risk, it watches price, stock and delivery so a problem surfaces as a ranked alert, not a surprise. In trade documents, it reads the set, reconciles it, and flags the mismatch — so the output your team acts on is a decision about one line, not an afternoon of cross-checking. The paperwork will always have to agree. The point is to be told the moment it doesn't.