Accounting Pro Group Consolidation for Odoo 19 Community documentation
A guide to Accounting Pro Group Consolidation: groups and members, the group chart and the account mapping, rates and translation, consolidation runs and adjustments, the five consolidated reports, PDF and Excel, and the method with its limits.
Documents version 1.0.0Updated Oct 29, 2026
Start here
Who it is for: holding accountants and group controllers whose companies are several companies of one Odoo database. The add-on reads the journal items of the members. It never posts an entry in their books: a run is a snapshot kept in the add-on's own tables.
The examples: the pictures show the demo group Atlas Holding Group (presentation currency USD). Its parent is Atlas Trading Co. (USD). Three companies were acquired on 31 December 2025: Atlas Gulf Trading LLC (AED, 100 %), Atlas Europe GmbH (EUR, 80 %) and Atlas Logistics Joint Operation (USD, 50 %, consolidated proportionally). The numbers in the text are the numbers in the pictures. Amira Saleh is the administrator you see in the pictures. Today in the demo is the end of October 2026.
What you get
| Feature | What it does |
|---|---|
| Groups and members | A group has a parent company, a presentation currency and members. A member is consolidated Full (above 50 %, with non-controlling interests) or Proportional (its share of every line, for joint operations). |
| Group chart and mapping | The group chart is made from the parent's chart. Every account of every member is mapped to one account of the group chart: automatically by code, then by account type, or by hand. |
| Translation | Assets and liabilities at the closing rate, income and expenses at the average rate, equity at the historical rate. The difference is the Translation reserve, explained by a check table. |
| Rates from Odoo | Rates come from the currency rates of the parent company. A manager can override a rate in a run with a reason. A missing rate stops the run. |
| Intercompany eliminations | Receivables and payables, and income and expenses, between members are eliminated pair by pair. Differences stay visible on their own line. |
| Investment elimination | The investment is offset against the equity at acquisition, with goodwill (or a bargain purchase) at book values. |
| Non-controlling interests | At their share of the net assets, with their share of the profit and of the translation reserve. |
| Manual adjustments | Unrealised profit, dividends, loans on other accounts, impairment: a balanced entry with a mandatory reason. |
| Runs | Draft, computed, validated, locked. A validated run is a snapshot that nothing changes afterwards. |
| Five reports | Consolidated Balance Sheet, Consolidated Profit and Loss, Consolidation Worksheet, Intercompany Reconciliation and Consolidation Status. |
| Live preview | Compute the default group in memory, for any period end, without storing anything. |
| Member columns, comparison, drill-down | Show each member next to the consolidated column, compare with the previous run, click an amount to open the journal items. |
| PDF and Excel | Every report has the PDF and Excel buttons, with the method notes printed. |
| Dashboard card | Group net profit on the Accounting Pro dashboard. |
| Settings | Average rate, intercompany tolerance and default group, for each parent company. |
| Several groups and Arabic | You can keep several groups. The add-on is translated and the reports run right to left in Arabic. |
Requirements
| Item | Details |
|---|---|
| Odoo | 19.0 (Community or Enterprise) |
| Apps needed | Accounting Pro 1.0.2 or later (taqnix_accounting_pro), which needs Accounting (account). Nothing from Odoo Enterprise is needed. |
| License | OPL-1 (Odoo Proprietary License v1.0) |
Your data must be ready for a consolidation:
| What | Why |
|---|---|
| All companies of the group in the same Odoo database, each with its chart of accounts | A member is a company of the database. The add-on reads its journal items. |
| Currency rates in Odoo for every member currency | Rates are read from the currency rates of the parent company. A missing rate stops the run (Rates). |
| Users allowed in the parent and in every member company | A group is visible only to users who are allowed in all its companies (Access rights). |
| The same accounting policies in every member | The add-on adds the figures line by line. It does not harmonise policies for you. |
| PDF files | wkhtmltopdf, as for every Odoo PDF report. |
Install
- Unzip the package. Inside is
taqnix_accounting_pro_consolidation.zip; unzip it to get the foldertaqnix_accounting_pro_consolidation. - Copy the folder into one of the
addons_pathfolders of your Odoo server and restart Odoo. - Log in as an administrator, activate Developer mode, open Apps and press Update Apps List.
- Remove the “Apps” filter, search Accounting Pro Group Consolidation and press Install.
# or from the command line ./odoo-bin -c odoo.conf -d YOUR_DATABASE -i taqnix_accounting_pro_consolidation --stop-after-init
After the installation, set up the consolidation in this order:
- Open Accounting → Configuration → Settings, block Group Consolidation, and choose the average rate and the intercompany tolerance.
- Create the group in Configuration → Consolidation → Consolidation Groups and add its members.
- Press Create the group chart, then Map accounts.
- Open each member and enter or compute the equity at acquisition.
- Create your first run in Accounting → Consolidation → Consolidation Runs and press Compute.
The add-on never posts a journal entry in the books of your companies. Uninstalling it removes its own data, and also the Accounting Pro favorites and scheduled reports that point to a consolidated report. Your journal entries, journals and accounts are never touched.
How the consolidation works
- Member trial balances. For every member, the posted journal items up to the period end, per account, in the member's currency. Balance sheet accounts carry everything since the beginning. Profit and loss accounts count from the start of the group's fiscal year (the parent's), or from the day after the acquisition date for a member acquired during the year. The profit of earlier periods is put on the member's undistributed profits account, where Odoo's own balance sheet shows it. If the Closing add-on of Accounting Pro is installed, its closing entries dated in the year being consolidated are left out (they would zero the profit of the year); those of earlier years are kept.
- Translation. Each member account is mapped to an account of the group chart. That account says how its balance is translated: at the closing rate, the average rate or the historical rate. Each line is rounded to the cent of the presentation currency. The Translation reserve of a member is the amount that makes its translated trial balance balance; a check table shows how it arises.
- Proportional members contribute their share of every translated line, rounded line by line.
- Intercompany. For every pair of members, balances (receivable and payable accounts) and income and expenses (profit and loss accounts) are matched and eliminated. The difference between the two sides is never hidden: it goes to its own line.
- Investment elimination. For every member except the parent, the investment is removed from the investor's books, the equity at acquisition is removed from the group's equity, and the balancing figure is the goodwill (at book values). A negative goodwill is a bargain purchase.
- Non-controlling interests for full members below 100 %: their share of the net assets, split into their lines.
- The check. The consolidated trial balance must balance to the cent. The balance sheet must tie, and the profit of the period in the balance sheet must equal the profit attributable to the owners in the profit and loss.
The classes of translation:
| Class | Used for | Rate |
|---|---|---|
| Closing | Assets and liabilities, the translation reserve and the non-controlling interests | The rate of the period end |
| Average | Income and expenses | One average rate per currency and run (daily or month-end, see Settings) |
| Historical | Share capital and retained earnings | The historical rate of the member, by default the rate of its acquisition date |
The period of a run is always the group's fiscal year to date. Members whose fiscal year ends on another date are aligned: their profit and loss is read for the group's fiscal year from their own journal items, and the run says so. The standards behind these steps are listed in How the figures are computed.
Consolidation groups
| Field | What it does |
|---|---|
| Name | For example Atlas Holding Group. |
| Parent company | The company at the top. Its fiscal year is the group's fiscal year, its currency rates are the rates of the group, and the reports carry its name. |
| Presentation currency | The currency of the consolidated figures. It starts as the currency of the parent, and can be any active currency. |
| Members (tab) | Company, currency, method, ownership %, acquisition date and goodwill. The parent is a member of its own group at 100 %, full, and cannot be taken out. |
| Notes (tab) | Free text. |
Buttons and smart buttons. Create the group chart (Update the group chart once it exists) and Map accounts are at the top of the form. The smart buttons show the group chart (78 accounts in the demo), the mapped accounts (221), which turns red when some accounts are unmapped, and the runs (4).
Who sees a group. A group and everything under it are visible only to users who have the parent and every member company among their allowed companies. You can keep several groups, for example one for each holding.
Members
| Field | What it does |
|---|---|
| Company, Currency | The company, and its currency (read from the company). |
| Method | Full (the ownership must be above 50 %) or Proportional (any ownership above 0 %). Use proportional only for a joint operation (IFRS 11). A joint venture needs the equity method, which this add-on does not have. |
| Ownership % | The group's direct holding in the company. |
| Acquisition date | Profit and loss starts the day after this date for the first year. It is also the default date of the historical rate. |
| Investor, Investment account | The group company that holds the investment (by default the parent) and the account where its books show it. The investment is eliminated from this account. |
| Share capital at acquisition, Reserves at acquisition | In the currency of the member. Type them in, or press Compute from the books at the acquisition date. |
| Historical rate | The rate used for all the equity of the member. By default the rate of the acquisition date. |
| Investment at acquisition, Investment rate | The investment in the presentation currency, and the rate used for it. |
| Goodwill, Bargain purchase | Computed. A negative goodwill ticks Bargain purchase. |
The demo example. Atlas Europe GmbH: share capital 1,000,000 EUR plus reserves 350,000 EUR, so equity at acquisition is 1,350,000 EUR. At the historical rate of 1.0763463209 that is 1,453,067.53 USD. The group's share (80 %) is 1,162,454.02 USD. The investment in the parent's books is 1,250,000 USD. Goodwill = 1,250,000 - 1,162,454.02 = 87,545.98. The 20 % of the minority owners is the non-controlling interest.
The group chart
Press Create the group chart on the group. The add-on copies the chart of accounts of the parent. Press Update the group chart when the parent adds accounts. Open it with the smart button Group chart, or in Configuration → Consolidation → Group Charts.
| Column | What it shows |
|---|---|
| Group, Code, Name | The group and the account. |
| Statement | Asset, Liability, Equity, Income or Expense. |
| Section | The line of the report where it appears, for example Current assets or Other expenses. |
| Translation | Closing rate, Average rate or Historical rate. |
| Role | A special meaning of the account: Share capital, Retained earnings, and the roles of the consolidation accounts below. |
The add-on adds consolidation accounts of its own. The filter Consolidation accounts shows them:
| Code | Account | Used for |
|---|---|---|
| CONS-GW | Goodwill | The goodwill of the members (non-current asset). |
| CONS-ICB | Intercompany differences to clear | The difference between the two sides of intercompany balances (current asset). An invoice in transit is usually a receivable whose payable is not booked yet. |
| CONS-CTA | Translation reserve | The translation differences, in equity. Never typed by hand. |
| CONS-NCI | Non-controlling interests | The minority owners' share, in equity. |
| CONS-BPG | Gain on bargain purchase | A negative goodwill, as other income. |
| CONS-ICP | Intercompany differences | The difference between the two sides of intercompany income and expenses, as other expenses. |
| CONS-NCIP | Profit attributable to non-controlling interests | The minority owners' share of the profit, below the net profit. |
The accounts with the roles Share capital (in the demo 301000 Capital) and Retained earnings (999999 Undistributed Profits/Losses) receive the equity of the members, at the historical rate.
Account mapping
Press Map accounts on the group. For every account of every member that has no mapping yet, the add-on looks for:
- an account of the group chart with the same code (Same code);
- otherwise an account of the same account type (Same account type).
The list is in Configuration → Consolidation → Account Mapping (smart button Mapped accounts), grouped by member. The column Mapped by shows Same code, Same account type or By hand. Managers can change the consolidated account of a line. A choice made By hand is kept when you map again, and shown in italics.
Unmapped accounts. An account with posted entries and no consolidated account blocks the validation of a run. The smart button Mapped accounts turns red and the report Consolidation Status counts them.
The demo. The showroom sales account 400500 of Atlas Gulf Trading LLC has no equivalent in the group chart: it was mapped by account type to 400000 Product Sales. Its bank fees account 620000 was chosen by hand and goes to 600000 Expenses.
Rates
| Rate | Where it comes from |
|---|---|
| Closing | The rate of the period end. |
| Average | Setting Average of the daily rates (the simple average of the rate of every calendar day of the period; a day without a rate takes the last earlier rate) or Average of the month-end rates (the simple average of the rates of the month ends of the period, the last one being the period end). |
| Historical | Set on the member. By default the rate of its acquisition date. |
All rates are expressed as 1 unit of the member currency = x units of the presentation currency. They come from Odoo's currency rates of the parent company: the rates of the company first, then the shared rates, the last rate on or before the date.
The September run of the demo. AED is pegged: 0.272294 for closing, average and historical (3.6725 AED per USD). EUR: closing 1.072719, average 1.075380, historical 1.076346. The run keeps its own copy of the rates, in the tab Rates.
Overriding a rate. A consolidation manager can override a rate of a run in the tab Rates. A reason is mandatory. The override is kept when the run is computed again.
Consolidation runs
Open Accounting → Accounting → Consolidation → Consolidation Runs and press New: choose the group and the Period end. The period starts on the first day of the group's fiscal year. There is one run (not cancelled) for each group and period end.
| Button | When | What it does |
|---|---|---|
| Compute | Draft | Computes the run. Needs the consolidation user right. |
| Compute again | Computed | Rebuilds the automatic parts. Manual adjustments and rate overrides are kept. |
| Validate | Computed | Consolidation manager only. Needs no unmapped account with a balance, balanced manual adjustments and a consolidated trial balance that balances. |
| Lock | Validated | Consolidation manager only. Final state of a closed period. |
| Reopen | Validated or locked | Consolidation manager only, with a reason that is logged. A locked run cannot be reopened while a later run of the same group is validated or locked. |
| Cancel, Set to draft | Draft or computed; cancelled | Put a run aside, and bring it back. |
On the form. The consolidated figures are at the top. The smart buttons open the Balance sheet, Profit and loss, Worksheet, Intercompany, the Lines (67 in the demo) and the Adjustments (11). The tabs are:
| Tab | What it shows |
|---|---|
| Checks | Warnings and issues of the computation, and the table Translation reserve: how it arises. |
| Rates | The rates of the run, with the overrides. |
| Adjustments | Automatic and manual adjustments (next chapter). |
| Log | Who computed, validated, locked or reopened the run, and why. |
| Notes | Free text. |
The check table. For each foreign member it shows the translation reserve as: historical-rate balances × (closing - historical) + average-rate balances × (closing - average) + rounding. For Atlas Europe GmbH: -4,897.54 + -641.91 + 0.00 = -5,539.45. For Atlas Gulf Trading LLC, whose rate is the same on all dates, only a rounding of -0.01 remains. Together with the 20 % share of the non-controlling interests (1,107.89) this gives the consolidated translation reserve of -4,431.57.
The snapshot. A run stores its lines, rates and adjustments. When somebody posts an entry later, a validated or locked run does not change. A computed run shows the notice To compute again when a manual adjustment or a rate changed after the computation.
Adjustments
The tab Adjustments of a run lists them. The automatic ones are rebuilt each time you compute:
| Kind | What it is |
|---|---|
| Intercompany elimination | One line for each pair of members and each kind (balances, sales and purchases). The Difference column and the status say whether the two sides agree: Matched, Within tolerance or Difference. |
| Investment elimination | One for each member: the investment against the equity at acquisition, with the goodwill. |
| Non-controlling interest | One for each full member below 100 %. |
The demo's intercompany lines. The parent's September invoice to Atlas Gulf of 38,000 USD is booked by Atlas Gulf only on 5 October. So the September run shows Difference twice (38,000.00 on balances, -38,000.00 on sales and purchases). Atlas Europe's pairs are Within tolerance (-8.49 and 196.90, the tolerance is 500.00) and the pairs of the joint operation are Matched.
Manual adjustments. Open Accounting → Accounting → Consolidation → Manual Adjustments, or the tab of the run, and add one. It has a run, a reason (mandatory) and debit and credit lines on accounts of the group chart, in the presentation currency. It must balance to the cent. It can never touch the translation reserve. It is kept when you compute the run again. Use it for:
- unrealised profit in inventory or fixed assets sold inside the group (the demo books 2,000 for goods of the parent still in Atlas Gulf's stock);
- dividends paid by a subsidiary;
- loans between members on other balance sheet accounts, and transfers of fixed assets;
- an impairment of the goodwill.
Consolidated Balance Sheet
| Option | What it does |
|---|---|
| Group | The group to show. It starts with the default group of the settings. |
| Run | Latest validated run (the default), a run you choose, or a live preview. A preview is computed in memory, stored nowhere, and flagged as a preview on every output. |
| Preview date | The period end of the live preview. |
| Member columns | Shows one column for each member (translated), then Eliminations and adjustments and Consolidated. |
| Compare with | Compares with the previous run. |
| Hide empty lines, Units | As in the other Accounting Pro reports. |
Reading the demo. Total assets are 5,196,721.15. They include the goodwill of 199,040.19 and the line Intercompany differences to clear of 37,991.51. The investments of the parent (750,000, 1,250,000 and 215,000) are eliminated. Liabilities are 2,652,931.08. Equity is 2,543,790.07: the owners' part is 2,202,407.60, with the profit of the period 1,161,850.55 and the translation reserve of -4,431.57, and the non-controlling interests are 341,382.47. Total liabilities and equity are 5,196,721.15, equal to the assets.
The two warnings at the top are the intercompany differences of the run. At the bottom of the report the notes give the method, the rates, the simplifications and what is not included. A click on an amount opens the journal items behind it (Intercompany Reconciliation says what the switcher needs).
Consolidated Profit and Loss
Open Accounting → Reporting → Management → Consolidated Profit and Loss. The options are those of the balance sheet. The columns are Eliminations and adjustments and Consolidated, and Member columns adds one column for each member. With Compare with: Previous run an extra column shows the earlier run (here 30 June 2026).
Reading the demo. Revenue is 6,175,323.15 after eliminating 703,460.46 of sales inside the group. The eliminations also reduce the cost of revenue (-627,559.54) and the operating expenses (-36,097.82). The line Intercompany differences (-37,803.10 in other expenses) carries what the two sides do not agree on, and the manual adjustment of 2,000 reduces the net profit. Net profit is 1,213,727.41 (787,522.97 at the end of June). Under it: Profit attributable to the owners of the parent, 1,161,850.55, and to the non-controlling interests, 51,876.86.
Consolidation Worksheet
Open Accounting → Reporting → Management → Consolidation Worksheet. Each line is an account of the group chart. The columns are:
| Column | What it holds |
|---|---|
| Members at closing rate | The sum of the members' trial balances, translated. |
| Translation effect | The effect of translating the equity and the profit and loss at their own rates, against the closing rate. It is the translation reserve. |
| Intercompany | The eliminations of balances, and of sales and purchases. |
| Investment | The elimination of the investments and of the equity at acquisition, and the goodwill. |
| Non-controlling interests | The minority owners' part. |
| Manual adjustments | The adjustments you added. |
| Consolidated | The sum of all columns: the figure of the statements. |
Click the arrow of an account to unfold each member. The demo's accounts receivable 121000 are 1,040,288.39 before eliminations, and 931,970.43 after removing 108,317.96 of intercompany receivables (74,000.00 for the parent, 26,817.96 for Atlas Europe, 7,500.00 for the joint operation). Every column adds up to the statements.
Intercompany Reconciliation
Open Accounting → Reporting → Management → Intercompany Reconciliation. It has two sections: Receivables and payables (balances at the period end) and Sales and purchases (the year to date). In each, the matrix shows what the member of the row books with the member of the column, in the presentation currency (for a proportional member, in the share of the group). Under the matrix, Pairs and differences lists each pair:
| Status | Meaning |
|---|---|
| Matched | The two sides cancel out. |
| Within tolerance | The difference is at or below the Intercompany tolerance of the settings (500.00 in the demo). It is eliminated and stays visible on the intercompany differences line. |
| Difference | The difference is above the tolerance. It is flagged in red and given as a warning on the run and on every report. |
The demo. The parent's invoice of 38,000 to Atlas Gulf is booked by Atlas Gulf only on 5 October, so at 30 September the parent shows 38,000.00 and Atlas Gulf shows 0.00: difference 38,000.00. In sales and purchases the same invoice gives -38,000.00. Atlas Europe's pair is within tolerance (-8.49 and 196.90, from the exchange rates). The pair with the joint operation is matched (0.00).
Drill-down. A click on an amount opens the journal items of both sides. Odoo shows the journal items of the companies active in the company switcher: activate the parent and every member company, or the list stays empty. The report says so.
With a proportional member, both sides are eliminated up to the smaller of the two shares. Each direction of a pair has to match on its own: two differences that offset each other still raise a warning.
Consolidation Status
Open Accounting → Reporting → Management → Consolidation Status. It lists every group, its members and its runs:
| Column | What it shows |
|---|---|
| Member, Currency, Method, Ownership, Acquired | The members of the group, as set up. |
| Latest run, State | The latest run of the group and its state; for each run, its net profit. |
| Unmapped accounts | Accounts of a member with posted entries and no consolidated account. They block the validation of a run. |
| Missing rates | The rates the latest run (or a run at today's date) would need and that Odoo does not have. |
| Intercompany differences | The pairs of the latest run above the tolerance. |
In the demo there are no unmapped accounts and no missing rates. The runs are: 31 March 2026 (locked, net profit 336,171.21), 30 June 2026 (validated, 787,522.97), 30 September 2026 (validated, 1,213,727.41, two intercompany differences) and 31 October 2026 (computed, 1,344,388.84).
PDF and Excel
- The PDF carries the header (company, group, run, members), the warnings, the columns that are on screen, the notes about the method and a footer with the user and the date.
- The Excel file has the same header and notes. Amounts are numbers, not text, and the accounts can be folded.
- In Arabic, the PDF and Excel files are right to left.
- The files follow the options on screen: group, run, preview date, member columns, comparison, hidden empty lines.
Dashboard card
It uses the default group of the settings. It shows the consolidated net profit, the name and period end of the run, the share of the owners, and a trend over the runs. In the demo: 1,213,727, run 30 September 2026, owners 1,161,851.
The card is shown only to users who are allowed in every company of the group. Others do not see it, and see no figure.
Settings
Open Accounting → Configuration → Settings, block Group Consolidation (after the block Accounting Pro).
| Setting | What it does |
|---|---|
| Average rate | Average of the daily rates (the default) or Average of the month-end rates: how the average rate of income and expenses is computed. |
| Intercompany tolerance | In the presentation currency. A difference up to this amount is Within tolerance; a larger one is flagged Difference. The demo uses 500.00. |
| Default group | The group the reports and the dashboard card open with. |
The settings belong to the parent company: with several parent companies, choose the company first. A change to the average rate or the tolerance applies to the runs you compute afterwards; a validated run keeps its figures.
Access rights
| Consolidation user | Consolidation manager | |
|---|---|---|
| Given to | The accounting group Show Full Accounting Features includes it. | The accounting Administrator includes it, and the user right. |
| See the menus, groups, runs and reports | Yes | Yes |
| Compute and compute again a run | Yes | Yes |
| Add manual adjustments | Yes | Yes |
| Create groups, members, the group chart and the mapping | No | Yes |
| Override a rate of a run | No | Yes (with a reason) |
| Validate, lock, reopen, cancel a run | No | Yes |
| Change the settings | No | Yes |
Record rules. A group and everything under it (members, runs, lines, adjustments, rates, log) are visible only to users who have the parent and every member company among their allowed companies, whatever is active in the company switcher. So a partial consolidation never leaks: a user who lacks one member company sees no group, no run, no figure and no dashboard card. The journal items of the members are read as the user, with the record rules of Odoo.
The name of the default group (kept on the parent company) can be read by a user who lacks a member company. Its figures cannot.
How the figures are computed
| Rule | How it is computed |
|---|---|
| Rounding | Every translated line is rounded to the cent of the presentation currency, line by line. The proportional share is rounded line by line too. |
| Translation reserve | For each foreign member, the amount that makes its translated trial balance balance. It equals the historical-rate balances × (closing - historical) + the average-rate balances × (closing - average) + rounding, with balances in the member's currency, debit positive. It is never typed in. |
| Goodwill | Investment - ownership share of the equity at acquisition, at book values. Equity at acquisition is translated at the historical rate. Goodwill is kept in the presentation currency at the rates of the acquisition date. |
| Bargain purchase | A negative goodwill, shown on its own line. It is a gain in the profit and loss when the acquisition date falls in the fiscal year of the run, and retained earnings afterwards. |
| Non-controlling interests | (100 % - ownership) × the translated net assets of the full member at the closing rate. They are split into the interests at acquisition, the share of the profit, the share of the translation reserve and the share of other reserves (the balancing line). A negative amount (a member with a deficit) is kept. |
| Intercompany | Balances at the closing rate, income and expenses at the average rate, on receivable and payable and on profit and loss accounts, found through the partners of the member companies. Each direction of a pair must match on its own. The difference goes to its own line. |
| Equity of a member | All its equity, the earnings of earlier years included, is translated at its single historical rate. |
| Checks | The consolidated trial balance balances to the cent; assets = liabilities + equity (including the translation reserve and the non-controlling interests); the profit of the period in the balance sheet equals the profit attributable to the owners; every column of the worksheet adds up to the statements. |
The standards. The method was checked against overview pages of the IFRS Foundation, an IFRIC agenda decision, the summaries of ICAEW and the Australian copy of IAS 21 (AASB 121), which reproduces it. These points could not be verified in a primary text, and are applied as common practice, not quoted: IFRS 10 B92-B94 (attribution of profit to the non-controlling interests, members with another reporting date), IFRS 3.34-36 (bargain purchase), IAS 36 (goodwill is not amortised, it is tested for impairment) and the use of the historical rate for equity. IAS 21.47, which translates goodwill at the closing rate, is not followed (see What it does not do).
The proof. The automated tests compute a worked example with exact figures and check them to the cent: two foreign members, a proportional member, an intercompany difference, a translation reserve of 194,250 and 61,500, goodwill of 170,000, non-controlling interests of 195,200, a consolidated net profit of 315,250 and total assets of 2,696,000 equal to liabilities and equity. 113 tests belong to the add-on.
What it does not do
| Topic | What the add-on does not do |
|---|---|
| Equity method | There is no equity method for associates or joint ventures (IAS 28, IFRS 11). Only full and proportional consolidation. Proportional consolidation fits joint operations only. The demo company Atlas Logistics Joint Operation is a joint operation. |
| Historical rate of equity | One historical rate per member for all its equity, including the profits of earlier years. For a member held several years, the split between retained earnings and the translation reserve is approximate. Total equity, the non-controlling interests and every asset and liability except goodwill are exact. |
| Goodwill translation | Goodwill stays at the rates of the acquisition date. IAS 21.47 (goodwill of a foreign operation at the closing rate) is not followed. |
| Average rate | One average rate per currency and run, also for a member acquired during the year. |
| Intercompany scope | Receivables and payables, and income and expenses, only. Loans on other accounts, dividends and fixed-asset transfers are manual adjustments. A dividend booked with the subsidiary as partner on an income account lands in the line Intercompany differences until you adjust it. |
| Unrealised profit, tax, hyperinflation | Unrealised profit in inventory or fixed assets is not eliminated automatically (manual adjustment). No deferred tax on adjustments. No hyperinflation (IAS 29). |
| Non-controlling interests | At their share of the net assets, no full-goodwill option. No indirect (multi-level) interests: the ownership % is the group's direct holding. |
| Fair values and impairment | Goodwill and non-controlling interests are at book values, with no fair-value adjustment at acquisition. No impairment test of goodwill (book an impairment as a manual adjustment). |
| Changes of ownership | No step acquisitions, partial disposals, loss of control or change of ownership during the year. The translation reserve is never recycled. |
| Statements | No consolidated cash-flow statement, no statement of changes in equity, no analysis of the movement of the translation reserve between years. |
| Removing a member | A member of a validated run can never be removed. After a sale, create a new group. |
| Drill-down | The journal items open only when every company of the group is active in the company switcher. |
| Default group name | The name of the default group can be read by users who lack a member company. Its figures cannot. |
| Excel | The Excel files were checked by reading them and rendering their cells, not opened in Microsoft Excel. |
| Nature of the result | It is an accounting tool, not audit-ready IFRS financial statements and not professional advice. The standards behind it were not all read in a primary text (see How the figures are computed). |
Troubleshooting
| Problem | What to do |
|---|---|
| The run stops with a missing rate | The message names the currency and the date. Add the rate in Odoo (currency rates of the parent company) and compute again. |
| I cannot validate: unmapped accounts | The smart button Mapped accounts of the group is red. Press Map accounts and map by hand the accounts that remain. The report Consolidation Status counts them. |
| An intercompany difference | Open Intercompany Reconciliation and the drill-down. Usual causes: an invoice booked by one side only (the demo's 38,000), an exchange difference, a disputed amount. Fix the books, or add a manual adjustment. |
| The drill-down shows no rows | Activate the parent and every member company in the company switcher. |
| A user sees no group, run or report figure | The user lacks one member company (or the parent) among the allowed companies. Add it to the user. |
| I cannot change a validated run | It is a snapshot. Press Reopen (consolidation manager, with a reason), change, compute again and validate again. |
| I cannot reopen a locked run | A later run of the group is validated or locked. Reopen the later run first. |
| A dividend shows as an intercompany difference | Dividends are not eliminated automatically. Book a manual adjustment. |
| I cannot remove a member | A member of a validated run stays. Create a new group without it. |
| I do not see the menus | Every menu needs the Accounting Pro reports group. Settings and setup need the consolidation manager. |
| The run says To compute again | A manual adjustment or a rate changed after the computation. Press Compute again. |
Updating and removing
Replace the folder with the new version, restart Odoo and run -u taqnix_accounting_pro_consolidation. Your groups, members, mappings, runs and manual adjustments are kept.
A run you validated is a snapshot: an update does not change its figures. A run that is only computed can be computed again after the update.
Support
Installation help and bug fixes are included for 6 months, with lifetime updates. Contact us through the marketplace page where you bought the module or write to support@taqnix.com with your Odoo version and a screenshot.