Benefits
Eliminate manual entry
Replace employer phone calls and paper forms with instant payroll data
Broad coverage
Connects to payroll providers covering 85%+ of US employees. See coverage for details.
Source-verified data
Data comes directly from payroll systems — no self-reported documents
Faster processing
Seconds instead of days for income and employment verification
What you get
Income Data
- Current income: Base salary, hourly rate, tips, commission, bonus, overtime
- Pay frequency: Weekly, bi-weekly, semi-monthly, monthly
- YTD earnings: Year-to-date gross and net pay
- Deductions: Federal/state taxes, benefits, garnishments, child support
- Pay history: Historical pay statements across multiple pay periods
Employment Data
- Employer information: Name, address, phone number, EIN
- Employment status: Active, terminated, on leave
- Employment dates: Start date, end date (if applicable)
- Job title: Current position and department
- Work schedule: Full-time, part-time, hours per week
Documents
- Pay stubs (PDF)
- W-2 forms (when available)
- Employment verification letter
Government use cases
Benefits eligibility (SNAP, TANF, Medicaid)
Benefits eligibility (SNAP, TANF, Medicaid)
Verify household income against program thresholds. Income & Employment verification captures all income streams, including gig work and multiple employers, giving a complete picture for means-tested programs.Typical product:
income (automatically includes employment data)Child care and housing subsidies
Child care and housing subsidies
Determine eligibility and subsidy amounts based on verified income. Pay frequency and YTD data help normalize income across different pay schedules.Typical product:
income (automatically includes employment data)Renewals and eligibility reviews
Renewals and eligibility reviews
Refresh income data automatically at recertification time using the Order Refresh API. When the client’s payroll session is still active, Truv pulls fresh pay statements, updated YTD earnings, and current employment status — no client action needed.If the session has expired, create a new order and send a verification link through your renewal workflow. The client re-authenticates through Bridge.For programs with periodic eligibility reviews, most refreshes succeed automatically. For annual recertification, plan for re-authentication on a larger share of cases. See Data Refresh for implementation details.Typical product:
income (automatically includes employment data)SSA and government benefit verification
SSA and government benefit verification
Truv connects to the Social Security Administration (SSA) as a distinct provider. This covers clients whose primary income is Social Security benefits rather than payroll employment.Benefit type classification: The
job_title field in the employment response identifies the specific benefit type. Values include:"Disability"— SSDI benefits"Survivors"— Survivor benefits"Retirement"— Retirement benefits
w2s, deductions, and pay frequency are not applicable for SSA connections.Bank transaction fallback: Government benefit deposits can also be detected through bank transaction analysis. Include the assets product in your order to capture bank-deposited benefit payments when the client cannot authenticate directly with SSA.Sandbox testing: In Bridge, search for SSA as the provider and authenticate with goodlogin / goodpassword.Typical product: income (automatically includes employment data)Data coverage
Truv connects to payroll providers covering 85%+ of US employees, including ADP, Paychex, Workday, UKG, Paylocity, Gusto, and 100+ more. See the coverage page for the full provider list.Supported income types
| Income type | How it’s captured |
|---|---|
| W-2 employment | Direct payroll connection |
| 1099 contractors | Payroll provider connection |
| Multiple employers | Client connects each employer separately |
| Gig / on-demand work | Payroll connection (e.g., Uber, DoorDash) or bank transactions via assets |
| Self-employment | Bank transactions via assets product |
How to implement
| Path | Code required | Best for |
|---|---|---|
| Customer Portal | Minimal | Self-service client verification |
| Caseworker Portal | None | Caseworker-initiated orders via Dashboard |
| Document Processing | Minimal | Upload pay stubs and tax documents for extraction |
Report structure
API Response
The Income & Employment response uses theIncomeCheck schema. The top-level object contains an employments array, where each entry includes nested company, profile, income fields, and statements.
| Field | Path | Example |
|---|---|---|
| Annual income | employments[].income | "70000.00" |
| Income period | employments[].income_unit | YEARLY |
| Pay frequency | employments[].pay_frequency | BW (Bi-Weekly) |
| Employer | employments[].company.name | "Acme Corporation" |
| Pay statements | employments[].statements[] | Array of pay stubs |
| W-2 forms | employments[].w2s[] | Array of W-2 docs |
View full response example
View full response example
For the full schema, see the Income & Employment reports reference.
API reference
Orders
Create and manage verification orders
Income Report
Retrieve income verification data
Employment Report
Retrieve employment data
Webhooks
Receive status notifications
Best practices
Request 12 months of history
Request 12 months of history
For benefits eligibility, 12 months provides enough data to calculate average monthly income and identify seasonal patterns. See the Create Order API reference for all available fields.
Capture all income streams
Capture all income streams
Many benefits clients have multiple income sources: part-time jobs, gig work, seasonal employment. Include both
income and assets products so clients can connect payroll and bank accounts in one session.Use deeplinking when you know the employer
Use deeplinking when you know the employer
If your agency already has the client’s employer on file, pass a
company_mapping_id to skip the employer search screen. This improves completion rates. Learn more about deeplinking.Set the locale for threshold languages
Set the locale for threshold languages
Pass the
locale parameter when creating an order to render Bridge, emails, and SMS in the client’s preferred language. See threshold languages for supported languages.Use self-certification for income confirmation
Use self-certification for income confirmation
Enable self-certification so clients can review and confirm the income and employment data Truv retrieves. This is especially useful for clients with multiple income sources or irregular pay.
Next steps
Implementation Guide
Step-by-step technical setup
Overview
Integration scenarios across all channels
Customer Portal
API examples and code patterns
Testing
Sandbox test credentials