Consumer Fraud Score
We have created a fraud score object in the upload statement response to help our clients judge the authenticity of bank statements uploaded by their customers
Fraud Score Object
In the instance where an upload is successful, a "fraud" object is returned, as a result of a set of meta data checks completed during the upload bank statement process. It is up to the tenant, to decide on their own minimum acceptable criteria based on the results in the response.
"false"
Fraud check indicates NO fraud
"true"
Fraud check indicates fraud
"not applicable"
No meta data available
200: No Fraud
"fraud": {
"fraud_checks": {
"statement_balance": false,
"create_date": false,
"meta_mod_date": false,
"meta_producer": false,
"meta_creator": false,
"meta_author": false
}
If the statements vary significantly from the expected bank templates that we have in our library, the bank statements will not process and you will get the below error message.
400 Bad Request: Invalid Bank
[
{
"code": "invalid_bank",
"message": "There was an error validating the statement",
"data": {
"error": "Could not be recognised as a valid FNB statement. Please check if it is a valid bank statement, and that your bank selection is correct."
}
}
]
Fraud Check Rules
Statement Balance
In order to ensure the income and expenditure information is valid and reliable we implemented the statement balance fraud check to identify whether any transactional data fields (income or expense amounts) or the opening/closing balances have been tampered with.
In the statement balance Fraud Check the Closing Balance displayed on the bank statement is verified against the calculated Closing Balance.
Closing Balance = Opening Balance
+ the sum of all Credits
- the sum of all Debits
Possible Outcomes:
false: The fraud check will return a non fraudulent flag when the closing balance
on the bank statement is equal to the calculated closing balance.
true: The fraud check will return a fraudulent flag when the closing balance on
the bank statement is NOT equal to the calculated closing balance.
The statement closing balance could have been tampered with.
The transaction amount(s) on the bank statement could have been tampered with.
Please do take note that if making use of Manual Upload V1.1 the statement_balance
fraud array will not be available as the bank statement is not processed within the upload API call and as such unable to perform the closing balance calculation.
Create Date
The fraud check create date was implemented to mitigate against the upload and processing of outdated statements. Outdated statements are seen as bank statements older than 3 months.
A calculation is completed to determine of the create date is less than or equal to 90 days of the statement date.
Possible Outcomes:
false: The fraud check will return a non fraudulent flag when the create date in
the metadata of the statement is within 90 days of the statement date
true: The fraud check will return a fraudulent flag when the create date in the
meta data is greater than the 90 days of the statement date.
not applicable: The fraud check will return a not applicable when the bank statement does not have a creation date available in the metadata.
Meta Mod Date
The Meta Mod Date fraud check is performed to indicate whether there has been any modifications to the bank statement after it has been issued by the bank.
The fraud check is determining whether there is a time difference between the creation date and modification date on the bank statement metadata.
Unfortunately, one limitation of this fraud check is that if a customer chooses โSave asโ to save the document under a different name for example, without making any changes to the bank statement data, the modification date will be updated which may result as the fraudulent flag to be raised.
Possible Outcomes:
false: The fraud check will return a non fraudulent flag when the create date in
the metadata of the statement is within 90 days of the statement date
true: The fraud check will return a fraudulent flag when the create date in the
meta data is greater than the 90 days of the statement date.
not applicable: The fraud check will return a not applicable when the bank
statement does not have a modification date available in the metadata.
Meta Producer, Meta Creator and Meta Author
We validate these meta_data identities against a library we have built for all the banks. Unfortunately, there is not a uniform standard per bank, as such, each bank will have its own meta data. If you would like us to share the Meta library information please email support@finch-technologies.com.
Meta Producer
As mentioned above, each bank has their own unique meta producer (i.e. software used by the bank to generate PDF bank statements). In the fraud check for meta producer we compare the meta producer information available on the uploaded bank statement and compare the producer against the meta library, ensuring the PDF generation software aligns.
Possible Outcomes:
false: The fraud check will return a non fraudulent flag when the meta producer identified on the bank statement uploaded matches the meta producer in the meta library.
true: The fraud check will return a fraudulent flag when the meta producer identified on the bank statement uploaded does not match the meta producer in the meta library.
true: The fraud check will return a fraudulent flag when a meta producer is identified on the bank statement however the meta producer in the meta library is not applicable.
not applicable: The fraud check will return a not applicable when the bank statement does not have a meta producer and that meta library does not have a meta producer.
Meta Creator
In the fraud check for meta creator we compare the meta creator information available on the uploaded bank statement and compare the creator against the meta library, ensuring the bank statement has been created by the relevant banking software.
Possible Outcomes:
false: The fraud check will return a non fraudulent flag when the meta creator
identified on the bank statement uploaded matches the meta creator in the
meta library.
true: The fraud check will return a fraudulent flag when the meta creator
identified on the bank statement uploaded does not match the meta creator in
the meta library.
true: The fraud check will return a fraudulent flag when a meta creator is
identified on the bank statement however the meta creator in the meta library is
not applicable.
not applicable: The fraud check will return a not applicable when the bank
statement does not have a meta creator and that meta library does not have a meta creator.
Meta Author
In order to ensure the bank statement has been created by the relevant banking author, the fraud check for meta author we compare the meta author information available on the uploaded bank statement and compare the creator against the meta library.
Possible Outcomes:
false: The fraud check will return a non fraudulent flag when the meta author
identified on the bank statement uploaded matches the meta author in the meta
library.
true: The fraud check will return a fraudulent flag when the meta author
identified on the bank statement uploaded does not match the meta author in
the meta library.
true: The fraud check will return a fraudulent flag when a meta author is identified
on the bank statement however the meta author in the meta library is not
applicable.
not applicable: The fraud check will return a not applicable when the bank
statement does not have a meta author and that meta library does not have a meta author.
Expected Fraud Outcomes for Valid Bank Statements
Below are extracts showing the fraud check results from valid [unedited/non-tampered] bank statement from the respective banks.
Below is the expected response for a valid ABSA Cheque statement.
"fraud": {
"fraud_checks": {
"statement_balance": false,
"create_date": "not applicable",
"meta_mod_date": "not applicable",
"meta_producer": false,
"meta_creator": false,
"meta_author": false
}
},
Below is the expected response for a valid ABSA transaction history PDF (whether stamped or unstamped, in english).
"fraud_checks": {
"statement_balance": false,
"create_date": false,
"meta_mod_date": false,
"meta_producer": false,
"meta_creator": false,
"meta_author": "not applicable"
}
},
Below is the expected response for a valid Capitec statement.
"fraud": {
"fraud_checks": {
"statement_balance": false,
"create_date": false,
"meta_mod_date": "not applicable",
"meta_producer": "not applicable",
"meta_creator": false,
"meta_author": false
}
},
Below is the expected response for a valid Discovery statement.
"fraud": {
"fraud_checks": {
"statement_balance": false,
"create_date": false,
"meta_mod_date": false,
"meta_producer": false,
"meta_creator": false,
"meta_author": false
}
],
Below is the expected response for a valid FNB statement.
"fraud": {
"fraud_checks": {
"statement_balance": false,
"create_date": false,
"meta_mod_date": false,
"meta_producer": false,
"meta_creator": false,
"meta_author": false
}
},
Below is the expected response for a valid FNB Afrikaans statement.
"fraud": {
"fraud_checks": {
"statement_balance": false,
"create_date": false,
"meta_mod_date": false,
"meta_producer": false,
"meta_creator": false,
"meta_author": false
}
},
Below is the expected response for a valid Nedbank 1-month statement.
"fraud": {
"fraud_checks": {
"statement_balance": false,
"create_date": false,
"meta_mod_date": "not applicable",
"meta_producer": "not applicable",
"meta_creator": false,
"meta_author": false
}
},
Below is the expected response for a valid Nedbank Transaction History.
"fraud": {
"fraud_checks": {
"statement_balance": false,
"create_date": false,
"meta_mod_date": "not applicable",
"meta_producer": false,
"meta_creator": false,
"meta_author": false
}
}
Below is the expected response for a valid RMB statement.
"fraud": {
"fraud_checks": {
"statement_balance": false,
"create_date": false,
"meta_mod_date": false,
"meta_producer": false,
"meta_creator": false,
"meta_author": false
}
},
Last updated
Was this helpful?