Some countries require payments to specify their purpose.

Some countries require purpose codes for record keeping. Purpose codes indicate the reason why funds were transferred into the country. Different countries use different lists of purpose codes, and additionally, there are different purpose codes for Companies of type personal vs. type business.

To help keep track of all of this, Routable provides the Purpose Code resource. To look up accepted purpose codes for a country/company type pair, make an GET request to /v1/countries/{country_code}/purpose-codes/{company-type}. Some examples of this call include:

  • GET /v1/countries/MY/purpose-codes/business
  • GET /v1/countries/MY/purpose-codes/personal

We recommend using this endpoint to display options to allow your users to select a purpose code. If your payments are always for a single purpose, the the purpose code(s) can be hard-coded. Please note that querying this endpoint for a country that does not require purpose codes will return an empty List.

Applying Purpose Codes to Payables

The PurposeCode resource contains a purpose_code property, which is what will be applied to the purpose_code property in an international Payable. (Purpose codes are not required for domestic Payables.) For countries where a purpose code is not required, the purpose_code property in a Payable should be set to null (which is the default.)

Countries Requiring Purpose Codes

Use the Supported Countries and Territories Explorer to check any country to see if it requires purpose codes.