[IMP] account: implement tax_base_amount on account.move.line

Stores the base amount of the tax specified by tax_line_id. Useful for auditing tax reports.
This commit is contained in:
Joren Van Onder
2017-06-27 16:10:54 +02:00
committed by qdp-odoo
parent d2c30410a8
commit 8108904247
2 changed files with 33 additions and 0 deletions
+10
View File
@@ -359,6 +359,15 @@ class AccountMoveLine(models.Model):
move_line.credit_cash_basis = move_line.credit
move_line.balance_cash_basis = move_line.debit_cash_basis - move_line.credit_cash_basis
@api.depends('move_id.line_ids', 'move_id.line_ids.tax_line_id', 'move_id.line_ids.debit', 'move_id.line_ids.credit')
def _compute_tax_base_amount(self):
for move_line in self:
if move_line.tax_line_id:
base_lines = move_line.move_id.line_ids.filtered(lambda line: move_line.tax_line_id in line.tax_ids)
move_line.tax_base_amount = abs(sum(base_lines.mapped('balance')))
else:
move_line.tax_base_amount = 0
@api.one
@api.depends('move_id.line_ids')
def _get_counterpart(self):
@@ -392,6 +401,7 @@ class AccountMoveLine(models.Model):
help="The residual amount on a journal item expressed in the company currency.")
amount_residual_currency = fields.Monetary(compute='_amount_residual', string='Residual Amount in Currency', store=True,
help="The residual amount on a journal item expressed in its currency (possibly not the company currency).")
tax_base_amount = fields.Monetary(string="Base Amount", compute='_compute_tax_base_amount', currency_field='company_currency_id', store=True)
account_id = fields.Many2one('account.account', string='Account', required=True, index=True,
ondelete="cascade", domain=[('deprecated', '=', False)], default=lambda self: self._context.get('account_id', False))
move_id = fields.Many2one('account.move', string='Journal Entry', ondelete="cascade",
+23
View File
@@ -1213,6 +1213,29 @@
</tree>
</field>
</record>
<record id="view_move_line_tax_audit_tree" model="ir.ui.view">
<field name="name">account.move.line.tax.audit.tree</field>
<field name="model">account.move.line</field>
<field name="mode">primary</field>
<field name="inherit_id" ref="account.view_move_line_tree"/>
<field name="arch" type="xml">
<field name="full_reconcile_id" position="after">
<field name="tax_line_id"/>
<field name="tax_base_amount"/>
</field>
<field name="date_maturity" position="replace"/>
</field>
</record>
<act_window
id="action_move_line_select_tax_audit"
name="Journal Items"
context="{'search_default_account_id': [active_id]}"
res_model="account.move.line"
src_model="account.account"
view_id="account.view_move_line_tax_audit_tree"/>
<record id="account_move_line_graph_date" model="ir.ui.view">
<field name="name">account.move.line.graph</field>
<field name="model">account.move.line</field>