Your payment format and BACS source account are set once per organisation. Until they are set, no payment file is generated for your pay runs. See setting up your payment details.
What the file contains
Each completed pay run has one payment file, identified by its pay schedule, tax year, pay frequency, and period. It holds:- One credit record per employee being paid, carrying their sort code, account number, account name, net pay, and payment reference.
- The totals your bank reconciles against — the number of records, the number of employees, and the total amount.
- A contra record debiting your own account, in the formats that require one.
Acme_2026-W25-260515-215906.txt. The whole name stays within 50 characters, because some banks reject longer ones.
Download links expire. If a link has gone stale, open the pay run again to generate a fresh one.
Setting up your payment details
Your payment configuration drives every file Flow Payroll generates for the organisation.
A payment reference can mix static text with tokens —
{payDate}, {payPeriodStart}, {payPeriodEnd}, {year}, {period}, and {frequency} — plus separator tokens for spaces, dashes, underscores, and slashes. References are truncated to 18 characters in the file, so keep them short.
Payment file statuses
When an employee is missing from the file
Every employee’s bank details are checked before they go into the file. Anyone who fails is listed against the pay run with the field that caused it.
Account names are cleaned rather than rejected. Accents are stripped, the name is uppercased, anything outside A–Z, 0–9, space, hyphen, slash, ampersand, and full stop is removed, and the result is truncated to 18 characters. A long or accented name never blocks a file.
Correct the details on the employee’s profile, then retry the payment file. A retry rebuilds the file with refreshed employee data, so anyone you have fixed is included.
Payment file formats
The Standard 18 record
Each payment record in a Standard 18 file is 106 characters, with fixed positions:
The contra record at the end of the payment lines carries your own account on both sides, the total of the file as its amount, and
CONTRA in place of both account names.
Templates
These are sample files in each layout, with dummy sort codes, account numbers, and employee names. Flow Payroll generates your real file for you — use these to check a layout against what your bank expects, or to give your bank a sample before your first upload.Standard 18 template (BACS_Standard18.txt)
Standard 18 template (BACS_Standard18.txt)
Column positions matter in this format. Open it in a plain text editor, never a spreadsheet.Download BACS_Standard18.txt
Barclays template (BACS_Barclays.csv)
Barclays template (BACS_Barclays.csv)
One row per payment: sort code, account name, account number, amount, reference, then the transaction code. There is no header row.Download BACS_Barclays.csv
NatWest template (BACS_Natwest.txt)
NatWest template (BACS_Natwest.txt)
Every row has 85 comma-separated fields, most of them empty. The Download BACS_Natwest.txt
08 row names the account being debited; each 09 row is one employee’s payment.Allica Bank template (BACS_Allica Bank.csv)
Allica Bank template (BACS_Allica Bank.csv)
The only format with a header row. Sort codes are written with dashes, and names are not uppercased.Download BACS_Allica Bank.csv
Uploading the file to your bank
Download the file and upload it through your bank’s bulk payment channel — Bankline for NatWest, Barclays.Net or iPortal for Barclays, or your BACS bureau’s own submission service. Your bank validates the file again on its side and reports the total it is about to pay, so check that total against the pay run summary before you approve it.Where to go next
Running a pay run
Take a period from open to locked and reported.
Payslips
Preview, download, and send payslips to your employees.
Payroll journals
Post payroll costs to your accounting system.
Payment API
Generate and fetch payment files programmatically.