Integrating Document Processing

This guide covers adding document processing to your integration.


These document processing strategies help you collect user documents. With this solution, users upload document files. These files are then processed for the raw data as user information. The two points below cover common reasons for using document processing.

Configuring your document processing

The points below cover user information to collect when integrating your document processing solution.

  • Document type required, such as paystubs, W2, and 1099
  • Number of documents required for each type
  • Applicant first_name and last_name

In addition, you can add a specific message for your users displayed in Truv Bridge. Contact Truv for additional configuration settings.

Bridge Token specifications

When creating a Bridge Token for the User, document upload requires additional values in the request. Include the product_type = employment and data_sources = ["docs"] in the configuration from the cURL sample below.

curl --request POST \
     --url{user_id}/tokens/ \
     --header 'X-Access-Client-Id: {{client_id}}' \
     --header 'X-Access-Secret: {{access_key}}	' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
     "product_type": "employment",
     "data_sources": ["docs"],
     "tracking_info": "any data for tracking current transaction"

Example response

The JSON data below contains a sample report payload when including document uploads.

  "id": "24d7e80942ce4ad58a93f70ce4115f5c",
  "status": "new",
  "finished_at": "2021-04-06T11:30:00Z",
  "completed_at": "2021-04-06 11:30:00+00:00",
  "access_token": "48427a36d43c4d5aa6324bc06c692456",
  "tracking_info": "user123456",
  "refresh_status": "new",
  "employments": [
      "id": "24d7e80942ce4ad58a93f70ce4115f5c",
      "is_active": false,
      "job_title": "PR associate",
      "job_type": "F",
      "start_date": "2018-01-01",
      "original_hire_date": "2017-06-21",
      "end_date": "2022-06-16",
      "external_last_updated": "2022-06-16",
      "dates_from_statements": false,
      "derived_fields": [
      "missing_data_fields": [
      "manager_name": "Jenny McDouglas",
      "profile": {
        "first_name": "John",
        "last_name": "Doe",
        "middle_initials": "K",
        "email": "[email protected]",
        "ssn": "123456789",
        "date_of_birth": "1992-03-03",
        "home_address": {
          "street": "1 Morgan Ave",
          "city": "Los Angeles",
          "state": "CA",
          "zip": "90210",
          "country": "US"
      "company": {
        "name": "Facebook Demo",
        "address": {
          "street": "1 Morgan Ave",
          "city": "Los Angeles",
          "state": "CA",
          "zip": "90210",
          "country": "US"
        "phone": "6503087300"
  "pdf_report": "",
  "provider": "doc_upload",
  "data_source": "docs"

Testing document upload solutions

When implementing VOE in your workflow for document uploads, use the Testing to try different scenarios within the sandbox. The sections below provide PDFs to upload and test various scenarios.

Document processing testing

When Integrating Document Processing in your workflow, the PDF downloads in the list below cover different scenarios for sandbox use.

Upload the documents for testing different sandbox response results. Pay statements and tax documents return data when successful. Unsuccessful uploads respond with status updates.

Suspicious document detection

Documents from uploads may have fraudulent, consistent, or unacceptable data. When encountering these issues, mark specific instances for review. Prevent malicious activity with additional analysis and attention.

View the table below for various scenarios and PDF examples.

Tampered documentsInformation is falsified or manipulatedTampered 1, Tampered 2, Tampered 3
Different Social Security NumbersPersonal information is inconsistentSSN 1, SSN 2, SSN 3
Different company namesCompany information is inconsistentCompany 1, Company 2, Company 3
Different applicant namesPersonal information is inconsistentApplicant 1, Applicant 2, Applicant 3
Documents without data, or with invalid dataInformation is missing or unable to be parsedNo data 1, No data 2, No data 3



Test scenarios use the file name to return results. Testing ignores the file contents when in the sandbox.