diff --git a/addons/account/models/reconciliation_widget.py b/addons/account/models/reconciliation_widget.py index 934272c1c81..f6da8354bf5 100644 --- a/addons/account/models/reconciliation_widget.py +++ b/addons/account/models/reconciliation_widget.py @@ -143,12 +143,19 @@ class AccountReconciliation(models.AbstractModel): bank_statements_left += line.statement_id amls = aml_ids and self.env['account.move.line'].browse(aml_ids) - results['lines'].append({ + line_vals = { 'st_line': self._get_statement_line(line), 'reconciliation_proposition': aml_ids and self._prepare_move_lines(amls) or [], 'model_id': matching_amls[line.id].get('model') and matching_amls[line.id]['model'].id, 'write_off': matching_amls[line.id].get('status') == 'write_off', - }) + } + if not line.partner_id and partner_map.get(line.id): + partner = self.env['res.partner'].browse(partner_map[line.id]) + line_vals.update({ + 'partner_id': partner.id, + 'partner_name': partner.name, + }) + results['lines'].append(line_vals) return results diff --git a/addons/account/static/src/js/reconciliation/reconciliation_model.js b/addons/account/static/src/js/reconciliation/reconciliation_model.js index b3e6d56c2f4..14b0f980651 100644 --- a/addons/account/static/src/js/reconciliation/reconciliation_model.js +++ b/addons/account/static/src/js/reconciliation/reconciliation_model.js @@ -365,6 +365,7 @@ var StatementModel = BasicModel.extend({ var handle = _.uniqueId('rline'); self.lines[handle] = { id: res.st_line.id, + partner_id: res.st_line.partner_id, handle: handle, reconciled: false, mode: 'inactive', @@ -1008,6 +1009,11 @@ var StatementModel = BasicModel.extend({ 'display_name': line.reconciliation_proposition[0].partner_name, }, true); } + }else if(!line.st_line.partner_id && line.partner_id && line.partner_name){ + return self.changePartner(line.handle, { + 'id': line.partner_id, + 'display_name': line.partner_name, + }, true); } return true; })