> ## 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.

# Document Processing for Government

> Verify client income and employment from uploaded documents when payroll connections are unavailable

Verify client income and employment by processing uploaded documents. Document processing serves as a fallback when clients cannot connect to their payroll provider through Bridge, or as a tool for caseworkers who already have documents on file. It is included as part of the standard orders workflow — no separate implementation is needed when using [Customer Portal](/government/integration/customer-portal) or [Caseworker Portal](/government/integration/caseworker-portal).

***

## Benefits

<CardGroup cols={2}>
  <Card title="No Payroll Connection Needed" icon="file-lines">
    Verify income from paystubs, W-2s, and 1099s without requiring the client to log in
  </Card>

  <Card title="Document Validation" icon="shield-check">
    Automatic detection of manipulated documents and suspicious metadata
  </Card>

  <Card title="Structured Data" icon="table">
    Extract employer name, pay period, gross/net pay, and tax withholdings into structured fields
  </Card>

  <Card title="Same Report Format" icon="equals">
    Returns the same income and employment data structure as a live payroll connection
  </Card>
</CardGroup>

***

## What you get

<CardGroup cols={2}>
  <Card title="Income Data" icon="dollar-sign">
    * Gross and net pay per period
    * Year-to-date earnings
    * Pay frequency and period dates
    * Tax withholdings and deductions
  </Card>

  <Card title="Employment Data" icon="building">
    * Employer name and address
    * Job title and position
    * Employment dates
    * Pay basis (salary, hourly)
  </Card>

  <Card title="Document Validation" icon="magnifying-glass">
    * Document type classification
    * Readability verification
    * Suspicious document flagging
    * Known suspicious template detection
  </Card>

  <Card title="Supported Documents" icon="folder-open">
    * Paystubs
    * W-2 forms
    * 1099 tax forms (DIV, G, INT, MISC, NEC, R)
    * SSA-1099
    * Volunteer/community service letters
  </Card>
</CardGroup>

***

## Government use cases

<AccordionGroup>
  <Accordion title="Self-employed clients" icon="user">
    Clients without traditional payroll (freelancers, gig workers, small business owners) can upload 1099s and bank statements to verify income for benefits eligibility.
  </Accordion>

  <Accordion title="Caseworker document intake" icon="inbox">
    Caseworkers who receive documents by mail or in person can upload them through the Document Collections API for automated processing, replacing manual data entry.
  </Accordion>

  <Accordion title="Payroll connection fallback" icon="rotate">
    When a client's employer isn't supported or the payroll connection fails, document upload provides an alternative verification path within the same workflow.
  </Accordion>
</AccordionGroup>

***

## Government-specific configuration

### Government document types

Benefits eligibility determinations commonly use these document types:

| Document type     | Use case                                 | Fields extracted                                |
| ----------------- | ---------------------------------------- | ----------------------------------------------- |
| Pay stubs         | SNAP, TANF, Medicaid income verification | Employer, gross/net pay, deductions, pay period |
| W-2 forms         | Annual income verification               | Annual wages, federal/state taxes, employer EIN |
| 1099 forms        | Self-employed and gig income             | Payer, non-employee compensation                |
| SSA-1099          | Social Security benefits                 | Benefit amounts, tax withholdings               |
| Volunteer letters | Community service hour verification      | Organization, hours, dates                      |

### Case ID tracking

Pass `external_user_id` when creating the user to link document collections to your agency's case identifier.

```json theme={null}
{
  "external_user_id": "case-12345"
}
```

### Fallback from a payroll connection

When a client can't connect their payroll provider through [Customer Portal](/government/integration/customer-portal) or [Caseworker Portal](/government/integration/caseworker-portal), fall back to document upload. Enable document upload in the [Truv Dashboard](https://dashboard.truv.com) to offer it directly within the Bridge widget.

### Lenient document intake

Applicants rarely upload exactly what's required. With [intelligent intake](/developers/integration/document-processing#intelligent-intake), a client uploads any mix of files — including phone photos — and Truv classifies each one and flags unreadable scans up front. If a SNAP determination needs two recent pay stubs and the applicant uploads five files, Truv recognizes the two pay stubs among them; you finalize those and let the applicant proceed.

***

## How to implement

| Path                                                                    | Code required | Best for                              |
| ----------------------------------------------------------------------- | ------------- | ------------------------------------- |
| [Document Collections API](/developers/integration/document-processing) | Custom        | Caseworker-initiated, bulk processing |
| [Bridge fallback](/developers/integration/bridge-widget/overview)       | Minimal       | Client-initiated via Customer Portal  |
| [Truv Dashboard](/developers/dashboard)                                 | None          | Manual upload, pilot testing          |

For caseworker-driven workflows, use the [Document Collections API](/developers/integration/document-processing) to upload, validate, finalize, and retrieve structured data. For client-facing portals, enable document upload as a fallback in [Truv Bridge](/developers/sdks/overview) by setting `data_sources: ["docs"]` in the bridge token.

***

## API reference

<CardGroup cols={2}>
  <Card title="Document Collections" icon="folder" href="/api-reference/document-collections/object">
    Create collections, upload files, finalize, and retrieve results
  </Card>

  <Card title="Document Collections" icon="upload" href="/api-reference/document-collections/collections_create">
    Upload and process documents via the Collections API
  </Card>

  <Card title="Parsed Documents" icon="file-magnifying-glass" href="/api-reference/parsed-documents/object">
    Retrieve parsed and structured data
  </Card>

  <Card title="Bridge Token" icon="key" href="/api-reference/bridge-token/object">
    Create tokens with document upload enabled
  </Card>
</CardGroup>

***

## Next steps

<CardGroup cols={2}>
  <Card title="Implementation Guide" icon="code" href="/developers/integration/document-processing">
    Full Document Collections API walkthrough
  </Card>

  <Card title="Caseworker Portal" icon="building" href="/government/integration/caseworker-portal">
    Integrate document processing into caseworker workflows
  </Card>

  <Card title="Customer Portal" icon="user" href="/government/integration/customer-portal">
    Client-facing verification with Bridge fallback
  </Card>

  <Card title="Test Documents" icon="flask" href="/developers/testing/test-documents">
    Sample PDFs for sandbox testing
  </Card>
</CardGroup>
