HR / Recruiting

Extract employment verification forms to structured JSON

A verification of employment confirms where someone works, what they earn, and how long they have been there. The data arrives three ways: on Fannie Mae's Form 1005, in a Work Number printout, or in a free-form HR letter with no fixed layout. Sensible converts all three into structured JSON for underwriting, screening, and background checks.

mortgage underwriting | tenant screening | background checks

Validated JSON

Schema-enforced output; every field matches your contract

Source coordinates

Every value links back to page + bounding box for audit

Per-document pricing

Predictable cost. No token-volatility surprises

Trusted by teams turning documents into production data

What makes employment verifications hard to extract

There is no single VOE document. A lender's Form 1005 is a fixed grid, a Work Number report is a dense earnings table, and an HR letter is a paragraph someone typed in Word. The same seven facts hide in three different shapes. Hybrid extraction reads each format; deterministic validation re-checks the earnings math before the data reaches your underwriter.

01

Three Document Shapes

Form 1005 lays employer, employee, and compensation into labeled boxes. A Work Number printout stacks the same data in earnings tables. An HR letter buries it in prose with no labels at all. Anchored rules read the structured forms; LLM parsing pulls hire date, title, and salary out of the free-form letters and maps them to one schema.

02

Earnings Tables And YTD Math

Base pay, overtime, bonus, and commission split across current and prior years, with year-to-date and prior-year totals that are supposed to add up. Sensible reads the table as structured rows and checks that the components sum to the stated YTD figure, flagging the row for review when they do not rather than passing a bad number downstream.

03

Signatures And Dates

A VOE is only valid if an authorized employer representative signed and dated it. Sensible captures the signer name, title, signature presence, and date, so an intake workflow can reject a stale or unsigned form before it reaches the file. Low-confidence fields are flagged for review instead of guessed.

Managed services

Don't want to build it? We'll write your configs from your samples.

Solutions engineers handle plan, build, deploy, and adjust on your behalf. You see clean JSON in your API response. Same engine as self-serve, just with the configuration work outsourced.

What's included

01Plan.Engineers review your samples and pick the right method

02Build.SenseML configs written from your samples

03Deploy.Same engine as self-serve, ready for production

04Adjust.We update configs when formats shift or new edge cases appear

05Integrate.Help with custom integration into your downstream systems

Fields we extract

Every underwriting or screening pipeline maps the VOE to its own schema, so we build the config around your fields rather than a fixed list. These are the facts verification teams pull most often; we map whatever else your workflow needs.

01

Employer

Employer name, employer address, the lender or requesting party, verifier name and title, signature date, and probability of continued employment

02

Employee & role

Employee name, job title, employment status (full-time, part-time, contract), hire date, employment start and current dates, and whether employment is current or prior

03

Compensation & dates

Base salary or hourly rate, hours per week, overtime, bonus and commission, year-to-date earnings, prior-year earnings, and pay frequency

config.json

SenseML

{ /* SenseML: employment verification extraction */
"fields": [
{
"method": {
"id": "queryGroup",
"queries": [
{ "id": "employer_name", "description": "employer name, present employer, company name" },
{ "id": "employee_name", "description": "employee name, applicant name, name of employee" },
{ "id": "hire_date", "description": "hire date, date of employment, original hire date" },
{ "id": "annual_salary", "description": "base pay, current gross base pay, annual salary" }
// + role, status, and YTD earnings, mapped to your schema
]
}
}
]
}

Supported verification formats

Sensible processes employment verifications across formats and submission channels. Fingerprints identify the document so the right configuration runs, and new formats can be configured in hours. The extraction logic is explicit in SenseML, not buried in prompt tuning.

By format

Fannie Mae Form 1005, Freddie Mac Form 90, The Work Number printouts, payroll-provider exports, and free-form HR verification letters

By submission channel

System-generated PDFs, signed and scanned forms, emailed letters, and faxed copies that range from clean to degraded

Common Questions

Answers about Form 1005 versus free-form letters, year-to-date earnings extraction, and capturing the signer and date.

Does Sensible validate the year-to-date earnings?

Sensible reads base pay, overtime, bonus, and commission as structured rows and checks that the components sum to the stated YTD figure, flagging the row for review when they do not rather than passing a bad number to your underwriter. It also captures whether the form was signed and dated so a stale or unsigned VOE can be rejected at intake.

Can Sensible read a free-form HR letter the same as a Form 1005?

Yes. Anchored rules read the structured forms, and LLM parsing pulls hire date, title, and salary out of free-form letters that have no labels at all. The same seven facts get mapped to one schema regardless of which of the three shapes they arrive in.

What fields does Sensible extract from a verification of employment?

Employer, employee name and job title, employment status, hire date, base salary or hourly rate, hours, overtime, bonus, year-to-date and prior-year earnings, and the verifier signature and date are all extracted. Custom fields can be added in SenseML to match your underwriting or screening schema.

Which employment verification formats does Sensible support?

Sensible processes Fannie Mae Form 1005, Freddie Mac Form 90, The Work Number printouts, payroll-provider exports, and free-form HR verification letters. Fingerprints identify the document so the right config runs, whether it arrives as a system-generated PDF, a signed scan, or a faxed copy.

Start free

Turn your next employment verification into JSON.

Free 14-day trial. No credit card required. Start extracting in minutes.