A client came to us with a problem they'd resigned themselves to living with.
They're a broker: they buy inventory from suppliers and sell it on to their own clients. The trouble is that supplier bills almost never map cleanly onto customer invoices. One supplier bill might need splitting across a dozen different clients. The bills themselves arrive as PDFs — wildly unstructured, with charges that have to be pieced together before anyone can work out who gets billed for what.
So every month, someone sat down, read each bill, interpreted it, reformatted it, and keyed it into another system by hand. Hours of work.
Their question was simple: can you improve this?
What we built
The client uploads the supplier PDF. We send it to Claude's API along with a detailed prompt — written in plain, human language — describing what the document contains, what to extract, what to ignore, what to total up, and how the different elements connect. We also specify the exact shape of the data we want back.
Two things made the difference.
The interpretation. Working out which charge belongs to which client is genuinely a judgement call, and the model handled it incredibly well — reassembling a single supplier bill into multiple client invoices easily.
The output. Because the data comes back as JSON in the precise structure we asked for, it can be pushed straight into the receiving system. No re-keying. That step simply doesn't exist any more.
The numbers
Around 10p per bill, roughly 50 bills a month — call it £5 in API costs, against many hours of skilled staff time.
The build isn't free, of course, but it pays for itself within a few months. And the team gets those hours back for work that actually needs a human.
What's next
We're onto the rest of the roadmap: connecting this into the client's finance system, then the sales order process.