Counterparty account verification

Verifying counterparty accounts is key to maximising payment success rate and reducing fraud. With Numeral, companies can verify their counterparty accounts prior to sending or collecting payments.

Verifications include:

  • Account number structure
  • Bank code
  • Account holder
  • Account status

This feature is available in the dashboard and through the API.

Verifications

VerificationDescription
Account number structure
valid_account_number
Numeral verifies the account number structure, including:
- Check digits
- Length, depending on country
- Authorised characters
Bank code
matching_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 holder
matching_account_holder
For supported banks, Numeral retrieves the account holder name from the bank holding the account. In case of a close match, the correct account holder name is returned.
Account status
active_account
For supported banks, Numeral retrieves the account status from the bank holding the account

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 API returns the counterparty_account with the account_verification attribute updated.

curl --request POST \
     --url https://sandbox.numeral.io/v1/counterparty_accounts/c3fd9ee4-2aab-11ed-a261-0242ac120002/verify \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json' \
     --header 'X-API-Key: Your_API_Key'
{
   "id": "b38f5318-a389-4278-9cbe-d16116750982",
   "object": "counterparty_account",
   "name": "PartnerCo EUR account",
   "counterparty_id": "c3fd9ee4-2aab-11ed-a261-0242ac120002",
   "holder_name": "PartnerCo",
   "holder_address": {
      "line_1": "1, rue de la Bourse",
      "line_2": "",
      "postal_code": "59000",
      "city": "Lille",
      "region_state": "",
      "country": "FR"
   },
   "account_number": "FR7601234567891127967100082",
   "bank_code": "BNPAFRPPXXX",
   "status": "pending_approval",
   "status_details": "",
   "account_verification": {
     "result": "verified",
     "active_account": {
       "result": "valid",
       "details": {
         "reason": "",
         "message":""
       }
     },
     "valid_account_number": {
       "result": "valid",
       "details": {
         "reason": "",
         "message":""
       }
     },
     "matching_account_number_and_bank_code": {
       "result": "valid",
       "details": {
         "reason": "",
         "message":" ",
         "expected_value":""
       }
     },
     "matching_account_holder": {
       "result": "valid",
       "details": {
         "reason": "",
         "message":"",
         "expected_value":""
       }
     },
     "created_at": "2024-01-03T11:53:19.734182Z",
   },
   "metadata": {},
   "custom_fields": {},
   "disabled_at": null,
   "created_at": "2024-01-03T09:53:19.734182Z"
}

Coverage

VerificationCountries supported
Account number structureEurope
Bank codeEurope
Account holder- France
- Netherlands
- More countries to come
Account status- France
- Netherlands
- More countries to come

Data providers

Numeral supports a number of data providers to verify accounts:

  • IBAN.com
  • SurePay
  • SEPA Mail Diamond
  • Swift (planned)