Docs-to-digital matching (Beta)

Docs-to-digital matching allows you to automate comparing Plaid transaction data with bank statement data submitted during the loan application process. This ensures data consistency and improves efficiency for fraud detection and underwriting tasks.

🚧

This feature is in beta!

This page discusses functionality that is in beta. You may occasionally experience unannounced changes or bugs. We'd greatly appreciate your feedback on this feature and its accompanying documentation.

Step 1: Prerequisite - prepare the required data and access

Before you begin, ensure that you have the following access and data:

  • Access to Analytics: Ensure that your organization has access to Ocrolus V2 Analytics. This feature requires the latest analytics endpoints, including the Book summary and Enriched transaction endpoints.

    👍

    Tip

    Contact your account manager if you need assistance enabling Analytics.

  • Book ID: Identify the specific Book that contains previously uploaded bank statements. These statements can be in PDF, image, or scanned format.
  • Plaid account and transaction data: Verify that your organization has an active Plaid account and can obtain Plaid JSON files containing the borrower's most up-to-date transaction data.

Step 2: Upload transaction data

To upload Plaid transaction data to a Book that contains bank statements, perform the following steps:

  1. Use the Upload PDF to Book endpoint or the Upload Mixed Document PDF to Book endpoint to upload bank statements for underwriting the borrower.
  2. Complete the underwriting and approval process as usual.

    📘

    Note

    Ocrolus will wait at least an hour for you to complete uploading documents to a book for underwriting. This waiting period ensures you have enough time to upload all necessary documents before Ocrolus begins the matching process.

    This waiting period may be adjusted over time.

  3. When ready to fund, prompt the borrower to connect their bank account via Plaid.
  4. Using your organization's Plaid account, obtain the bank transaction data for the same borrower. Ocrolus supports both Plaid Asset Report JSON and Plaid Transactions JSON formats.
  5. Use the Upload JSON to Book endpoint to upload the retrieved Plaid JSON files to the corresponding Book. You can upload multiple JSON files to support multiple bank accounts or extended transaction timelines.

Step 3: Automatic matching

Once the JSON files are uploaded, Ocrolus automatically performs transaction matching by:

  • Comparing Plaid and bank statement data: Ocrolus verifies that both Plaid transactions and bank statement data reference the same underlying bank account within the Book.
  • Flagging mismatched transactions: Any discrepancies or mismatched transactions are identified and flagged for review. Notifications are sent via email or webhook for further action.

Step 4: Analyze updated insights

Once the matching process is complete, Ocrolus sends a notification summarizing the results. Notifications are delivered via one of the following methods:

  • Webhooks: If no mismatches are found, the book.pacing.no_discrepancies_found event will trigger and notifications are sent confirming that the data from both sources (Bank Statements and Plaid JSON) match. If mismatches are found, the book.pacing.discrepancies_found event will trigger and notifications are sent with discrepancies for further action. To learn more about the webhook events, see Webhook events.

  • Email summaries: If mismatches are found, an email notification provides an overview of the mismatched transactions for review. The email includes details on discrepancies, helping users take appropriate action.

Step 5: Review mismatched transactions

To analyze mismatched transactions, perform the following steps:

  1. Access the Enriched transaction endpoint and refresh the data.

  2. Review the mismatched_transactions node, which includes:

    • txn_pk: A unique identifier for the transaction.
    • txn_date: The date when the transaction occurred.
    • amount: The monetary value of the transaction.
    • description: A brief detail or label associated with the transaction.
    • uploaded_doc_format: The origin of the transaction data, either from Plaid or a bank statement.
    • uploaded_doc_pk: A unique identifier for the uploaded document.
"mismatched_transactions": [
    {
        "txn_pk": 123,
        "txn_date": "2024-01-01",
        "description": "TRANSFER TO CHECKING",
        "amount": -2000.01,
        "uploaded_doc_pk": 123456,
        "uploaded_doc_format": "PLAID"
    },
    {
        "txn_pk": 456,
        "txn_date": "2024-02-01",
        "description": "CHECK 12345",
        "amount": 102.34,
        "uploaded_doc_pk": 78922,
        "uploaded_doc_format": "BANK_STATEMENT"
    }
]