Skip to Content
Q&A

SEPA Direct Debit in Odoo: Automatic Billing for Subscriptions

From Authorization to Batch — Here’s How to Automate Direct Debit.

Back to all Q&A
December 9, 2025 by
SEPA Direct Debit in Odoo: Automatic Billing for Subscriptions
DAADit Group, Nick

For subscriptions and recurring invoices, automatic direct debit is a real relief: no reminders to send, no outstanding items to chase. Odoo fully supports SEPA direct debit — from mandate to batch file for your bank. Think of a gym with 400 members or an IT company with monthly service contracts: set it up properly once and the monthly direct debit run takes about fifteen minutes. Here is how to go about it.

1. SEPA-mandaat registreren

No signed mandate, no direct debit — that is not an Odoo rule but a SEPA rule. Here is how to register it:

  1. Open the customer → Accounting tab → Bank & SEPA section.
  2. Add the IBAN and click Create Mandate. Odoo generates a unique mandate ID.
  3. Download the mandate PDF and have the customer sign it.
  4. Once received, set the mandate to Active. Keep the signed copy — in the event of a chargeback, the bank may ask for it.

2. Marking invoices as "via SEPA"

When creating an invoice, choose Payment Method = SEPA Direct Debit and the right mandate. If you work with subscription invoices from Odoo Subscriptions, set this once as the default per customer — every automatically generated invoice is then immediately ready for the direct debit run, with no manual work.

3. Batch-bestand genereren

Under Accounting → Payments → Batch Payments, create a new batch, select all outstanding SEPA invoices and click Generate XML. Upload that file to your bank portal — ING, Rabobank and ABN AMRO all support the SEPA PAIN.008 format. Schedule your run a few working days before the desired collection date; banks apply a submission lead time.

Refunds and bounces

Not every direct debit succeeds: insufficient funds, a closed account, or a customer who reverses the debit. You'll see this in your bank statement. In Odoo, undo the payment via Payment → Cancel; the invoice is then open again and simply flows into your dunning process. Does the same customer bounce repeatedly? Consider an Automation Rule that deactivates the mandate after a second failed direct debit, so you don't run into the same wall every month.

Finally

Practical tip: always announce the first direct debit by email (a pre-notification is actually mandatory under SEPA). That saves you surprised customers as well as chargebacks. Would you like to set up direct debits, subscriptions and payment reminders in Odoo so they work seamlessly? Contact DAADit Group.

Questions about your Odoo implementation? Start the free Business Scan.

Start the Business Scan →

For subscriptions and recurring invoices, direct debit is a lifesaver: no reminder emails, no chasing open invoices. Odoo fully supports SEPA direct debit — from mandate to batch file for your bank. Think of a gym with 400 members or an IT company with monthly service contracts: set it up properly once and the monthly collection run takes fifteen minutes. Here is how.

1. Registering a SEPA mandate

No signed mandate, no direct debit — that is not an Odoo rule but a SEPA rule. Registering one works like this:

  1. Open the customer → Accounting tab → Bank & SEPA section.
  2. Add the IBAN and click Create Mandate. Odoo generates a unique mandate ID.
  3. Download the mandate PDF and have the customer sign it.
  4. Once received, set the mandate to Active. Keep the signed copy — your bank may ask for it in case of a chargeback.

2. Marking invoices as "via SEPA"

When creating an invoice, choose Payment Method = SEPA Direct Debit and the correct mandate. If you work with subscription invoices from Odoo Subscriptions, set this once as the default per customer — every automatically generated invoice is then immediately ready for the collection run, with no manual steps.

3. Generating the batch file

Under Accounting → Payments → Batch Payments, create a new batch, select all outstanding SEPA invoices and click Generate XML. Upload that file into your bank portal — ING, Rabobank and ABN AMRO all support the SEPA PAIN.008 format. Plan your run a few working days before the intended collection date; banks apply a submission deadline.

Reversals and bounces

Not every collection succeeds: insufficient balance, a closed account, or a customer who reverses the debit. You will see this on your bank statement. In Odoo, undo the payment via Payment → Cancel; the invoice reopens and simply joins your normal reminder flow. Same customer bouncing repeatedly? Consider an Automation Rule that deactivates the mandate after a second failed collection, so you stop running into the same wall every month.

To finish

Practical tip: always announce the first collection by email (a pre-notification is actually mandatory under SEPA). It saves you surprised customers and chargebacks alike. Want direct debits, subscriptions and reminders set up watertight in Odoo? Contact DAADit Group.

Questions about your Odoo implementation? Take the free Business Scan.

Start the Business Scan →

Question not answered?

Our Odoo consultants are happy to think along with you. Book a no-obligation intro call.

Book an appointment
Customer-focused language: quotes in Dutch, packing slips in English?
Specify the language for each customer and for each document type.