BACS Reason Codes Explained

A reason code is the answer a bank sends back after it has processed your submission: it says that a Direct Debit instruction was rejected, that a collected payment was returned, or that an existing instruction changed. The three code sets follow the Direct Debit lifecycle — setting up, collecting, and amending — and none of them is a comment on the layout of your file.

Frequently asked questions

What is a BACS reason code?
A short code a bank returns against a Direct Debit instruction or a collected payment to say why it was rejected, returned or amended. It describes the payer's account or the mandate — not the layout of the file you submitted.
Can BACS Check fix a reason-code rejection?
No. Reason codes come back after the bank has accepted and processed your file, and they describe a banking or mandate issue. BACS Check repairs file-format defects: record width, line endings, the UTL1 trailer label and the totals.
Where is the complete list of codes?
The full sets are in your bank's Originator's Guide. The pages here cover the codes an originator meets most often, with the meaning the bank assigns to each one.
My submission file will not upload at all — is that a reason code?
No. A file the bank cannot read, or that is rejected on structure, is a format problem rather than a reason code, and it is the one worth repairing before you resubmit.

These codes describe why a Direct Debit mandate or payment was rejected — a banking/account issue, not a file-format problem. If instead your BACS submission file is malformed and won't upload to the bank (wrong record length, bad line endings, a UHF1/UTL1 mix-up, or totals that don't reconcile), that's what BACS Check repairs — paste or upload your file here →