Analytic Accounting support for WIP and Variances
This feature proposes a strategy to track and report work in progress and variances. The work in progress can be split in subitems, such as Labour and Overhead.
The base components are implemented here, a minimum viable process is working, but the process is best leveraged by other apps, such as Projects or Manufacturing.
Resource consumption is to be recorded as Analytic Items when operations are logged in the system of resources.
These Analytic Items are then used to calculate WIP and variances versus the original expected amounts. An "Analytic Tracking Items" object is used to hold the expected amount, and calculate the WIP and variances to record.
A regular scheduled job uses that information to generate the corresponding accounting moves.
Products can be seen as cost drivers, driving consumption of other items. For example a machine work time can drive consumptions of Labor and Overhead.
When an Analytic Item is created for a cost driver, additional Analytic Items are generated for the corresponding indirect costs. For example, each timesheet hour logged could generate a overhead amount related to that activity.
auto_awesome What this module does
AI-generated from the code · Odoo 14.0Track work in progress and cost variances on analytic accounts. Odoo creates tracking items, compares planned versus actual costs, and posts WIP and variance journal entries automatically.
This module adds a new "Analytic Tracking Items" screen under Accounting > Reporting, where each line represents a cost to follow on an analytic account (for example labour or overhead). Users set a planned quantity and planned amount, and Odoo compares them with the actual costs collected from analytic items.
- Each tracking item shows Actual, WIP, Variance, Remaining, Difference, Posted and To Post amounts, with colour highlights for variances and pending amounts.
- A "Post WIP and Variances" button (and a daily scheduled job) creates and posts journal entries for the pending amounts, using the WIP and Variance accounts configured on the product category.
- Tracking items can be split into child items, and cost products can automatically generate child lines based on activity cost rules.
- Analytic items are automatically linked to the matching tracking item when created, and journal entries keep a link back to the tracking item that generated them.
It touches account.analytic.account, account.analytic.line, account.move, account.move.line and product.category. A default product category can be set for cases with no cost product.
Depends on
Required by other modules
Menus it adds
Models and fields (6)
- account.move · extends an existing modelanalytic_tracking_item_id (Tracking Item)
- product.category · extends an existing modelproperty_wip_account_id, property_variance_account_id
- account.move.line · extends an existing modelis_wip
- account.analytic.line · extends an existing modelanalytic_tracking_item_id (Tracking Item)
- account.analytic.account · extends an existing modelanalytic_tracking_item_ids (Tracking Items)
- account.analytic.tracking.item · new modeldate, name, state, child_ids (Child Tracking Items), parent_id, company_id, product_id (Cost Product), analytic_id (Analytic Account), planned_qty, to_calculate, actual_amount, pending_amount, planned_amount, account_move_ids (Journal Entries), accounted_amount, activity_cost_id, product_categ_id, analytic_line_ids (Analytic Items), wip_actual_amount, variance_actual_amount, remaining_actual_amount, difference_actual_amount
Text generated by AI (DeepSeek) from reading the Odoo 14.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 1 confirmed, 8 with no information of 9 versions.
Sources · Odoo 14.0
Confirmed on 2026-11-03 in branch 14.0 of OCA/account-analytic.
terminal Installation and usage
OCA documentation · Odoo 14.0Usage
Source · Odoo 14.0The "Analytic Tracking Items" holds planned amounts, and tracks their WIP and variances. These must be automatically created by specific logic in the Apps supporting them.
With this module alone the Tracking Item creation can be done manually:
- Navigate to ''Invoicing/Accounting > Reporting > Management > Analytic Tracking''
- Create an Analytic Tracking Item:
- Set the Analytic Account.
- Set the Product, use one that has a non-zero cost and belongs to a category with the "Costing" section configured.
- Set the Planned Amount.
Analytic Items are used to record the actual costs:
- Navigate to Invoicing/Accounting > Configuration > Analytic Accounting > Analytic Items.
- Create an Analytic Item:
- Set the Analytic Account, Description and Date.
- Set the Product, use one that has a non-zero cost and belongs to a category with the "Costing" section configured.
- Set the quantity consumed.
- The Amount field should be automatically computed, with a negative amount.
Analytic Tracking Items are used to follow the costs incurred and the comparison with the planned amounts. This can be used for analysis:
- Navigate to ''Invoicing/Accounting > Reporting > Management > Analytic Tracking''
- The list presents lines being tracked, and displays columns with Actual Amount, Expected Amount, WIP Amount, Variance Amount, etc.
WIP and variances journal entries are generated by a scheduled job:
- Navigate to Setting > Technical > Automation > Scheduled Actions.
- Locate and open the Account: Process WIP and Variances record, and click on the RUN MANUALLY button.
- Check the generated journal entries, at Accounting > Miscellaneous > Journal Entries.
When creating Analytic Items, if a configuration is in place, the corresponding Analytic Items for indirect cost are generated.
- When an Analytic Item is created, an automatic process checks the Activity Based Cost Rules to identify the ones that apply.
- Each triggered rule created a new Analytic Item, with a copy of the original one, and:
- Product: is the rule Cost Type Product. A validation error prevents this from being the same as the source Analytic Item Product, to avoid infinite loops.
- Quantity: is the original quantity multiplied by the rule's Factor
- Amount: is -1 * Quantity * Product Standard Price
- Parent Analytic Item (new field): set with the original Analytic Item
- An update on the Quantity triggers a recalculation of the quantity and amount of the child Analytic Items.
- A delete cascades to the child Analytic Items, causing them to also be deleted.
No verified information in OCA: Installation, Configuration.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.