Skip to main content
GoCardless SEPA Direct Debit for Odoo — Collect recurring SEPA, Bacs & ACH direct debits in Odoo via GoCardless mandates, web — 1/1Illustrative preview

Collect recurring SEPA, Bacs & ACH direct debits in Odoo via GoCardless mandates,

webhooks and automated reconciliation. Built, installed & supported by ECOSIRE.

What is GoCardless SEPA Direct Debit for Odoo?

Collect recurring SEPA, Bacs & ACH direct debits in Odoo via GoCardless mandates, webhooks and automated reconciliation. Built, installed & supported by ECOSIRE. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Dedicated gocardless.mandate model with full lifecycle status (pending, active, cancelled, expired, failed) linked to res.partner
Hosted mandate authorisation via GoCardless Billing Request Flow, surfaced from the Odoo customer portal
Multi-scheme support: SEPA Core (EUR), Bacs (GBP), ACH (USD), BECS (AUD) and PAD (CAD) with per-scheme charge-date and advance-notice handling
Automatic collection creation when an account.move customer invoice is confirmed for a partner with an active mandate
Recurring collection sweep via ir.cron for subscription and repeat billing on the correct scheme charge dates
One-off 'collect now' server action / button on the invoice for ad-hoc charges against an existing mandate
Signature-verified webhook controller that ingests GoCardless events and reconciles them to the originating Odoo payment
Automatic account.payment creation and invoice reconciliation on payment confirmation and payout
Failed / charged-back handling: invoice re-opened, mandate flagged, and status pushed onto the partner record
Configurable retry policy with backoff and a max-attempt cap before escalation to dunning
compute fields with @api.depends rolling up active-mandate state and outstanding collection totals onto the partner form
Role-scoped security via ir.model.access.csv plus record rules so only Finance roles see mandates and trigger collections
Settings page for GoCardless access token, environment (sandbox/live) and webhook secret, with sandbox-first verification
QWeb mandate confirmation document and clear OWL/XML views with status ribbons
Payout-to-bank-statement matching helper to close the reconciliation loop end to end
Runs on Odoo 17, 18 and 19, Community and Enterprise, using the official GoCardless API

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

Stop chasing failed card payments and manual bank transfers. This is a build-to-order Odoo integration — designed, built, installed and supported by ECOSIRE — that connects your Odoo 17, 18 or 19 database directly to GoCardless so you can collect low-cost bank-to-bank direct debits across SEPA (EUR), Bacs (GBP), ACH (USD), BECS (AUD) and PAD (CAD) without leaving Odoo.

At its core the module adds a proper GoCardless mandate lifecycle to Odoo. We introduce a dedicated gocardless.mandate model (models.Model) linked one-to-many from res.partner, with fields for scheme, mandate reference, status and the GoCardless customer/bank-account IDs. Compute fields using @api.depends roll up each customer's active-mandate state and outstanding collection totals so your finance team sees everything on the partner form. Mandates are created either through a hosted GoCardless authorisation flow (Billing Request Flow) surfaced from the customer portal, or set up by your team from a mandate wizard — the customer authorises once, and every future invoice can be collected against it.

Collection is wired into the documents you already use. When an account.move (customer invoice) is confirmed for a partner with an active mandate, the module can create a GoCardless payment for the balance due, respecting scheme-specific charge dates and advance-notice rules. For subscription and recurring revenue, it hooks into your billing cadence (Odoo subscriptions or a scheduled ir.cron sweep) to batch-create collections on the correct dates. One-off "collect now" actions are available directly from the invoice via a server action / button for ad-hoc charges.

The hard part of direct debit is what happens after you submit — and that is exactly what we automate. A secured, signature-verified webhook controller (JSON-RPC style HTTP endpoint) ingests GoCardless events (payment confirmed, paid_out, failed, charged_back, mandate cancelled/expired) and reconciles them against the originating Odoo payment. Confirmed collections post an account.payment and reconcile it to the invoice; payouts can be matched to your bank statement lines to close the loop end-to-end. Failed and charged-back payments are flagged, the invoice is re-opened, and a configurable retry policy (with backoff and a max-attempt cap) re-presents the collection or escalates to your dunning process — so a bounced debit never silently slips through.

Everything is built to Odoo standards: strict ir.model.access.csv plus record rules so only Accounting/Finance roles can view mandates and trigger collections, QWeb-ready mandate confirmation documents, clean OWL/XML views with status ribbons, and a settings page holding your GoCardless access token and webhook secret. It runs on Community and Enterprise, uses the official GoCardless API, and — because it is written natively — coexists cleanly with your existing accounting localisation and payment providers.

Because this is a bespoke build, we scope it to your schemes, currencies, subscription model and reconciliation workflow before we write a line of code. Typical delivery is one working week. You receive the full module source, a sandbox-verified deployment, documentation and a support window — no black boxes, no per-transaction lock-in beyond GoCardless's own published fees.

What you get

  • Complete, commented module source code (models, views, security CSV/record rules, controllers, data) delivered to your repository
  • Scoped build tailored to your specific schemes, currencies, subscription model and reconciliation workflow
  • Sandbox-verified deployment on your Odoo 17/18/19 instance, then promotion to production
  • GoCardless account wiring: access token, webhook endpoint registration and secret configuration
  • Admin and end-user documentation covering mandate setup, collection, retries and reconciliation
  • A live training session for your finance/operations team plus a recorded walkthrough
  • A post-launch support window for bug fixes, adjustments and questions
  • Rollback-safe upgrade notes and __manifest__.py version pinned to your target Odoo series

Who this is for

EU/UK subscription business owner

Runs recurring plans in EUR or GBP and wants to move customers off expensive cards onto low-cost SEPA/Bacs direct debit, with mandates and renewals handled inside Odoo instead of a separate GoCardless dashboard.

Finance / accounts-receivable manager

Needs every confirmed collection and payout to auto-post as an account.payment and reconcile against the right invoice, with failed and charged-back debits flagged immediately rather than discovered at month-end.

Operations lead at a services or membership organisation

Bills clients or members on a regular cadence and wants one authorised mandate per customer to drive automatic recurring collections, retries on failure, and a clean portal experience for sign-up.

How GoCardless SEPA Direct Debit for Odoo Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Time to a working, reconciled direct-debit flowone working week, scoped and delivered done-for-youMonths of in-house dev, design and testingFast to install but generic; still needs config workNot available — Odoo core has no GoCardless direct debit
Multi-scheme (SEPA, Bacs, ACH, BECS, PAD)IncludedOnly what you build and maintainOften SEPA-only or limited schemesNot included
Webhook-driven reconciliation to account.paymentIncludedMust build signature verification and matching yourselfPartial — varies by vendor, often manual matchingNot included
Configurable failed-payment retry & dunning hooksIncludedYou design the whole retry engineRarely included or basicNot included
Fit to your subscription model & reconciliation workflowIncludedIncludedPartial supportNot included
Source code ownership & documentation handed overIncludedIncludedUsually closed/obfuscated, licence-lockedNot included
Runs on Odoo 17, 18 and 19, Community & EnterpriseIncludedDepends on your teamPartial supportNot included
Ongoing support & version-upgrade pathIncludedYour team owns all maintenancePartial supportNot included

Frequently Asked Questions about GoCardless SEPA Direct Debit

How long until it's live, and what happens after I order?

This is a build-to-order module, not an instant apps.odoo.com download. After purchase we run a short scoping call to confirm your schemes, currencies, Odoo version and reconciliation workflow, then build, test in a GoCardless sandbox, and deploy. Typical delivery is one working week depending on scope. You get the sandbox-verified module first, then we promote it to production together.

What support and updates do I get after delivery?

Every build includes a post-launch support window for bug fixes, adjustments and questions, plus documentation and a training session. Because we hand over the full source, you own the code. We can also provide ongoing maintenance — including updates when you upgrade across Odoo 17, 18 and 19 or when GoCardless changes its API — under a separate support agreement.

Does it work on Odoo Community or only Enterprise, and which versions?

It runs on both Odoo Community and Enterprise, on versions 17, 18 and 19. The module is written natively (models.Model, ir.model.access.csv, record rules, QWeb, OWL/XML views) so it coexists cleanly with your accounting localisation and existing payment providers. We pin the __manifest__.py to your target series and test against it.

How are failed payments and chargebacks handled?

The webhook controller ingests GoCardless failure and charged-back events, re-opens the affected invoice, flags the mandate on the partner record, and applies a configurable retry policy — backoff plus a maximum attempt cap — before escalating to your dunning process. Nothing silently disappears; the status is always visible on the invoice and customer form.

Is the GoCardless integration secure?

Yes. Your GoCardless access token and webhook secret live in Odoo settings, never hard-coded. The webhook endpoint verifies the GoCardless signature on every event to reject spoofed requests, and access to mandates and collection actions is restricted to Finance roles via ir.model.access.csv and record rules. We verify the full flow in a sandbox environment before going live.

Will it collect recurring subscription payments automatically?

Yes. For recurring revenue the module runs a scheduled sweep (ir.cron) that creates GoCardless collections on the correct scheme charge dates against each customer's active mandate, respecting SEPA/Bacs advance-notice rules. It can hook into Odoo subscriptions or your own billing cadence, and confirmed collections auto-reconcile to the generated invoices.

Request a quote

GoCardless SEPA Direct Debit

Collect recurring SEPA, Bacs & ACH direct debits in Odoo via GoCardless mandates, webhooks and automated reconciliation. Built, installed & supported by ECOSIRE.

  • Dedicated gocardless.mandate model with full lifecycle status (pending, active, cancelled, expired, failed) linked to res.partner
  • Hosted mandate authorisation via GoCardless Billing Request Flow, surfaced from the Odoo customer portal
  • Multi-scheme support: SEPA Core (EUR), Bacs (GBP), ACH (USD), BECS (AUD) and PAD (CAD) with per-scheme charge-date and advance-notice handling
  • Automatic collection creation when an account.move customer invoice is confirmed for a partner with an active mandate

Request a Quotation

Tell us about your GoCardless SEPA Direct Debit requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.