Counterparty account verification
Use Numeral to verify counterparty accounts, maximise success rate, and reduce fraud
With Numeral, companies can verify their counterparty accounts prior to sending or collecting payments. Verifying counterparty accounts is key to maximising payment success rate and reducing fraud.
Verifications include:
- Account number structure
- Bank code
- Account holder, based on name and / or company registration number
- Account status
This feature is available in the dashboard and through the API.
Verifications
Verification | Description |
---|---|
Account number structurevalid_account_number | Numeral verifies the account number structure, including:
|
Bank codematching_account_number_and_bank_code | Numeral verifies that the bank code matches the account number. In case it does not match, the correct bank code is returned |
Account holdermatching_account_holder | For supported banks, Numeral retrieves the account holder from the bank holding the account and compares it your data. |
Account statusactive_account | For supported banks, Numeral retrieves the account status from the bank holding the account. |
Use the feature
Verify a counterparty account in the dashboard
To verify a counterparty account in the dashboard, create a counterparty account or go to an existing counterparty account and click on Verify account under the Actions menu.
Verify a counterparty account with the API
To verify a counterparty account with the API, use the Verify counterparty account endpoint.
The process is asynchronous, meaning the response indicates pending_verification
with all verifications set to null
.
Numeral then gathers results from the different sources. This process can take up to 30 seconds.
Once all results are available, a verified
event is sent, with all verifications' results. Alternatively, you can retrieve the counterparty_account
to get all verifications' results.
curl --request POST \
--url https://sandbox.numeral.io/v1/counterparty_accounts/39446492-3d63-4a3c-8f96-a8ed8be91c0c/verify \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: Your_API_Key'
{
"id": "39446492-3d63-4a3c-8f96-a8ed8be91c0c",
"object": "counterparty_account",
"type": "legal_entity",
"status": "approved",
"status_details": "",
"name": "Acme Corp. settling account",
"holder_name": "Acme Corp.",
"holder_address": {
"country": "",
"line_1": "",
"line_2": "",
"building_number": "",
"street_name": "",
"postal_code": "",
"region_state": "",
"city": ""
},
"account_number": "FR1212739000506541967515Q48",
"bank_code": "SOMEBIC0XXX",
"counterparty_id": null,
"company_registration_number": "123456789",
"company_registration_number_type": "fr_siren",
"metadata": {},
"custom_fields": {},
"account_verification": {
"result": "pending_verification",
"valid_account_number": null,
"matching_account_number_and_bank_code": null,
"matching_account_holder": null,
"active_account": null,
"created_at": null
},
"created_at": "2024-05-22T12:34:34.721347Z",
"disabled_at": null
}
{
"id": "39446492-3d63-4a3c-8f96-a8ed8be91c0c",
"object": "counterparty_account",
"type": "legal_entity",
"status": "approved",
"status_details": "",
"name": "Acme Corp. settling account",
"holder_name": "Acme Corp.",
"holder_address": {
"country": "",
"line_1": "",
"line_2": "",
"building_number": "",
"street_name": "",
"postal_code": "",
"region_state": "",
"city": ""
},
"account_number": "FR1212739000506541967515Q48",
"bank_code": "SOMEBIC0XXX",
"counterparty_id": null,
"company_registration_number": "123456789",
"company_registration_number_type": "fr_siren",
"metadata": {},
"custom_fields": {},
"account_verification": {
"result": "valid",
"valid_account_number": {
"result": "valid",
"details": {
"reason": "",
"expected_value": "",
"message": ""
}
},
"matching_account_number_and_bank_code": {
"result": "valid",
"details": {
"reason": "",
"expected_value": "",
"message": ""
}
},
"matching_account_holder": {
"result": "valid",
"details": {
"reason": "",
"expected_value": "",
"message": ""
}
},
"active_account": {
"result": "valid",
"details": {
"reason": "",
"expected_value": "",
"message": ""
}
},
"created_at": "2024-05-22T12:35:01.892244399Z"
},
"created_at": "2024-05-22T12:34:34.721347Z",
"disabled_at": null
},
Test cases for sandbox
You will find here all test cases supported in our sandbox environment.
Coverage
Data providers
Numeral supports a number of data providers to verify accounts:
- IBAN.com
- SurePay
- SEPA Mail Diamond
- Swift (planned)
Updated 4 months ago