Saltar al contenido principal
Los detalles del producto se muestran en inglés. Próximamente traducciones.
Project Analysis — A build-to-order Odoo module that models true project hierarchies — parent projects with nested subproject — 1/1Vista previa ilustrativa

A build-to-order Odoo module that models true project hierarchies

— parent projects with nested subprojects — and rolls timesheet effort, budget, and progress up the tree into one analytical reporting view.

ECOSIRE scopes, builds, installs, and supports it for you.

¿Qué es Project Analysis?

A build-to-order Odoo module that models true project hierarchies — parent projects with nested subprojects — and rolls timesheet effort, budget, and progress up the tree into one analytical reporting view. ECOSIRE scopes, builds, installs, and supports it for you. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Características clave

Adds a `parent_id` self-reference to `project.project` with a stored `complete_name` and `parent_path` hierarchy field for unlimited nesting depth
Recursive stored computes (`@api.depends`) that aggregate logged hours across a project and all descendant subprojects
Roll-up of `account.analytic.line` timesheet records so effort sums up the tree, not just per flat project
Planned-vs-actual hours variance computed per node and per subtree, surfaced as stored, indexed fields
Dedicated analysis model (or SQL-backed report view) that flattens the hierarchy into one dataset for pivot and graph views
Pivot, graph, and list reporting views grouped by parent project, subproject, employee, or task stage
QWeb PDF summary report per parent project rolling up child subproject effort and progress
Optional automated action that flags a subproject when actual hours cross a configurable percentage of plan
Progress and completion percentages derived from task states and timesheet effort across the subtree
Record rules and `ir.model.access.csv` so managers see only their own project hierarchy
Non-destructive XML/OWL view extensions on the Project form and kanban — core views are inherited, never replaced
Roll-up figures exposed over XML-RPC/JSON-RPC for external BI dashboards and scheduled exports
Optional `sale_timesheet` tie-in on Enterprise to reconcile billable roll-up hours against sales orders
Filters and group-bys to compare sibling subprojects side by side within a single analytical view

Hecho a medida, listo para ti

Sin configuración por tu cuenta: una app funcional creada, instalada y con soporte de ECOSIRE.

  1. 1

    Haces el pedido

    Empieza con un precio único de desarrollo. Definimos el alcance contigo en el arranque.

  2. 2

    Creamos e instalamos

    ECOSIRE la crea, la configura y la instala en tu Odoo.

  3. 3

    En marcha + soporte

    Sales en vivo en aproximadamente una semana laboral, con dos semanas de soporte tras la puesta en marcha. Los defectos en el código que entregamos se corrigen sin coste.

Especificaciones técnicas

Compatibilidad con Odoo
Odoo 17, Odoo 18, Odoo 19
Ediciones
Enterprise y Community
Licencia
La licencia requiere confirmación
Requisito de Python
Python 3.10+
Base de datos
PostgreSQL 12+

Sobre este producto

Odoo's project.project and project.task models handle a single project well, but multi-tier delivery breaks the native reporting story. Once a program is split into a parent engagement with several subprojects — each carrying its own tasks, timesheets, and deadlines — there is no core object that represents "this project and everything beneath it." Managers end up exporting timesheet lines to a spreadsheet to answer basic questions: how many hours has the whole program consumed, how does logged effort compare across sibling subprojects, and which branch of the tree is drifting past its planned hours. The native Project analysis views and the timesheet grid stop at a flat, per-project grouping; they do not aggregate recursively across a hierarchy.

Project Analysis is a made-to-order Odoo module that ECOSIRE designs and builds around your project structure. We add an explicit parent/child relationship to project.project (a parent_id self-reference plus a stored complete_name and a parent_path hierarchy field) so a project can own subprojects to any depth. On top of that we build computed roll-up fields — total logged hours, effort by subproject, planned-vs-actual variance, and progress — as stored @api.depends computes that recurse over the child set and sum the related account.analytic.line timesheet records. Because the aggregates are stored and indexed, they drive fast pivot, graph, and list reporting views, and they respect the same access rules your users already have.

Technically, the build is a clean custom addon with its own __manifest__.py (depending on project and hr_timesheet, and optionally sale_timesheet if you bill from these hours). We ship the hierarchy fields and recursive computes in models/, a dedicated analysis model (a models.Model or a SQL-backed report view) that flattens the tree into one queryable dataset for the pivot/graph, QWeb PDF summaries per parent project, and — where useful — an automated action that flags a subproject when its actual hours cross a configured percentage of plan. Security is handled properly with ir.model.access.csv entries and record rules so a project manager only sees their own hierarchy, and every new field is exposed through XML/OWL view extensions rather than overriding core views destructively. Everything is compatible with Odoo 17.0, 18.0, and 19.0, and works on both Community and Enterprise (with the richer analytic/billing tie-ins lighting up on Enterprise where sale_timesheet and advanced accounting are present). The same roll-up data is reachable over the XML-RPC/JSON-RPC API for external dashboards.

Because this is build-to-order, nothing ships until we agree on scope. We start with a short scoping call, map your real project hierarchy and timesheet practice, then build, test on a staging database with your data, and run UAT before touching production. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); multi-company consolidation, deep analytic-account and billing integration, additional custom KPIs, and heavy historical-data migration each increase the quoted scope. You receive a fixed quote after the scoping call — never a surprise invoice.

lo que obtienes

  • Installable, version-pinned source code for your Odoo version (17.0, 18.0, or 19.0)
  • Installation and configuration on your server or Odoo.sh, including dependency and access-rule setup
  • Technical documentation: data model, computed fields, report views, and security design
  • End-user guide plus a live training session for your project managers and PMO
  • Post-go-live support window for defect fixes and questions after production launch
  • UAT on a staging database with your data, plus a documented rollback plan
  • Git repository handover with full commit history and branch/tag for your release
  • Signed-off scope document and fixed quote produced from the scoping call

¿Para quién es esto?

PMO / Program Manager

Runs multi-tier programs where one parent engagement spans several subprojects. Needs a single view of total effort, per-branch drift, and progress without exporting timesheets to a spreadsheet every week.

Professional Services / Agency Lead

Delivers client work billed from timesheets across nested workstreams. Wants roll-up hours reconciled against plan and, on Enterprise, against sales orders to protect margin.

Operations / Finance Controller

Owns budget-vs-actual across departments modelled as project hierarchies. Needs stored, auditable roll-up figures reachable over the API for downstream BI and month-end reporting.

Odoo Functional Admin

Maintains the internal Odoo instance and wants a clean, inherited addon with proper access rules and documentation — not a fragile core-view override — that upgrades cleanly across 17/18/19.

Cómo se compara Project Analysis

CriterioECOSIREConstrucción personalizadaCompetidorNativo de Odoo
Subproject hierarchy roll-upRecursive stored computes sum effort across the whole treePossible but you design and maintain the recursion yourselfOften flat or single-level parent links onlyNo cross-hierarchy aggregation — reporting stops per project
Timesheet aggregationSums `account.analytic.line` up the subtree, stored and indexedDepends on your developer's approach and performance careVaries; frequently unstored, so pivots are slowPer-project timesheet grid only, no subtree total
Fit to your structureBuilt to your real hierarchy and KPIs after a scoping callFully bespoke but you own the spec and the riskGeneric — you adapt your process to the moduleGeneric core behaviour only
Reporting viewsPivot, graph, list, plus QWeb PDF roll-up per parentWhatever you commission and buildUsually a fixed set you cannot easily extendStandard Project analysis, no hierarchy grouping
Security & accessRecord rules + `ir.model.access.csv` scoped to each managerMust be designed and reviewed in-houseBaseline access, rarely hierarchy-awareStandard project access groups
Version supportDelivered for 17.0/18.0/19.0, Community or EnterpriseYou maintain compatibility each upgradeTied to the vendor's supported versionsWhatever ships with your Odoo edition
Delivery modelScoped, built, UAT on staging, installed, supportedIn-house or contractor time you manageSelf-install, self-support after purchaseAlready present — nothing to build
Ongoing supportPost-go-live window + optional upgrade retainerYour team carries itVendor tickets, variable SLACommunity/Enterprise support channels

Preguntas frecuentes sobre Project Analysis

Is this an existing app I can download and install today?

No. Project Analysis is build-to-order. ECOSIRE builds it around your actual project hierarchy and timesheet practice, then installs and supports it. There is no instant download — the value is a module fitted to how your teams actually structure work.

How long does delivery take?

Typical delivery is one working week from confirmed scope. The timeline starts once we've agreed the data model, roll-up KPIs, and reporting views on the scoping call and you've signed off the fixed quote. Larger multi-company or migration-heavy builds sit at the upper end of that range.

How does pricing and scoping work?

Pricing starts from $999 (indicative, single-company base scope). After a short scoping call we send a fixed quote — no surprise invoicing. Multi-company consolidation, deep analytic/billing integration, extra custom KPIs, and heavy historical-data migration increase the quoted scope.

What about support and future updates?

Every build includes a post-go-live support window for defect fixes and questions. Beyond that we offer ongoing support and version-upgrade retainers — for example when you move from Odoo 17 to 18 or 19 — so the roll-up fields and reports stay compatible as core evolves.

Will it work on Odoo Community or only Enterprise?

It runs on both. The hierarchy and timesheet roll-up work on Community with `project` and `hr_timesheet`. On Enterprise we can additionally tie into `sale_timesheet` and advanced analytic accounting so billable roll-up hours reconcile against sales orders.

Will it break my existing projects or core Odoo views?

No. We extend `project.project` with inherited fields and inherit core views via XML/OWL rather than replacing them, and we test everything on a staging copy of your database with a documented rollback plan before touching production.

Can the roll-up data feed our external BI dashboards?

Yes. The aggregates are stored, indexed fields and a flat analysis dataset, all reachable over the XML-RPC/JSON-RPC API. You can pull program-level effort and variance into Power BI or any external reporting layer on a schedule.

Solicitar presupuesto

Project Analysis

A build-to-order Odoo module that models true project hierarchies — parent projects with nested subprojects — and rolls timesheet effort, budget, and progress up the tree into one analytical reporting view. ECOSIRE scopes, builds, installs, and supports it for you.

  • Adds a `parent_id` self-reference to `project.project` with a stored `complete_name` and `parent_path` hierarchy field for unlimited nesting depth
  • Recursive stored computes (`@api.depends`) that aggregate logged hours across a project and all descendant subprojects
  • Roll-up of `account.analytic.line` timesheet records so effort sums up the tree, not just per flat project
  • Planned-vs-actual hours variance computed per node and per subtree, surfaced as stored, indexed fields

Solicitar presupuesto

Cuéntanos tus necesidades de Project Analysis y te enviaremos precios, opciones de licencia y una propuesta a medida, normalmente en un día hábil.

Sin pago ahora. Esto envía una solicitud de presupuesto a nuestro equipo; te responderemos por correo con precios y próximos pasos.