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

# Test Documents

> Sample PDFs for testing document processing in the sandbox

When testing [Document Processing](/developers/integration/document-processing), use the sample PDFs below. Upload these documents to test successful parsing, various tax form types, and suspicious document detection.

<Note>
  Test scenarios use the **file name** to determine results. The sandbox ignores actual file contents. Only the file name matters.
</Note>

<Tip>
  **Trigger a suspicious result on any doc upload test scenario.** Add the prefix `suspicious.` to any test file name from this page (for example, rename `most.recent.paystub.pdf` to `suspicious.most.recent.paystub.pdf`) and upload it. The doc upload task will return data with `is_suspicious: true`. This works for every test file listed below — paystubs and tax forms.
</Tip>

## Pay stubs

| Document            | Download                                                                              |
| ------------------- | ------------------------------------------------------------------------------------- |
| Most recent paystub | [most.recent.paystub.pdf](https://prod.truv.com/v1/permalink/most.recent.paystub.pdf) |
| Next recent paystub | [next.recent.paystub.pdf](https://prod.truv.com/v1/permalink/next.recent.paystub.pdf) |
| First paystub       | [first.paystub.pdf](https://prod.truv.com/v1/permalink/first.paystub.pdf)             |

***

## High income earner

Use these documents to test parsing for a high income earner scenario.

| Document            | Download                                                                                    |
| ------------------- | ------------------------------------------------------------------------------------------- |
| Most recent paystub | [hi.most.recent.paystub.pdf](https://prod.truv.com/v1/permalink/hi.most.recent.paystub.pdf) |
| Next recent paystub | [hi.next.recent.paystub.pdf](https://prod.truv.com/v1/permalink/hi.next.recent.paystub.pdf) |
| First paystub       | [hi.first.paystub.pdf](https://prod.truv.com/v1/permalink/hi.first.paystub.pdf)             |
| W-2                 | [hi.w2.pdf](https://prod.truv.com/v1/permalink/hi.w2.pdf)                                   |

***

## Tax documents

| Document  | Download                                                        |
| --------- | --------------------------------------------------------------- |
| W-2       | [w2.pdf](https://prod.truv.com/v1/permalink/w2.pdf)             |
| 1099-DIV  | [1099div.pdf](https://prod.truv.com/v1/permalink/1099div.pdf)   |
| 1099-G    | [1099g.pdf](https://prod.truv.com/v1/permalink/1099g.pdf)       |
| 1099-INT  | [1099int.pdf](https://prod.truv.com/v1/permalink/1099int.pdf)   |
| 1099-MISC | [1099misc.pdf](https://prod.truv.com/v1/permalink/1099misc.pdf) |
| 1099-NEC  | [1099nec.pdf](https://prod.truv.com/v1/permalink/1099nec.pdf)   |
| 1099-R    | [1099r.pdf](https://prod.truv.com/v1/permalink/1099r.pdf)       |
| SSA-1099  | [ssa1099.pdf](https://prod.truv.com/v1/permalink/ssa1099.pdf)   |
| 1040      | [f1040.pdf](https://prod.truv.com/v1/permalink/f1040.pdf)       |

<Note>
  For 1099 tax documents, Truv supports parsing formats from any year after 2021. This includes 1099-DIV, 1099-G, 1099-INT, 1099-MISC, 1099-NEC, and 1099-R.
</Note>

***

## Volunteer documents

| Document            | Download                                                                               |
| ------------------- | -------------------------------------------------------------------------------------- |
| Volunteer letter    | [volunteer\_letter.pdf](https://prod.truv.com/v1/permalink/volunteer_letter.pdf)       |
| Volunteer timesheet | [volunteer\_timesheet.pdf](https://prod.truv.com/v1/permalink/volunteer_timesheet.pdf) |

***

## Suspicious document detection

| Scenario                      | Description                                           | Downloads                                                                                                                                                                                                                                                                                         |
| ----------------------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Tampered documents**        | Information is falsified or manipulated               | [Tampered 1](https://citadelid-resources.s3.us-west-2.amazonaws.com/doc_upload/f1.paystub.pdf), [Tampered 2](https://citadelid-resources.s3.us-west-2.amazonaws.com/doc_upload/f2.paystub.pdf), [Tampered 3](https://citadelid-resources.s3.us-west-2.amazonaws.com/doc_upload/f3.paystub.pdf)    |
| **Different SSNs**            | Personal information is inconsistent across documents | [SSN 1](https://citadelid-resources.s3.us-west-2.amazonaws.com/doc_upload/ssn1.paystub.pdf), [SSN 2](https://citadelid-resources.s3.us-west-2.amazonaws.com/doc_upload/ssn2.paystub.pdf), [SSN 3](https://citadelid-resources.s3.us-west-2.amazonaws.com/doc_upload/ssn3.paystub.pdf)             |
| **Different applicant names** | Personal information is inconsistent across documents | [Applicant 1](https://citadelid-resources.s3.us-west-2.amazonaws.com/doc_upload/p1.paystub.pdf), [Applicant 2](https://citadelid-resources.s3.us-west-2.amazonaws.com/doc_upload/p2.paystub.pdf), [Applicant 3](https://citadelid-resources.s3.us-west-2.amazonaws.com/doc_upload/p3.paystub.pdf) |
| **No data or invalid data**   | Information is missing or unable to be parsed         | [No data 1](https://citadelid-resources.s3.us-west-2.amazonaws.com/doc_upload/nd1.paystub.pdf), [No data 2](https://citadelid-resources.s3.us-west-2.amazonaws.com/doc_upload/nd2.paystub.pdf), [No data 3](https://citadelid-resources.s3.us-west-2.amazonaws.com/doc_upload/nd3.paystub.pdf)    |

To flag **any** doc upload test scenario as suspicious, rename the file with the `suspicious.` prefix before uploading. See the tip at the top of this page for the full rule and examples.

***

## Validation failures

Use these files to test the file-level validation flags returned by the [Document Collections API](/developers/integration/document-processing). Each file triggers a specific validation failure on the [collection retrieve](/api-reference/document-collections/collections_retrieve) response.

In the sandbox, only the **file name** determines the test scenario — the actual file contents are ignored. You can upload any PDF as long as the filename matches.

| Document                | Triggers                                                                                    | Download                                                                                                        |
| ----------------------- | ------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| Duplicate file          | `is_unique: false` — upload any file twice in the same collection, or use the provided file | [duplicate.pdf](https://citadelid-resources.s3.us-west-2.amazonaws.com/doc_upload/duplicate.pdf)                |
| Unreadable file         | `is_readable: false`                                                                        | [unreadable.pdf](https://citadelid-resources.s3.us-west-2.amazonaws.com/doc_upload/unreadable.pdf)              |
| Password-protected file | `is_accessible: false` (password: `paystub123`)                                             | [password.pdf](https://citadelid-resources.s3.us-west-2.amazonaws.com/doc_upload/password.pdf)                  |
| Unsupported MIME type   | `is_supported_type: false`                                                                  | [unsupported\_type.pdf](https://citadelid-resources.s3.us-west-2.amazonaws.com/doc_upload/unsupported_type.pdf) |
| Processing failure      | `status: failed` after validation passes                                                    | [failed.pdf](https://citadelid-resources.s3.us-west-2.amazonaws.com/doc_upload/failed.pdf)                      |

<Warning>
  The sandbox triggers the duplicate scenario by **file name**. In production, Truv detects duplicates by **file content**, not file name — so sandbox results for renamed or same-named files do not reflect production behavior. See [How duplicate detection works](/developers/integration/document-processing#how-duplicate-detection-works).
</Warning>

***

## Base64 encoding for Document Collections API

The [Document Collections API](/developers/integration/document-processing) accepts base64-encoded file content when creating or uploading to a collection. To encode a test document for use with the API:

```bash theme={null}
# Download a test document
curl -O https://prod.truv.com/v1/permalink/most.recent.paystub.pdf

# Base64 encode it
base64 -i most.recent.paystub.pdf -o most.recent.paystub.b64

# Use the encoded content in your API call
cat most.recent.paystub.b64
```

Pass the base64 string as the `content` field when creating a document collection:

```json theme={null}
{
  "files": [
    {
      "filename": "most.recent.paystub.pdf",
      "content": "BASE64_ENCODED_CONTENT"
    }
  ]
}
```

<Note>
  In sandbox mode, the **file name** determines the test scenario, not the actual content. The base64 content can be from any valid PDF — only the filename matters for sandbox behavior.
</Note>
