v 15.0 Third Party 2415
Download for v 15.0 Deploy on Odoo.sh
Odoo Online
On Premise
Odoo Apps Dependencies Invoicing (account)
Discuss (mail)
Community Apps Dependencies
Lines of code 991
Technical Name account_operating_unit
Versions 15.0 9.0 10.0 11.0 12.0 13.0 14.0
You bought this module and need support? Click here!

Accounting with Operating Units

Beta License: LGPL-3 OCA/operating-unit Translate me on Weblate Try me on Runboat

This module allows a company to manage the accounting based on Operating Units (OU’s).

  • The financial reports (Trial Balance, P&L, Balance Sheet), allow to report the balances of one or more OU’s.
  • If a company wishes to report Balance Sheet and P&L accounts based on OU’s, they should indicate at company level that the OU’s are self-balanced, and the corresponding Inter-Operating Unit clearing account. The Chart of Accounts will always be balanced, for each Operating Unit.
  • A company considering Operating Unit as applicable to report only profits and losses will not need to set the OU’s as self-balanced.
  • The self-balancing of Operating Unit is ensured at the time of posting a journal entry. In case that the journal involves posting of items in separate Operating Units, new journal items will be created, using the Inter-Operating Unit clearing account, to ensure that each OU is going to be self-balanced for that journal entry.
  • Adds the Operating Unit to the invoice. A user can choose what OU to create the invoice for.
  • Adds the Operating Unit to payments and payment methods. The operating unit of a payment will be that of the payment method chosen.
  • Implements security rules at OU level to invoices, payments and journal items.
  • Adds the Operating Unit to the cash basis journal entries.

Table of contents


If your company is required to generate a balanced balance sheet by Operating Unit you can specify at company level that Operating Units should be self-balanced, and then indicate a self-balancing clearing account.

  1. Create an account “Inter-OU Clearing”. It is a balance sheet account.
  2. Go to Settings / Companies / Configuration and Set the “Operating Units are self-balanced” checkbox. Then set the “Inter-OU Clearing” account in “Inter-Operating Unit clearing account” field.
  3. Go to Accounting / Configuration / Accounting / Journals and define, for each Payment Method, the Operating Unit that will be used in payments.


  • Add the Operating Unit to invoices.
  • Report invoices by Operating Unit in Accounting / Reporting Business Intelligence / Invoices
  • Add the Default Operating Unit to account move. Then all move lines will by default adopt this Operating Unit.
  • Add Operating Units to the move lines. If they differ across lines of the same move, and the OU’s are self-balanced, then additional move lines will be created so as to make the move self-balanced from OU perspective.
  • In the menu Accounting / Reporting / PDF Reports, you can indicate the Operating Units to report on, for the Trial Balance, Balance Sheet, Profit and Loss, and Financial Reports.

Known issues / Roadmap

  • The General Ledger, Aged Partner Balance reports do not support the filter by Operating Unit. Basically due to lack of proper hooks in the standard methods used by these reports, to introduce the ability to filter by Operating Unit.
  • Trial Balance, P&L and Balance Sheet were removed from Odoo Community. Once OCA Financial Reports are migrated to 13 we can add the Operating Unit to those reports.

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.



  • ForgeFlow
  • Serpent Consulting Services Pvt. Ltd.
  • WilldooIT Pty Ltd



This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

This module is part of the OCA/operating-unit project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

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, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.