diff --git a/invoice.py b/invoice.py index dadf105f1a..38db340a61 100644 --- a/invoice.py +++ b/invoice.py @@ -144,8 +144,14 @@ class InvoiceLine: if account_id \ and account_id not in accounts: accounts.append(account_id) + to_remove = list( + set((a.id for a in line.analytic_accounts.accounts)) + - set(accounts)) Selection.write([line.analytic_accounts], { - 'accounts': [('set', accounts)], + 'accounts': [ + ('remove', to_remove), + ('add', accounts), + ], }) args.extend((lines, values)) super(InvoiceLine, cls).write(*args)