Sortcode and Bank Account Implementation Guide

This guide is to assist in the integration of the sorting code and bank account validator into a website or application.

Using our BankCheck service, we recommend you perform a GetBank in order to get the bank details, name address etc. If you are performing bank account validation for direct debits, then you can check if a sortcode will allow direct debits by checking the flag 'PermitDebits'. It is also useful to allow the user to check their bank details. If you do not need or want to display the bank account details then performing a ModulusCheck on its own is sufficient. It performs a ValidateSortcode check on the fly as a modulus check is meaningless without knowing the sortcode is valid.

The following table displays details of the methods in BankCheck.

Method Name Description Parameters Example Return Value Authentication Required
GetBank Gets the bank details from the ISCD. Requires a sortcode as a parameter. Sortcode 111111 BankResult Yes
HelloWorld Starting point for developers. string No
IsBankHoliday Returns a BooleanResult, true if is bank holiday. Date 25/12/2019 BooleanResult Yes
ModulusCheck Performs a modulus check on a sortcode and bank account number. Requires a sortcode and account number as parameters. Sortcode, Account Number 111111, 00000007 BooleanResult Yes
ModulusCheckBatch Performs a modulus check on an array of sortcodes and bank account numbers. The same array is returned, but with the error element set to true or false depending on whether the bank account validation was successful or failed respectively. Sortcode, Account Number 111111, 00000007 BooleanResult Yes
ValidateSortcode Checks the sortcode exists in the ISCD. Requires a sortcode as a parameter. Sortcode 111111 BooleanResult Yes

The BankCheck Service can be found here, and a full service description is available here.

SOAP or REST service

BankCheck can return SOAP, JSON or XML. Some reference guide samples can be found below.

SOAP C# Sample

  • BankCheck has been developed in .Net for easy interfacing for Visual Basic and Visual C# developers.

  • Once you have created your project, in the Solution Explorer select "Add Service Reference". This will present you with the following dialog box to enter the URL. Once the URL has been entered the BankCheck interface will be displayed.

    Bankcheck Service Image
  • Code sample:

    Authentication auth = new Authentication();
    auth.CustomerId = "YOURCUSTOMERID";
    auth.LicenceKey = "YOURLICENCEKEY";
    BankcheckClient client = new BankcheckClient();

    BankResult result = client.GetBank(auth, "SORTCODE");
    Bank bank = result.Bank;

    BooleanResult booleanResult = client.ModulusCheck(auth, "SORTCODE", "ACCOUNTNUMBER", null);
    bool modulusCheck = booleanResult.Valid;


  • BankCheck is also available as a REST service speaking XML or JSON. REST services can be consumed in almost any language by POSTing to a given URL.
    All BankCheck methods require an auth object which contains your CustomerId and LicenceKey. The returned data type can be controlled with the Accept header. If no accept header is provided the service will return JSON. A sample request and response is shown below.

  • Sample Request:

    Request URL:
    Request Method: POST
    Accept: text/json

    Data: {"auth":{"CustomerId":"YOURID","LicenceKey":"YOURLICENCEKEY"},"sortcode":"SORTCODE"}
  • Sample Response:

    Content-Length: 48
    Content-Type: application/json; charset=utf-8

    Data: {"ResultCode":0,"ResultMessage":"","Valid":true}
Mosaic Software logo
Support is available 9am-5pm, Monday to Friday excluding bank holidays. We also have out of hours support available in case of emergency.
Contact Us