| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Lines of code | 1650 |
| Technical Name |
pay_sepa_sdd_b2b |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Lines of code | 1650 |
| Technical Name |
pay_sepa_sdd_b2b |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
SEPA Direct Debit B2B (pain.008)
Generate SEPA Business-to-Business Direct Debit pain.008 collection files from validated B2B mandates — IBAN/BIC checks, sequence-type lifecycle and pre-notification tracking, with the file produced locally and no payment gateway.
What it does
Manage SEPA B2B Direct Debit mandates and turn
them into a valid pain.008 XML collection file
you upload to your own bank. The module validates each mandate
(IBAN MOD-97, BIC, debtor-bank confirmation), groups collections
into PmtInf blocks by sequence type exactly as the SDD rulebook
requires, validates the document, and renders the XML in
pain.008.001.02 or pain.008.001.08. It
generates the file locally with your own creditor identifier
— nothing is routed through a third party.
B2B mandate validation
A sdd.b2b.mandate carries the debtor, IBAN, BIC,
signature date and sequence type. Constraints reject an invalid
IBAN (ISO 13616 MOD-97), an invalid ISO 9362 BIC, and a BIC whose
country does not match the IBAN. Because the B2B scheme has no
debtor refund right, action_activate blocks until the
mandate is confirmed with the debtor's bank — surfaced as a
clear list of remaining problems.
Sequence type & pre-notification
Each mandate tracks its next sequence type (FRST → RCUR, or OOFF / FNAL for one-off and final), advanced automatically after a collection is filed. The B2B rulebook's pre-notification window is enforced: record when the debtor was informed, and the batch warns when any collection's mandate was not pre-notified within the configured number of days before the collection date.
Feature highlights
- pain.008 generation —
action_generatebuilds the ISO 20022 document, one PmtInf block per sequence type, validates it, and stores a downloadable XML plus an inline preview. - Schema choice — render
pain.008.001.02(classic) orpain.008.001.08(2019), defaulting from a company setting. - Amended mandates — carry AmdmntInd with the original mandate reference when debtor data (e.g. IBAN) changes.
- Batch control totals — collection count, control sum and FRST / RCUR counts are computed and stored on each batch.
- Lifecycle on send — marking a batch as sent advances each mandate's sequence type (FRST → RCUR) and closes one-off / final mandates.
- Company creditor settings — creditor name, account IBAN, SEPA creditor identifier, BIC, initiating party, pre-notification days, batch booking and default schema, validated before generation.
How it works
- Configure the company creditor settings (IBAN, SEPA creditor identifier, pre-notification days, default schema).
- Create and activate B2B mandates once the IBAN/BIC validate and the debtor bank is confirmed; record pre-notifications.
- Build a collection batch, validate it, generate the pain.008 file, download it for your bank, and mark it sent to advance the mandate lifecycle.
Scope & disclosure
This module generates the SEPA B2B pain.008 file for you to upload through your own bank channel; it does not submit collections, connect to any bank or payment gateway, or include banking credentials. It covers the B2B scheme only. Confirm the schema version and field requirements with your bank. More at gencbaris.com/odoo_plugins.
Screenshots
Collections
Collect From Invoices
Mandates
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module