From 193ce3de975a93e6e12eea326f5b4b95f3ec6697 Mon Sep 17 00:00:00 2001 From: Thomas Binsfeld Date: Fri, 28 Feb 2020 13:26:33 +0000 Subject: [PATCH] [IMP] sale: get invoice grouping keys from an easy to override function closes odoo/odoo#47023 X-original-commit: d7244f38c1e39d353eacad970a5e1099995238a7 Signed-off-by: Damien Bouvy (dbo) --- addons/sale/models/sale.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/sale/models/sale.py b/addons/sale/models/sale.py index c977e736043..bf28f32b30e 100644 --- a/addons/sale/models/sale.py +++ b/addons/sale/models/sale.py @@ -595,6 +595,9 @@ class SaleOrder(models.Model): action['context'] = context return action + def _get_invoice_grouping_keys(self): + return ['company_id', 'partner_id', 'currency_id'] + def _create_invoices(self, grouped=False, final=False, date=None): """ Create the invoice associated to the SO. @@ -645,7 +648,8 @@ class SaleOrder(models.Model): # 2) Manage 'grouped' parameter: group by (partner_id, currency_id). if not grouped: new_invoice_vals_list = [] - for grouping_keys, invoices in groupby(invoice_vals_list, key=lambda x: (x.get('company_id'), x.get('partner_id'), x.get('currency_id'))): + invoice_grouping_keys = self._get_invoice_grouping_keys() + for grouping_keys, invoices in groupby(invoice_vals_list, key=lambda x: [x.get(grouping_key) for grouping_key in invoice_grouping_keys]): origins = set() payment_refs = set() refs = set()