Contributors mailing list archives

contributors@odoo-community.org

Browse archives

Avatar

Re: usage bank-payment

by
ClosingAp Open Source Integrators Europe, LDA., Daniel Reis
- 23/06/2025 12:46:52
Hello Yves,

I implemented this for a customer in v17.
It would be nice having it as an OCA feature.

Here is the code used to implement it:

from odoo import _, models
from odoo.exceptions import UserError
class AccountPaymentRegister(models.TransientModel):
    _inherit = "account.payment.register"
    def _create_payments(self):
        # If there are multiple lines for the same move, we only use the first one
        # Example: 50% on Jun30 and 50% on Jul15,
        # the first payment should select the first 50% amount, and not the full amount
        # NOTE: only for SDD, should be extended to other payment methods? configurable?
        sdd_method = self.env.ref("account_sepa_direct_debit.payment_method_sdd")
        if self.payment_method_line_id.payment_method_id == sdd_method:
            original_method = self.payment_method_line_id
            # A SDD batch should be able to include multiple due dates
            # previous to the requested payment date
            dt = self.payment_date
            self.line_ids = self.line_ids.filtered(lambda x: x.date_maturity <= dt)
            if not self.line_ids:
                raise UserError(_("No invoice matches the SDD payment date selected."))
            # For some reason, the payment method is reset at this point :-P
            self.payment_method_line_id = original_method
        return super()._create_payments()


On 14/02/2025 10:32, Yves Goldberg wrote:
Hi,

Having an invoice
with payment mode/method "[sepa_direct_debit] SEPA Direct Debit for customers (inbound)" 

with payment condition to pay in 3 times:
1# mensualités de 30,00 € le 14/02/2025
2# mensualités de 30,00 € le 15/02/2025
3# mensualités de 40,00 € le 16/02/2025

How may I automatically add the due amount to a mandate? Based on the above example, I would like to have a payment with amount 30,00 added on Feb 14th mandate and another 30,00 on another mandate with date Feb 15 etc.

Maybe account_payment_order module can partially help. Any existing module could further help ?
Thank you.





 --
Yves Goldberg
--


--
DANIEL REIS
MANAGING PARTNER

>> Schedule time on my calendar.
M: +351 919 991 307
E: dreis@OpenSourceIntegrators.com
A: Avenida da República 3000, Estoril Office Center, 2649-517 Cascais

[Logo OpenSourceIntegrators.com]

Reference