Modulus checking - an introduction 

Modulus Checking is a procedure for applying a mathematical algorithm to an Account Number (or an account number and Sort Code combination) to check that it is valid for a particular range of sort codes. In the absence of an entire database of every bank account, it is the next best way of checking the likely validity of an account number. In most cases modulus checking works by validating a set of numbers against a specific check digit or digits.

In the UK, there are 66 modulus checking rules published by APACS/Bacs. Experian Payments significantly exceeds this number with 115. These rules are available as tables on disk and require coding into a software application. However, these modulus rules change regularly and when rules are added or amended, corresponding changes must be applied to the application which uses them.

Although modulus checking is often promoted by the banking industry as the solution to data accuracy, it is only one aspect of validation - it does not check the actual existence of a sort code or provide any details of branch names and addresses.

If the modulus check fails, it is not necessarily the account number which is incorrect. It could be a valid account number, but the sort code has been mis-interpreted or keyed-in incorrectly. Even worse, if the sort code that is incorrectly keyed-in is outside of the validation range, the standard modulus checking rules would pass the details.

Modulus checking does not provide any indication as to whether a sort code or account number supports Direct Debits or Direct Credits.

Modulus checking does not carry out Transposing of account numbers. The numerous routines for transposing non-standard accounts into standard eight digit accounts must be coded separately. Where transposing is required, modulus checking must be applied once the transposing has been completed.