OdooWiki OCA HUB

Account Banking SEPA Credit Transfer

account_banking_sepa_credit_transfer folder_open OCA/bank-payment open_in_new
Banking addons License: AGPL-3

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.0

Adds 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.

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-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 8 confirmed, 1 with no information of 9 versions.

Sources · Odoo 12.0

Confirmed on 2026-11-03 in branch 12.0 of OCA/bank-payment.

terminal Installation and usage

OCA documentation · Odoo 19.0

This module depends on : * account_banking_pain_base

This module is part of the OCA/bank-payment suite.

  • 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 TwnNm and Ctry.
  • Hybrid (City/Country + AdrLine) Generates TwnNm and Ctry, plus optional AdrLine elements 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.

In 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.

info

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.