diff --git a/account_payment_order/models/account_payment_line.py b/account_payment_order/models/account_payment_line.py index a18686fc4..4352f859a 100644 --- a/account_payment_order/models/account_payment_line.py +++ b/account_payment_order/models/account_payment_line.py @@ -154,3 +154,18 @@ class AccountPaymentLine(models.Model): raise UserError( _("Missing Partner Bank Account on payment line %s") % self.name ) + + def get_requested_date(self, default_date): + self.ensure_one() + order = self.order_id + # Compute requested payment date + if order.date_prefered == "due": + requested_date = self.ml_maturity_date or self.date or default_date + elif order.date_prefered == "fixed": + requested_date = order.date_scheduled or default_date + else: + requested_date = default_date + # No payment date in the past + if requested_date < default_date: + requested_date = default_date + return requested_date diff --git a/account_payment_order/models/account_payment_order.py b/account_payment_order/models/account_payment_order.py index b4fcb3835..534d7e36b 100644 --- a/account_payment_order/models/account_payment_order.py +++ b/account_payment_order/models/account_payment_order.py @@ -293,16 +293,7 @@ class AccountPaymentOrder(models.Model): group_paylines = {} # key = hashcode for payline in order.payment_line_ids: payline.draft2open_payment_line_check() - # Compute requested payment date - if order.date_prefered == "due": - requested_date = payline.ml_maturity_date or payline.date or today - elif order.date_prefered == "fixed": - requested_date = order.date_scheduled or today - else: - requested_date = today - # No payment date in the past - if requested_date < today: - requested_date = today + requested_date = payline.get_requested_date(today) # inbound: check option no_debit_before_maturity if ( order.payment_type == "inbound"