Statement Analysis - Preanalysis
Introduction:
The Bank Statement Pre-Analysis API helps users perform key fraud checks on bank statements before submitting them for full analysis. The checks include: 1. Name Match: Verifies that the name on the statement matches the expected customer name, helping identify identity-related fraud. 2. Address Match: Checks that the address on the bank statement matches the expected address, helping to spot address-based fraud or identity theft. 3. Statement Recency Check: Ensures the bank statement is recent, identifying potentially outdated documents that may not be reliable or legitimate. 4. Statement Continuity Check: Verifies that the statements are continuous and not artificially tampered with (i.e., missing pages or gaps in statements). 5. Statement Period Check: Confirms the statement’s date range is valid and consistent, preventing attempts to manipulate the time periods for fraudulent purposes.
Benefits:
- Cost Savings: By performing these basic checks upfront, users avoid paying for full analysis on statements that may already be flagged as fradulent.
- Fraud Preventation: Helps catch potential fraud early, before spending money on a full detailed analysis.
- Time Efficiency: Speeds up the review process by filtering out fradulent statements right away.
- User-friendly: Automates the fraud detection process, making it easier for users to catch red flags without manually going through each statement.
Sample cURL:
curl --location 'https://api.signzy.ae/api/v3/statementanalysis/preanalysis' \
--header 'Content-Type: application/json' \
--header 'x-consumer-id: test-consumer' \
--header 'Authorization: ' \
--data '{
"customerName": "John Doe",
"customerAddress": "XYZ Street",
"statementPeriod": "12m",
"recencyDate": "31/03/2025",
"recencyPeriod": "12m",
"checkAuthenticity": false,
"files": [
{
"fileUrl": "https://files.signzy.tech/api/files/1739499082/download/2e05d2d81f934ad295624bc8993919c11cc55f9cd27547289b9107838bddbe7f1.pdf"
}
]
}'Input Parameters:
Parameter | Type | Description | Mandatory/Optional |
|---|---|---|---|
customerName | String | Name of the customer which has to be matched with the statement name. | Mandatory |
customerAddress | String | Address of the customer which has to be matched with the address of the customer. | Optional |
statementPeriod | String | Period of the statement can be passed as 6m, 3m, 1y, etc. | Mandatory |
recencyDate | String | Users can pass the recency date from where the recency has to be checked. The format should be DD/MM/YYYY | Mandatory |
recencyPeriod | String | User can define the period of recency. For ex: 6m, 3m | Mandatory |
pan | String | PAN of the customer which has to be matched. | Optional |
accountType | String | Account Type can have 3 possible values: 1. CA 2. SA 3. OD | Optional |
files | Array | List of Files that you need analysis on |  |
files[n].fileUrl | String | URL of the PDF statement | Mandatory |
files[n].password | String | Password of the statement | Optional |
Sample Response:
{
"customerNameMatch": true,
"customerNameMatchDescription": "Name match passed",
"customerAddressMatch": true,
"customerAddressMatchDescription": "Address match passed",
"statementPeriodCheck": true,
"statementPeriodDescription": "Statement meets the required period. Cumulatively, the period of statements is 3 months.",
"recencyCheck": true,
"recencyCheckDescription": "The uploaded statements are recent, from 01/06/2024 to 31/08/2024.",
"continuityCheck": true,
"continuityCheckDescription": "The statements uploaded have no gaps",
"panMatch": false,
"panMatchDescription": "PAN not passed",
"accountTypeMatch": false,
"accountTypeMatchDescription": "Account Type not passed"
}Status Codes:
CODE | MESSAGE |
|---|---|
200 400 404 409 500 | Request Successful Validation Error Record Not Found Upstream is down Server Side Error |