Repository
OCA/account-analytic · module folder · Try on Runboat
Module version
3.0.3
Category
Accounting/Accounting
Folder size
0.18 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/account-analytic
Last tracking update
2026-08-07 07:47:33
Authors
Odoo Community Association (OCA), Open Source Integrators
Maintainers
Odoo Community Association (OCA), Open Source Integrators
Committers
GitHub, Daniel Reis, Weblate, OCA Transbot, OCA-git-bot, oca-travis, oca-ci
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
mrp_analytic_cost
Description

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
account_analytic_tracking_form account.analytic.tracking.form account.analytic.tracking.item form New
account_analytic_tracking_search account.analytic.tracking.search account.analytic.tracking.item search New
account_analytic_tracking_tree account.analytic.tracking.tree account.analytic.tracking.item tree New
view_account_move_form Account Move Form: add Tracking Item account.move form Inherits account.view_move_form
view_analytic_line_form Analytic Line Form: add Tracking Item account.analytic.line form Inherits account.view_account_analytic_line_form_inherit_account
view_product_category_form product.category form Inherits product.product_category_form_view
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (6)

New fields (1)
  • analytic_tracking_item_ids One2many → account.analytic.tracking.item
    string='Tracking Items' args: 'account.analytic.tracking.item', 'analytic_id'
Public methods (0)

No public methods.

New fields (1)
  • analytic_tracking_item_id Many2one → account.analytic.tracking.item
    copy=False string='Tracking Item' args: 'account.analytic.tracking.item'
Public methods (2)
  • create(self, vals)
    @api.model
  • populate_tracking_items(self)
    When creating an Analytic Item, link it to a Tracking Item, the may have to be created if it doesn't exist. Use this (and used dependency methods) as a template for other models implementing related tracking items.

New fields (22)
  • account_move_ids One2many → account.move
    help='Related journal entries with the posted WIP.' string='Journal Entries' args: 'account.move', 'analytic_tracking_item_id'
  • accounted_amount Float
    help='Amount accounted in Journal Entries. Directly set by the routine creating the Journal Entries, and not directly read from the jpunral items.'
  • activity_cost_id Many2one → activity.cost.rule
    args: 'activity.cost.rule', 'Activity Cost Rule'
  • actual_amount Float
    compute='_compute_actual_amounts' help='Total cost amount of the related Analytic Items. These Analytic Items are generated when a cost is incurred, and will later generated WIP and Variance Journal Entries.' store=True
  • analytic_id Many2one → account.analytic.account
    ondelete='restrict' required=True string='Analytic Account' args: 'account.analytic.account'
  • analytic_line_ids One2many → account.analytic.line
    help='Related analytic items with the project actuals.' string='Analytic Items' args: 'account.analytic.line', 'analytic_tracking_item_id'
  • child_ids One2many → account.analytic.tracking.item
    string='Child Tracking Items' args: 'account.analytic.tracking.item', 'parent_id'
  • company_id Many2one → res.company
    related='analytic_id.company_id' store=True args: 'res.company'
  • date Date
    default=fields.Date.today()
  • difference_actual_amount Float
    compute='_compute_actual_amounts' help='Difference between actual and planned amounts.' store=True
  • name Char
    compute='_compute_name' store=True
  • parent_id Many2one → account.analytic.tracking.item
    ondelete='cascade' args: 'account.analytic.tracking.item', 'Parent Tracking Item'
  • pending_amount Float
    compute='_compute_actual_amounts' help='Amount not yet posted to journal entries.' store=True
  • planned_amount Float
  • planned_qty Float
  • product_categ_id Many2one → product.category
    related='product_id.categ_id' store=True args: 'product.category'
  • product_id Many2one → product.product
    ondelete='restrict' string='Cost Product' args: 'product.product'
  • remaining_actual_amount Float
    compute='_compute_actual_amounts' help='Actual amount planned and not yet consumed.' store=True
  • state Selection
    default='draft' help='Open operations are in progress, no negative variances are computed. Done operations are completed, negative variances are computed. Locked operations are done and posted, no more actions to do.' args: [('draft', 'Open'), ('done', 'Done'), ('cancel', 'Cancelled')]
  • to_calculate Boolean
    compute='_compute_to_calculate'
  • variance_actual_amount Float
    compute='_compute_actual_amounts' help='Actual amount incurred above the planned amount limit.' store=True
  • wip_actual_amount Float
    compute='_compute_actual_amounts' help='Actual amount incurred below the planned amount limit.' store=True
Public methods (5)
  • action_cancel(self)
  • clear_wip_journal_entries(self)
    Clear the WIP accounts so that their balance is zero and Debit the final Output account.
  • create(self, vals)
    @api.model
  • process_wip_and_variance(self, close=False)
    For each Analytic Tracking Item with a Pending Amount different from zero, generate Journal Entries for WIP and excess Variances
  • write(self, vals)

New fields (1)
  • analytic_tracking_item_id Many2one → account.analytic.tracking.item
    help='Tracking item generating this journal entry' ondelete='set null' string='Tracking Item' args: 'account.analytic.tracking.item'
Public methods (0)

No public methods.

New fields (1)
  • is_wip Boolean
    compute='_compute_is_wip_account'
Public methods (0)

No public methods.

New fields (2)
  • property_variance_account_id Many2one → account.account
    check_company=True company_dependent=True domain="[('company_id', '=', allowed_company_ids[0]), ('deprecated', '=', False)]" args: 'account.account', 'Variance Account'
  • property_wip_account_id Many2one → account.account
    check_company=True company_dependent=True domain="[('company_id', '=', allowed_company_ids[0]), ('deprecated', '=', False)]" args: 'account.account', 'WIP Account'
Public methods (0)

No public methods.