diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index 0b17eb676f6..113f5815774 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -650,8 +650,13 @@ class account_move_line(osv.osv): #if jt in ('sale', 'purchase_refund', 'bank', 'cash'): if jt in ('sale', 'purchase_refund'): val['account_id'] = fiscal_pos_obj.map_account(cr, uid, part and part.property_account_position or False, id2) - elif jt in ('purchase', 'sale_refund', 'expense', 'bank', 'cash'): + elif jt in ('purchase', 'sale_refund'): val['account_id'] = fiscal_pos_obj.map_account(cr, uid, part and part.property_account_position or False, id1) + elif jt in ('general', 'bank', 'cash'): + if part.customer and not part.supplier: + val['account_id'] = fiscal_pos_obj.map_account(cr, uid, part and part.property_account_position or False, id2) + else: + val['account_id'] = fiscal_pos_obj.map_account(cr, uid, part and part.property_account_position or False, id1) if val.get('account_id', False): d = self.onchange_account_id(cr, uid, ids, val['account_id']) val.update(d['value'])