diff --git a/addons/account/models/account_move.py b/addons/account/models/account_move.py index fd6d382c335..d5c273a5747 100644 --- a/addons/account/models/account_move.py +++ b/addons/account/models/account_move.py @@ -3919,8 +3919,11 @@ class AccountMoveLine(models.Model): # Eventually create a journal entry to book the difference due to foreign currency's exchange rate that fluctuates if to_balance and any([not float_is_zero(residual, precision_rounding=digits_rounding_precision) for aml, residual in to_balance.values()]): if not self.env.context.get('no_exchange_difference'): - exchange_move = self.env['account.move'].with_context(default_move_type='entry').create( - self.env['account.full.reconcile']._prepare_exchange_diff_move(move_date=maxdate, company=amls[0].company_id)) + exchange_move_vals = self.env['account.full.reconcile']._prepare_exchange_diff_move( + move_date=maxdate, company=amls[0].company_id) + if len(amls.mapped('partner_id')) == 1 and amls[0].partner_id: + exchange_move_vals['partner_id'] = amls[0].partner_id.id + exchange_move = self.env['account.move'].with_context(default_move_type='entry').create(exchange_move_vals) part_reconcile = self.env['account.partial.reconcile'] for aml_to_balance, total in to_balance.values(): if total: