Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Accounting
  3. Analytic Parent Account v 19.0
  4. Sales Conditions FAQ

Analytic Parent Account

by Odoo DevHouse https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse
Odoo

$ 50.00

v 19.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Invoicing (account)
• Discuss (mail)
Lines of code 183
Technical Name analytic_parent_account
LicenseOPL-1
Websitehttps://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse
Versions 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Invoicing (account)
• Discuss (mail)
Lines of code 183
Technical Name analytic_parent_account
LicenseOPL-1
Websitehttps://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse
Versions 18.0 19.0
  • Description
  • License

Analytic Parent Account

Build hierarchical analytic account trees, customize display names with Python, and view consolidated cost & revenue across all child accounts - from a single parent.


Problem: Flat Analytic Accounts With No Hierarchy or Custom Names

In standard Odoo, analytic accounts exist in a flat list with no true operational parent-child hierarchy. Odoo introduced Analytic Account Groups for reporting hierarchy, but groups cannot record transactions - they are display-only. Additionally, the display name of any analytic account cannot be customized, making it hard to identify accounts in complex setups.

  • No operational parent analytic account - groups cannot post transactions
  • Display names are fixed - no customization or formatting possible
  • Viewing all cost/revenue under a department or project requires manual filtering
  • Analytic distribution dropdowns show raw names with no context or hierarchy
  • Cannot search analytic accounts by a custom or computed display name
  • No visual indicator of how many sub-accounts exist under a parent

Solution: Operational Hierarchy + Python Display Names + Consolidated Reporting

This module adds a Parent Analytic Account field to every analytic account, enabling a true operational parent-child hierarchy where both parent and child accounts can record transactions. The parent automatically shows a consolidated cost/revenue view that includes its own lines plus all children's lines. A Python code engine in Settings ->Analytics lets you define any display name format - and Odoo's analytic distribution dropdown and list views search by your custom display name instantly.


Key Features
  • Parent Analytic Account Field: Assign any analytic account as a parent - both parent and child can still post transactions
  • Child Accounts Smart Button: Parent form shows a stat button with the count of direct children - click to open the filtered list
  • Auto Display Name: When a parent is set, display name automatically formats as Child / Parent - no manual entry needed
  • Python Code Engine: Enable custom Python in Settings ->Analytics to define any display name formula using account fields
  • Consolidated Cost / Revenue: Parent account aggregates its own analytic lines plus all descendants - full rollup in one view
  • Search by Display Name: The custom display name is stored and indexed - searchable in list view and analytic distribution pickers
  • List View Column: Optional Display Name column in the analytic accounts list for quick comparison
  • Self-Reference Guard: Validation error prevents setting an account as its own parent - no circular loops
  • Live Recompute: Changing Python code in Settings immediately recomputes all analytic display names system-wide

Display Name Modes

Default (Parent Set)

Child Name / Parent Name

Example: Account = "Social Ads", Parent = "Marketing"
->Display: "Social Ads / Marketing"

No Parent

account.name

Example: Account = "Marketing"
->Display: "Marketing"

Python Mode

result = '[' + analytic.code + '] ' + analytic.name

Example: Code = "MKT", Name = "Marketing"
->Display: "[MKT] Marketing"

Python Code Examples - Set in Settings ->Analytics
Goal Python Code Result
Add suffix to all accounts result = analytic.name + " DVH" Marketing DVH
Prefix with code if available result = '['+analytic.code+'] '+analytic.name if analytic.code else analytic.name [MKT] Marketing
Show parent/child path result = analytic.name+' / '+analytic.parent_id.name if analytic.parent_id else analytic.name Social Ads / Marketing
Show partner name result = analytic.name+' ('+analytic.partner_id.name+')' if analytic.partner_id else analytic.name Project Alpha (Acme Corp)

How It Works - Step by Step
1

(Optional) Configure Python Display Name - Settings ->Analytics

Go to Settings ->Analytics, tick Analytic Distribution Python Code, and write your Python formula. Set result to the desired display string using analytic.name, analytic.code, analytic.parent_id.name, or analytic.partner_id.name. Save - all accounts recompute instantly.

2

Create a Parent Analytic Account

Go to Accounting ->Configuration ->Analytic Accounts and create an account that will serve as the parent (e.g. Marketing Department). Leave the Analytic Parent field empty - this is a top-level account. Save.

3

Create Child Analytic Accounts and Assign Parent

Create child accounts (e.g. Social Ads, Email Marketing) and set the Analytic Parent field to Marketing Department. The Display Name field auto-fills as Social Ads / Marketing Department. Both parent and children can record transactions independently.

4

Use Custom Display Names in Analytic Distribution

Open any Sales Order, Purchase Order, Invoice, or Journal Entry and click the Analytic Distribution field. Type part of the custom display name (e.g. "Social") - the dropdown searches by your computed display name, not just the raw account name. Select the matching account and confirm.

5

View Consolidated Cost / Revenue on the Parent Account

Open the parent analytic account (Marketing Department). The cost and revenue figures include its own analytic lines plus all children's lines - one consolidated view for the entire department. The Children stat button shows the count of direct sub-accounts; click to navigate to them.


Module Cycle - Screenshots

Step 1 - Enable Python Code in Settings ->Analytics

Tick Analytic Distribution Python Code and write your formula. The code editor supports all analytic account fields and uses Odoo's safe_eval engine.

Settings Analytics - Python Code toggle and editor for analytic display name
Settings Analytics - Python Code toggle and editor for analytic display name

Step 2 - Analytic Accounts List with Display Name Column

The list view shows the optional Display Name column alongside the account name. Accounts with parents show the formatted Child / Parent breadcrumb automatically.

Analytic Accounts list view with Display Name and Parent columns

Step 3 - Analytic Account Form: Parent Field and Display Name

The form view now has an Analytic Parent field and a read-only Display Name field that updates automatically based on the parent and Python settings.

Analytic Account form view with Analytic Parent field and Display Name

Step 4 - Search by Custom Display Name in Analytic Distribution

When selecting an analytic account in order lines or journal entries, the dropdown searches by your custom display name - including Python-computed names and parent/child paths.

Analytic distribution picker searching by custom display name
Analytic distribution picker searching by custom display name
Analytic distribution picker searching by custom display name

Step 5 - Children Smart Button on Parent Account

The parent account form shows a Children stat button with the count of direct sub-accounts. Click it to open the filtered list of all child analytic accounts.

Parent analytic account form with Children smart button showing sub-account count
Parent analytic account form with Children smart button showing sub-account count

Step 6 - Consolidated Cost / Revenue on Parent Account

The parent account's cost and revenue figures roll up all children's analytic lines automatically. One view for the total department or project cost/revenue - no manual aggregation required.

Parent analytic account showing consolidated cost and revenue including all child accounts
Parent analytic account showing consolidated cost and revenue including all child accounts

Use Cases

Department Cost Tracking

Create Marketing as parent with children Social Ads, Email, Events. View total marketing spend from the parent - drill down to each channel.

Project Sub-Task Analytics

Model a project with phases - Project Alpha as parent, Design, Dev, QA as children. See total project cost consolidated from all phases.

Geographic Region Hierarchy

Organize by region: MENA ->Gulf ->UAE, KSA. Revenue rolls up from country accounts to the regional parent automatically.

Product Category Costing

Track costs per product category with a parent like Electronics and children per SKU line - useful for product margin analysis across a multi-SKU portfolio.

Multi-Team Budget Control

Each team (Sales, Operations, Finance) has its own analytic account under a Headquarters parent - one dashboard shows company-wide cost in real time.

Branded Display Names

Use Python code to append a company suffix (Project Alpha - DVH) or prefix with the account code ([MKT] Marketing) for consistent naming across all users.


Installation & Configuration

  1. Prerequisites: Requires standard Odoo modules analytic and account - available on both Community and Enterprise
  2. Install: Copy the module to your addons path, then install via Apps ->Update App List ->Search "Analytic Parent Account"
  3. (Optional) Enable Python Code: Go to Settings ->Analytics and tick Analytic Distribution Python Code - write your formula and save
  4. Create Parent Accounts: Go to Accounting ->Configuration ->Analytic Accounts and create top-level parent accounts (no parent set)
  5. Create Child Accounts: Create child accounts and set the Analytic Parent field - display names auto-update immediately
  6. Test: Create a Sale Order or Journal Entry ->open the Analytic Distribution picker ->type part of the display name ->confirm it appears correctly

Demo Data: The module ships with demo analytic accounts showing a department hierarchy (Marketing ->Social Ads, Email Marketing) and a project hierarchy (Project Alpha ->Design, Development, QA) - activate demo mode to explore.


Business Benefits

Clear Financial Hierarchy

Structure departments, projects, regions, and cost centers in a logical tree that mirrors your organization - no workarounds or manual aggregation needed.

Custom Names for Clarity

Python-powered display names let you format account identifiers consistently across the entire company - reducing errors when selecting accounts in analytic distribution.

Instant Consolidated Reporting

Open any parent account and see the total cost and revenue from all children - no pivot tables, no manual totals, no waiting for an export.

Faster Account Selection

Searching by display name in analytic distribution means users can type a meaningful keyword - not an arbitrary code - and find the right account immediately.


Need Help or Have a Feature Request?

Contact Support


Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with