Account Banking SEPA Credit Transfer
Module to export payment orders in SEPA XML file format.
SEPA PAIN (PAyment INitiation) is the new european standard for Customer-to-Bank payment instructions. This module implements SEPA Credit Transfer (SCT), more specifically PAIN versions 001.001.02, 001.001.03, 001.001.04 and 001.001.05. It is part of the ISO 20022 standard, available on .
The Implementation Guidelines for SEPA Credit Transfer published by the European Payments Council () use PAIN version 001.001.03, so it's probably the version of PAIN that you should try first.
It also includes pain.001.003.03 which is used in Germany instead of 001.001.03. You can read more about this here (only in german language):
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Adds a SEPA Credit Transfer payment method so you can generate SEPA XML payment files (pain.001) to pay suppliers from Odoo.
This module adds a ready-to-use outbound payment method called "SEPA Credit Transfer to suppliers". When you create a payment order using this method, Odoo produces a SEPA XML file (the pain.001 format used by European banks) that you can upload to your bank.
- On the payment method configuration you can choose the SEPA format version (pain.001.001.02, .03, .04, .05, .09 or the German pain.001.003.03); the default is pain.001.001.03.
- On each payment line you can mark the transfer as an Instant Transfer.
- The generated file groups transactions by requested date, priority, local instrument and category purpose, and includes the debtor, creditor, amount, currency, purpose and remittance information.
- If a bank account is missing on a payment line, Odoo stops the generation and shows an error naming the partner and reference.
- If no SEPA format version is set on the payment method, generation is blocked with an error.
The module works on payment orders, payment lines and payment methods, and adds a field on the payment method form. It is intended for companies paying suppliers by SEPA credit transfer.
Depends on
Required by other modules
Models and fields (3)
- account.payment.line · extends an existing modellocal_instrument
- account.payment.order · extends an existing model
- account.payment.method · extends an existing modelpain_version
Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 8 confirmed, 1 with no information of 9 versions.
Sources · Odoo 17.0
Confirmed on 2026-11-03 in branch 17.0 of OCA/bank-payment.
terminal Installation and usage
OCA documentation · Odoo 19.0Installation
Source · Odoo 19.0This module depends on : * account_banking_pain_base
This module is part of the OCA/bank-payment suite.
Configuration
Source · Odoo 19.0- Create a Payment Mode dedicated to SEPA Credit Transfer.
- Select the Payment Method SEPA Credit Transfer to suppliers (which is automatically created upon module installation).
- Check that this payment method uses the proper version of PAIN.
PAIN.001.001.09 address handling
When using format pain.001.001.09, the address block is no longer generated using the legacy unstructured format, as this is invalid according to the official schema.
You must configure the field “PAIN.001.001.09 Address Mode” on the payment method:
- Minimal (City + Country) Generates only the mandatory structured elements
TwnNmandCtry. - Hybrid (City/Country + AdrLine) Generates
TwnNmandCtry, plus optionalAdrLineelements for street data.
If no address mode is selected, the default is Minimal, which is fully schema-compliant.
Older PAIN formats (pain.001.001.03, .04, .05, etc.) are unaffected.
Usage
Source · Odoo 19.0In the menu Invoicing/Accounting \> Vendors \> Payment Orders, create a new payment order and select the Payment Mode dedicated to SEPA Credit Transfer that you created during the configuration step.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.