From: Martin Trigaux Date: Tue, 16 Sep 2014 09:37:29 +0000 (+0200) Subject: [FIX] account_anglo_saxon: correctly set the accounts for returns X-Git-Tag: InsPy_8.0_01~10^2~1^2~15^2~3 X-Git-Url: http://git.inspyration.org/?a=commitdiff_plain;h=3a50d4b35b67743122899a3a525c93bcdab23f80;p=odoo%2Fodoo.git [FIX] account_anglo_saxon: correctly set the accounts for returns The generated moves on a return should be the reverse of the outgoing move. Fixes #1817, opw 604417 --- diff --git a/addons/account_anglo_saxon/invoice.py b/addons/account_anglo_saxon/invoice.py index 3b85947..8a816b0 100644 --- a/addons/account_anglo_saxon/invoice.py +++ b/addons/account_anglo_saxon/invoice.py @@ -43,19 +43,11 @@ class account_invoice_line(osv.osv): if inv.type in ('out_invoice','out_refund'): for i_line in inv.invoice_line: if i_line.product_id and i_line.product_id.valuation == 'real_time': - if inv.type == 'out_invoice': - # debit account dacc will be the output account - # first check the product, if empty check the category - dacc = i_line.product_id.property_stock_account_output and i_line.product_id.property_stock_account_output.id - if not dacc: - dacc = i_line.product_id.categ_id.property_stock_account_output_categ and i_line.product_id.categ_id.property_stock_account_output_categ.id - else: - # = out_refund - # debit account dacc will be the input account - # first check the product, if empty check the category - dacc = i_line.product_id.property_stock_account_input and i_line.product_id.property_stock_account_input.id - if not dacc: - dacc = i_line.product_id.categ_id.property_stock_account_input_categ and i_line.product_id.categ_id.property_stock_account_input_categ.id + # debit account dacc will be the output account + # first check the product, if empty check the category + dacc = i_line.product_id.property_stock_account_output and i_line.product_id.property_stock_account_output.id + if not dacc: + dacc = i_line.product_id.categ_id.property_stock_account_output_categ and i_line.product_id.categ_id.property_stock_account_output_categ.id # in both cases the credit account cacc will be the expense account # first check the product, if empty check the category cacc = i_line.product_id.property_account_expense and i_line.product_id.property_account_expense.id @@ -97,19 +89,12 @@ class account_invoice_line(osv.osv): # if not found on the product get the price difference account at the category acc = i_line.product_id.categ_id.property_account_creditor_price_difference_categ and i_line.product_id.categ_id.property_account_creditor_price_difference_categ.id a = None - if inv.type == 'in_invoice': - # oa will be the stock input account - # first check the product, if empty check the category - oa = i_line.product_id.property_stock_account_input and i_line.product_id.property_stock_account_input.id - if not oa: - oa = i_line.product_id.categ_id.property_stock_account_input_categ and i_line.product_id.categ_id.property_stock_account_input_categ.id - else: - # = in_refund - # oa will be the stock output account - # first check the product, if empty check the category - oa = i_line.product_id.property_stock_account_output and i_line.product_id.property_stock_account_output.id - if not oa: - oa = i_line.product_id.categ_id.property_stock_account_output_categ and i_line.product_id.categ_id.property_stock_account_output_categ.id + + # oa will be the stock input account + # first check the product, if empty check the category + oa = i_line.product_id.property_stock_account_input and i_line.product_id.property_stock_account_input.id + if not oa: + oa = i_line.product_id.categ_id.property_stock_account_input_categ and i_line.product_id.categ_id.property_stock_account_input_categ.id if oa: # get the fiscal position fpos = i_line.invoice_id.fiscal_position or False