Skip to Content
Menú
This question has been flagged

Hi, I’m exploring the differences between the Company and Branch Product setup in >> Categories Expense Account and Product Expense Account.

In my database, I have a COMPANY with several BRANCHES. I set up my products at the company level, assigning both an expense account and a category expense account to each product.


product setup Example:  

Product Name     Expense Account                                     Category  Expense Account

Battery                622001 Vehicle Expenses - Battery        620000 Admin Expense


Company Log in "USER'S ACCESS is INVOICING" in Accounting App

  • Create a billing expense "in Vendor > Bill ", choose my vendor then add product "clicking the Add a Line the account expense is automatically generated from the default product Expense Account 622001 Vehicle Expenses - Battery then saved it after filling out the other details.

Brach Log in "USER'S ACCESS is INVOICING" in Accounting App

  • Create a billing expense "in Vendor > Bill ", choose my vendor then add product, clicking the Add a Line the account expense is automatically generated from the default product   Category  Expense Account 620000 Admin Expense?

Question based on my analyzation. 

Remember, I set up my products in the COMPANY, and I expect this setup to apply to the Branches as well. However, why is there no EXPENSE ACCOUNT setup for products in the Branches?

Do I need to set up my products again in every company branch?

I understand the purpose of the external ID in existing products it's a big help for this setup. However, my expectation is that when I set up products in my company, they will be automatically available to the branches. This is because my branches do not have their own settings or configurations, nor do they have access to the company or other branches.

Avatar
Descartar
Best Answer

Hi,



In Odoo, product accounts such as income and expense are company-specific, meaning each company or branch maintains its own accounting configuration. Even though products themselves can be shared across companies, the associated accounting properties (like the expense account) are stored separately in the system for each company. These are managed through the ir.property model, which links specific accounts to products depending on the company context.


In your case, the main company’s product (“Battery”) uses the correct expense account (622001), but when creating a vendor bill in a branch, Odoo defaults to the category expense account (620000). This happens because the branch does not have its own product-level expense account defined. When Odoo doesn’t find an account configured for the active company, it automatically falls back to the product category’s expense account.


To fix this, you don’t need to recreate products for every branch — you only need to define their accounting properties per branch. You can do this manually by switching to each company and setting the product’s expense account under the “Accounting” tab. Alternatively, you can automate the process using a small script or server action that replicates the main company’s product accounts across all branches.


If all your branches share the same chart of accounts, you could also configure Odoo to automatically inherit the parent company’s settings when missing, though this requires a customization. In summary, Odoo’s behavior is normal: products are shared across companies, but their accounting settings must be defined individually per company for the correct expense accounts to appear automatically.


Hope it helps

Avatar
Descartar
Best Answer

It is possible to definine an Expense Account and Category Expense Account for each Company and each Branch.


Although when you create a Product, it is shared between all Companies and Branches by default, when you define an Expense Account either for the Product, the Category or the default (via Accounting Settings) you are doing so at the company or branch level.

You are not defining the same account for all companies and all branches, unless you switch between all of them and make the same change in all of them.

If you change the defaults, you need to change them for all Companies and all Branches where you want the same account used.

Open your Product or Product Category and switch between each Company and Branch to review which account is set to be used for each.


In your case, there are two different accounts assigned to either the Category or the Product or both. We look at the Category first, then the Product.


Avatar
Descartar