From 42da5ed3db74a7a682a107b0da1f8f53ed841d9e Mon Sep 17 00:00:00 2001 From: GitHub Copilot Date: Fri, 7 Aug 2026 16:38:15 +0200 Subject: [PATCH] =?UTF-8?q?acci=C3=B3n=20de=20servidor=20para=20crear=20ma?= =?UTF-8?q?ndatos=20bancarios=20en=20lote?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- account_banking_mandate_batch/README.md | 31 ++++++++++ account_banking_mandate_batch/__init__.py | 0 account_banking_mandate_batch/__manifest__.py | 14 +++++ .../data/server_action.xml | 60 +++++++++++++++++++ 4 files changed, 105 insertions(+) create mode 100644 account_banking_mandate_batch/README.md create mode 100644 account_banking_mandate_batch/__init__.py create mode 100644 account_banking_mandate_batch/__manifest__.py create mode 100644 account_banking_mandate_batch/data/server_action.xml diff --git a/account_banking_mandate_batch/README.md b/account_banking_mandate_batch/README.md new file mode 100644 index 0000000..21cf89a --- /dev/null +++ b/account_banking_mandate_batch/README.md @@ -0,0 +1,31 @@ +# Account Banking Mandate Batch Create + +Adds a contextual server action **Create SEPA mandates** to the Contacts +(`res.partner`) list and form views. + +## Usage + +1. Go to *Contacts* (or *Accounting → Customers*), switch to list view. +2. Filter the partners you want (e.g. your members: `is_client = True`). +3. Select them (tick the header checkbox to select all). +4. *Actions → Create SEPA mandates*. + +For each selected partner the action: + +- takes the partner's first bank account (`bank_ids[:1]`), +- creates a recurrent SEPA Core mandate (`format=sepa`, `type=recurrent`, + `scheme=CORE`) with today's signature date, +- validates it (state → *valid*). + +Partners with no bank account, or that already have a draft/valid mandate, +are skipped. A notification reports created / skipped counts. + +> **Legal note:** only create mandates for members who have actually +> authorised the direct debit. Adjust the signature date in +> `data/server_action.xml` if you need the real authorisation date. + +## Requirements + +Depends on `account_banking_sepa_direct_debit` (OCA `bank-payment`), which +pulls in `account_banking_mandate`, `account_payment_order` and +`account_payment_mode`. diff --git a/account_banking_mandate_batch/__init__.py b/account_banking_mandate_batch/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/account_banking_mandate_batch/__manifest__.py b/account_banking_mandate_batch/__manifest__.py new file mode 100644 index 0000000..cd5f71c --- /dev/null +++ b/account_banking_mandate_batch/__manifest__.py @@ -0,0 +1,14 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Account Banking Mandate Batch Create", + "summary": "Adds a contextual action on contacts to create and validate " + "SEPA direct debit mandates in bulk for the selected partners.", + "version": "18.0.1.0.0", + "license": "AGPL-3", + "author": "Criptomart", + "depends": ["account_banking_sepa_direct_debit"], + "data": [ + "data/server_action.xml", + ], +} diff --git a/account_banking_mandate_batch/data/server_action.xml b/account_banking_mandate_batch/data/server_action.xml new file mode 100644 index 0000000..1e52220 --- /dev/null +++ b/account_banking_mandate_batch/data/server_action.xml @@ -0,0 +1,60 @@ + + + + Create SEPA mandates + + + list,form + code + + +