From e5b1b1a0840cdbf5b24f9d1f9c1e22757484e12d Mon Sep 17 00:00:00 2001 From: Benoit Aimont Date: Wed, 21 Apr 2021 16:24:33 +0200 Subject: [PATCH] [13.0][IMP] account_payment_order - move date should be bank line date when offsetting_account is bank_account --- account_payment_order/models/account_payment_order.py | 5 +++++ account_payment_order/tests/test_payment_order_outbound.py | 1 + 2 files changed, 6 insertions(+) diff --git a/account_payment_order/models/account_payment_order.py b/account_payment_order/models/account_payment_order.py index b7816bcd00a..e188a23c541 100644 --- a/account_payment_order/models/account_payment_order.py +++ b/account_payment_order/models/account_payment_order.py @@ -416,6 +416,7 @@ def generated2uploaded(self): return True def _prepare_move(self, bank_lines=None): + move_date = False if self.payment_type == "outbound": ref = _("Payment order %s") % self.name else: @@ -424,6 +425,8 @@ def _prepare_move(self, bank_lines=None): ref += " - " + bank_lines.name if self.payment_mode_id.offsetting_account == "bank_account": journal_id = self.journal_id.id + if bank_lines: + move_date = bank_lines[0].date elif self.payment_mode_id.offsetting_account == "transfer_account": journal_id = self.payment_mode_id.transfer_journal_id.id vals = { @@ -432,6 +435,8 @@ def _prepare_move(self, bank_lines=None): "payment_order_id": self.id, "line_ids": [], } + if move_date: + vals.update({"date": move_date}) total_company_currency = total_payment_currency = 0 for bline in bank_lines: total_company_currency += bline.amount_company_currency diff --git a/account_payment_order/tests/test_payment_order_outbound.py b/account_payment_order/tests/test_payment_order_outbound.py index 5691895e0d9..1bb8e3f3e2d 100644 --- a/account_payment_order/tests/test_payment_order_outbound.py +++ b/account_payment_order/tests/test_payment_order_outbound.py @@ -146,6 +146,7 @@ def order_creation(self, date_prefered): order.draft2open() order.open2generated() order.generated2uploaded() + self.assertEqual(order.move_ids[0].date, order.bank_line_ids[0].date) order.action_done() self.assertEqual(order.state, "done")