Mandate references are quite complex for Bacs, so we'd recommend either:
- Allowing GoCardless to generate the mandate reference (it will be a random alphanumeric string) and you have 10 characters to play with for payment reference - the payment reference can vary at an individual payment level and has far less complex rules
- Customising the combined mandate and payment reference (max 18 characters) but test carefully and use the below rules:
- mandate reference (which will appear on all transactions for a given mandate) must be at least 6 characters
- combined mandate + payment reference must be 18 characters or fewer
- excludes special characters
- doesn't start with a space
- doesn't end with a space
- doesn't start with "DDIC"
- contains more than one character
- can't consist of all the same characters
- 'uniqueness' - an entire reference can’t be a prefix of another reference on that SUN, e.g. can't have 'MD123' and ‘MD123MD'
If you choose to generate the mandate reference yourself, to make the 'uniqueness' criteria simpler we recommend just using all 18 characters for the mandate reference with no payment reference at all, and simply padding out the mandate reference with unique alpha-numeric characters.
It’s important that this is fully tested in the sandbox environment before going live.