Skip to main content
Verification of Income and Employment (VOIE) provides instant access to borrower income and employment data directly from payroll providers. Truv connects to 85%+ of US employees through ADP, Paychex, Workday, UKG, and 100+ other providers.

Benefits

GSE Certified

Fannie Mae D1C and Freddie Mac LPA certified reports

85%+ Coverage

Connects to ADP, Paychex, Workday, UKG, and 100+ providers

Instant Results

Verified income and employment data in seconds

Multiple Income Types

W-2, 1099, gig, disability benefits, retirement benefits, and military income
GSE Certified: Truv’s Income & Employment reports are certified by Fannie Mae (Desktop Underwriter) and Freddie Mac (Loan Product Advisor). Reports are generated in GSE-compatible formats automatically.

What you get

Income Data

  • Base salary, hourly rate, commission, bonus
  • Pay frequency (weekly, bi-weekly, semi-monthly, monthly)
  • Year-to-date gross and net pay
  • Historical pay statements
  • Tax deductions and withholdings

Employment Data

  • Employer name, address, phone, EIN
  • Employment status (active, terminated, leave)
  • Start and end dates
  • Job title and position
  • Full-time / part-time classification

Documents

  • Pay stubs (PDF)
  • W-2 forms (when available)
  • Employment verification letter
  • GSE-formatted PDF report

Supported Income Types

  • W-2 employees
  • 1099 contractors
  • Benefits providers
  • Military (MyPay)

Data coverage

Employers and Payroll Providers

Truv connects to 85%+ of US employees through major payroll providers:
CategoryExamples
EmployersWalmart, Costco, Walgreens
Payroll providersADP, Paychex, Workday
GigUber, Lyft, DoorDash
Benefits providersDisability, Retirement, Veteran
PEOsTriNet, Accupay, iSolved
Further explore: Payroll Coverage

GSE Certification

Fannie Mae: Day 1 Certainty

  • Rep and warrant relief on income and employment
  • Reduced documentation requirements
  • Validated data meeting DU requirements

Freddie Mac: Loan Product Advisor

For document-based income when a borrower cannot complete a payroll connection, use AIM Check. Learn more about GSE testing →

How to implement

Choose your integration path based on your tech stack:
PathCode RequiredBest For
LOS/POS IntegrationNoneEncompass, nCino, Floify, BeSmartee users
Truv DashboardNoneManual orders, pilot testing
Custom IntegrationCustomFull API control, custom borrower portal
For custom integrations, see the POS Application guide for the borrower-facing flow or the LOS guide for loan-officer-initiated verification.

Report structure

When you retrieve VOIE data via the API, the response follows the Income Report schema. Each report contains an employments array with income and employment details per employer. The income product automatically includes employment data.
FieldPathExample
Annual incomeemployments[].income"70000.00"
Income periodemployments[].income_unitYEARLY
Pay per periodemployments[].pay_rate"6500.00"
Pay frequencyemployments[].pay_frequencySM (Semi-Monthly)
Employer nameemployments[].company.name"Acme Corporation"
Employee nameemployments[].profile.first_name"John"
Pay statementsemployments[].statements[]Array of pay stubs
W-2 formsemployments[].w2s[]Array of W-2 documents
{
  "id": "24d7e80942ce4ad58a93f70ce4115f5c",
  "status": "done",
  "provider": "adp",
  "data_source": "payroll",
  "employments": [
    {
      "income": "70000.00",
      "income_unit": "YEARLY",
      "pay_rate": "6500.00",
      "pay_frequency": "SM",
      "company": {
        "name": "Acme Corporation",
        "address": {
          "street": "123 Main St",
          "city": "San Francisco",
          "state": "CA",
          "zip": "94102"
        },
        "phone": "4155550100",
        "ein": "123456789"
      },
      "profile": {
        "first_name": "John",
        "last_name": "Doe",
        "ssn": "222233333"
      },
      "statements": [
        {
          "pay_date": "2024-01-15",
          "net_pay": "2900.00",
          "gross_pay": "4250.00",
          "period_start": "2024-01-01",
          "period_end": "2024-01-15"
        }
      ],
      "w2s": [],
      "annual_income_summary": []
    }
  ]
}
Pay frequency codes: M (Monthly), SM (Semi-Monthly), W (Weekly), BW (Bi-Weekly), A (Annually), SA (Semiannually), C (Commission)

API reference

Orders

Create and manage verification orders

Income Report

Retrieve income verification data

Employment Report

Retrieve employment verification data

Bridge Token

Create tokens for Truv Bridge

Best practices

If you know the borrower’s employer upfront, pass a company_mapping_id when creating the order. This skips the employer search screen and drops the borrower directly into the login flow, improving completion rates. Learn more →
Borrowers with multiple income sources (e.g., W-2 + 1099, or two W-2 employers) will create multiple connections. Process each connection as it completes via webhooks rather than waiting for all to finish.
  • Self-employed borrowers may not have payroll data. Pair income with assets to capture bank transaction data.
  • Recently changed employers: the borrower may need to connect both current and previous payroll providers
  • MFA-enabled accounts: ensure your UX accounts for MFA prompts during the Bridge flow

Next steps

POS Application

Embed verification in a borrower-facing portal

LOS Integration

Send verification links from your loan origination system

GSE Testing

Validate Fannie Mae and Freddie Mac compliance

Sample Reports

View example VOIE report output