BACS File Structure and Format Errors

An STD18 file is fixed-width: every record is exactly 114 characters, and the bank reads each field by its position rather than by a delimiter. The record labels sit in the first four characters, and the trailer repeats the totals the bank reconciles against. Software that writes these files by hand — a spreadsheet export, an older payroll, a custom report — tends to break one of those rules: a trimmed trailing space, a soft line break, a label that never got written, or a total that no longer matches the payment records.

The records in an STD18 file

LabelRecord
VOL1Volume header — opens the file.
HDR2User header — originator sort code, account number, name and processing date.
6Payment record — sort code at positions 6-13, account number at 14-21, amount in pence at 30-40.
UTL1User trailer — total value, hash total and the type-6 record count the bank reconciles.
EOF9End of file.

Payment file

Drop a .txt or .bacs file in the box below, or paste its contents. The file is checked as soon as it arrives: if it cannot be read as a BACS payment file you are told why and charged nothing. The corrected file — the fix itself — is what you pay for.

Drag and drop your file here

Your file

No file yet. Drop or paste one and it is checked straight away — a file we cannot read as a BACS file is refused here, free of charge.

Frequently asked questions

Why is every record exactly 114 characters?
STD18 is fixed-width. The bank reads each field by its position in the record, not by a delimiter, so a record that is 113 or 115 characters long shifts every field after the missing or extra character and the record cannot be parsed.
What breaks the structure most often?
A trailing space or field trimmed by a spreadsheet export, a soft line break introduced by an editor, a missing or mislabelled trailer, and totals that were not recomputed after the payment records changed.
Are the line endings really checked?
Yes. STD18 records must be separated by CRLF (\r\n). Files that arrive with LF or CR endings, or a mix of all three, are rejected on structure, so the repair normalises them to CRLF.
Does anything else in the file get rewritten?
No. The repair covers record width, line endings, the trailer label, sort code and account number formatting, and the UTL1 totals. Payment amounts, references and payee details are left untouched.