Multi-Company and Branch Management in Odoo 19 Accounting

Close-up of hand writing in notebook using a blue pen, focus on creativity.

In earlier Odoo versions — from 14 through 17 — managing multiple entities within a single database was straightforward.
You could easily link companies together using a “parent/child” relationship, allowing smooth data sharing and consolidated reporting. However, starting from Odoo 18, this logic has changed significantly. The system now clearly distinguishes between main companies and branches, and the previous “linking” method no longer works. To share the same chart of accounts, currency, and taxes, you must explicitly create a branch, not just another company.


What is a Branch in Odoo

According to the official Odoo video “Multi-company and branch management | Odoo Accounting”:

“Odoo supports creating a hierarchical structure between parent companies and subsidiaries.
We added a new store and a new company to our database so that we can manage everything from one place.”

branch is not a completely new company — it is a subsidiary of a main company, created inside the same country and fiscal environment.
It allows a business to organize operations into distinct divisions (for example, retail stores, regional offices, or departments) while keeping one accounting framework.

How to Add a Branch in Odoo?

“We can see a subsidiary of the Belgian main company as a new branch, not a new main company.”

Example:
A company called Bloom Group Ltd. operates its headquarters in Belgium and opens a new store in Antwerp.
Instead of creating a separate company, the user creates a branch called Bloom Group – Antwerp Store.
This branch uses the same chart of accounts, the same taxes, and the same currency as the parent company.


How Branches Inherit Settings

From the same Odoo explanation:

“The main company’s chart of accounts, main currency, and taxes apply to all of its branches, though branch-specific journals can be created.”

This means:

  • The main company defines the accounting structure.
  • Branches use the same chart of accounts and tax configuration.
  • Branches can have their own journals (for example, local sales or bank journals).

“The parent company manages a common fiscal period, so the parent company’s lock dates and closing dates apply to all branches too, although branches can have their own lock dates that come before the parent’s.”


Visibility and Access

“The main company can access reports, invoices, bills, etc. for all branches, while branches can only see their own records.”

This creates a clear hierarchy:

  • The main company has full visibility and can consolidate reports.
  • Each branch is restricted to its own records.

Odoo also allows assigning user access at the company level:

Allowed Companies in Odoo, Users Access Rights. Branch Management

“You can restrict or grant users access to specific companies, limiting their view to only records related to the companies they can access — including companies and branches.”

User access is managed in Settings → Users → Allowed Companies.


Geographical Restrictions

Branches and the parent company must be located in the same country:

“The main company and branches must be in the same country to maintain accounting consistency.”

This restriction ensures that all branches follow the same tax rules and fiscal structure.
If a business expands abroad, a new company must be created instead of a branch.


Example: A Medium-Sized Retail Business

A company named Larixon Classified Ltd. operates in the UK and manages two regional offices:

  • Larixon London Branch
  • Larixon Manchester Branch

Both branches:

  • Use the same UK chart of accounts and VAT configuration.
  • Have their own local sales journals and bank accounts.
  • Are visible to the parent company for consolidated reporting.

Each branch manager can work independently with local data, while the finance department at headquarters maintains full visibility.


Taxes and Fiscal Consistency

Tax behavior is one of the key differences between branches and separate companies.

“The main company’s chart of accounts, main currency, and taxes apply to all of its branches.”

Branches inherit the same tax setup as their parent.
When you create a branch, Odoo does not generate new tax records — it uses the parent’s taxes.
Any change in tax rates or accounts at the parent level immediately affects all branches.

This is why Odoo enforces the same country rule — so that one set of tax rules can safely apply across all entities in the hierarchy.


Detailed Comparison: Branch vs Separate Company

AspectBranchSeparate Company
PurposeOperate under the same fiscal and legal environmentOperate independently, possibly under a different legal entity
Chart of AccountsShared with parentIndependent
TaxesShared with parentIndependent, different tax rules
CurrencySame as parentIndependent
Fiscal Year / Lock DatesControlled by parentManaged separately
Reports (P&L, Balance Sheet, Cash Flow)Parent can see all; branch sees its ownEach company has its own reports
CountryMust be the same as parentCan differ
User AccessControlled through Allowed CompaniesControlled independently
Inter-company TransactionsLimited or unnecessary within the same groupFully supported across separate companies
Accounting ConsolidationAutomaticRequires multi-company consolidation
Journal ConfigurationCan create branch-specific journalsEach company has its own journals
Legal RegistrationPart of the same legal entitySeparate legal entity

When to Use a Branch

Use a branch when:

  • All operations are in the same country.
  • You want centralized accounting and unified tax management.
  • You need to separate operations by location, department, or division.
  • You want the parent company to see and control all reports.

Typical examples:

  • Retail or restaurant chains with multiple local stores.
  • Service companies with regional offices.
  • Construction firms managing several project branches.

When to Use a Separate Company

Use a separate company when:

  • The entity operates in a different country.
  • It has a distinct chart of accounts, currency, or fiscal calendar.
  • It needs separate tax registration (different VAT ID or legal entity).
  • You must produce independent statutory reports or tax declarations.

In those cases, create a new company in Odoo and use inter-company transactions to synchronize documents between entities.


Managing Branches in Odoo

“On the main company form, we can click into the branches tab, and here is our new store in Antwerp.
We could even add sub-branches if needed… and there’s no limit on the number of branches that a company can have.”

To create a branch:

  1. Go to Settings → Manage Companies.
  2. Open the main company record.
  3. Under the Branches tab, click Add Branch.
  4. Define its name, address, and optionally create sub-branches.
  5. Assign user access in Settings → Users → Allowed Companies.

Branches automatically share:

  • Chart of Accounts
  • Taxes
  • Currency
  • Fiscal periods

Consolidation and Reporting

“The main company can access reports, invoices, bills, etc., for all branches.”
“Branches can have their own journals, and the data can be consolidated into the main company’s financial reports.”

Profit & Loss, Balance Sheet, and other reports can be generated for:

  • Each branch individually
  • The parent company (consolidated view)

Odoo’s reporting engine can group data by company or branch and even merge ledgers when multi-ledger accounting (such as IFRS or local GAAP) is enabled.


Summary

The new branch management structure in Odoo 18 introduces a more precise way to manage multiple entities within a single accounting environment.
Where older versions allowed loosely linked companies, Odoo now requires a formal hierarchy — ensuring fiscal accuracy and compliance.

Use Branches for centralized operations in the same country.
Use Separate Companies for independent or international entities.

This model provides greater control, more consistent accounting, and easier consolidated reporting for growing businesses.

Related Post