Port operations run on paperwork. Every port call produces documents that someone has to read, check against internal records, turn into forms, and follow up when information is missing. For one port and logistics operator we work with, much of that work is now handled by AI agents, and people review only the exceptions.
This post explains how we built it, and why we deliberately did not build it as one big AI prompt.
1. What disbursement accounts and port calls involve
When a vessel calls at a port, it incurs a range of costs and generates operational paperwork. A disbursement account records the costs of that port call, and managing it means:
- Reading operational documents from several sources
- Cross-referencing them against internal records
- Filling in forms in the operator’s portal
- Raising queries when information is missing or does not match
The work is document-heavy, repetitive, and has to be exactly right.
2. Why the manual process was a problem
- It was slow: every account needed someone to read, check and type.
- Errors travelled: because the work was manual, an error in a quoted figure could travel a long way before anyone caught it, and by then it was expensive to fix.
3. Why we did not use a single prompt
A common approach to “AI automation” is to give a language model all the documents and ask it to do the job in one go. That is hard to check, hard to debug, and hard to trust with money.
Instead, we modelled the work as an explicit sequence of steps:
- Extract: pull the relevant information out of the documents.
- Validate: check it against internal records and expected values.
- Fill: complete the forms in the portal.
- Query: raise a query when something is missing or inconsistent.
- Escalate: pass anything the agent should not decide to a person.
Each step has a clear job, clear inputs and clear outputs. When something goes wrong, you can see exactly which step failed and why.
4. Every action is recorded
Because the work is a sequence of steps, every action an agent takes is recorded and reviewable. At any point, someone can open an account and see what was extracted, what was checked, what was filled in and what was queried.
For a business handling financial figures, this is not optional. Automation you cannot audit is automation people will not trust.
5. Price prediction with guardrails
Alongside the agents, we built predictive models for price prediction on disbursement accounts.
A prediction on its own is not enough when money is involved, so we added a rules layer that checks each figure against expected ranges before it is released. Anything outside tolerance stops and goes to a named reviewer. The model speeds up the normal cases, and the rules make sure the unusual ones get human attention.
6. Giving end users their own data
We also connected models directly to the operator’s database, so end users can see their own data and analysis without having to ask anyone for a report.
7. Built into the portal they already use
The whole architecture is deployed on AWS and integrated into the operator’s existing portal. Nobody had to learn a new tool; the agents, predictions and analysis appear where people already work.
8. The result
Routine disbursement work now runs through the agents end to end, with people reviewing only the exceptions instead of every account. End users get their data and analysis directly in the portal.
9. Lessons for automating document-heavy work with AI agents
- Break the work into steps: extract, validate, fill, query and escalate beats one big prompt.
- Record everything: if you cannot audit it, you cannot trust it.
- Put rules around predictions: let models handle the normal cases and people handle the unusual ones.
- Fit into existing tools: adoption is easier when nothing new has to be learned.
Have repetitive, document-heavy work you want to automate safely? Let’s talk.
