Banking & Lending Document Processing

Extract data from pay stubs

Unstract reads pay stubs, payslips and other proof of income, from payroll portal PDFs to phone photos of a folded earnings statement, and sends employer, gross and net pay, deductions and year-to-date earnings to your loan origination system.

okafor-paystub-2026-10-23.pdf · applicant income documentsstructured data
{  "employer": "Brightwater Logistics, Inc.",  "employee": "Marcus J. Okafor",  "employee_id": "40718",  "pay_period": "10/05/2026 – 10/18/2026",  "pay_date": "10/23/2026",  "gross_pay": 2892.5,  "overtime_pay": 292.5,  "net_pay": 2028.83,  "ytd_gross": 62026.25,  "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

Applicants send whatever proof of income their payroll gives them

One borrower prints a stub from the payroll portal. The next sends a photo of the paper copy that came with a paper check, and a third sends a screenshot from an app.

Paper stubs photographed after being folded into an envelope

YTDYEAR TO DATECALENDAR YTD

Three payroll providers, three headings for the same year-to-date column

HOURSGROSS1,840.00BONUS?YESNO

A small employer's hand-filled stub, gross pay corrected in pen

STUBW-2OFFER5 DOCUMENTS · 9 PAGES

Two stubs, two years of W-2s and an offer letter in one upload

PAYROLL EXPORT · 26 PAY PERIODS

A year of earnings exported from the payroll portal instead of stubs

Processors divide year-to-date pay by the weeks worked, separate overtime from base pay and compare each stub with the W-2 on a spreadsheet, so income stays unverified and the loan sits in processing.

Unstract reads every stub in its payroll provider's layout, extracts earnings, deductions and year-to-date totals, checks them against the W-2 and the deposits, and records the verified income in your loan origination system.

Book a consultationFree consultation worth $1,000. Bring a month of applicants' pay stubs and see them read.
How it works

Read pay stubs, extract the income, verify it on one platform

LLMWhisperer reads the stub, Document Studio turns it into income figures, Flow runs the income verification around them. Start with one product, or put all three together for the whole income file.

Pay stub OCR

Parse pay stubs with every earning and deduction kept in its column

Get the full text of a pay stub, whether it is a payroll portal PDF, a scan from the employer's HR office or a photo of a creased paper copy. Current and year-to-date amounts stay on the line they belong to, so this period's overtime is never read as the year's, and the employer block, pay period and pay date are read apart from the earnings table. UK and Australian payslips, with their tax code, National Insurance or superannuation lines, are read the same way.

Send the text to your own LLM, or make payslip OCR the first step of an income verification workflow.

Learn more about LLMWhisperer
EMPLOYERBrightwater LogisticsEMPLOYEEMarcus J. OkaforPERIOD10/05 – 10/18/2026PAY DATE10/23/2026GROSS2,892.50DEDUCTIONS6 linesNET PAY2,028.83
AI data extraction

Turn pay stubs into income figures an underwriter can calculate from

Use Document Studio as a payslip data extractor: name the fields once, from employer and pay frequency to each earnings line, each deduction and every year-to-date total, and stubs from any payroll provider come back in one JSON structure. Overtime, bonus and commission arrive as their own figures, separate from base pay. Each stub is checked on the way out: earnings must add up to gross pay, gross minus deductions must equal net pay, and a net amount that differs from the deposit on the bank statement is flagged with both figures.

Call it as an API from your borrower portal, run it as an ETL pipeline on the folder where income documents land, or make it one step in an orchestrated income verification run.

Learn more about Document Studio
employerBrightwater Logistics✓pay_frequencybiweekly✓gross_pay2892.50✓overtime_pay292.50⚑net_pay2028.83⚑⚑ no OT on 2025 W-2⚑ deposit shows 1,928.83
Agentic process automation

Run income verification from the first pay stub to a verified figure

Describe how your team verifies income from pay stubs in plain English, and Flow's agents build the workflow. Stubs, W-2s, offer letters, tax returns and bank statements come in from the applicant, each one is read, year-to-date pay is compared with the pay period and the W-2, and net pay is matched to the payroll deposits. Monthly income is worked out by pay frequency the same way on every file, with overtime and bonus kept apart, and the result goes to your loan origination system, such as ICE Encompass or Dark Matter Empower. You approve the workflow once, and each applicant's income runs through it identically.

Decide what sends a file to a person: year-to-date pay that does not reconcile, deposits that do not match, an employer that differs from the application, or a stub older than 30 days. Only those files stop, and the underwriter sees the stub line behind each question.

Learn more about Flow
1
Document intakeStubs, W-2s, offer letters and statements uploaded or emailed by the applicant
2
Read and extractParseEmployer block and every earnings line as textExtractGross, net, deductions and YTD in your schema
3
Cross-checkYTD against the period and W-2, net pay against the deposits
4
Work out incomeMonthly income by pay frequency, overtime and bonus shown apart
5
Record the resultVerified income to your loan origination system, exceptions to underwriting

Extract pay stub data now. Automate income verification when you're ready.

Start for free and run your applicants' pay stubs through parsing and extraction today. Cross-checks, income calculation and posting to your loan origination system begin with a consultation.

Supported documents, processes & fields

Pay stubs, payslips and the other proof of income in a loan file

Documents

  • Pay stubs
  • Payslips (UK and Australia)
  • Earnings statements
  • Direct deposit advices
  • Hand-written pay stubs from small employers
  • Payroll portal earnings exports
  • W-2 forms
  • 1099 forms
  • Offer letters
  • Verification of employment forms
  • Employer income letters
  • Income verification documents
  • Pension and annuity statements
  • Social Security benefit letters
  • Tax returns
  • Bank statements

Fields captured

Employer nameEmployer addressEmployer EINEmployee nameEmployee IDSSN (last four)Pay period start and endPay datePay frequencyHourly rate or salaryHours workedCheck or advice numberDirect deposit account (masked)
Who it's for

For the people who qualify a borrower's income

Mortgage lenders and loan officers

Loan officers quote from verified base pay rather than the figure on the application, and know at once when overtime needs a two-year history before it can count.

Loan processors and underwriters

Processors stop dividing year-to-date pay by hand, and underwriters see base, overtime and bonus already separated, each tied to the stub and W-2 it came from.

Credit unions and community banks

Stubs from local employers, school districts and the hospital down the road are read in their own layouts, so a small team verifies member income without a calculator.

Consumer and auto lenders

Consumer and auto applicants are approved on income read from their latest stub in minutes, while the applicant is still at the dealership or on the phone.

Outcomes

Income verified before the file reaches underwriting

<3 minfrom a pay stub uploaded to income figures in your loan file
91%of pay stubs extracted without a processor's correction
54%fewer hours spent calculating income by hand
2×faster from application to verified income
I have an [AI] application that analyzes payrolls. The input documents are [PDFs], and often weirdly formatted, with a mix of handwriting, typed text, logos, etc.
G2Anonymous · Reviewed on G2
1 / 3
Security

Guarding the paperwork that shows what a borrower earns

A pay stub shows a person's salary, employer, the last digits of their Social Security number and the bank account their pay goes into. With those, someone can impersonate the employee to the employer's HR team or redirect the next paycheck.

AICPA SOC 2ISO 27001GDPRHIPAA
  • Encrypted in transit and at rest.
  • Applicants' pay stubs are never used for model training.
  • Access by role, branch and loan file, with every corrected figure and cleared income flag recorded against the applicant.
  • You set retention: income documents are deleted when your record-keeping policy allows.
  • Self-hosted deployment for lenders whose examiners expect applicant income data to stay inside their own environment.
See how applicant income data is protected in the Trust Center
Questions

What lenders ask about reading pay stubs

One that reads stubs from payroll providers it has never seen, separates base pay from overtime and bonus, and proves its figures add up. Document Studio returns every earning, deduction and year-to-date total in your schema, checks gross minus deductions against net pay, and posts the result to your loan origination system.

LLMWhisperer reads the stub into text with the current and year-to-date columns in place. Document Studio then extracts the fields you named, from employer and pay date to each deduction, and returns one JSON record per stub through an API or an ETL pipeline.

Unstract reads payslips alongside the other employment paperwork that arrives with them: W-2s, offer letters, employment verification forms and employer income letters. The same extraction serves a lender verifying income or an HR team onboarding a new hire who brings payslips from a previous employer.

Look for an endpoint per document type, so pay stubs and the invoices or receipts in another workflow each get their own schema. Document Studio deploys a payslip extraction endpoint you POST a stub to, and the same project runs as an ETL pipeline or an MCP server.

It works as a proof of income data extractor across the whole income file: pay stubs, W-2s, 1099s, offer letters, pension and Social Security benefit letters, and the bank statements that show the deposits. Each document type has its own fields, and all of them land in one income record.

Yes. Proof of income OCR in LLMWhisperer reads phone photos, crooked scans and stubs filled in by hand at a small business, with the handwriting read alongside the printed text. A figure that the extraction cannot confirm is flagged for a processor instead of being guessed.

A payslip parser built on templates needs a new template for every payroll provider and breaks when one changes its layout. Document Studio finds each figure by what it means, so "Calendar YTD" and "Year to date" both fill the same field.

Yes. UK payslips return the tax code, PAYE, National Insurance and pension lines; Australian payslips return PAYG withholding and superannuation. You add those fields to the schema next to the US ones.

Flow converts each pay period to monthly income by its frequency, weekly, biweekly, semi-monthly or monthly, with rules you approve. Overtime, bonus and commission are reported separately, so your underwriter decides how much of each counts.

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

Next step

Bring a stack of pay stubs to the consultation

Portal PDFs, a phone photo, a hand-filled stub from a small employer and the W-2s that go with them. We read them live and show the earnings, the year-to-date check and every income flag.

Start for freeOr try it on your own pay stubs today.