[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:
committed by
qdp-odoo
parent
d2c30410a8
commit
8108904247
@@ -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",
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user