← Back to team overview

openerp-l10n-ar-localization team mailing list archive

[Merge] lp:~marianoruiz/openerp-l10n-ar-localization/6.0 into lp:openerp-l10n-ar-localization

 

Mariano Ruiz - EOC has proposed merging lp:~marianoruiz/openerp-l10n-ar-localization/6.0 into lp:openerp-l10n-ar-localization with lp:openerp-l10n-ar-localization/6.0 as a prerequisite.

Commit message:
[FIX][l10n_ar_invoice] amount calc cuando incluye impuestos en precio final pre-configurados en el producto

Requested reviews:
  OpenERP - Team de Localización Argentina (openerp-l10n-ar-localization)
Related bugs:
  Bug #1042944 in openerp-l10n-ar-localization: "[l10n_ar_invoice] amount calc bug cuando incluye impuestos en precio final pre-configurados en el producto"
  https://bugs.launchpad.net/openerp-l10n-ar-localization/+bug/1042944

For more details, see:
https://code.launchpad.net/~marianoruiz/openerp-l10n-ar-localization/6.0/+merge/128808

Detalles del FIX en https://bugs.launchpad.net/openerp-l10n-ar-localization/+bug/1042944
-- 
https://code.launchpad.net/~marianoruiz/openerp-l10n-ar-localization/6.0/+merge/128808
Your team OpenERP - Team de Localización Argentina is requested to review the proposed merge of lp:~marianoruiz/openerp-l10n-ar-localization/6.0 into lp:openerp-l10n-ar-localization.
=== modified file 'l10n_ar_invoice/invoice.py'
--- l10n_ar_invoice/invoice.py	2012-10-09 20:09:28 +0000
+++ l10n_ar_invoice/invoice.py	2012-10-09 20:09:28 +0000
@@ -23,7 +23,7 @@
 import decimal_precision as dp
 
 _all_taxes = lambda x: True
-_all_except_vat = lambda x: x.name not in ['IVA Ventas 21%', 'IVA Compras 21%']
+_all_except_vat = lambda x: 'IVA' not in x.name
 
 class account_invoice_line(osv.osv):
     """
@@ -35,8 +35,13 @@
         tax_obj = self.pool.get('account.tax')
         cur_obj = self.pool.get('res.currency')
         for line in self.browse(cr, uid, ids):
-            price = line.price_unit * (1-(line.discount or 0.0)/100.0)
             tax_ids = filter(tax_filter, line.invoice_line_tax_id)
+            price_unit = line.price_unit
+            for tax in line.invoice_line_tax_id:
+                if tax.price_include and tax not in tax_ids:
+                    price_unit = line.price_subtotal
+                    break
+            price = price_unit * (1-(line.discount or 0.0)/100.0)
             quantity = default_quantity if default_quantity is not None else line.quantity
             taxes = tax_obj.compute_all(cr, uid,
                                         tax_ids, price, quantity,


Follow ups