How a credit analysis went from a full business day to minutes
The bottleneck was never the analysis. It was opening seven sources, taking screenshots and pasting them into a report. Here is the design that fixed it without handing the decision to a model.
- Architecture
- Automation
- Applied AI
- Credit
Credit analysis for a new customer took a full business day at a telecom carrier. When we timed where that day actually went, the answer was uncomfortable: almost all of it was collection. Opening seven different sources, checking registries, taking screenshots, pasting into a report, repeating. The analysis itself — reading the set and forming a judgement — took minutes.
The bottleneck wasn't judgement. It was moving information around. And moving information around is exactly what machines do better than people.
The temptation we avoided
The obvious 2026 move would be to throw the documents at a language model and ask for an opinion. It would work in a demo and be unsustainable in production, for three reasons that have nothing to do with model quality:
- A credit decision has to be defended. When a customer challenges a rejection, someone must point to the rule that was applied. "The model thought so" is not an answer you give a regulator.
- Models are not reproducible at the margin. Two runs over the same input can diverge, and in a risk process that is a defect, not a feature.
- Reprocessing would be expensive. Changing a criterion would mean running everything again, including paid bureau queries.
Four stages, four artifacts
The design we settled on splits the process into four independent stages. Each receives a finished artifact, does one thing, and hands over another:
document + 7 sources
↓
[1 · DATA] ──► dossier.json what exists
↓
[2 · RULES] ──► evaluations[] what each rule said
↓
[3 · DIAGNOSIS] ──► diagnosis.json what it means
↓
[4 · DOCUMENT] ──► report.pdf how it readsThe separation looks bureaucratic until the first time someone asks to change a criterion. Because stage 2 reads an already-assembled dossier, you can change a rule and reprocess the whole analysis without touching stage 1 — meaning without paying again for bureau queries. In a process where every query costs money, that stops being architectural elegance and becomes direct savings.
Where AI comes in — and where it stops
AI operates exclusively in stage 1, and only to read. It extracts data from documents the analyst uploads, interprets screenshots of systems with no API, and helps identify which of the companies returned by a search is the target company — choosing among candidates, in a closed field, never inventing a new name.
After stage 1, no model call happens. The rules are code. The diagnosis is code. The report is a template. No sentence in the final document is model-generated.
In a process that has to be defended, AI pays off more as a reader than as a judge.
The rules that do not negotiate
Some decisions were written as system invariants, not preferences. These three prevented the most trouble:
Missing data is never a green light
When a source doesn't respond, the result of that check is indeterminate — and indeterminate is never converted into "no alert triggered". It sounds obvious written down, and it is exactly the most common silent bug in this kind of system: absence of an alert being read as absence of risk.
A failing collector becomes a gap, not an error
Seven external sources mean seven points of instability. If any one of them could take down the whole analysis, the system would be useless in practice. An unavailable source is recorded as missing information, the process continues, and the report explicitly shows what could not be verified.
Cache before any paid call
Bureau queries are billed per request. The system checks the cache before spending, and the stage separation guarantees that reprocessing after a rule change triggers no new collection.
What the analyst sees
From the user's side the change is simple: they attach the same report template they already used and get a tracking number immediately. Minutes later, the complete PDF report lands in the team's inbox, with evidence and screenshots attached in the right places.
And there is one line the system does not cross: it does not conclude. It neither approves nor rejects. The score in the report is an attention signal, not a decision — the decision stays with a person, now with the material ready in front of them.
What carries over from this architecture
The pattern applies to any process that must be audited: tax, legal, compliance. Separate collection from evaluation, leave AI on the reading side — where it genuinely removes a bottleneck — and keep the conclusion in explicit rules a person can read, version and challenge.
The time saved came from removing manual labour, not from outsourcing judgement. Those are different things, and confusing them is what leaves AI projects stuck at the pilot stage.