Account number validation (CDV)

How Root validates bank account details for debit order payment methods


Account number validation, commonly known as check digit verification (CDV), verifies that bank account details conform to the format and range expected for the relevant bank. Root automatically performs this check for all bank accounts submitted as debit order payment methods. This feature is not relevant for external payment integrations where policyholder bank details are stored on an external payments system.

Account number validation serves the following aims:

  • Reducing the potential for fraud.
  • Reducing the administrative burden for your team, by ensuring the account numbers are formatted correctly and match the associated branch code.
  • Improves premium collection by ensuring that bank details provided by customers are valid.
  • Reducing the risk that the first policy payment fails, thereby reducing the number of policies marked as "not taken up" (if this setting is enabled for your product).

How does account number validation work on Root?

When bank account details are submitted as part of creating a debit order payment method, Root validates the bank account number and branch code against a check digit rule belonging to the relevant bank. This check is performed whether creating a debit order payment method on the Root Management Dashboard, or via the API. Note: Bank accounts added via data imports or as part of creating a payout request are not subject to CDV checks.

If the account number validation fails, the payment method will not be saved and Root will return a Bank account number or branch code is invalid error.


CDV only verifies that the bank details are in the correct format

Passing CDV is not sufficient to ensure that the bank account exists, is open, or that it belongs to the policyholder. This can be achieved through account verification, an optional configuration on Root.