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.
Trusted by lending and onboarding teams around the globe
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.
A 1003 keyed field by field while the rate lock runs down
A pay stub photographed on a phone, with a stamp over the gross pay
W-2s, statements and pay stubs scanned into one upload, out of order
Monthly income on the 1003 that the pay stubs don't support
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.
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.
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.
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.
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.
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.
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.
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.
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.
Every document in a borrower's loan file
Documents
- Mortgage applications
- Pay stubs
- IRS W-2 forms
- Bank statements
- Credit reports
- Individual tax returns and tax return transcripts
- Appraisal and valuation reports
- Purchase contracts
- Verification of employment forms
- Gift letters and letters of explanation
- Passports
- Driver's licenses
- Vehicle titles, for auto loans
- Business financial statements, for business loans
Fields captured
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.
























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.
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.
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.
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.
For the people who get a loan file to underwriting
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.
A stacked, indexed file with qualifying income already calculated, and only the loans outside tolerance waiting on a processor's desk.
A small lending team handles more applications in a busy month without hiring for it, on the same loan origination system.
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.
Loan files stacked in minutes, income checked before underwriting
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.




- 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.
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.
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.









