تخطي للذهاب إلى المحتوى

SEPA payments

Finance · Accounting and Invoicing

SEPA payments

SEPA is a payment integration initiative of the European Union that facilitates standardized, simplified electronic payments in euro across SEPA countries.

With SEPA Direct Debit (SDD), customers sign a mandate that authorizes you to collect future payments from their bank accounts. This is particularly useful for recurring subscription payments. You can keep records of these mandates in Odoo and generate XML files indicating to the bank which payments to collect from customers.

Unlike SDD, SEPA Credit Transfer (SCT) is an outgoing payment method where you “push” funds to a recipient. It is the standard for handling vendor bills, employee salaries, and one-off transfers. These payments can also be grouped into a single XML file to upload to your bank.

Note

  • List of all SEPA countries.

  • Depending on the localization package installed, the SEPA Direct Debit and SEPA Credit Transfer / ISO20022 modules may be installed by default. If not, they need to be installed.

Important

SDD and SCT payment methods are only valid for transactions in EUR currency. If your company is located in the EFTA region, a non-EEA SEPA country, or a non-EEA SEPA territory, consult the ISO 20022 section.

See also

Batch payments

SEPA Direct Debit

Configuration

To enable SDD for customer payments, go to Accounting ‣ Configuration ‣ Settings, scroll to the Customer Payments section, enable SEPA Direct Debit (SDD), and click Save. Then, scroll to the Customer Payments section again, set the company’s Creditor Identifier, and click Save.

Tip

The creditor identifier is provided by your bank or the authority responsible for delivering it in your country. For testing purposes, you can use the test creditor identifier DE98ZZZ09999999999.

Mandates

An SDD mandate is a legal document authorizing a company to debit funds from a customer’s bank account. It includes key information, such as the customer’s name and IBAN, the mandate’s start and end date, and the mandate’s unique identifier. The mandate form must be filled in and signed by the customer.

Creating mandates

In the Accounting app, go to Customers ‣ Direct Debit Mandates, and click New.

  1. Fill out:

    • Customer: select the customer whose payments are to be managed by this mandate.

    • IBAN: account of the customer to collect payments from.

    • SDD Scheme depends on the type of customer. Select CORE for B2C customers and B2B for B2B customers.

    • End Date: select a date after which the mandate is closed automatically. If this is left empty, the mandate remains active until it closed or revoked.

    Note

    • A valid IBAN must be defined in the bank journal used to receive SDD payments for the mandate.

    • The B2B scheme is an optional scheme, offered exclusively to business payers. Some banks or businesses might not accept B2B SDD.

  2. Click Send & Print to generate a PDF of the mandate form, then send it to the customer for signature.

  3. Click Validate to activate the mandate.

Tip

  • To print the mandate form after the mandate has been validated, click the (gear) icon, then select (Mandate form).

Once an SDD mandate is active, subsequent SDD payments can be generated via Odoo and uploaded to your online banking interface. Customers with an active SDD mandate can also use this payment method for online purchases.

Closing or revoking a mandate

To close or revoke a mandate, go to Accounting ‣ Customers ‣ Direct Debit Mandates, select the relevant mandate, and click Close or Revoke.

Closing a mandate updates the mandate’s end day to the current day. Invoices issued after the present day will not be processed with an SDD payment. Revoking a mandate immediately disables it. No SDD payment can be registered anymore, regardless of the invoice’s date. However, payments that have already been registered are still included in the next SDD XML file.

Warning

  • Mandates are automatically closed 36 months after the date of the last collection.

  • Closed or revoked mandates cannot be reactivated.

Processing SDD payments

All registered SDD payments can be processed at once by uploading an XML file containing a batch of all posted SDD payments to your online banking interface. To do so, follow these steps:

  1. Create a batch payment and include the SDD payments to collect.

    Tip

    You can filter payments by SDD scheme using the SDD CORE and SDD B2B filters.

  2. Validate the batch payment. The XML file is generated automatically and available for download in the chatter.

  3. Download the XML file and upload it to your online banking interface to process the payments.

  4. Once the SDD batch payment has been received, reconcile the transaction with the batch payment to mark the related invoices as Paid.

Tip

To view the payments and invoices linked to a specific SDD mandate, click the Collections and Invoices Paid smart button on the Direct Debit Mandate form.

Note

The files generated by Odoo comply with the SDD PAIN.008.001.02 specifications, as required by the SEPA customer-to-bank implementation guidelines, which ensures compatibility with banks.

SDD rejections

SDD rejections can occur for several reasons, the most common being insufficient funds in the customer’s account. With SDD, the recipient’s account is credited before the funds are actually debited from the customer’s account. As a result, if an SDD payment is later rejected, the bank automatically withdraws the amount of that payment from the recipient’s account, and a new transaction for a negative amount is created to reflect the SDD rejection.

In this case, you must reverse the journal entry associated with the rejected payment and reconcile the reversal of the journal entry with the transaction for the SDD rejection. To do so, follow these steps:

  1. Access the invoice linked to the rejected SDD payment.

  2. Click the (information) icon in the footer of the Invoice Lines tab, then click View to access the payment associated with the invoice.

  3. Click the Journal entry smart button to access the related journal entry.

  4. Click Reverse entry, optionally edit the fields in the popup, then click Reverse. A reversal entry is created with a Reference mentioning the initial journal entry. As a result, the invoice is marked as Not paid.

  5. Access the bank journal’s reconciliation view and reconcile the transaction created for the SDD rejection with the reversal of the entry related to the payment.

SEPA Credit Transfer

Configuration

To pay suppliers with SCT, from the Accounting app, go to Configuration ‣ Settings. Under Vendor Payments, activate SEPA Credit Transfer (SCT). Next, fill out your company data:

  • Your Company: The name of the company to use SCT.

  • Name Identification: The tax ID of the related company.

  • Issuer: The name of the entity that issued the tax ID.

After activating SEPA, go to Configuration ‣ Journals and open your Bank journal. Under Outgoing Payments, add SEPA Credit Transfer as a Payment Method if it’s not there. This allows Odoo to use this bank account to generate XML payment files.

Registering payments

To register vendor payments made with SCT, first verify that an Account Number and Bank are indicated on the vendor’s contact form, under the Accounting tab. Odoo automatically verifies if the IBAN format is respected.

Then, go to Vendors ‣ Payments, and click New. When creating your payment, select SEPA Credit Transfer as the Payment Method. The Vendor Bank Account is automatically populated based on the Vendor selected. For future payments to this vendor, Odoo will automatically suggest the bank account, but it remains possible to select a new one from the dropdown menu by clicking the Vendor Bank Account field.

Once your payment is registered, do not forget to confirm it. You can also pay vendor bills from the bill directly using the Register Payment button at the top of a vendor bill. The form is the same, but the payment is directly linked to the bill and will be automatically reconciled with it.

ISO 20022

Note

  • The SEPA Credit Transfer / ISO20022 Odoo module acts as the underlying engine for all ISO 20022 transactions. Make sure it is installed.

  • Some countries and regions require localized, country-specific versions of ISO 20022. These are provided by default with your fiscal localization.

ISO 20022 is a global standard for exchanging financial messaging data between banks. It uses a structured format that bundles payment details and related documents into a single package. This allows computers to automatically read embedded information like invoice numbers, tax details, and sender identification. Unlike SEPA, the ISO 20022 standard supports any currency worldwide.

To use a specific ISO 20022 version in Odoo, open the Accounting app, navigate to Configuration ‣ Journals, and select your bank journal. Click the Outgoing Payments tab, click Add a line, and select the required ISO 20022 version from the dropdown menu.

PAIN version

Note

  • PAIN is the specific financial message protocol within ISO 20022 or SEPA used to send transfer instructions from Odoo to your bank.

  • To enable a country-specific PAIN version, check that the corresponding fiscal localization for your country is installed in your database.

Important

ISO 20022 PAIN.001.001.03 is being deprecated in November 2026. Make sure to switch to the newer PAIN.001.001.09 version or the version explicitly required by your country for outgoing payments .

To select a specific PAIN version, open the Accounting app, go to Configuration ‣ Journals, and open your Bank journal. Depending on your configuration needs:

  • Click the Incoming Payments tab, and select a version in the SEPA Pain Version field.

  • Click the Outgoing Payments tab and select a version in the XML Format field.

Export XML files

To generate the daily XML payment files required by your online banking portal, create a batch payment. Odoo attaches the generated XML file directly to the chatter, where you can download it for submission to your bank.

By default, the SEPA-compliant XML files generated by Odoo use the PAIN.001.001.09 format. If your workflows require a different format, refer to the PAIN section above.


Adapted from the Odoo 19.0 User Documentation for DigitsCode customer support. © Odoo S.A. DigitsCode capabilities remain in the DigitsCode Capabilities category.

مقالات ذات صلة