WooCommerce Payments BACS Extended
Direct Bank Transfer (BACS) with automatic reconcile for WooCommerce
An extended bank-transfer (BACS) payment gateway for WooCommerce — import your incoming bank payments (CSV / CAMT.053) and reconcile them automatically against open orders.
Direct Bank Transfer (BACS) for WooCommerce is a copy of the built-in WooCommerce “Direct bank transfer” (BACS) gateway, extended with a complete payment reconciliation workflow. Customers pay by bank transfer using their order number as the reference; you then import the incoming payments of your bank account and the plugin matches them against the open orders, so you can mark them as paid — per order or all at once.
It reads bank statements in CAMT.053 (ISO 20022 XML) and in CSV with a flexible, user-defined column mapping. It is fully HPOS compatible and works in the classic and the block checkout.
Features
- Extended BACS gateway — a self-contained bank-transfer payment method (separate from core BACS) with bank account details, instructions and a clear payment reference.
- Payment reconciliation — import incoming payments and match them to open orders automatically.
- Works with standard WooCommerce BACS — optionally reconcile and book orders paid with the built-in WooCommerce “Direct bank transfer” (BACS) gateway too, so existing BACS orders are covered without switching payment method.
- CAMT.053 import — robust, namespace-agnostic ISO 20022 parser (works with camt.053 .02 / .08 / .14 and real-world bank quirks); only incoming credits are imported.
- CSV import with a mapping editor — the CSV has no fixed structure, so you describe it: which column holds the reference, the amount, the date, etc.
- Reusable CSV profiles — save a mapping per bank and reuse it on every import; an editor analyses a sample CSV and shows the column positions.
- Automatic matching — payments are matched by the order number found in the reference and by the amount (with a configurable tolerance).
- Review list — see every open order with its assigned payment, plus all imported payments and their status.
- One-click booking — mark a single order as paid, or book all matched payments at once.
- Manual assignment — assign a payment to an order by hand when the automatic match is not possible.
- Duplicate protection — the same payment can not be imported twice.
- HPOS ready — uses the WooCommerce order CRUD throughout; no direct database hacks.
- Block checkout support — appears in the modern WooCommerce block checkout as well as the classic checkout.
- Order list column — shows the BACS-X payment status (paid / awaiting) in the order list.
- Internationalised — full text-domain support; German and English documentation included.
How it works (in short)
- The customer chooses bank transfer at checkout; the order is set to on-hold and the order number is stored as the payment reference.
- The customer transfers the money to your bank account using that reference.
- You export the incoming payments from your online banking as CAMT.053 or CSV and import the file under WooCommerce → BACS-X Reconciliation.
- The plugin matches the payments to the open orders by reference and amount.
- You review the list and mark the orders as paid — per order or all matched at once.
Requirements
- WordPress 6.9+
- WooCommerce 8.0+ (tested up to 10.9)
- PHP 7.4+
- Bank statements exported as CAMT.053 (XML) or CSV


