ADOPT AI PARTNERS
Insights / freight forwarding

AI for Compliance Evidence in Freight Forwarding: Origin, Retention and the Post Clearance Audit

27 September 2026  ·  8 minute read  ·  Adopt AI Partners
shipping port with containers and cranes
Photo via Unsplash

The letter names a period that closed two years ago, a customer whose account manager has since left, and a sample of entries by reference. The compliance manager reads it twice, then opens a spreadsheet, because there is no single place to go. Some of the proof is in the customs system. Some is in the mailbox of someone who left. Some is a supplier declaration that arrived as a photograph of a signed page, in a shared drive folder named after a quarter. Some was never obtained, and nobody knows which case applies to which entry until they look.

A declaration takes minutes to lodge and has to stay defensible for years. The work of making it defensible happens afterwards, in a layer nobody owns.

The asymmetry between lodging and defending

Operational systems are built for speed at the moment of movement. They record what was declared, when, and by whom. They are weaker at recording why it was correct, because the why lives in correspondence, in a customer instruction, in a supplier's signed statement, in a proof of delivery a driver scanned into another platform.

So the evidence file is distributed by default. It was never a single object, and only becomes one when someone asks.

What the authority actually asks for

A post clearance request rarely asks a question you can answer with a lookup. It asks for a sample of entries and, for each, the commercial and transport documents, the basis for the value declared, the basis for any preference claimed, and the instruction under which you acted. Each is a small assembly job, and across the sample it is weeks of work.

An agent is useful here because assembly is the task. It can take the references from the request, pull the declaration data, search mailboxes and document stores for the matching paperwork, and build a file per entry with a manifest of what is and is not present. The value is less in the documents it finds than in the honest list of what it could not find, produced in hours rather than in week three.

aerial view of a logistics yard
Photo via Unsplash

Knowing the file is complete before anyone asks

The better posture is not a faster response. It is knowing continuously whether the complete file exists for every entry, per customer and per period.

An agent can run that as a standing check, testing each entry lodged for the expected evidence set: the commercial documents, the transport evidence, the instruction, and any proof the procedure requires. It reports a position per customer rather than a single number, because completeness is never uniform. One customer sends everything unprompted. Another has sent nothing since a system change in spring, and nobody noticed because the entries kept clearing.

Retention as a live question

Retention is written as a policy and then treated as an archiving problem. The real question is whether anything has quietly aged out of reach: a portal holding only a rolling year, a mailbox deprovisioned when someone left, a shared drive migrated with permissions that did not survive. An agent can test reachability rather than assume it, and flag the periods where the record has become theoretical.

Preferential origin evidence

Preference is where the exposure concentrates, because the claim is made on the customer's instruction while the liability lands on the declaration. The proof is a supplier declaration or an origin statement held by someone else, obtained once and then assumed to hold forever.

An agent can maintain the register most teams keep partially. For every claim in a period it identifies the supporting evidence, its validity window, and the goods it actually covers, then flags three failures: evidence that expired before the entry, evidence covering different goods than those declared, and claims where nothing was ever received and the file rests on an email saying preference applies.

The third category is worth surfacing early. Chasing a supplier declaration a month after shipment is awkward. Chasing it after an audit letter is often impossible.

Proof of export and proof of delivery

Where a movement was relieved or zero rated, the relief depends on evidence that the goods actually left or arrived, and that evidence is generated outside your systems by a carrier, a driver or a consignee's goods in scan.

An agent can reconcile the two sides: the movements declared under a relief in a period against the matching departure or arrival evidence wherever it lives, listing the ones where the proof is thin, missing or inconsistent with the declared route. Thin is the interesting category, because that is where a defensible position and an indefensible one look identical.

stacked shipping containers
Photo via Unsplash

Special procedures and discharge

Warehousing, temporary admission, inward and outward processing share a structure. Goods enter under a procedure, something happens, and at the end of a period the movements must reconcile against the discharges, from records in several systems.

An agent can hold the running position: what entered, what has been discharged and by what route, what remains, and which items approach a time limit with no discharge in sight. It can also produce the period reconciliation, showing the residual and where it came from, usually a handful of consignments rather than a general drift.

Duty and tax accounting evidence

Three numbers should agree and often do not: what was declared, what was paid through a deferment arrangement or against a guarantee, and what was recharged to the customer. Each lives in a different place, and the differences are individually small and collectively material.

An agent can reconcile the three per period and per customer and classify the breaks: a timing difference, a duty absorbed and never recharged, a recharge with no matching entry. It can also track guarantee utilisation against the headroom the authorisation assumes, a compliance condition as much as a finance one.

Maintaining the authorisation itself

A trusted trader or broker authorisation is not a certificate. It is a set of conditions you undertook to keep meeting, plus an obligation to tell the authority when the facts change. Self assessment catches this yearly if someone drives it. The change notifications get missed: a new site, a changed director, a new system, a process now subcontracted.

An agent can keep the condition register mapped to current evidence, so each condition has a named source rather than a recollection, and watch for the events that trigger a notification so they are raised at the time, the only point at which raising them is cheap.

Representation records

For every entry you need to show who you acted for, on what basis, and that you held the authority to do it. That authority is a signed mandate, sometimes years old, sometimes superseded, sometimes covering an entity since renamed or absorbed.

An agent can reconcile entries against held mandates, surfacing the entries with no current authority behind them and the mandates naming entities you no longer recognise.

Training, competency and site security records

The conditions extend to people and premises: that declarants are competent, that training happened and was refreshed, that site security measures are in place and checked. The evidence is attendance records, assessments, access logs and inspection notes, held by different functions.

An agent can maintain this as a position rather than a folder: who is competent for what, where a refresh has lapsed, which sites have an overdue check, and which of those people touched entries in the period.

Internal self audit

The point of sampling your own entries is not to find one error. It is to tell a one off from a systematic one, because the response differs completely.

An agent changes the economics. Instead of a small sample each quarter, it can test the full population against the checks a reviewer would apply and group what it finds by pattern: one customer, one product line, one period, one declarant, one system change. A pattern with a start date is a systematic error, and it gives you the scope before you decide anything.

Correction or disclosure

That decision is not an agent's to make. It rests on judgement about materiality, duration and the position you intend to take, and belongs to a qualified person who signs it. The agent contributes the factual basis: the affected population, the period, the quantified exposure, and the point at which the error started.

The disclosure file itself

A disclosure should read as a complete history rather than an apology: what happened, when it started, how it was found, the population affected, the amount, the correction, and what changed so it does not recur. An agent can assemble that history from the underlying records, awkward parts included, and keep it current as more of the population is tested. The narrative and the position stay with the signer.

Where AI fails here

An agent cannot make the declaration position. It cannot decide a classification, settle a valuation method, judge whether a preference claim was properly made, or authorise a disclosure. A qualified person owns and signs those, and an agent that appears to make them is a liability.

It is also only as good as the reachability of the records. Where evidence sits in a portal with no export, in a closed mailbox, or in a customer's own system, it reports absence. Absence means it could not reach the document, not that the document does not exist, and a team conflating the two will chase suppliers for paperwork it already holds.

Matching is imperfect. Where a reference is missing it matches on consignment, date and party, and those matches need review before entering a file that goes to an authority. Treat the output as a prepared file with a stated confidence, not a verified one.

It will not fix a process either. If a customer has never supplied origin evidence, the agent says so clearly and repeatedly. Someone still has to have the conversation.

Rehearsing the audit before it is announced

The only honest way to evaluate this is against work you have already done. Take an audit you have been through, give the agent the same request and period with no access to the answer, and compare what it assembles to the file you produced at the time.

Three things become clear quickly. Whether it finds the documents you found. Whether it flags the gaps you had to explain. And whether it reports absence where the record genuinely was unreachable, rather than claiming a completeness it cannot support. If it passes on closed cases, run it on the open population, where the value is knowing the file is complete in a quiet month rather than a loud one.

If you want to talk that rehearsal through against your own closed audits, write to hello@adoptaipartners.com.

Tell us what your teams keep redoing

One conversation is enough to say whether there is a system worth building, and what would make it fail.

Describe your process