UK Faster Payments & Bacs File Generator
Generate bank-ready Bacs Standard 18 bulk credit files for UK Faster Payments and Direct Credit — single and batched payments, upload straight to your bank, no gateway, no per-transaction fees
Build Bacs Standard 18 submission files inside Odoo and upload them directly to your bank's Bacstel-IP / corporate payment portal to push UK Faster Payments (immediate and batched single credits) and Bacs Direct Credit (scheduled bulk credits). Every record follows the published Standard 18 fixed-width layout — 106-character payment records, 80-character VOL1/HDR/UHL1/EOF/UTL1 label records, amounts in whole pence, Julian processing-day dating and a balancing 99-contra — so files clear bank validation on the first upload. Your account data never leaves your database.
Faster Payments & Bacs Direct Credit
One generator for both UK bulk-credit use cases. Choose Faster Payments for same-day single and batched credits, or Bacs Direct Credit for scheduled bulk payroll and supplier runs. Both emit the same Standard 18 format with the Direct Credit transaction code 99, ready for upload to your bank.
Balancing 99-contra
Toggle the balancing contra and the module appends a single 99-contra debit against your originating account for the sum of all credits, so the file's debit total equals its credit total — exactly what the bank re-derives on upload. Disable it for portals that book the offset themselves.
Real UK sort-code validation
Every sort code is structurally validated (six digits, not all zeros) and every account number (one to eight digits, not all zeros, padded into the eight-character field) exactly as the Standard 18 field rules require, on the company settings, the payee bank record and every payment line. Invalid data is rejected before a file is built.
Build from vendor bills
The Build from Bills wizard turns selected posted vendor bills into a ready payment batch, netting multiple bills per payee into a single credit and pulling the sort code and account number from the payee's UK bank account.
Standard 18 record layout
| Field | Length | Position |
|---|---|---|
| Destination sort code | 6 | 1–6 |
| Destination account number | 8 | 7–14 |
| Destination account type | 1 | 15 |
| Transaction code (99 = Direct Credit) | 2 | 16–17 |
| Originating sort code | 6 | 18–23 |
| Originating account number | 8 | 24–31 |
| Free format | 4 | 32–35 |
| Amount (whole pence) | 11 | 36–46 |
| Originator (user) name | 18 | 47–64 |
| User reference | 18 | 65–82 |
| Destination account name | 18 | 83–100 |
| Bacs processing day (YYDDD) | 6 | 101–106 |
Feature highlights
- Full Standard 18 file: VOL1, HDR1, HDR2, UHL1, payment records, EOF1, EOF2, UTL1.
- Direct Credit transaction code 99 for every payment.
- Optional balancing 99-contra so debits equal credits.
- Amounts carried in whole pence, no decimal drift.
- Julian YYDDD processing-day dating in the headers and records.
- Weekend / non-banking processing-day warning.
- UK sort-code and account-number structural validation everywhere.
- Build a batch directly from posted vendor bills.
- Downloadable file, in-app preview, draft / generated / submitted workflow.
- Full chatter audit trail on every batch.
Pure file generator — you stay in control
This module only builds the Standard 18 text file for you to upload to your own bank using your own Bacstel-IP / portal credentials. It transmits nothing to any external service, holds no banking certificate and is not a Bacs-approved bureau. Full modulus (valacdos) checking of a sort-code and account-number pair is performed bank-side on upload; this module validates the field structure the Standard 18 layout mandates and exposes the published MOD10 / MOD11 algorithms for callers that supply their own weight rows.
Compatible with Odoo 18 and Odoo 19 — Community and Enterprise.
Screenshots
Payment Batches
Build From Bills
Update date: 2026-07-02