Skip to content

Commit a56cc58

Browse files
committed
[IMP] accounting: (multi) companies, branches & accountant access info
task-3645172 task-4256345 closes #14019 X-original-commit: b0c827b Signed-off-by: Anne-Françoise Marcq (afma) <[email protected]> Signed-off-by: Audrey Vandromme (auva) <[email protected]>
1 parent 3a613b4 commit a56cc58

23 files changed

+492
-411
lines changed

content/applications/essentials/property_fields.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -191,12 +191,12 @@ models. Once set, the property is shared by all records that are linked to the s
191191
Candidate
192192
- :ref:`Job position <job-position/create-job-position>`
193193

194-
:ref:`Company <companies/manage>`
194+
:ref:`Company <general/companies/company>`
195195

196-
:ref:`Company <companies/manage>`
196+
:ref:`Company <general/companies/company>`
197197
* - :guilabel:`Repairs`
198198
- :ref:`Repair order <repairs/repair_orders/repair>`
199-
- :ref:`Company <companies/manage>`
199+
- :ref:`Company <general/companies/company>`
200200
* - :guilabel:`Sales` / etc.
201201
- Product
202202
- Category

content/applications/finance/accounting.rst

Lines changed: 134 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,10 @@
44
Accounting and Invoicing
55
========================
66

7-
**Odoo Invoicing** is a standalone invoicing app to create invoices, send them to your customers,
8-
and manage payments.
9-
10-
**Odoo Accounting** is a full featured accounting app. Accountant productivity is at the core of its
11-
development with features such as AI-powered invoice recognition, synchronization with your bank
12-
accounts, smart matching suggestions, etc.
7+
Odoo Invoicing is a standalone app designed to create invoices, send them to customers, and manage
8+
payments. It also handles flows involving vendor bills. On the other hand, the Accounting app is a
9+
comprehensive accounting solution that allows the same actions and includes additional features such
10+
as standard financial reports, bank reconciliation, budgets, asset management, and more.
1311

1412
.. seealso::
1513
`Odoo Tutorials: Accounting <https://www.odoo.com/slides/accounting-19>`_
@@ -52,6 +50,8 @@ accounts, smart matching suggestions, etc.
5250

5351
Reporting, declarations, and analytic accounting
5452

53+
.. _accounting/double-entry-booking:
54+
5555
Double-entry bookkeeping
5656
========================
5757

@@ -66,6 +66,8 @@ always balance.
6666
.. seealso::
6767
:doc:`Accounting Cheat Sheet <accounting/get_started/cheat_sheet>`
6868

69+
.. _accounting/accrual-cash:
70+
6971
Accrual and cash basis
7072
======================
7173

@@ -81,14 +83,18 @@ expense either when the transaction occurs (accrual basis) or when the payment i
8183
Multi-company
8284
=============
8385

84-
Several companies can be managed within the same database. Each company has its :doc:`chart of
85-
accounts <accounting/get_started/chart_of_accounts>`, but it is possible to share accounts
86-
between them for scenarios in which such a configuration would be required. Users can then
87-
access several companies but only work on a single company's accounting at a time.
86+
:doc:`Multiple companies <../general/companies/multi_company>` can be managed within the same
87+
database. Each company has its own :doc:`chart of accounts
88+
<accounting/get_started/chart_of_accounts>`, but :ref:`accounts can be shared
89+
<consolidation_account_mapping>`, which is useful when viewing consolidation reports. Users can view
90+
records and reports from multiple companies simultaneously but can only work on a single company's
91+
accounting at a time.
8892

8993
.. seealso::
90-
- :ref:`Shared Accounts Feature <coa_shared_accounts>`
91-
- :doc:`Consolidation <accounting/get_started/consolidation>`
94+
- :doc:`Multi-company </applications/general/companies/multi_company>`
95+
- :ref:`Inter-company transactions <general/multi-company/inter-company-transactions>`
96+
97+
.. _accounting/multi-currency:
9298

9399
Multi-currency environment
94100
==========================
@@ -102,32 +108,80 @@ gains and losses after reconciling the journal items.
102108
.. seealso::
103109
:doc:`Manage a bank in a foreign currency <accounting/bank/foreign_currency>`
104110

105-
Branch management
106-
=================
111+
.. _accounting/branches:
112+
113+
Branches
114+
========
115+
116+
Parent :doc:`companies </applications/general/companies>` and their :ref:`branches
117+
<general/companies/branches>` can be managed within a single database, operating under shared
118+
accounting and reporting rules, including the following:
119+
120+
- The parent company’s :doc:`chart of accounts <accounting/get_started/chart_of_accounts>`,
121+
:doc:`main currency <accounting/get_started/multi_currency>`, and :doc:`taxes <accounting/taxes>`
122+
apply to all branches.
123+
- Branches can manage their own dedicated journals and related records.
124+
- The parent company manages a common :ref:`fiscal period <year-end/fiscal-years>`, so its
125+
:ref:`lock and closing dates <year-end/lock-everything-date>` apply across all branches. However,
126+
branches may set earlier lock dates if needed.
127+
- The parent company can access all :doc:`reports <accounting/reporting>`, :doc:`invoices
128+
<accounting/customer_invoices>`, :doc:`bills <accounting/vendor_bills>`, etc., from its branches,
129+
while each branch can only view its own data.
130+
131+
.. note::
132+
The :doc:`Fiscal localization <fiscal_localizations>` package is set on the parent company.
133+
134+
.. warning::
135+
Adding a branch to a company enables :doc:`multi-company functions
136+
<../general/companies/multi_company>`.
137+
138+
For more information, refer to `Odoo's pricing page <https://www.odoo.com/pricing-plan>`_ or
139+
contact your Odoo account manager.
140+
141+
.. _accounting/branch/reporting:
142+
143+
Reporting
144+
---------
145+
146+
The parent company consolidates accounting operations from all branches, providing a centralized
147+
view of :doc:`financial reports <accounting/reporting>`, such as profit and loss or balance sheets.
148+
149+
.. _accounting/branch/vat:
150+
151+
VAT
152+
---
153+
154+
Each company and branch must be configured with its own legal information, including a VAT number
155+
when applicable. Depending on the structure, branches may share the parent company's VAT number or
156+
have their own, resulting in a common or separate :doc:`VAT return
157+
<accounting/reporting/tax_returns>`.
158+
159+
This flexible setup allows users to generate individual reports and tax returns for each entity if
160+
needed.
107161

108-
Multiple branches can be managed thanks to multi-company hierarchies. This allows to post journal
109-
entries on each branch as well as setting up a common lock date managed by the main company.
162+
.. _accounting/international-standards:
110163

111164
International standards
112165
=======================
113166

114-
Odoo Accounting supports more than 70 countries. It provides the central standards and mechanisms
115-
common to all nations, and thanks to country-specific modules, local requirements are fulfilled.
116-
Fiscal positions exist to address regional specificities like the chart of accounts, taxes, or any
117-
other requirements.
167+
Odoo Accounting supports over 100 countries and provides standardized features and mechanisms
168+
applicable across all regions. Country-specific modules are included to comply with local accounting
169+
regulations. :doc:`Fiscal localizations <fiscal_localizations>` handle regional requirements, such
170+
as charts of accounts, taxes, or any other legal obligations.
118171

119-
.. seealso::
120-
:doc:`Fiscal localization packages <fiscal_localizations>`
172+
.. _accounting/accounts-receivable-payable:
121173

122174
Accounts receivable and payable
123175
===============================
124176

125-
By default, there is a single account for the account receivable entries and one for the account
126-
payable entries. As transactions are linked to your **contacts**, you can run a report per customer,
127-
vendor, or supplier.
177+
By default, one account is designated for accounts receivable entries and another for accounts
178+
payable entries. As transactions are linked to **contacts**, it is possible to run a report per
179+
customer, vendor, or supplier.
180+
181+
The **Partner Ledger** report displays the balance of customers and suppliers. To access it, go to
182+
:menuselection:`Accounting --> Reporting --> Partner Ledger`.
128183

129-
The **Partner Ledger** report displays the balance of your customers and suppliers. It is available
130-
by going to :menuselection:`Accounting --> Reporting --> Partner Ledger`.
184+
.. _accounting/reporting:
131185

132186
Reporting
133187
=========
@@ -144,15 +198,17 @@ real-time:
144198
| +----------------------------------+
145199
| | Cash flow statement |
146200
| +----------------------------------+
147-
| | Tax report |
201+
| | Executive summary |
202+
| +----------------------------------+
203+
| | Tax return |
148204
| +----------------------------------+
149205
| | EC sales list |
150206
+------------+----------------------------------+
151207
| Audit | General ledger |
152208
| +----------------------------------+
153209
| | Trial balance |
154210
| +----------------------------------+
155-
| | Journal report |
211+
| | Journal audit |
156212
| +----------------------------------+
157213
| | Intrastat report |
158214
| +----------------------------------+
@@ -166,13 +222,23 @@ real-time:
166222
+------------+----------------------------------+
167223
| Management | Invoice analysis |
168224
| +----------------------------------+
225+
| | Analytic report |
226+
| +----------------------------------+
227+
| | Audit trail |
228+
| +----------------------------------+
229+
| | Budget report |
230+
| +----------------------------------+
169231
| | Unrealized currency gains/losses |
170232
| +----------------------------------+
233+
| | Deferred revenue |
234+
| +----------------------------------+
235+
| | Deferred expense |
236+
| +----------------------------------+
171237
| | Depreciation schedule |
172238
| +----------------------------------+
173239
| | Disallowed expenses |
174240
| +----------------------------------+
175-
| | Budget analysis |
241+
| | Loans analysis |
176242
| +----------------------------------+
177243
| | Product margins |
178244
| +----------------------------------+
@@ -182,31 +248,32 @@ real-time:
182248
.. tip::
183249
:doc:`Create and customize reports <accounting/reporting/customize>` with Odoo's report engine.
184250

185-
Tax report
186-
----------
251+
.. _accounting/tax-report:
187252

188-
Odoo computes all accounting transactions for the specific tax period and uses these totals to
189-
calculate the tax obligation.
253+
Tax return
254+
----------
190255

191-
.. important::
192-
Once the tax report has been generated for a period, Odoo locks it and prevents the creation of
193-
new journal entries involving VAT. Any correction to customer invoices or vendor bills has to
194-
be recorded in the next period.
256+
In the :ref:`Tax return <tax-returns/report>`, Odoo computes all accounting transactions for the
257+
specific tax period and uses these totals to calculate the tax obligation.
195258

196259
.. note::
197260
Depending on the country's localization, an XML version of the tax report can be generated to be
198261
uploaded to the VAT platform of the relevant taxation authority.
199262

263+
.. _accounting/bank-synchronization:
264+
200265
Bank synchronization
201266
====================
202267

203-
The bank synchronization system directly connects with your bank institution to automatically
204-
import all transactions into your database. It gives an overview of your cash flow without logging
268+
The bank synchronization system directly connects with banking institutions to automatically
269+
import all transactions into the database. It gives an overview of the cash flow without logging
205270
into an online banking system or waiting for paper bank statements.
206271

207272
.. seealso::
208273
:doc:`Bank synchronization <accounting/bank/bank_synchronization>`
209274

275+
.. _accounting/inventory-valuation:
276+
210277
Inventory valuation
211278
===================
212279

@@ -217,6 +284,8 @@ available methods are standard price, average price, :abbr:`LIFO (Last-In, First
217284
.. seealso::
218285
:doc:`../inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config`
219286

287+
.. _accounting/retained-earnings:
288+
220289
Retained earnings
221290
=================
222291

@@ -227,20 +296,43 @@ and loss balance is automatically reported on the balance sheet report.
227296
.. seealso::
228297
:doc:`Accounting Cheat Sheet <accounting/get_started/cheat_sheet>`
229298

230-
.. _fiduciaries:
299+
.. _accounting/fiduciaries:
231300

232301
Fiduciaries
233302
===========
234303

235304
The :guilabel:`Accounting Firms` mode can be activated by going to :menuselection:`Accounting -->
236-
Configuration --> Settings --> Accounting Firms mode`. When enabled:
305+
Configuration --> Settings`. When enabled:
237306

238307
- The document's sequence becomes editable on all documents;
239308
- The :guilabel:`Total (tax incl.)` field appears to speed up and control the encoding by automating
240309
line creation with the right account and tax;
241310
- :guilabel:`Invoice Date` and :guilabel:`Bill Date` are pre-filled when encoding a transaction.
242311
- A :guilabel:`Quick encoding` option is available for customer invoices and vendor bills.
243312

313+
.. _accounting/accountant-access-rights:
314+
315+
Accountant access rights
316+
========================
317+
318+
To grant access to the company's accountant, :ref:`add the accountant as a new user
319+
<users/add-individual>` and configure the appropriate :doc:`access rights
320+
<../general/users/access_rights>` in the :guilabel:`Accounting` section to enable access to the
321+
company's financial data:
322+
323+
- :guilabel:`Accounting`: Select :guilabel:`Accountant`.
324+
- :guilabel:`Bank`: Allow bank account validation.
325+
326+
.. Note::
327+
Adding an accountant as a new user in :doc:`Odoo Online <../../administration/odoo_online>` is
328+
free if the accountant has an Odoo account registered with the same email address as the one
329+
listed for the company user. However, :doc:`Odoo.sh <../../administration/odoo_sh>` and
330+
:doc:`Odoo On-premise <../../administration/on_premise>` may involve extra charges for each
331+
additional user. For more pricing information, see
332+
`Odoo's pricing <https://www.odoo.com/pricing-plan>`_.
333+
334+
For a multi-company environment, set the appropriate :ref:`access <users/multi-companies>`.
335+
244336
.. toctree::
245337
:titlesonly:
246338

content/applications/finance/accounting/reporting/analytic_accounting.rst

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ information:
2828
- :guilabel:`Reference`: Include a reference to make the account easier to find if needed.
2929
- :guilabel:`Plan`: Link the :guilabel:`Analytic Account` to an :ref:`analytic plan
3030
<accounting/analytic_accounting/analytic_plans>`.
31-
- :guilabel:`Company`: In a :doc:`multi-company </applications/general/multi_company>` environment,
32-
select the company using the analytic account. To make the analytic account accessible to all
33-
companies, leave the field empty.
31+
- :guilabel:`Company`: In a :doc:`multi-company </applications/general/companies/multi_company>`
32+
environment, select the company using the analytic account. To make the analytic account
33+
accessible to all companies, leave the field empty.
3434
- :guilabel:`Currency`: Update the currency of the analytic account if needed.
3535

3636
Then, the :doc:`budget <budget>` information can be filled in.
@@ -65,11 +65,11 @@ the following fields:
6565
- :guilabel:`Financial Accounts Prefixes`: Enter the prefix(es) of the account(s) to which the plan
6666
applies.
6767
- :guilabel:`Product Category`: Choose the product category to which the plan applies.
68-
- :guilabel:`Company`: In a :doc:`multi-company </applications/general/multi_company>` environment,
69-
select the company using the plan. To make the analytic plan accessible to all companies, leave
70-
the field empty.
7168
- :guilabel:`Applicability`: Define how the plan is applied when creating a new journal entry. The
7269
applicability set here always overrides the default applicability.
70+
- :guilabel:`Company`: In a :doc:`multi-company </applications/general/companies/multi_company>`
71+
environment, select the company using the plan. To make the analytic plan accessible to all
72+
companies, leave the field empty.
7373

7474
Two smart buttons are available:
7575

@@ -154,9 +154,9 @@ to apply automatically:
154154
partner.
155155
- :guilabel:`Product`: Apply the distribution model only to journal items involving a specific
156156
product.
157-
- :guilabel:`Company`: In a :doc:`multi-company </applications/general/multi_company>` environment,
158-
apply the distribution model only to journal items involving a specific company. To apply it
159-
across all companies, leave the field empty.
157+
- :guilabel:`Company`: In a :doc:`multi-company </applications/general/companies/multi_company>`
158+
environment, apply the distribution model only to journal items involving a specific company. To
159+
apply it across all companies, leave the field empty.
160160
- :guilabel:`Analytic Distribution`: :ref:`Analytic distribution
161161
<accounting/analytic_accounting/analytic-distribution>` that will be applied when the above
162162
conditions are met.

content/applications/finance/accounting/reporting/tax_returns.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,15 @@ paid or refunded.
110110
entry. This safety mechanism can prevent some fiscal errors, but it is advised to lock your tax
111111
date manually before, as described above.
112112

113+
.. important::
114+
- Once the tax report for a period has been generated but not yet posted, additional invoices or
115+
bills from that same period can still be posted and included in the closing entry. To do so,
116+
click :icon:`oi-arrow-right` :guilabel:`Refresh` in the :guilabel:`Proposition of tax closing
117+
journal entry`, or click :guilabel:`Closing Entry` again from the tax report.
118+
- After the tax report has been posted for a period, Odoo locks the period and prevents the
119+
creation of new journal entries involving VAT. Any corrections to customer invoices or vendor
120+
bills must then be recorded in the following period.
121+
113122
.. seealso::
114123
* :doc:`../taxes`
115124
* :doc:`../get_started`

content/applications/finance/accounting/taxes.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Default taxes
1515

1616
**Default taxes** define which taxes are automatically selected when creating a new product. They
1717
are also used to prefill the :guilabel:`Taxes` field when adding a new line on an invoice in
18-
:ref:`Accounting Firms <fiduciaries>` mode.
18+
:ref:`Accounting Firms <accounting/fiduciaries>` mode.
1919

2020
.. image:: taxes/default-configuration.png
2121
:alt: Odoo fills out the Tax field automatically according to the Default Taxes

content/applications/finance/fiscal_localizations/france.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -575,7 +575,7 @@ information to complete the synchronization:
575575
In a multi-company setup, the following configurations are required in Odoo:
576576

577577
- The user linked to the generated :ref:`API key <api/external_api/keys>` must have
578-
:ref:`access <general/employee-access>` to the company intended for synchronization.
578+
:ref:`access <general/companies/users>` to the company intended for synchronization.
579579
- This company must also be set as the user's :guilabel:`Default Company`, as Teledec always
580580
synchronizes with the user's default company.
581581

0 commit comments

Comments
 (0)