Skip to content

[RFC] Analytic overhead allocation based on hierarchical analytic plans #860

Description

@QuiJoQuim

We are developing a new advanced analytic module that addresses a common real-world need: being able to allocate costs from reproductive (overhead) analytic plans to productive activities, and have this allocation reflected both in project costs and in analytic account balances.

Before making the final effort to fully adapt the module to OCA standards, we would like to check whether this approach could be of interest to the community and gather conceptual feedback.

Motivation

In many environments there are costs that are not directly productive but clearly support productive activities: administration, coordination, management, licenses, and similar overheads. These costs are often grouped into specific analytic plans and do not properly contribute to the real cost of the projects or services they support.

While Odoo provides a powerful analytic framework, allocating these indirect costs is often handled through manual distributions, global ratios, or analytic tags. These approaches tend to miss the underlying structural relationships between activities. With this module, we deliberately chose to base the solution on hierarchical analytic plans, rather than analytic tags.

Approach

The goal of the module is to allow expenses recorded on reproductive analytic plans to be automatically allocated to the productive analytic plans they support, and to have this allocation taken into account in subsequent analytic reporting.

The module relies on a clear distinction between productive and reproductive analytic plans and uses the analytic plan hierarchy to express support relationships between activities. Overhead costs are not distributed globally; instead, they are propagated to the relevant productive plans according to the analytic structure defined by the user.

In practice, this allows:

  • productive projects and services to reflect a more realistic cost,
  • analytic account balances to include the effect of overhead,
  • and the overall process to remain explainable, traceable, and consistent with Odoo’s standard analytic model.

Bases and parameters

The allocation basis is configurable at company level and can be based on timesheet hours, direct costs, revenue, or expenses, always using Odoo’s standard analytic mechanisms. The time window used for the calculation can also be configured (annual, monthly, or rolling).

To ensure structural consistency, the module enforces that a productive analytic plan cannot be placed under a reproductive one.

Fit within OCA

We believe this module could fit well within OCA because it addresses a real cost-accounting problem by extending Odoo’s analytic capabilities without replacing or bypassing the standard model.

Feedback

Before finalizing the module, we would appreciate feedback on whether this problem is shared by others, whether the proposed approach makes sense, and whether you see potential improvements or edge cases to consider.

Any comments or suggestions are very welcome. Thank you!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions