🖨️Scanned Statements

In addition to original PDF bank statements downloaded directly from the Customer's internet banking profile , we now accept "Scanned Statements".

Differences Between Scanned Statements and Original Statements

Original Statements:

  • Definition: Statements downloaded directly from the customer’s internet banking profile. They are the original PDF files provided by the bank.

  • Example: A customer downloads a bank statement PDF directly from their online banking portal.

Scanned Statements:

  • Definition: Digital copies of original statements created through scanning or photographing a physical printout of the original PDF.

  • Example: A customer prints out their bank statement, takes it to a store, and the agent scans it to create a digital copy. Alternatively, a customer may take a photo or use a scanner app to capture the image of a printed statement and save it as a PDF.

Enabling Scanned Statements

  • The Scanned Statements feature needs to be enabled on a per-tenant basis. This is a configuration managed by our support team. Please contact support@finch-technologies.com to enable Scanned Statements for your tenant should you wish to make use of the feature. If the feature is not enabled, you will see the following error when trying to upload a statement that is a scan:

{
    "message": "Scanned statements processing is not enabled for your tenant. Please contact support if you wish to enable it."
}

Uploading Scanned Statements

Endpoint:

  • Use the same endpoint for uploading both original and scanned statements (i.e. Upload Bankstatement v1.1):

    {{environmentUrl}}/{{tenantId}}/api/v1.1/bank-accounts/:bank_account_id/upload-bankstatement
  • Scanned Statements are only accepted on the Upload Bankstatement v1.1 and Upload Bankstatement for Customer v1.1endpoints (i.e. it is not available on Upload Bankstatement v1.0)

  • Maximum of 6 bank statements can be uploaded in one call.

Accepted Documents

Format Requirement:

  • Scanned statements must be in PDF format.

  • All photos or scans of the individual pages of the bank statement need to be combined into one PDF file that represents a complete statement. We do not accept individual or loose pages. The entire statement, from start to finish, must be included, as we look for important data on the first and last pages to validate the statement.

  • Each file uploaded must contain only one bank statement, and all the individual pages within that file should belong to that single statement. There shouldn't be pages from different statements or periods mixed in.

Library of Accepted 'Scanned Statements':

ABSA

Capitec

FNB

Nedbank

Standard Bank

Tyme Bank

1-month Cheque Account Bank Statement (English)

1-month Cheque Account Bank Statement (English)

1-month Cheque Account Bank Statement (English & Afrikaans)

1-month Cheque Account Bank Statement (English)

1-month Cheque Account Bank Statement (English)

1-month PDF Bank Statement

Transaction History PDF export (English & Afrikaans)

-

-

-

-

-

-

3-month Cheque Account Bank Statement (English)

-

-

3-month Cheque Account Bank Statement (English)

-

-

-

-

1-month Private Wealth Bank Statement (English)

-

-

-

-

-

Nedbank Transaction History Statement

-

-

Quality Requirements

While Amazon Textract excels at extracting data even from low-quality scans, there are instances where uploads may fail. The following issues can cause an upload to be unsuccessful or lead to inaccurate data extraction:

  • Obscured or Truncated Information: If key details such as the bank registration number, bank stamps, logos, QR codes (where applicable), or account information are obscured, truncated, missing, or unreadable, the upload may fail.

  • Skewed or Cut-off Data: Statements that are heavily skewed or have portions cut off can result in missing key information. This can cause the upload to fail or lead to inaccuracies in transaction amounts due to misalignment of the statement's x-y columns. Credits and debits might also be confused due to this misalignment.

To help identify and manage these issues, we return an accuracy_metrics object with the uploaded statement. This allows you to review the accuracy and completeness of the extracted data. Depending on your criteria, you may choose to manually review statements with significant discrepancies in the accuracy_metrics or reject them outright. It is up to you to determine the level of discrepancy you are willing to accept.

Data Differences and Validation

Metadata Differences:

  • Original Statements: Metadata fields (meta_producer, meta_creator, meta_author) are used to detect possible tampering or fraud.

  • Scanned Statements: These metadata fields are not applicable due to natural variations in scans or photos. Instead, an accuracy_metrics object is returned to assess the completeness and accuracy of the data.

Accuracy Metrics:

In order to get the accuracy_metrics object returned in the Return All Statements of a BankAccount endpoint, you need to include and set the return_accuracy query parameter to true in the Upload BankStatement v1.1 endpoint.

Endpoint:

Example accuracy_metrics object in Return All Statements of a BankAccount:

  "data": [
        {
            "id": "34f39472-93eb-45a8-adf6-7db4cef4ae9f",
            "bank_account_id": "5052f85e-4530-46b6-aeea-f11f9c0dfa74",
            "statement_date": "2021-02-05",
            "start_date": "2020-11-07",
            "end_date": "2021-02-05",
            "temp_url": "https://apply.fincheck.co.za/testing/files/c6972b8a-34a0-4314-91d2-962f43a67471?expires=1714391294&signature=3bae4b5ede8ec20e0bdab1119c88f2900231ffd9a658eca2548a8f2c1a7f8da8",
            "expires_in": "60m",
            "file": {
                "id": 221,
                "name": "CapitecScanned3.pdf",
                "type": "pdf",
                "url": "https://apply.fincheck.co.za/testing/documents/CapitecScanned3.pdf"
            },
            "transaction_count": 283,
            "month": "Nov 2020",
            "fraud": {
                "fraud_checks": {
                    "statement_balance": true,
                    "create_date": true,
                    "meta_mod_date": "not applicable",
                    "meta_producer": "not applicable",
                    "meta_creator": "not applicable",
                    "meta_author": "not applicable"
                }
            },
            "processed": true,
            "accuracy_metrics": {
                "statement_confidence_score": 0.98,
                "expected_transaction_count": 283,
                "calculated_transaction_count": 283,
                "transaction_count_match": true,
                "expected_credit_total": 53283.99,
                "calculated_credit_total": 66586.56,
                "credit_total_match": false,
                "expected_debit_total": 44684.04,
                "calculated_debit_total": 48575.01,
                "debit_total_match": false
            },
            "confidence_score": 0.98
        }
    ]
}

Explanation of the accuracy_metrics Object:

statement_confidence_score

Indicates how accurately Amazon Textract read the document. A higher score means higher confidence.

expected_transaction_count

The number of transactions expected, usually derived from a summary table or QR code on the statement.

calculated_transaction_count

The number of transactions extracted from the Scanned Statement and identified by Gathr.

transaction_count_match

Indicates whether the calculated transaction count matches the expected count. A mismatch could indicate missing transactions or potential tampering.

expected_credit_total

The total amount of credit transactions expected, derived from a summary table or QR code.

calculated_credit_total

The total amount of all the credit transactions extracted from the Scanned Statement and calculated by Gathr.

credit_total_match

Indicates whether the calculated credit total matches the expected total. A mismatch could indicate missing transactions or potential tampering.

expected_debit_total

The total amount of debit transactions expected, derived from a summary table or QR code.

calculated_debit_total

The total amount of all the debit transactions extracted from the Scanned Statement and calculated by Gathr.

debit_total_match

Indicates whether the calculated debit total matches the expected total. A mismatch could indicate missing transactions or potential tampering.

Last updated