Banking Document Automation

Automate mortgage loan origination

Unstract reads each loan file as it arrives, the 1003, pay stubs, W-2s, bank statements and credit report, checks income and assets against the application, and posts an indexed file to your loan origination system.

loan-24718 · purchase, 9 documentsrunning
Loan file9 documents, 3 sources
Index & extract184 fields, stacked
Income check1 held for a processor
Into the LOSLoan origination system
09:02:11Loan 24718 · portal upload, signed 1003, credit report · 9 documents
09:02:19Stacked and read · 184 fields · lowest confidence 0.91 (pay stub)
09:02:20Income check · 1003 $8,750/mo, pay stubs $7,980/mo · held for a processor
09:14:36Processor confirmed $7,980/mo · re-signed 1003 added as a condition
09:14:38Posted to the LOS · 9 documents indexed · 1 condition open

Trusted by lending and onboarding teams around the globe

G2 Leader, Fall 2026G2 Best Usability, Summer 2026
Moody'sEndpointMedaxionPinpointConvrSmart ClerkCyberSoftThoughtFocusZluriIOA
The problem

A loan file arrives as a pile of PDFs, and a processor sorts it by hand

The borrower uploads pay stubs and statements to the portal, the loan officer emails the signed 1003, and the credit report comes from the bureau. A processor stacks the file, keys the income and checks it against the application while the rate lock runs down.

LOAN APPLICATIONOCTRATE LOCK EXPIRES

A 1003 keyed field by field while the rate lock runs down

PAY STUBRECEIVED 10/17

A pay stub photographed on a phone, with a stamp over the gross pay

W-2STMTSTUBSTMT22 PAGES · ONE UPLOAD

W-2s, statements and pay stubs scanned into one upload, out of order

1003MO. INCOME$8,750PAY STUBSMO. INCOME$7,980

Monthly income on the 1003 that the pay stubs don't support

LOAN FILE · LOAN 24718MONsigned 1003TUEpay stubsTHUW-2sMON⚑ Sep stmt

The last bank statement arriving a week after the rest of the file

Every page has to be named, put in stacking order, read and checked against the 1003 before the file can go to underwriting.

Unstract stacks and reads the whole loan file, calculates qualifying income, checks the assets and the document dates, and lists what is missing as conditions. A processor opens only the files that don't add up.

How it works

From the borrower's upload to the loan origination system, without the keying

Six steps, run on their own for every loan file. Parsing by LLMWhisperer, extraction by Document Studio, the whole run by Flow.

1 · Loan file intake

Pick up the loan file wherever it lands

Borrowers upload pay stubs, W-2s and bank statements to the portal, loan officers email the signed 1003 and anything the borrower handed over in person, and the credit report comes back from the bureau. Each document is picked up where it arrives and tied to its loan number, one record per loan.

A statement that turns up a week late joins the right loan instead of a processor's inbox.

BORROWER · PORTALLoan file.pdfLOAN OFFICER · EMAILSigned 1003.pdfCREDIT BUREAU · APICredit reportLOAN 2471810031income docs4statements3credit1
2 · Stack and index

Split the upload and stack it in your order

Borrowers scan whatever is on the kitchen table into one PDF. The upload is split into its documents, each one is classified as a pay stub, a W-2, a bank statement or a tax return, and the whole loan file is indexed in your stacking order with the document type and date on every page.

Processors stop hunting through a long upload for the second pay stub.

LOAN FILE.PDF22 PAGES · PORTALW-2 ×2pages 1–2✓BANK STMT ×3pages 3–20✓PAY STUB ×2pages 21–22✓
3 · Read and extract

Read every document, then pull the borrower's numbers

LLMWhisperer reads each page with its layout kept, so a pay stub photographed on a phone or a faxed W-2 comes out as cleanly as a lender's PDF. Document Studio then extracts the fields you defined: borrower and co-borrower, employer and start date, gross pay and year-to-date earnings, account balances and deposits, debts on the credit report, the property and the loan terms.

The same field definitions run on every payroll provider's stub and every bank's statement layout.

PAY STUBborrowerT. Lindqvist✓employerCedar Ridge✓pay_period09/27–10/10✓pay_freqBiweekly✓gross_pay$3,683.08✓ytd_gross$73,661.60✓confidence0.91phone photo
4 · Income and asset checks

Check income against the 1003 before a processor touches it

Qualifying income is calculated from the pay stubs and W-2s and compared with what the borrower stated on the 1003. Assets are checked against the bank statements, large deposits and gaps in employment are flagged, and every document's date is checked against its age limit. A file that passes keeps moving. One that fails stops in a review screen with the stated figure, the documents and the difference side by side.

Set the tolerances once, for income, deposits and document age, and only the loan files outside them wait for a loan processor.

LOAN 24718 · HELD⚑ MONTHLY INCOME1003PAY STUBSW-2 2025$8,750stated · section 1b$7,980$3,683.08 biweekly$7,783✓$93,400 ÷ 12EMPLOYERON THE JOBDIFFERENCECedar Ridge Dental4 yrs 2 mos$770 a monthUSE $7,980ASK BORROWEROpen the page →
5 · Conditions

Turn every gap into a condition on the file

Whatever is missing or doesn't match becomes a condition on the loan, with the document that raised it attached: a statement month that never arrived, a deposit with no source, a pay stub older than your limit, an income figure the borrower has to re-sign.

The loan officer knows what to ask the borrower for on the day the file comes in, not after underwriting reads it.

LOAN 24718 · CONDITIONSPay stubs2 stubs, latest 10/10✓W-2s2024 and 2025, same employer✓Bank statementsJul–Sep, no month missing✓Large depositsNone without a source✓IncomeRe-signed 1003 at $7,980/mo⚑1 CONDITION OPEN
6 · Into the LOS

Post the loan file where your underwriters already work

Checked fields and indexed documents land in your loan origination system, ICE Encompass, Dark Matter Empower or another, with each document filed in your document management and the open conditions on the conditions list. Every decision a processor made is recorded against the loan.

Underwriting opens a stacked, keyed file with its conditions already written.

LOAN 24718184 fields, checkedIncome $7,980/moLOS✓ posted 09:14ICE EncompassDOCS✓ indexed9 documentsCONDITIONS✓ 1 openRe-signed 1003

Watch your last ten loan files get stacked and checked.

Bring the uploads exactly as borrowers sent them, phone photos included. We run them live and show the income each file supports and every condition it raises.

Supported documents & fields

Every document in a borrower's loan file

Documents

Fields captured

Borrower and co-borrower namesSocial Security number (masked)Current and former addressesEmployer and start datePosition and pay frequencyGross pay per periodYear-to-date earningsOvertime and bonusW-2 wagesSelf-employment incomeStated monthly incomeHousing history
Connectors

Our agents are extroverts.

Cloud storage like S3, Google Drive, Dropbox and Box. Databases and warehouses like Snowflake, BigQuery, Postgres and SQL Server. Accounting, ERP and CRM systems like QuickBooks, Xero, SAP, NetSuite, Salesforce and HubSpot. Project trackers like Jira, Asana, ClickUp and Linear. And anything with an API.

100+
Connectors ready to go right out the box
Amazon S3
Google Drive
Dropbox
Box
Microsoft Azure
Google Cloud Storage
Snowflake
BigQuery
PostgreSQL
SQL Server
MySQL
Amazon Redshift
Oracle Database
SAP
QuickBooks
Xero
Sage
Odoo
HubSpot
Zoho
Jira
Asana
ClickUp
Linear
Getting live

Start with one loan product and one branch

No developers on your side and no change to how loan officers take applications. Mortgage loan origination is built on your own loan files and proven on one product before it reaches the rest.

01

Book a consultation

We go through a handful of recent loan files together: how they arrive, your stacking order, and what a processor checks before a file goes to underwriting.

02

Built on your loan files

The fields, the income and asset tolerances, the document age limits and the connection to your loan origination system are set up on your own borrowers' uploads.

03

Pilot on one product, then the rest

Conventional purchase loans from one branch run live first. When the numbers hold, refinances, other branches and consumer loans follow on the same rules.

Who it's for

For the people who get a loan file to underwriting

Mortgage lenders and loan officers

Conditions on the file the day the borrower uploads, so a loan officer asks for the missing statement in the first call instead of the third.

Loan processors and underwriters

A stacked, indexed file with qualifying income already calculated, and only the loans outside tolerance waiting on a processor's desk.

Credit unions and community banks

A small lending team handles more applications in a busy month without hiring for it, on the same loan origination system.

Consumer and auto lenders

Pay stubs, bank statements and vehicle titles read the same way for personal and auto loans, with the decision data in your loan origination system.

Outcomes

Loan files stacked in minutes, income checked before underwriting

<3 minfrom a borrower's upload to an indexed loan file in your loan origination system
91%of loan files stacked and read without a processor keying them
54%fewer processor hours spent sorting and keying loan files
2×faster from application to an underwriting-ready file
We used it to extract complex funding packets from credit unions… Instead of manually scanning through lengthy 60–70 page PDFs, staff could now view all extracted details through a simple, user-friendly interface.
G2Puneeth KumarSenior Developer, Digital Align · Reviewed on G2
1 / 3
Security

Borrower files, handled like the financial records they are

A loan file holds a borrower's Social Security number, salary, account numbers and balances and full credit history. That is everything an identity thief needs, and the data lending privacy rules require you to protect.

AICPA SOC 2ISO 27001GDPRHIPAA
  • Encrypted in transit and at rest.
  • Borrower documents are never used to train models.
  • Access by role, branch and loan product, with every processor review and correction recorded against the loan.
  • Retention you set: processed loan files are deleted on the schedule your record-keeping policy requires.
  • Self-hosted deployment for lenders whose controls keep borrower data inside their own environment.
See how borrower data is handled in the Trust Center
FAQs

What lending operations leaders ask first

They separate the reading from the checking. Unstract splits each upload into its documents, reads every page with the layout kept and extracts the same fields from every pay stub, W-2, bank statement and credit report, whichever payroll provider or bank produced it. Flow then runs the income, asset and document-age checks on every file, so volume grows without adding processors.

Your loan origination software holds the loan once the data is in it. The documents still arrive as PDFs and phone photos, and a processor names them, stacks them and keys the numbers. Unstract does that work before the file reaches the LOS: it stacks, reads and checks the file, then posts the fields and the indexed documents.

Each document type is mapped once: which of its fields go to which fields in your loan origination system, and which folder or document bucket each type is filed in. Flow posts to ICE Encompass, Dark Matter Empower or another loan origination system through its API, so every loan file lands in the same places with the same names.

LLMWhisperer reads the return or statement as text with its tables and columns kept. Document Studio then pulls the figures you defined, such as wages, Schedule C profit, rental income, account balances and each deposit, into one record per document. Self-employed borrowers' income is calculated from the returns and transcripts the same way wage income is calculated from pay stubs.

Checking each extracted value against another source before anyone relies on it: stated income against the pay stubs and W-2s, assets against the bank statements, the purchase price against the contract, and every document's date against your age limit. A value that fails becomes a condition on the loan with the document that raised it.

The loan file stops for a loan processor with the stated income, the pay stubs and the W-2s side by side and the difference worked out. The processor confirms the supported figure or asks the borrower, a re-signed 1003 becomes a condition, and the decision is recorded against the loan.

Every deposit on the bank statements is compared with the borrower's income, and any deposit above your threshold without a source is flagged. A gap between statement periods is caught the same way. Each one becomes a condition asking for the letter of explanation or the missing month.

Yes. The same run reads pay stubs, bank statements and vehicle titles for personal and auto loans, and financial statements, tax returns and articles of incorporation for business loans. Your lending software keeps its own decision rules; Unstract feeds it checked data in place of uploads.

The one you run today. ICE Encompass and Dark Matter Empower are the common ones, and Flow reaches others through its API or a database connector. Documents go to your document management and open conditions to the conditions list, as part of the same run.

Only the roles you allow, by branch and loan product. Unstract is SOC 2, ISO 27001, GDPR and HIPAA compliant, encrypts loan files in transit and at rest, never trains models on them, and deletes them on your schedule. Self-hosted deployment keeps borrower data inside your own environment; see the Trust Center.

Most lenders run one loan product live within days, with no developers on their side. We set it up on your recent loan files, your stacking order and your loan origination system in a consultation, then add products and branches when the numbers hold.

Next step

Bring ten recent loan files to the consultation

The borrowers' uploads as they arrived, phone photos and late statements included. You watch each file get stacked and checked, and every held file shows the figure that stopped it.