Better accounting taxes computation based on sign
Reviewed tax code structure for l10n_be bzr revid: fp@tinyerp.com-8d212d9f4741423496494be0eddf0f63e6672dbc
This commit is contained in:
parent
2b9ec4d5c0
commit
99dbeb2a8a
|
@ -824,14 +824,13 @@ class account_tax_code(osv.osv):
|
|||
WHERE line.tax_code_id in ('+acc_set+') '+where+' \
|
||||
GROUP BY line.tax_code_id')
|
||||
res=dict(cr.fetchall())
|
||||
for id in ids:
|
||||
ids3 = self.search(cr, uid, [('parent_id', 'child_of', [id])])
|
||||
for idx in ids3:
|
||||
if idx <> id:
|
||||
res.setdefault(id, 0.0)
|
||||
res[id] += res.get(idx, 0.0)
|
||||
for id in ids:
|
||||
res[id] = round(res.get(id,0.0), 2)
|
||||
for record in self.browse(cr, uid, ids, context):
|
||||
def _rec_get(record):
|
||||
amount = res.get(record.id, 0.0)
|
||||
for rec in record.child_ids:
|
||||
amount += _rec_get(rec) * rec.sign
|
||||
return amount
|
||||
res[record.id] = round(_rec_get(record), 2)
|
||||
return res
|
||||
|
||||
def _sum_period(self, cr, uid, ids, name, args, context):
|
||||
|
@ -857,6 +856,7 @@ class account_tax_code(osv.osv):
|
|||
'child_ids': fields.one2many('account.tax.code', 'parent_id', 'Childs Codes'),
|
||||
'line_ids': fields.one2many('account.move.line', 'tax_code_id', 'Lines'),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||
'sign': fields.float('Sign for parent', required=True),
|
||||
}
|
||||
def name_get(self, cr, uid, ids, context={}):
|
||||
if not len(ids):
|
||||
|
@ -871,6 +871,7 @@ class account_tax_code(osv.osv):
|
|||
return self.pool.get('res.company').search(cr, uid, [('parent_id', '=', False)])[0]
|
||||
_defaults = {
|
||||
'company_id': _default_company,
|
||||
'sign': lambda *args: 1.0,
|
||||
}
|
||||
def _check_recursion(self, cr, uid, ids):
|
||||
level = 100
|
||||
|
@ -952,8 +953,8 @@ class account_tax(osv.osv):
|
|||
'active': lambda *a: 1,
|
||||
'sequence': lambda *a: 1,
|
||||
'tax_group': lambda *a: 'vat',
|
||||
'ref_tax_sign': lambda *a: -1,
|
||||
'ref_base_sign': lambda *a: -1,
|
||||
'ref_tax_sign': lambda *a: 1,
|
||||
'ref_base_sign': lambda *a: 1,
|
||||
'tax_sign': lambda *a: 1,
|
||||
'base_sign': lambda *a: 1,
|
||||
'include_base_amount': lambda *a: False,
|
||||
|
|
|
@ -507,6 +507,7 @@
|
|||
<field name="company_id"/>
|
||||
<field name="code" select="1"/>
|
||||
<field name="parent_id" select="1"/>
|
||||
<field name="sign"/>
|
||||
<newline/>
|
||||
<field name="sum"/>
|
||||
<field name="sum_period"/>
|
||||
|
|
|
@ -6367,8 +6367,13 @@
|
|||
#
|
||||
# Tax Code Configuration
|
||||
#
|
||||
<record model="account.tax.code" id="vat_code_op_base">
|
||||
<field name="name">I. Valeur des operations</field>
|
||||
</record>
|
||||
|
||||
<record model="account.tax.code" id="vat_code_out">
|
||||
<field name="name">II. Operations a la sortie</field>
|
||||
<field name="parent_id" ref="vat_code_op_base"/>
|
||||
</record>
|
||||
|
||||
<record model="account.tax.code" id="vat_code_a00">
|
||||
|
@ -6415,11 +6420,13 @@
|
|||
<record model="account.tax.code" id="vat_code_a48">
|
||||
<field name="name">Notes de credit aux operations grille 46</field>
|
||||
<field name="code">48</field>
|
||||
<field name="sign">-1</field>
|
||||
<field name="parent_id" ref="vat_code_a4X"/>
|
||||
</record>
|
||||
<record model="account.tax.code" id="vat_code_a49">
|
||||
<field name="name">Notes de credit aux operations du point II</field>
|
||||
<field name="code">49</field>
|
||||
<field name="sign">-1</field>
|
||||
<field name="parent_id" ref="vat_code_a4X"/>
|
||||
</record>
|
||||
|
||||
|
@ -6493,9 +6500,10 @@
|
|||
<field name="parent_id" ref="vat_code_tax_in"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="account.tax.code" id="vat_code_in">
|
||||
<field name="name">III. Operations a l'entree</field>
|
||||
<field name="sign">-1</field>
|
||||
<field name="parent_id" ref="vat_code_op_base"/>
|
||||
</record>
|
||||
<record model="account.tax.code" id="vat_code_a81">
|
||||
<field name="code">81</field>
|
||||
|
@ -6512,15 +6520,24 @@
|
|||
<field name="name">Biens d'investissement</field>
|
||||
<field name="parent_id" ref="vat_code_in"/>
|
||||
</record>
|
||||
|
||||
<record model="account.tax.code" id="vat_code_in_nc">
|
||||
<field name="code"></field>
|
||||
<field name="name">Notes de credits</field>
|
||||
<field name="parent_id" ref="vat_code_in"/>
|
||||
</record>
|
||||
|
||||
<record model="account.tax.code" id="vat_code_a84">
|
||||
<field name="code">84</field>
|
||||
<field name="sign">-1</field>
|
||||
<field name="name">Notes de credits sur operations case 86</field>
|
||||
<field name="parent_id" ref="vat_code_in"/>
|
||||
<field name="parent_id" ref="vat_code_in_nc"/>
|
||||
</record>
|
||||
<record model="account.tax.code" id="vat_code_a85">
|
||||
<field name="code">85</field>
|
||||
<field name="sign">-1</field>
|
||||
<field name="name">Notes de credits autres operations</field>
|
||||
<field name="parent_id" ref="vat_code_in"/>
|
||||
<field name="parent_id" ref="vat_code_in_nc"/>
|
||||
</record>
|
||||
<record model="account.tax.code" id="vat_code_a86">
|
||||
<field name="code">86</field>
|
||||
|
@ -6580,7 +6597,7 @@
|
|||
<field name="ref_base_code_id" ref="vat_code_a85"/>
|
||||
<field name="ref_tax_code_id" ref="vat_code_a63"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="account.tax" id="vat_0">
|
||||
<field name="name">VAT 0%</field>
|
||||
<field name="amount" eval="0.00"/>
|
||||
|
|
Loading…
Reference in New Issue