Automate income verification
Unstract reads the pay stubs, W-2s, tax returns and bank statements an applicant sends, checks them against each other, works out monthly income the same way on every file, and records it in your loan origination system.
Trusted by lending and onboarding teams around the globe
Proof of income arrives as photos and PDFs, not as figures
The application states a monthly income. The pay stubs, the W-2 and the bank statements that prove it arrive by upload and email over several days, and a processor keys each figure into an income worksheet before an underwriter can look at the file.
Pay stub figures keyed into a worksheet while the rate lock runs down
A W-2 shot on a phone, crooked, with a stamp over the wages
Year-to-date pay that runs well ahead of last year's W-2
The second pay stub arriving a week after the first
One file's income worked out twice, by two processors, two ways
Every figure has to be read, tied to the W-2 and the deposits, and turned into monthly income before the loan can move to a decision.
Unstract reads each document as it arrives, checks year-to-date pay, the employer and the deposits against each other, and works out monthly income by one rule. An underwriter sees only the files that don't add up.
From the applicant's upload to the loan origination system, without the keying
Five steps, run on their own for every applicant. Parsing by LLMWhisperer, extraction by Document Studio, the whole run by Flow.
Pick up the pay stubs and W-2s wherever they land
Applicants send pay stubs, W-2s, offer letters, tax returns and bank statements through the borrower portal, by email or as phone photos to the loan officer. Each document is picked up where it arrives and filed against the right loan, one record per applicant, so the second pay stub joins the first even when it comes a week later.
Nobody chases a stub that already arrived in someone else's inbox.
Read each pay stub, W-2 and statement for the figures that count
LLMWhisperer reads every document with its layout kept, so a pay stub photographed on a kitchen table or a bank statement exported from an app comes out as clean text. Document Studio then extracts the fields you defined: employer, pay period and frequency, gross and net pay, year-to-date earnings and deductions, W-2 wages, and every payroll deposit on the bank statement.
The same field definitions run on every payroll provider's stub layout, so nobody hunts for the YTD column.
Check year-to-date pay against the W-2 and the deposits
Year-to-date pay is checked against the pay period and against last year's W-2, the employer against the application, net pay against the payroll deposits on the bank statement, and every document date against your age limit. A file that clears every check moves on. One that fails stops in a review screen with the figure, the document and the mismatch side by side.
Set the hold rules once (a jump from the W-2 trend, a missing deposit, a new employer, a stub older than 30 days) and only those files wait for an underwriter.
Work out monthly income by one rule, on every file
Monthly income is calculated from the pay frequency: biweekly pay times 26 over 12, weekly times 52 over 12, semi-monthly times two. Overtime and bonus are shown on their own lines with their history, so the underwriter decides whether they count. The result is set beside the income stated on the application.
Two processors no longer get two answers from the same pay stubs.
Record the income where your underwriters already work
The verified monthly income, the worksheet and the documents behind it go to your loan origination system, ICE Encompass, Dark Matter Empower or another. Leasing teams send the same result to Yardi or RealPage for tenant screening. Each decision an underwriter or leasing agent made along the way is recorded against the file.
The income on the loan file and the paper behind it never drift apart.
Watch it work out income on your own loan files.
Bring ten recent files with their pay stubs, W-2s and bank statements. We run them live and show every figure, every check and every held file.
Every paper an applicant sends to prove income
Documents
- Pay stubs
- W-2 forms
- Bank statements
- Offer letters
- Individual tax returns
- Tax return transcripts
- 1099 forms
- Written verifications of employment
- Mortgage applications
- Benefit and pension award letters
- Profit and loss statements
- Rental applications
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, then add the rest
Your team writes no code. The run is set up on the income documents your applicants already send and proven on one loan product before others join.
Book a consultation
We go through a handful of your recent loan files together: what applicants send, how your processors calculate income, and which files an underwriter has to see.
Built on your applicants' paperwork
The fields, the cross-checks, your income rules and the connection to your loan origination system are set up on real pay stubs, W-2s and bank statements from your own files.
Pilot on one loan product, then widen it
One product, such as conventional purchase loans, runs live first. When the income figures match what your underwriters would have signed off, the other products follow with the same hold rules.
Built for the people who sign off on a borrower's income
Income worked out within minutes of the borrower's upload, so a loan officer can talk numbers while the applicant is still on the phone.
A finished income worksheet on every file, with the W-2 trend, the deposits and the employer already checked, and only the odd ones held.
Member files verified to the same standard as a large lender's, without adding a processor for every busy month.
Proof of income for auto and personal loans checked in the time a dealer or applicant will wait, with deposits tied to net pay.
Income on the loan file in minutes, odd files caught on upload
Built for borrowers' pay and bank records
Pay stubs and bank statements show a borrower's salary, employer, account numbers, partial Social Security numbers and every payment they make. That is most of what someone needs to open credit in their name.




- Encrypted in transit and at rest.
- Pay stubs, W-2s and statements never train a model.
- Access by role, branch and loan product, with every underwriter's review and correction recorded against the loan file.
- Retention you set: processed pay stubs and statements are deleted on the schedule your record-keeping policy names.
- Self-hosted deployment for lenders whose examiners expect borrower data to stay inside their own environment.
What lenders ask before they hand over their loan files
The usual income verification documents: pay stubs, W-2s, 1099s, offer letters, individual tax returns and IRS transcripts, bank statements, written verifications of employment, and benefit or pension award letters. Self-employed applicants' profit and loss statements read the same way, and you can add any other document your guidelines accept.
Yes. LLMWhisperer keeps the statement's layout, so a deposit stays on its own line with its date and amount, whether the statement came from the bank's site, an app export or a scan. Payroll deposits are picked out by payer and matched to the net pay on each pay stub.
Yes. Flow posts the monthly income, the worksheet and the documents to your loan origination system, such as ICE Encompass or Dark Matter Empower, as part of the run. Your processors keep working in the system they know.
Yes, for the parts a rule can decide. Base pay is annualized by pay frequency, overtime and bonus are shown on their own lines with their history, and several employers or a second job are each worked out separately. Where your guidelines leave a judgment, such as whether a new raise counts, the file stops for an underwriter.
It reads phone photos, crooked scans and screenshots as well as PDFs. Each value carries a confidence score, and any value below the threshold you set stops for a person with the photo beside it instead of reaching the loan file as a guess.
Employment verification services return payroll data when the employer reports to them. For every other applicant, someone still reads the pay stubs, W-2s and statements by hand. Unstract does that reading, and it can also set a returned verification of employment beside the documents so the two are compared.
The file stops in a review screen with the annualized year-to-date pay, last year's W-2 wages and the change between them side by side. The underwriter confirms a raise, asks for a written verification of employment or sends a condition to the applicant. The decision is recorded and every other file keeps moving.
Yes. Property managers check the same pay stubs and bank statements against a rent-to-income rule. The verified income goes to Yardi or RealPage, and an application that doesn't add up stops for a leasing agent instead of an underwriter.
Every pay stub and statement date is read and compared with the limit you set, 30 days for example. A stale document holds the file and names the date, so the processor asks for a newer one the same day.
Unstract is SOC 2, ISO 27001, GDPR and HIPAA compliant. Borrower documents are encrypted in transit and at rest, never used to train models, and deleted on your schedule. Self-hosted deployment keeps them inside your own environment.
A consultation and a set of recent loan files. We build the run around your income rules and your loan origination system, prove it on one loan product, and your processors check the results before it widens.
Bring ten recent loan files to the consultation
The pay stubs, W-2s and bank statements as applicants sent them, phone photos included. You watch each file's income worked out, and every held file shows the figure that stopped it.









