Credit memo generation with LLMs: the prompt chain that survives a committee
A structured prompt chain that produces first-draft credit memos your credit committee will actually accept — with risk grade, conditions, deviations, and explicit gaps flagged.
This post is part of the ongoing series on how to underwrite loans with AI, focused on the specific question of credit-memo drafting — the artifact your committee actually reads and votes on.
I’ll walk the structure that works, the prompt that produces it, three failure modes you need to know about, and a sample output so you can judge the quality for yourself.
Why most LLM-written memos fail
The typical first attempt at LLM-driven memo writing looks like: paste the whole application file plus bank statements plus employer letter into ChatGPT, add “write a credit memo,” and get back something that looks like a memo. Committee rejects it within seconds. Three reasons:
- No structured input. The model had to infer the facts from raw documents. Errors sneak in — income figures off, tenure misread, obligations missed.
- No output schema. The memo structure drifts — sometimes the decision is buried in paragraph three, sometimes the conditions are missing, sometimes the gaps aren’t called out at all.
- Over-confident language. The model defaults to decisive-sounding prose. “The applicant demonstrates strong repayment capacity” — okay, but based on what, weighted how, and compared against which policy benchmark? A credit committee reads this and immediately doubts the rigour.
Fix all three and the output gets unrecognisably better.
The structure that survives committee
After iterating on what gets adopted vs rejected, six sections consistently hold up:
- Proposed Decision. One of Approve / Approve with Conditions / Decline / Refer to Committee, with a one-sentence rationale. This sits first because it’s what the committee reads first and anchors the rest of the reading.
- Risk Grade. A, B, C, D, or equivalent. Explicit justification in 1–2 sentences. One factor that would push the grade up, one that would push it down — this forces the model to acknowledge uncertainty.
- Rationale. 3–5 bullet points, factual, with specific figures. Not a narrative essay. Committees want the evidence compressed, not expanded.
- Conditions Precedent. Clear, numbered conditions before disbursal. “Bureau score confirmed at 700+”, “Revised payslip received”, “One reference call completed.”
- Deviations from Policy. Either a list of deviations with rationale, or “None required.” Forces the model to explicitly check against policy rather than silently pass.
- Gaps / Outstanding Items. Everything missing, tagged with
[gap: X]. This is the section that prevents memos from looking complete when they aren’t.
Most existing credit-committee templates map to this structure with minor renaming. If yours is different, keep your labels but preserve the order — Decision → Grade → Rationale → Conditions → Deviations → Gaps is how committees read.
The prompt
You are an underwriting assistant drafting a credit memo. Given the structured data
below, produce a credit memo with these EXACT sections, in this order, using Markdown
headings.
## Proposed Decision
(One of: Approve / Approve with Conditions / Decline / Refer to Committee, plus a
one-sentence rationale.)
## Risk Grade
(A, B, C, D, or N/A. Explain the grade in 1-2 sentences. State one factor that would
push the grade up, and one that would push it down.)
## Rationale
(3-5 bullet points, factual, referencing specific figures. Not a narrative essay.)
## Conditions (if any)
(Numbered conditions precedent to disbursal.)
## Deviations from Policy
(If the file requires any deviation, list the deviation + the policy + rationale.
If none, write "None required.")
## Gaps / Outstanding Items
(Information still missing. Use "[gap: X]" tags.)
RULES:
- For every figure you cite, specify the source field it came from.
- Use "[gap: X]" for any required data not present in the input. Do NOT infer.
- Do not recommend outright approval if any condition is unresolved.
- Reserve grade A for files meeting ALL criteria above target; reserve grade D for
files failing multiple criteria.
Structured data:
{PASTE_ALL_AVAILABLE_DATA_HERE}
The rules section at the bottom is where the quality lives. Without them, the model reverts to over-confident prose. With them, it holds the line.
Three failure modes to watch
Anchoring on upstream prompts. If you feed the memo prompt the output of an earlier summary prompt, the memo prompt inherits any errors that summary made. Fix: feed the memo prompt the original structured record (from Prompt 1 in the pack) alongside the summary, not instead of it.
Inflated risk grades. The model defaults to B or C grades because they feel “safe.” This inflates your average portfolio grade over time. Fix: the rule at the bottom — reserve A for genuinely-meets-target, reserve D for failing — is specifically designed to pressure the model toward honest extremes when they’re warranted.
Hidden gaps. The most dangerous failure: the memo looks complete but a critical gap is silently omitted. Fix: the [gap: X] tag requirement is non-negotiable. Audit a sample of your first 50 AI-drafted memos against the source files; if gaps are missing, tune the prompt with stronger instruction.
Sample output
Against a real (anonymised) file — salaried applicant, 6-year tenure, 4 lakh personal loan request, one existing car EMI — the prompt produces something like:
Proposed Decision. Approve with Conditions — borrower meets affordability and tenure thresholds, but two items require resolution before disbursal.
Risk Grade. B. Six-year single-employer tenure (source: employment.tenure_months = 75) and sub-30% proposed FOIR (source: computed from income.net_monthly and obligations) support a B grade. A bureau score above 720 would push to A-; confirmation of payslip arithmetic discrepancy or revelation of collateral on the existing car loan would push toward B-.
Rationale.
- Net monthly income INR 95,000 (source: income.net_monthly); proposed FOIR of 26.6% well inside policy band of 50–60%.
- Six years continuous employment at single employer (source: employment.employer, tenure_months), indicating income stability.
- Single existing EMI obligation of INR 12,000/month (source: obligations.existing_emi_monthly), modest.
- Loan purpose (home renovation) is policy-approved, though not evidenced by contractor quote.
Conditions.
- Bureau score pulled at disbursal; minimum threshold 700.
- Payslip arithmetic inconsistency (flagged in document-scan) resolved via revised payslip or direct employer confirmation.
Deviations from Policy. None required.
Gaps / Outstanding Items.
- [gap: current bureau score]
- [gap: contractor quote or renovation scope evidence]
- [gap: existing car-loan outstanding balance and residual tenure]
- [gap: reference check completed]
That’s the output quality after the prompt chain has done its work. The underwriter’s remaining job is to (a) verify the figures cited against the source, (b) edit the grade if their judgment differs, (c) decide whether to escalate. About 10 minutes of focused review, down from 30–40 minutes of drafting from scratch.
Where to go from here
The full six-prompt underwriting chain — intake, summary, red-flag scan, affordability, memo, decision — is the core of the AI Lending Prompt Library, or the smaller 10-prompt starter on the $9 pack if you just want the memo prompt without the rest.
If you want to build this chain for your own loan product, the 7-Day Underwriting Course walks you through it with a real file you work on across the week.
Next in this series: how the ten red flags AI catches in loan applications map to specific prompts — the fraud-side companion piece to the underwriting workflow.
Frequently asked questions
Can an LLM write a credit memo that passes a committee?
An LLM can write a *first-draft* credit memo that gets the underwriter 70% of the way there in seconds rather than 30 minutes. The underwriter edits for the last 30% — judgment, local context, committee-specific framing. A memo that goes to committee untouched is asking for trouble; a memo that goes to committee after a 10-minute human edit is a real productivity win.
What's the right structure for an AI-generated credit memo?
Six sections, in this exact order: Proposed Decision, Risk Grade, Rationale, Conditions Precedent, Deviations from Policy, Gaps / Outstanding Items. This mirrors how experienced credit committees read a memo — decision first, supporting detail after, explicit gaps at the end so nothing is hidden.
How do I stop the LLM from hallucinating numbers in the memo?
Three rules in your prompt: (1) require the LLM to cite the source field for every figure it mentions; (2) instruct it to use '[gap: X]' tags for anything not in the input rather than inferring; (3) feed it the structured record, not raw free-form text. Following these three, hallucination rates drop below 5% on real files in my testing.
Should the LLM make the approve/decline decision?
No. The LLM should *propose* a decision as part of the draft, but the decision must be made — and owned — by a human underwriter or credit committee. This is both regulatory best practice (RBI, ECOA) and operationally prudent. The LLM's role is to structure the analysis, not bear the accountability.
Sources
- Guidelines on Digital Lending (September 2022) · Reserve Bank of India