AI Loan Processing: Catch Missing Documents Before Underwriting

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI Loan Processing: Catch Missing Documents Before Underwriting.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI Loan Processing: Catch Missing Documents Before Underwriting.

Give the assistant two things: the checklist for the loan type and the file's documents. It classifies each document, lists what is missing, and flags anything stale or incomplete, such as a bank statement without its third page. The processor confirms each exception against the lender's guide and signs the file off before it goes to underwriting.

The assistant checks completeness, never eligibility. It does not decide whether the borrower qualifies; it tells the processor what is absent, old, unsigned or inconsistent, so the file does not come back with a long list of conditions. Date arithmetic is done by a spreadsheet formula, because a spreadsheet counts days reliably and a language model can slip.

Follow me on Instagram@sagnikteaches

Where files come back, and which returns are avoidable

An underwriter's conditions list contains two kinds of item: the ones that need a decision and the ones that only needed someone to look. The second kind is the target here. Typical examples are a statement with a missing page, a pay stub that aged out while the borrower hunted for the next one, an unsigned form, a letter of explanation that never arrived, a purchase contract without its addenda, an appraisal that passed the lender's age limit when the closing date slipped. Each return costs days and tries the borrower's patience, and each is visible on the page before submission.

Connect on LinkedInSagnik Bhattacharya

The checks below find that second kind. They do nothing for a file that genuinely does not qualify, and they are not meant to. They also do not replace the lender's own guide, which wins whenever it disagrees with anything on this page.

Subscribe on YouTube@sagnikteaches

A starter checklist by loan type

This matrix is a starting point for a small brokerage, written without any one lender's programme in mind. "If applies" means the item is required only when the file includes that situation, and "Lender decides" marks items whose rules vary most. Programmes with their own forms, such as government-backed or non-standard loans, add items; take those from the lender's guide.

DocumentPurchase, salariedPurchase, self-employedRefinanceInvestment purchase
Signed loan application, every borrowerYesYesYesYes
Photo ID and identity number checkYesYesYesYes
Credit report inside the lender's age windowYesYesYesYes
Pay stubs covering the most recent 30 daysYesIf also salariedIf salariedIf salaried
Year-end wage statements, one or two yearsYesIf also salariedIf salariedIf salaried
Personal tax returns, two years, all pages and schedulesLender decidesYesIf self-employed or other incomeYes if rental income is used
Business tax returns, two yearsNoYesIf self-employedIf self-employed
Year-to-date profit and lossNoYesIf self-employedIf self-employed
Evidence the business existsNoYesIf self-employedIf self-employed
Employment verification, written or verbalYesYesYesYes
Bank statements, all pagesTwo monthsTwo monthsOne monthTwo months
Gift letter and donor transfer evidenceIf appliesIf appliesNoIf applies
Explanation and source for large or unusual depositsIf appliesIf appliesIf appliesIf applies
Fully executed purchase contract with all addendaYesYesNoYes
Deposit paid and clearedYesYesNoYes
Appraisal through the lender's channelYesYesYesYes
Insurance quote or binderYesYesYesYes
Mortgage statement and payoff for the property refinancedNoNoYesNo
Statements for other properties ownedIf appliesIf appliesIf appliesIf applies
Leases or rental income evidenceNoNoIf appliesYes
Letters of explanation (inquiries, employment gaps, name changes)If appliesIf appliesIf appliesIf applies
Signed initial disclosures and consentsYesYesYesYes

Keep one checklist per loan type for each lender you use regularly, with the lender's name and the version date at the top, and update it when the lender updates its guide. The assistant is only as good as the checklist, so the checklist deserves an owner. Building it forces a useful conversation about which items each lender really insists on, and a lender's answer can be stricter than the general rule.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

Classify first, then judge: label every document in batches

Borrowers send documents as scans, phone photos and exports with names like scan_0041.pdf. Before any completeness check, give each file a type from a fixed list, and read off its borrower, issuer and date. A controlled list matters: if the assistant may invent types, the checklist cannot match them. Start with 25 to 40 types (bank statement, pay stub, personal tax return, purchase contract, gift letter and so on), and add an OTHER option so that a strange document is flagged instead of forced into the wrong box.

You are classifying documents in a mortgage loan file. For each file I give you, return one row:
FILE, DOC_TYPE (choose exactly one from the list below), BORROWER (as printed), ISSUER, DOC_DATE or PERIOD (as printed), PAGES_FOUND, PAGES_EXPECTED (from page footers such as "Page 2 of 5", otherwise blank), SIGNED (YES, NO or N/A), LEGIBLE (YES, PARTLY or NO), NOTES.
Rules:
- Use only what is printed on the document. Do not infer a date, name or amount that is not there.
- If the type is not on the list, use OTHER and describe it in NOTES. Never invent a type.
- If a page is unreadable, say which page in NOTES and set LEGIBLE to PARTLY or NO.
- Mask account and identity numbers to the last four digits in your answer.
Document types: [paste your list]

A first output looks like the table below (illustrative). The notes column is where the useful information sits:

FileTypePeriod or datePagesNotes
scan_0041.pdfBank statementAugust 20264 of 5Footer jumps from page 2 to page 4; page 3 is absent
IMG_2290.jpgPay stub31 July 20261 of 1Phone photo; year-to-date figure partly cut off. Legible: partly
tax2024.pdfPersonal tax return202438 of 38Signature line blank
Letter.docxOtherUndated1Reads like an explanation of a deposit; unsigned
Statement_Sep.pdfBank statementSeptember 20265 of 5Account ending 7741; the August statement is account 4402
contract_v2.pdfPurchase contractUndated14 of 14Page 12 refers to Addendum B, which is not in the file

Four things for the reviewer to catch. The second bank statement belongs to a different account, so the checklist's "two months" now means two months for each account the lender will count, not one of each. The pay stub photo cannot satisfy a 30-day rule until the year-to-date line is legible, so it goes on the exceptions list. The "Other" letter is the processor's call: it may satisfy the explanation item once it is signed and says what the lender needs. And the assistant can report pages expected only where a footer says so; where there is no footer, a blank is the honest answer, and a confident number would be a guess.

Work in batches. Claude takes up to 20 files per chat, Gemini 10 files per prompt, and paid ChatGPT plans allow up to 80 file uploads every three hours, so batches of about 10 suit any of them. Paste each batch's table into one master sheet. Then run the completeness check on the master table plus the checklist, as text, and not on the files again. That keeps the heavy upload to one pass, avoids the limits, and means borrower documents are not sent twice.

Stale-date checks: the assistant extracts, the spreadsheet decides

The classification table already holds each document's date. The staleness test is arithmetic against either the application date or the note date, and the two anchors matter, because different documents are measured from different ones. The example rules below come from one widely used published guide for conventional loans, checked on 4 November 2026. Your lender's matrix overrides them, so treat these as values to replace.

DocumentExample ruleMeasured from
Pay stubDated no earlier than 30 days before the application date, and showing year-to-date earningsApplication date
Credit documentsNo more than four months old on the note dateNote date
Bank statementsPurchase: most recent full two months. Refinance: most recent full month. If the latest statement ends more than 45 days before the application date, ask for a newer oneApplication date
AppraisalFour months or less needs nothing more; over four and under 12 months needs an update; more than 12 months needs a new appraisal (a desktop appraisal needs a new one after four months)Note date
Verbal employment verificationSalaried: within 10 business days before the note date. Self-employed: within 120 calendar daysNote date

Put the two anchor dates in cells and the thresholds beside them, so a rule change is one edit. With dates in column C, formulas for the five rules look like this:

Inputs: B1 = application date, B2 = note (closing) date
Pay stub (30 days):          =IF($B$1-C5>30,"STALE","OK")
Credit report (4 months):    =IF($B$2>EDATE(C6,4),"STALE","OK")
Latest statement (45 days):  =IF($B$1-C7>45,"ASK FOR NEWER","OK")
Appraisal:                   =IF($B$2>EDATE(C8,12),"NEW APPRAISAL",IF($B$2>EDATE(C8,4),"UPDATE","OK"))
Verbal VOE, salaried:        =IF(C9<WORKDAY($B$2,-10),"REDO","OK")
Verbal VOE, self-employed:   =IF($B$2-C9>120,"REDO","OK")

An assistant can write these formulas if you describe the rules, and the older tutorial on using ChatGPT with Excel shows how to ask. Test every formula on dates you can count by hand before trusting it. Here is such a test for one illustrative file with an application date of 2 September 2026, run against two possible closing dates:

Document and dateNote date 20 OctoberIf closing slips to 15 November
Pay stub, 14 August 202619 days before application: OKOK (anchored to the application date)
Credit report, 5 June 2026Four months ended 5 October: STALESTALE
Latest bank statement ending 31 July 202633 days before application: OKOK
Appraisal, 10 July 2026Four months run to 10 November: OKUPDATE
Verbal VOE (self-employed), 1 July 2026111 days: OK137 days: REDO

The last column is the reason to build the sheet instead of checking by eye. On the planned closing date only the credit report fails. If the closing slips by 26 days, the appraisal needs an update and the employment verification has to be redone, and nobody notices unless the dates are re-tested. Re-run the date check every time the target note date moves, and treat a moved closing date as a trigger to open the file again.

The completeness prompt, and what comes back

The completeness check takes two text inputs, the checklist for the loan type and the master classification table, and returns one line per checklist item. Its most important rule is about evidence. An item counts as present only if the assistant can name the file, because otherwise a fluent "all present" is the easiest answer to give.

You are checking a mortgage loan file for completeness. You do not assess eligibility.
Inputs: (1) the checklist for this loan type, (2) the classification table for the file.
For each checklist item return: ITEM, STATUS (PRESENT, MISSING, INCOMPLETE, DATE-CHECK or QUERY), EVIDENCE (file name and page, required for every PRESENT item), ACTION (what to request, in one sentence).
Rules:
- Mark an item PRESENT only if a file in the table matches it and you can cite the file name. No file name means MISSING.
- Mark INCOMPLETE when pages found are fewer than pages expected, when a required signature is missing, or when the document is only partly legible.
- Do not decide that a date is stale. Copy the date into EVIDENCE and write DATE-CHECK. A spreadsheet will test it.
- Compare names, addresses, employer or business names and account endings across documents. If two documents differ, mark QUERY and give both values.
- Do not guess. If the table does not say, mark QUERY.
Checklist: [paste]
Classification table: [paste]
Item (illustrative)StatusEvidenceAction
Bank statements, two months, all pagesINCOMPLETEscan_0041.pdf, 4 of 5 pagesAsk for page 3 of the August statement
Personal tax return, 2024INCOMPLETEtax2024.pdf, signature blankAsk for the signed return
Year-to-date profit and lossMISSINGNoneAsk for a signed year-to-date statement
Explanation of the $9,400 deposit on 14 AugustQUERYLetter.docx, unsignedAsk for a signed letter and the source document
Business nameQUERYReturn shows the name with a company suffix; the bank account does notConfirm with the borrower which is the registered name
Evidence the business existsPRESENTregistration.pdf, page 1None

Read the output the way you would read a junior colleague's, with the documents open beside it. The two failures to expect are over-marking and under-flagging. Over-marking is an item recorded as present because a similar document exists, which is why every PRESENT row must cite a file. Under-flagging is a quiet mismatch, such as the company suffix above, that the assistant noticed only because rule 4 told it to look. Treat every QUERY as real until a person clears it.

A self-employed purchase file of 63 documents, end to end

The borrower, in this illustration, runs a small B2B software reseller and is buying a home. Sixty-three documents arrive through a portal and by email. They are classified in seven batches of about ten files: 54 are identified and matched, 5 are duplicates (the same statement sent twice) and 4 are unreadable or unrecognised. The checklist for a self-employed purchase has 17 applicable items. The completeness run returns 10 present, 3 incomplete, 2 missing and 2 queries.

The three incomplete items are the bank statement missing its third page, the unsigned 2024 tax return and the purchase contract missing Addendum B. The two missing items are the signed year-to-date profit and loss statement and the second month of statements for the savings account. The two queries are the unsigned letter about a $9,400 deposit and the business-name mismatch. The date sheet, run against a note date of 20 October, adds one more exception: the credit report is stale. That is eight exceptions, and every one would otherwise have surfaced as a condition after submission.

The processor edits and sends the borrower request below, drafted by the assistant from the exception list. It names each item, says exactly what is wrong, and gives the borrower a way to ask for help:

Hi [first name], thanks for the documents. To keep your file moving we still need: (1) page 3 of your August bank statement, because the copy we received has 4 of 5 pages; (2) the second month of statements for your savings account; (3) a signed copy of your 2024 tax return; (4) a signed year-to-date profit and loss statement; (5) a signed letter explaining the $9,400 deposit on 14 August, with the paperwork showing where it came from; (6) Addendum B to the purchase contract; and (7) confirmation of your business's registered name, because it appears with and without a company suffix on different documents. Photos are fine if every corner is visible and the text is sharp. If any of these are hard to get, tell me which and I will check what the lender will accept. [your name]

Seven of the eight exceptions go to the borrower. The eighth, the stale credit report, is the processor's own task, so it stays off the borrower's list. The timings are illustrative: about 25 minutes to run the seven batches, 10 minutes for the completeness check, 10 for the date sheet, 35 for the processor to confirm the eight exceptions against the documents and 10 for the message, or 90 minutes in all. No comparison with a manual check is offered, because the point is where the eight problems turn up: with the processor, before submission.

Consistency checks: reading the file as an underwriter will

Once the file is complete, a second pass looks for things that do not agree. The assistant extracts the values and the processor, or a formula, compares them. Check borrower names for spelling and suffix across the application, ID, tax returns and statements, and current address across the ID, the credit report and recent statements. Check employer or business names and dates against the verification, and account endings between statements and the application. Check the property address on the contract, appraisal and insurance quote.

Two quick sums catch more than they should. The first is year-to-date earnings divided by monthly gross pay. Take a salaried borrower paid $6,875 a month whose pay stub dated 31 July shows $48,125 year to date: 48,125 divided by 6,875 is exactly seven months, which fits a July stub. If the stub showed $41,250, the result is six months, so ask whether the borrower started in February or took unpaid leave. The second is continuity: August's closing balance should equal September's opening balance. If August closes at $18,420.55 and September opens at $22,100.00, a page or an account is missing, or something else happened between the two.

Neither sum proves anything. They tell the processor where to ask a question. The assistant also reads what is printed and cannot tell a genuine document from an altered one. If a document looks changed, stop and follow your lender's and your compliance procedure instead of working it out with the borrower; the tutorial on document checks and fraud signals in tenant referencing shows the kinds of signals worth noticing, and the one on having Claude read payslips and bank statements tests what an assistant gets right on the same documents.

Keeping borrower data safe while you do this

A loan file holds identity numbers, tax returns and account details, so the tool matters as much as the prompt. Use a business plan that does not train on your content by default: ChatGPT Business costs $20 a seat a month billed annually ($25 monthly) and Claude Team costs the same, each with a two-seat minimum. Free consumer accounts are the wrong place for this material. Mask identity and account numbers to the last four digits wherever the check does not need more; classification and completeness need no more than that, and the date and name checks do not need the numbers at all.

Treat the tool as a vendor under your written information-security plan, and ask your compliance contact before the first live file, because your obligations depend on your market and your lenders. Remove a processor's access the day they leave. Export the final tables into the loan file as you go, rather than leaving them in anyone's chat history, and delete the working chats on your retention schedule. Keep the assistant out of credit decisions entirely: it checks documents, and it is never asked to rank borrowers or predict what the underwriter will do. The wider picture of processing, disclosures and audit trails for lenders is in the tutorial on AI tools for mortgage lenders.

The processor's sign-off sheet

The routine ends with a one-page sheet kept in the loan file beside the tables. Its most important line is the one that says a person compared the AI output with the source documents, because it records that the processor, not the tool, stood behind the file:

FILE CHECK SIGN-OFF   Loan [number]   Type [purchase | refinance | investment]   Self-employed [Y/N]
Checklist: lender [name], version date [ ]   Run on [date]
Application date [ ]   Target note date [ ]
Items required [ ]   Present [ ]   Exceptions cleared [ ]   Still open [ ]
Date checks on the target note date: pay stub [ ]  credit [ ]  statements [ ]  appraisal [ ]  verbal VOE [ ]
Consistency: names [ ]  addresses [ ]  accounts [ ]  employer or business [ ]  property address [ ]
AI output compared with source documents by: [processor]   Date [ ]
Submitted to underwriting on [date]   Processor [name]

Pilot the whole routine on three files already in progress, with the processor doing the usual check in parallel. Compare what each method found, add anything the assistant missed to the checklist or the prompts, and only then use it on a live submission. For the stages before the file reaches processing, the tutorial on a tax organiser that chases missing documents shows the same chasing pattern in another trade, and it is worth borrowing its reminder timings for the borrower requests.

Questions processors ask about AI file checks

Can AI decide whether a borrower qualifies?

It should not. This routine checks completeness: what is present, missing, stale, unsigned or inconsistent. Eligibility, pricing and credit decisions stay with the lender's underwriter and your compliance rules. Keep the assistant out of the decision, and ask your compliance contact whether any use of AI in processing needs to be documented or disclosed.

Is it safe to upload borrower documents to an AI tool?

Only with care. Use a business plan that does not train on your content by default, mask identifiers the check does not need, and treat the tool as a vendor under your information-security plan. Free consumer accounts are the wrong place for tax returns and bank statements. Ask your compliance contact before the first live file.

What if the borrower's documents are phone photos?

Photos and scans can work, but legibility decides everything. Ask the assistant to report any page it cannot read with confidence, and treat unreadable as missing until a clearer copy arrives. A figure misread from a blurry photo can pass every check, so confirm key numbers on the page yourself.

How do I know the checklist matches my lender?

You do not until you compare it. Start from the starter checklist, then check it against each lender's current guide or matrix, because lenders add requirements of their own on top of general guidelines. Keep one checklist per loan type for each lender you use most, with the version date written on it.

Will this work with our loan origination system?

The routine runs outside it, on a folder of documents and a spreadsheet, so it works with any system that lets you download the file. Some systems have document-classification features of their own. Test those against this routine on three real files before relying on either one.

Further reads

Sources: a published conventional-loan selling guide (age of credit documents, appraisal age and use, pay stub, asset and verbal employment verification sections), the ChatGPT Business and Claude Team pricing pages, and the file-upload help pages for Claude, ChatGPT and Gemini. Checked 4 November 2026.

Want a file-check routine your processors will trust?

On a 1:1 call we'll walk through how files move from application to underwriting today, build the checklist and date checks for your most common loan types, and agree where the processor's sign-off sits.

Book a 1:1 call with me