Skip to Content

SEPA Credit Transfer DE

30.45 30.45

Instant digital delivery after payment confirmation.
License: OPL-1, every download is watermarked.
Terms and Conditions

SEPA Credit Transfer for Germany - pain.001 Generator

Turn vendor bills and ad-hoc payouts into ISO 20022 pain.001 XML files you upload to your own German bank - IBAN-only / BIC-less ready, no gateway, no per-transaction fees, your data never leaves Odoo.

What this module does

This app builds standards-compliant SEPA Credit Transfer (SCT) initiation files in the ISO 20022 CustomerCreditTransferInitiation (pain.001) format. You assemble a batch of credit transfers in Odoo, generate the XML, download it, and upload it through your bank's own online banking or EBICS channel. Nothing is sent to any third-party service: this is a pure format generator, so payment data stays in your database and you keep your existing banking relationship and credentials.

Two schema versions

Emit pain.001.001.09 - the 2019 ISO 20022 message version on which the current SEPA Credit Transfer scheme (2025 rulebook) is based, and the default - or the legacy pain.001.001.03 for an older e-banking upload channel that still requires it. The version is configurable per company and per batch.

IBAN-only / BIC-less

Since 1 February 2016 SEPA is IBAN-only and a BIC is no longer required inside the SEPA area. When you leave a creditor BIC blank, the file correctly emits <Othr><Id>NOTPROVIDED</Id> for the agent - exactly what German banks expect - so a missing BIC never blocks a payment.

Real IBAN & BIC validation

Every IBAN is checked with the ISO 13616 / ISO 7064 MOD-97-10 algorithm and the per-country length registry; every BIC against the ISO 9362 structure. The module also warns when a BIC's country does not match the IBAN country - a common German-bank rejection cause - before you ever generate the file.

German bank quirks

German umlauts and the Eszett are transliterated to the SEPA Latin character set (ä → ae, ö → oe, ü → ue, ß → ss) and disallowed characters are stripped, so names and remittance text pass the Deutsche Kreditwirtschaft validation. The eight-digit Bankleitzahl (BLZ) is parsed out of every German IBAN.

Feature highlights

Capability Detail
pain.001 versions pain.001.001.03 and pain.001.001.09 from one model
Booking mode Batch (collective) or single booking - BtchBookg
Charge bearer SLEV (shared) as mandated for SEPA
Service level SEPA, payment method TRF, currency EUR
Remittance Unstructured free text or structured SCOR creditor reference
End-to-End ID Per transfer, auto-derived from your reference when blank
Validation IBAN MOD-97, BIC ISO 9362, amount ceiling, name presence
Build from bills Turn selected posted vendor bills into a ready batch, netting per payee
Workflow Draft → Generated → Uploaded, with full chatter audit trail
Output Downloadable UTF-8 XML, in-app preview

How it works

  1. Set your ordering account IBAN, initiating party and preferred pain.001 version in Settings → SEPA Credit Transfer.
  2. Create a SEPA Credit Transfer batch and add transfers - manually, from a partner, or by building from posted vendor bills.
  3. Click Validate Data to surface any IBAN/BIC or amount problems, then Generate pain.001.
  4. Download the XML and upload it in your bank's online banking or EBICS file-upload area, then mark the batch Uploaded.

Data boundary & disclosure

This module is a format generator. It produces the pain.001 file for you to upload through your own banking channel using your own credentials. It does not connect to, transmit to, or act as a certified provider for any bank or clearing system, and it stores no banking passwords. You remain in full control of when and how each file reaches your bank.

Compatible with Odoo 18 and Odoo 19 - Community and Enterprise.

Screenshots

Credit Transfers

Credit Transfers

Build From Bills

Build From Bills

Update date: 2026-07-02