diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index a698b263e44..2ace8acc7ee 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -1378,7 +1378,8 @@ class account_move_line(osv.osv): account_id = 'account_collected_id' base_sign = 'base_sign' tax_sign = 'tax_sign' - if journal.type in ('purchase_refund', 'sale_refund') or (journal.type in ('cash', 'bank') and total < 0 and tax_id.type_tax_use != 'sale'): + is_refund = ((total > 0 and tax_id.type_tax_use == 'sale') or (total < 0 and tax_id.type_tax_use != 'sale')) + if journal.type in ('purchase_refund', 'sale_refund') or (journal.type in ('cash', 'bank') and is_refund): base_code = 'ref_base_code_id' tax_code = 'ref_tax_code_id' account_id = 'account_paid_id'