AI Credit Memo Generator: How Source-Cited Memo Drafting Actually Works
A source-cited memo generator does not write numbers. It classifies each document, maps it to a borrower entity, extracts figures with a provenance record attached at the moment of extraction, computes ratios in code, then fills typed slots in a narrative template with those bound values. The model writes prose around figures it is handed.
The visible output of that architecture is density of evidence: YuSight's 28-minute sample CAM carries 142 citations, because every figure in it carries one. This piece is about the mechanism that produces them.
Key facts
- Model-generated citations are frequently post-rationalised. In a study disentangling citation correctness from citation faithfulness, up to 57% of citations in attributed answers were unfaithful — the model produced an answer from prior belief and attached a plausible source afterwards (Wallat et al., *Correctness is not Faithfulness in Retrieval Augmented Generation Attributions*, 2024).
- Even the best models leave half their claims unsupported. On the ELI5 split of the ALCE citation benchmark, the strongest systems lacked complete citation support 50% of the time (Gao, Yen, Yu and Chen, EMNLP 2023).
- The academic choice is framed as generation-time versus post-hoc citation — G-Cite and P-Cite (Saxena et al., 2025). Both are citations produced by a language model. A credit memo needs a third option: a citation produced by the extraction step, which is not a model output at all.
- Creditworthiness assessment is a high-risk AI use in the EU, listed at Annex III point 5(b) — "AI systems intended to be used to evaluate the creditworthiness of natural persons or establish their credit score" — and Article 12 requires that such systems "technically allow for the automatic recording of events (logs) over the lifetime of the system" (EU AI Act, Annex III; Article 12). Version history is a compliance artefact, not a convenience.
- YuSight's sample CAM contains 142 citations and drafts in 28 minutes, with every figure traced to source document and page, one-click source verification, analyst-editable spreads and full version history.
What are the seven stages of a source-cited memo pipeline?
Stage | Input | Output | What breaks if it is wrong |
|---|---|---|---|
1. Document classification | An unsorted upload | Each file typed: audited FY2025 statements, bank statement, bureau report, term sheet | Everything downstream reads the wrong document |
2. Entity mapping | Typed documents | Each document bound to a legal entity and period | Real figures land on the wrong borrower |
3. Extraction with provenance | A typed, mapped document |
| A figure with no page is unverifiable |
4. Deterministic computation | Extracted field objects | Ratios computed in code, formula retained | The model does arithmetic — its weakest task |
5. Narrative assembly | Computed values + templates | Sentences with typed slots resolved to bound values | The model emits a number of its own |
6. Confidence routing | Confidence scores + validation results | Auto-accept, analyst queue, or hard block | Low-confidence fields become confident prose |
7. Version history | Machine draft + analyst edits | A diff, with author, timestamp and reason | Nobody can show an examiner what changed |
Three of these deserve unpacking, because they are where the architecture differs from "an LLM with a good prompt".
Stage 2, entity mapping, is underrated. A group borrower submits statements for an operating company, a property-holding entity and a trading arm, three bank statements and four K-1s or Schedule III sets. Turnover attributed to the wrong entity is a genuine figure from a genuine document, and no citation check catches it, because the citation is correct. The control is the mapping itself — see multi-entity document mapping.
Stage 4 exists because ratios are multi-step arithmetic. Reading a number off a table and combining four numbers into a ratio are different tasks with different failure rates. Computing DSCR in code from four extracted inputs means the ratio can be wrong only if an input is wrong or the formula is wrong — and both are inspectable. The spreading sequence that feeds this is set out in the financial spreading process step by step.
Stage 5 is the one people imagine as "the AI writing the memo". Mechanically it is narrower than that. A template sentence is stored with typed slots:
"Debt service coverage for {period} is {dscr:ratio}, {direction} from
{dscr_prior:ratio} in {period_prior}, against a proposed covenant floor
of {covenant_dscr:ratio}."
Each slot resolves to a value object that already carries its provenance chain. The {direction} slot is resolved by comparison, not by the model choosing a word. What the model does is select among templates, order the paragraphs, and write the connective and interpretive prose around figures it cannot alter. It has no write access to a numeric slot.
Why must the citation attach at extraction time?
Because a citation added later is a search result, and a search result is a guess about where a number came from.
Consider the three architectures a vendor might be running.
Architecture | How the citation is produced | What the citation proves |
|---|---|---|
Prompt-only LLM | The model writes "(p. 47)" as part of its output | Nothing. The page reference is generated by the same process that generated the figure, and is equally inventable |
RAG with post-hoc attribution | The draft is written, then a retriever finds the passage that best matches each sentence | That a passage resembles the sentence. Not that the figure was read from it. This is the post-rationalisation failure measured at up to 57% above |
Extraction-bound citation | The extractor that located the value on the page emits page, region and confidence alongside it; the value cannot exist without them | That this specific figure was read from this specific region of this specific page |
The distinction is causal. In the third architecture the citation is not about the figure; it is part of the figure. The value object is {2_940_000, "INR", doc_id: FS_FY25, page: 12, region: [x0,y0,x1,y1], confidence: 0.987}, and there is no code path that produces a value without one. Strip the provenance and you have not removed a label — you have removed the object.
Retrofitting cannot reach that. A retrofitted citation searches the document set for something matching 2,940,000 and finds — plausibly — the right page. It also, plausibly, finds the prior-year column, a subtotal that happens to equal the same figure, or a note where the number appears in a different context. It has no way to distinguish them, because it was not there when the figure was read.
This is a stronger requirement than the generation-time versus post-hoc debate in the literature, which compares two ways of getting a model to cite. In a credit memo the model is not the thing that read the number, so it is not the thing that should be citing it.
A worked trace: one sentence, followed back to the page
Illustrative only. One sentence from a finished memo, traced to its sources.
"Debt service coverage for FY2025 is 1.31x, down from 1.68x in FY2024, against a proposed covenant floor of 1.25x."
Layer 1 — the bound slots
Slot | Resolved value | Type |
|---|---|---|
| FY2025 | period |
| 1.31x | computed ratio |
| "down" | comparison result, 1.31 < 1.68 |
| 1.68x | computed ratio |
| FY2024 | period |
| 1.25x | extracted term |
Layer 2 — the computation
DSCR = (Profit after tax + Depreciation + Interest on term debt) ÷ (Interest on term debt + Scheduled principal repayment)
FY2025: (2,940,000 + 1,860,000 + 1,240,000) ÷ (1,240,000 + 3,360,000) Numerator = 6,040,000. Denominator = 4,600,000. 6,040,000 ÷ 4,600,000 = 1.3130 → 1.31x
FY2024: (2,610,000 + 1,720,000 + 1,180,000) ÷ (1,180,000 + 2,090,000) Numerator = 5,510,000. Denominator = 3,270,000. 5,510,000 ÷ 3,270,000 = 1.6850 → 1.68x
The formula string is stored with the result. A reviewer who disagrees with the definition can see it without reverse-engineering it from the numbers.
Layer 3 — the provenance of every input
Input | Value | Document | Page | Location |
|---|---|---|---|---|
Profit after tax, FY2025 | 2,940,000 | Audited financial statements FY2025 | p. 12 | Statement of profit and loss, "Profit for the year" |
Depreciation, FY2025 | 1,860,000 | Audited financial statements FY2025 | p. 12 | "Depreciation and amortisation expense" |
Interest on term debt, FY2025 | 1,240,000 | Audited financial statements FY2025 | p. 41 | Note 26, Finance costs, sub-line "Interest on term loans" |
Scheduled principal due within 12 months | 3,360,000 | Audited financial statements FY2025 | p. 38 | Note 14, Borrowings, repayment schedule |
Covenant floor | 1.25x | Sanction term sheet dated 14 July 2026 | p. 3 | Clause 7(b) |
Five provenance records, four inputs, two documents, three distinct pages — behind one sentence of eighteen words. Multiply that across a borrower overview, a financial analysis, a ratio table, a risk section and a recommendation and 142 citations in a single memo stops sounding like a marketing number and starts sounding like arithmetic.
What the trace catches
Note that interest on term debt (1,240,000) came from page 41, not page 12. Total finance costs on the face of the P&L are 2,015,000 — a different number, sitting in a more obvious place. Using it would give (2,940,000 + 1,860,000 + 2,015,000) ÷ (2,015,000 + 3,360,000) = 6,815,000 ÷ 5,375,000 = 1.27x, still above the 1.25x floor but by 0.02x rather than 0.06x. The citation is what lets a reviewer see, in one click, which of the two the spread used.
What the trace does not catch
If your credit policy defines DSCR using total finance costs and the spread used term-loan interest, every citation in the chain is correct and the ratio is still wrong for your purpose. Citations make figures checkable, not correct. The second control — the formula displayed alongside the ratio — is what covers this, and the definitions themselves are argued in DSCR formula: every variant lenders use.
How does confidence routing decide what a human sees?
Extraction confidence is not one number. It is a composite of at least four signals, and the useful design fails loudly on any of them.
- Character-level confidence from the OCR or vision layer — low on photographed pages, faxed copies and handwriting.
- Layout match — did the field land where a statement of that type puts it, or somewhere unusual?
- Cross-foot result — do mapped assets equal mapped liabilities plus equity? Do component expenses sum to total expenses? A cross-foot failure should block ratio computation, not produce a ratio with a caveat.
- Cross-source agreement — declared turnover against bank credits against tax filings. Disagreement surfaces as an exception rather than being averaged away.
Three routes follow: auto-accept, analyst review queue, hard block. The design question worth asking a vendor is not "what is your accuracy" but "show me a field your system refused to fill". A tool that always produces an answer has no route 3, and route 3 is the one that protects you. The workflow around it is covered in human-in-the-loop credit review.
What does version history have to record?
Four things, and an examiner will ask for all four.
- The machine draft as first produced, before any human touched it.
- Every subsequent edit, with author, timestamp and the field changed.
- The reason, where the change is to a figure rather than to prose. "Reclassified promoter loan as quasi-equity per subordination letter dated 3 June 2026" is a defensible entry. A silent overwrite is not.
- Which version the approving authority saw. Committees approve a document, not a system.
This is where the EU AI Act's Article 12 logging requirement and the practical needs of a credit file coincide: both want a record of what the system did over time, distinguishable from what a person did. For the supervisory framing in the US, see model risk management for AI in credit analysis and what does examiner review require from an AI-drafted credit memo.
What is still left for the analyst?
The narrative, and every judgement inside it.
A citation-bound pipeline can tell you DSCR is 1.31x against a 1.25x floor, that receivables over 90 days are 14% of the book, that the promoter has given a corporate guarantee to a group entity, and that declared turnover exceeds bank credits by 9%. It cannot tell you whether that combination is a business tightening its working capital in a slow quarter or one that has started financing itself off its suppliers.
Nor can it write the sections that carry no figures well. Promoter background, industry outlook, the mitigant against a concentration risk, the argument for a deviation — these are the sections a credit committee actually reads closely, and they are assembled from judgement, not from documents. The section-by-section anatomy is in what is a credit assessment memo and how to write a commercial credit memo.
Three honest limits, in order of how often they are misunderstood:
- Citations prove location, not correctness. They tell you where a figure came from. Whether it was the right figure to use is a policy question.
- A correct extraction can still be the wrong input. Wrong entity, wrong period, wrong definition — three failures no citation catches, addressed by mapping, by period labelling and by displaying the formula.
- Speed is not the benefit; checkability is. A 28-minute draft that a reviewer cannot audit is worse than a four-hour one they can. The reason 142 citations matters is that it makes the 28 minutes reviewable, and the two claims only work together.
FAQ
What software can automatically generate a credit assessment memo from borrower documents?
Platforms built for credit rather than general document AI — they classify the upload, map documents to entities, spread the financials, compute ratios and assemble a memo. The test worth applying at a demo is whether you can click any figure in the draft and land on the page it came from. See what questions should you ask a credit memo automation vendor.
Does credit memo software replace underwriter judgment?
No, and any vendor claiming otherwise is selling something you should not buy. It removes re-keying, page hunting and arithmetic. It does not decide whether a 1.31x DSCR is acceptable for this borrower in this sector with this promoter.
How do you stop an AI credit memo tool from hallucinating numbers?
Architecturally: the model never supplies a figure. Figures come from an extractor, ratios from code, and the model writes prose around values it cannot alter. Prompting is not a control. The full treatment is in how do you stop an AI credit memo tool from hallucinating numbers.
Why can't the citation just be added after the memo is written?
Because a citation added afterwards is a search for a plausible source, not a record of where the figure was read. Research on attributed generation finds up to 57% of such citations are unfaithful — correct-looking but not actually the basis of the claim.
What does a citation in a credit memo actually point to?
A document, a page and usually a highlighted region on that page. If clicking a figure opens a 90-page PDF at page one, that is a document reference, not a citation, and it does not shorten review.
How many citations should a memo have?
As many as it has figures. A memo with 40 numbers and 6 citations has 34 figures nobody can check. YuSight's sample CAM has 142 citations because it has roughly that many distinct sourced figures.
Can the analyst override what the system produced?
Yes, and the override should be the normal case rather than an exception. What matters is that the edit is recorded — field, old value, new value, author, timestamp and reason — so the diff between machine draft and approved memo is visible to whoever reviews it later.
Does this replace our loan origination system?
No. Memo generation covers documents through to draft memo. The LOS still owns application capture, queues, the approval matrix, documentation and booking. That boundary is drawn in does credit memo automation replace your LOS or sit alongside it.
Conclusion
Three things to take away:
- The pipeline, not the model, is the product. Classification, entity mapping, extraction with provenance, computation in code, slot-bound narrative, confidence routing, version history. A vendor who describes their product only in terms of which model it uses has not built the other six stages.
- A citation is only evidence if it was produced by whatever read the number. Model-written page references and post-hoc retrieval matches are guesses that look like citations, and the research says they are wrong often enough to matter.
- Checkability is the claim to make and to demand. Not accuracy, not infallibility. Every figure clickable to its source page, every ratio shown with its formula, every edit in the version history.
YuSight's CAM Generation module produces a fully-cited, interactive Credit Assessment Memo — borrower overview, financial analysis, risk factors and recommendation — with 142 citations in a 28-minute sample CAM, one-click source verification on every figure, analyst-editable spreads, and full version history for the audit trail.
See your first CAM in 30 minutes — book a live demo.