> ## Documentation Index
> Fetch the complete documentation index at: https://docs.truv.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Income & Employment for Lending

> Income verification for consumer lending decisions

Verify borrower income and employment instantly for loan underwriting and credit decisions. Truv connects directly to payroll systems, returning verified details in seconds.

<Tip>
  **Try the demo** -- Run the [Smart Routing demo](/credit/integration/smart-routing) or [Payroll Income demo](/credit/integration/payroll-income) to see income verification working end-to-end. [Clone the demo app ->](https://github.com/truvhq/demo-apps)
</Tip>

***

## Benefits

<CardGroup cols={2}>
  <Card title="Instant Verification" icon="bolt">Verified income and employment data in seconds</Card>
  <Card title="85%+ Coverage" icon="users">ADP, Paychex, Workday, UKG, and 100+ payroll providers</Card>
  <Card title="Automated Decisioning" icon="gears">Structured data ready for your decision engine</Card>
  <Card title="Multiple Income Types" icon="layer-group">W-2, 1099, gig, and self-employed income</Card>
</CardGroup>

***

## What you get

<CardGroup cols={2}>
  <Card title="Income Data" icon="dollar-sign">
    * Base salary, hourly rate, commission, bonus
    * Pay frequency
    * Year-to-date gross and net pay
    * Historical pay statements
    * Tax deductions and withholdings
  </Card>

  <Card title="Employment Data" icon="building">
    * Employer name, address, EIN
    * Employment status (active, terminated, leave)
    * Start and end dates
    * Job title and position
  </Card>

  <Card title="Documents" icon="file-lines">
    * Pay stubs (PDF)
    * W-2 forms (when available)
  </Card>

  <Card title="Supported Income Types" icon="users">
    * W-2 employees
    * 1099 contractors
    * Multiple employers
    * Self-employed (limited)
  </Card>
</CardGroup>

***

## Use cases

<AccordionGroup>
  <Accordion title="Auto loan approvals" icon="car">
    Verify borrower income in real time during the application flow. Supports both prime and subprime decisioning with gross pay, pay frequency, and employment tenure.
  </Accordion>

  <Accordion title="Personal loan underwriting" icon="money-bill">
    Calculate debt-to-income ratios using verified pay data. Ideal for debt consolidation, home improvement, and emergency expense loans.
  </Accordion>

  <Accordion title="Credit limit decisions" icon="credit-card">
    Use current income to set or increase credit limits. Works for new account applications and periodic limit reviews.
  </Accordion>

  <Accordion title="BNPL verification" icon="cart-shopping">
    Quick income checks at the point of sale. Verify affordability for installment plans and higher-ticket purchases.
  </Accordion>
</AccordionGroup>

***

## Data coverage

### Payroll Providers

Truv connects to payroll providers covering 85%+ of US employees:

| Provider      | Coverage            |
| ------------- | ------------------- |
| ADP           | \~20% of US workers |
| Paychex       | \~10% of US workers |
| Workday       | Large enterprises   |
| UKG (Kronos)  | Healthcare, retail  |
| Paylocity     | Mid-market          |
| Gusto         | Small business      |
| And 100+ more |                     |

### Supported Income Types

* W-2 employees
* 1099 contractors
* Multiple employers
* Self-employed (limited)

***

## How to implement

Choose your integration path based on your tech stack:

| Path                                                 | Code required | Best for                             |
| ---------------------------------------------------- | ------------- | ------------------------------------ |
| [Smart Routing](/credit/integration/smart-routing)   | Minimal       | Payroll-first with document fallback |
| [Payroll Income](/credit/integration/payroll-income) | Minimal       | Direct payroll connection            |
| [Truv Dashboard](/developers/dashboard)              | None          | Manual orders, pilot testing         |

<Info>
  The `income` product automatically includes employment data. Do not pass both `income` and `employment` in the same order.
</Info>

<Tip>
  **Combine with Assets for stronger decisions.** Request both `income` and `assets` product types in a single order to get a complete financial picture of the borrower. [Learn about Assets verification -->](/credit/products/assets)
</Tip>

For a full implementation walkthrough including webhook handling and [Truv Bridge](/developers/sdks/overview) Token setup, see the [Smart Routing guide](/credit/integration/smart-routing) or [Payroll Income guide](/credit/integration/payroll-income).

***

## Report structure

The response follows the `IncomeCheck` schema with a top-level `employments` array. Each employment includes income summary fields, company details, borrower profile, and an array of pay statements.

| Field          | Path                          | Example              |
| -------------- | ----------------------------- | -------------------- |
| Annual income  | `employments[].income`        | `"70000.00"`         |
| Income period  | `employments[].income_unit`   | `YEARLY`             |
| Pay per period | `employments[].pay_rate`      | `"6500.00"`          |
| Pay frequency  | `employments[].pay_frequency` | `SM` (Semi-Monthly)  |
| Employer       | `employments[].company.name`  | `"Acme Corporation"` |
| Pay statements | `employments[].statements[]`  | Array of pay stubs   |

<Accordion title="View full response example" icon="code">
  ```json theme={null}
  {
    "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": "New York",
            "state": "NY",
            "zip": "10001"
          }
        },
        "profile": {
          "first_name": "John",
          "last_name": "Doe"
        },
        "statements": [
          {
            "pay_date": "2024-01-19",
            "gross_pay": "2650.00",
            "net_pay": "1950.00"
          },
          {
            "pay_date": "2024-01-05",
            "gross_pay": "2650.00",
            "net_pay": "1950.00"
          }
        ]
      }
    ]
  }
  ```
</Accordion>

<Info>
  **Pay frequency codes:** `M` (Monthly), `SM` (Semi-Monthly), `W` (Weekly), `BW` (Bi-Weekly), `A` (Annually), `SA` (Semiannually), `C` (Commission)
</Info>

The `income` product automatically includes employment data. You never need to request both `income` and `employment` separately.

***

## API reference

<CardGroup cols={2}>
  <Card title="Bridge Token" icon="key" href="/api-reference/bridge-token/object">Create tokens for Truv Bridge</Card>
  <Card title="Income Report" icon="file-lines" href="/api-reference/account-link-income-and-employment-reports/link_detail_reports_income">Retrieve income data</Card>
  <Card title="Employment Report" icon="building" href="/api-reference/account-link-income-and-employment-reports/link_detail_reports_employment">Retrieve employment data</Card>
  <Card title="Users" icon="user" href="/api-reference/users/object">Create and manage users</Card>
</CardGroup>

***

## Best practices

<AccordionGroup>
  <Accordion title="Review sufficient pay history" icon="calendar">
    For most consumer lending decisions, reviewing 90 days of pay statements provides a solid baseline for income calculation. Truv returns available pay statements from the payroll provider. Check the `statements` array in the response and verify that coverage meets your underwriting requirements.
  </Accordion>

  <Accordion title="Handle multiple income sources" icon="building">
    Borrowers may have side jobs or gig work. Each payroll connection creates a separate employment entry in the `employments` array. To capture multiple income sources, have the borrower connect each employer through the Truv Bridge widget sequentially.
  </Accordion>

  <Accordion title="Verify income inline during application" icon="route">
    Trigger verification as part of the loan application flow rather than as a separate step to improve completion rates.
  </Accordion>
</AccordionGroup>

***

## Next steps

<CardGroup cols={2}>
  <Card title="Smart Routing" icon="route" href="/credit/integration/smart-routing">
    Payroll-first with document fallback
  </Card>

  <Card title="Assets Verification" icon="piggy-bank" href="/credit/products/assets">
    Add asset data to your decisions
  </Card>
</CardGroup>
