Banking & Lending Document Processing

Extract data from mortgage applications

Unstract reads the Uniform Residential Loan Application and the loan estimates, employment verifications and loan schedules filed with it, wet-signed scans or e-signed PDFs, and sends each borrower, income, asset and loan field to your loan origination system.

urla-1003-kessler.pdf · wet-signed borrower applicationstructured data
{  "form": "Uniform Residential Loan Application",  "borrower": "Andrew J. Kessler",  "ssn": "***-**-4471",  "date_of_birth": "09/22/1988",  "marital_status": "Married",  "employer": "Granite Peak Engineering LLC",  "base_monthly_income": 9250,  "account_balance": 48620.15,  "loan_amount": 412000,  "loan_purpose": "Purchase",  "occupancy": "Primary residence",  "confidence": 0.94}

Trusted by lending and onboarding teams around the globe

G2 Leader, Fall 2026G2 Best Usability, Summer 2026
Moody'sEndpointMedaxionPinpointConvrSmart ClerkCyberSoftThoughtFocusZluriIOA
What arrives

Every loan officer's file comes in a different shape

A 1003 keyed in the point-of-sale system prints cleanly. Applications taken at an open house, at a branch desk or from a broker partner look like this.

Signed at the branch, scanned on a copier that crops the margins

1003 (2009)URLA 2021BROKER APP

The pre-2021 1003, the redesigned URLA and a broker's own form

EMPLOYERYRS IN LINE8,900BASEYESNO

Income rewritten by hand after the borrower found a newer pay stub

1003VOELEAMORT1 LOAN · 214 PAGES

Application, VOE, loan estimate and schedule in a single upload

AMORTIZATION · 360 PAYMENTS

Amortization tables from servicers, next to a student loan agreement

Processors retype a nine-page application into the LOS, field by field, and recheck the income against the pay stubs by hand, so the file sits in a queue while the borrower's rate lock runs down.

Unstract reads the 1003 in whichever edition it arrived, extracts the borrower, employment, asset and loan fields, checks them against the rest of the file and delivers a clean record to your loan origination system.

Book a consultationFree consultation worth $1,000. Bring a few signed 1003s and see them read live.
How it works

From a signed 1003 to a loan file ready for underwriting

LLMWhisperer reads the application, Document Studio turns it into fields and Flow runs the origination file around them. Start with any one of the three and add the others when the volume asks for it.

Mortgage application OCR

Read every section of a mortgage application with its boxes intact

A Uniform Residential Loan Application spreads one borrower across nine sections, with tick boxes for marital status, loan purpose and occupancy and a run of declarations answered yes or no. LLMWhisperer is the loan application form OCR layer: it keeps every ticked and unticked box beside its label, holds each asset row together across the table, and reads a handwritten income figure where the borrower wrote it.

Hand the text to your own LLM, or make it the first step of your loan file intake.

Learn more about LLMWhisperer
BORROWERAndrew J. KesslerMARITAL[x] MarriedEMPLOYERGranite Peak Eng. LLCBASE MONTHLY$9,250.00CHECKING****3318 $48,620.15LOAN AMOUNT$412,000OCCUPANCY[x] Primary residence
AI data extraction

Turn mortgage applications into one borrower record for every edition

Loan application data extraction starts from the fields your underwriters check: borrower and co-borrower identity, years at the current address, employer, position and base income, each asset account with its balance, and the loan amount, purpose, property and occupancy. The old 1003, the 2021 URLA and a broker's own layout return the same JSON. Values are compared with the documents around them, so a base income that the pay stubs don't support comes back flagged with the figure it disagrees with.

Call it as an API from your point-of-sale system, run it as an ETL pipeline over the loan documents folder, or make it one step of an orchestrated origination file.

Learn more about Document Studio
borrowerAndrew J. Kessler✓base_income9250.00⚑checking48620.15⚑loan_amount412000✓occupancyPrimary residence✓⚑ pay stubs show 8,640⚑ statement shows 31,204
Agentic process automation

Run mortgage loan origination from the first upload to underwriting

Describe how your team builds a loan file around the 1003 in plain English, and Flow's agents build the workflow. The upload is split into the application, pay stubs, W-2s, bank statements, VOEs and the purchase contract, each one indexed to the loan, and the 1003 income and assets are recalculated from the documents that support them. Clean fields land in your loan origination system, such as ICE Encompass or Dark Matter Empower. You approve the workflow once, and each new application follows the same path.

Decide which files need a person: stated income outside your tolerance, a large deposit nobody has explained, a statement month missing from the assets or a low-confidence read. Those files wait for a loan processor with the page that raised the question; the rest move on to underwriting.

Learn more about Flow
1
Loan file intakeThe 1003 arrives with pay stubs, W-2s and statements from portal or email
2
Stack and indexApplication, VOE and loan estimate indexed to the loan in stacking order
3
Read and extractParseEvery section, tick box and handwritten figure kept in placeExtractBorrower, employer, income, assets, loan terms
4
Income and asset checksBase income recalculated from pay stubs; balances matched to statements
5
ConditionsAn unsupported figure on the 1003 becomes a condition with its source
6
Into the LOSClean 1003 fields and indexed documents land in Encompass or Empower

Read your own 1003s today. Add the origination workflow later.

Start for free and run signed applications through parsing and extraction on your own. Income checks, conditions and posting to your loan origination system start with a consultation.

Supported documents, processes & fields

The 1003, the loan estimate and the paperwork that follows a loan

Documents

  • Uniform Residential Loan Application (Fannie Mae Form 1003)
  • Freddie Mac Form 65
  • Pre-2021 Form 1003 editions
  • Lender and broker loan applications
  • Additional borrower and continuation sheets
  • Loan estimates
  • Verification of employment forms
  • Verification of deposit forms
  • Loan information and verification forms
  • Loan data verifications
  • Loan amortization schedules
  • Student loan agreements
  • Student loan guarantor forms
  • Uniform underwriting and transmittal summaries (Form 1008)
  • Pay stubs
  • Purchase contracts

Fields captured

Borrower and co-borrower namesSocial Security number, maskedDate of birthMarital status and dependentsCitizenshipCurrent address and years thereHousing paymentFormer addressEmployer name and phonePosition or titleStart date and years in line of workBase, overtime and bonus incomeSelf-employment and other incomeMilitary service
Who it's for

For the teams who take an application and close the loan

Mortgage lenders and loan officers

Loan officers send a signed application from an open house and see the borrower's income and assets in the file that afternoon, before issuing the loan estimate.

Loan processors and underwriters

Processors stop keying nine pages per borrower, and underwriters open a file where each stated figure on the 1003 already sits beside the pay stub or statement that proves it.

Credit unions and community banks

Members walk in with paper applications and older 1003 editions, and a small mortgage desk turns them into LOS records without adding staff for data entry.

Consumer and auto lenders

Personal, auto and student loan applications follow the same rules, with employer, income and repayment terms read off each one and amortization schedules captured for the debt calculation.

Outcomes

Applications set up while the borrower is still on the phone

<3 minfrom a signed 1003 to borrower fields in the loan file
91%of mortgage applications extracted with no processor edits
54%fewer hours keying applications into the LOS
2×faster from a signed application to a file in underwriting
We've successfully used it to extract data from large files for credit unions, including documents with handwritten text and embedded images, and it has consistently delivered excellent results.
G2Puneeth KumarSenior Developer, Digital Align · Reviewed on G2
1 / 3
Security

A borrower's whole financial life sits on one form

A mortgage application lists a borrower's Social Security number, date of birth, employer and income, every bank and retirement account with its balance, and every debt they owe. That full financial profile is what an identity thief needs to take out credit in the borrower's name.

AICPA SOC 2ISO 27001GDPRHIPAA
  • Encrypted in transit and at rest.
  • Borrower applications are never used for model training.
  • Access set by role, branch and loan, with every edited field and cleared condition logged against the loan number.
  • Retention follows your policy, so applications are removed when your record-keeping rules allow.
  • Self-hosted deployment for lenders and credit unions that keep borrower data inside their own network.
Read how borrower data is handled in the Trust Center
Questions

What lenders ask about reading loan applications

Unstract does. LLMWhisperer reads scanned, faxed and e-signed applications into text with every tick box and table row in place, and Document Studio returns the fields as JSON from one API endpoint per document type. A lending app posts the 1003 and gets the borrower record back.

Judge it on the files you already have: it should read the old 1003, the 2021 URLA and a broker's own form without a template for each, check stated income and assets against the supporting documents, and post to your loan origination system. Unstract runs as an API, an ETL pipeline or an MCP server.

Point an ETL pipeline at the folder or inbox your borrower portal writes to, define the fields once, and each new PDF is read on arrival. Records go to your LOS or a database such as Postgres or Snowflake.

Document Studio. It uses LLMs to find each field by meaning, so the same schema works on a Form 1003, a Freddie Mac Form 65, a personal loan application and a student loan agreement. Two models check each value, and a figure they disagree on comes back empty for review.

Yes. Brokers, credit unions and older 1003 editions all place the income and asset boxes differently. No template or training is needed per layout, and every version returns the same JSON keys.

A mortgage application form data extractor should return one record per borrower: name, masked SSN, date of birth, marital status, addresses with years at each, employers with position and monthly income, asset accounts with balances, liabilities, the loan amount, purpose, property and occupancy, and the declarations answers.

A template-based mortgage application form parser breaks when a broker sends its own layout or a borrower fills in a continuation sheet. Document Studio reads by meaning, so a new layout needs no new rules.

Yes. Loan estimates return the rate, loan terms, closing costs and cash to close. Verification of employment forms return the employer, dates of employment and pay history. Amortization schedules and student loan agreements return balances, payments and terms for the debt-to-income calculation.

LLMWhisperer reads handwriting alongside printed text, including figures a borrower corrects by hand. The Highlight API shows where on the page each value came from, so a processor can confirm a handwritten income in one look.

Unstract is SOC 2, ISO 27001, GDPR and HIPAA compliant. Applications are encrypted in transit and at rest, never used to train models, and deleted on your schedule. Lenders can also self-host; see the Trust Center.

Next step

Bring ten signed loan applications to the consultation

A wet-signed 1003 from a branch, an older edition from a broker, an e-signed URLA and the one with income rewritten in pen. We read them live and show the borrower record, the income check and each flag.

Start for freeOr start free with your own applications today.