Financial Services Case Study

Odoo Multi-Company Consolidation for a Financial Services Group: Lock Dates and Audit Trails

A Financial Services group retired its consolidation workbook. Every entity now keeps its books in one Odoo Enterprise database, closed months stay locked, each change to a posted entry is on the audit trail, and group results reach the board while there is still time to act.

Financial ServicesOdooStarClient name withheld
Ledgers from several group entities flowing into one consolidated Odoo Enterprise report, with eliminations, locked periods and an audit trail
Scroll
Project at a Glance

Who We Worked with and What We Delivered

Client

A Financial Services group with a holding company and several operating entities in the UAE

Solutions

Services

Client confidentiality: we are not allowed to disclose the name or address of this client. The project details below are shared with that in mind.

Apps and modules in this project

  • Accounting
  • Multi-company
  • Inter-company transactions
  • Multi-ledger consolidation
  • Lock dates
  • Audit trail
  • Analytic accounting
  • Spreadsheet dashboards

The Challenge

The client is a Financial Services group made up of a holding company and several operating entities, each with its own bank accounts, VAT obligations and statutory accounts. Some entities serve clients directly, while others hold investments or provide shared staff, premises and technology to the rest of the group and recharge the cost.

Each entity kept its books in its own copy of an entry-level accounting package. At every month-end, group finance exported trial balances into a consolidation workbook, mapped accounts to the group chart by hand and eliminated inter-company balances with manual adjustments. When the two sides of a recharge did not agree, the difference was traced invoice by invoice, and group results reached the board long after the decisions they should have informed.

Control was the other concern. Closed months could be reopened, so a late adjustment could quietly change a figure the board had already seen, and nothing recorded who had changed what. These are the challenges we see most often in Financial Services:

  • Consolidation by spreadsheet: trial balances exported, mapped and eliminated by hand at every close.
  • Inter-company mismatches: recharges recorded differently, or not at all, on the two sides.
  • Reopened periods: nothing stopped a change to a month that had already been reported.
  • No audit trail: edits to posted entries left no record of the user or the previous value.
  • Late reporting: group results arrived too late to act on.

Our Approach

We started with a free consultation, then ran workshops with the group finance controller and the accountants of each entity, and reviewed what the auditors ask for at every year-end. Mapping the monthly close end to end, from posting in each entity to the board pack, showed that most of the delay came from mismatched inter-company entries, account mapping by hand and adjustments made after a month had been reported.

The fit-gap review confirmed that standard Odoo Enterprise Accounting answers each of these: several companies in one database, inter-company transactions, account mapping and multi-ledgers for consolidation, lock dates and an audit trail. The design relied on configuration rather than custom code, and the key decision was a harmonized group chart of accounts, agreed with finance before anything was built.

We agreed a phased plan, with a sign-off at the end of each phase:

  1. Foundation: the companies, the harmonized chart of accounts, journals, UAE VAT and user access for each entity.
  2. Daily accounting: invoicing, vendor bills, bank reconciliation and inter-company recharges, tested on real transactions from each entity.
  3. Close and consolidation: lock dates, the audit trail, account mapping, the consolidation ledger and the board reports.

Opening balances and open items for every entity were test-loaded on a copy of the database and reconciled with the old packages before the final import. Accountants were trained by role on their own entity's data, and group finance ran a full month-end in parallel with the old workbook, retiring it only when both gave the same group results.

The Solution

Every Entity in One Database, with Recharges That Agree

Each legal entity is a company in a single Odoo Enterprise database, with its own journals, bank accounts, VAT settings and fiscal year. Users only see the companies they are allowed to work in, so an entity accountant stays in that entity's books while group finance moves between them from the company selector.

Inter-company transactions are switched on between the group companies. When the shared services company confirms a recharge invoice to another entity, Odoo creates the matching vendor bill in the receiving company, and a credit note creates the matching refund. Inter-company balances sit on dedicated accounts, so both sides are easy to compare and eliminate.

Consolidation without the Workbook

Each entity's accounts are mapped to the group structure on the account itself, so Odoo combines like with like when several companies are selected. Elimination entries go into consolidation adjustments journals that only the group's consolidation ledger includes, so each entity's own reports stay statutory. Horizontal groups show each company's contribution beside the consolidated balance sheet and profit and loss, and figures from any entity that keeps its books in another currency are translated at historical rates for equity, weighted average rates for profit and loss and closing rates for the rest of the balance sheet.

Closed Periods That Stay Closed, with a Full Audit Trail

Once a month is reviewed, sales and purchase lock dates stop invoices and bills being posted into it, so late items are dated into the next open period. The tax return lock date protects each filed VAT period, and a lock date covering all entries closes the month for every user when the group signs off. Closed years carry a hard lock date, which cannot be reversed. When a correction is genuinely needed, an accounting administrator grants a time-limited exception with a reason, and the exception is logged on the company record.

The audit trail runs in restrictive mode, so posted entries can be canceled but never deleted, and each change to a field that affects accounting is recorded with the user, the time, the previous value and the new one. The main journals also secure posted entries with a hash, verified by the data inalterability check report, and the auditors' year-end requests are answered from reports already in Odoo.

Group Reporting in Time to Act

A spreadsheet dashboard on live Odoo data shows group results, cash by entity and open inter-company balances, and the board pack comes from the consolidated reports instead of being assembled by hand. Analytic accounts for each business line show which services earn their keep across the entities. Our OdooStar team supports the system as the group grows.

Facing the same challenge? Tell us about your project.

The Results

  • Group results come from Odoo Enterprise at every close, instead of being rebuilt in a consolidation workbook.
  • Inter-company recharges are recorded once and mirrored automatically, so both sides agree and eliminations no longer start with a hunt for differences.
  • Closed months stay closed: lock dates stop late postings, and every exception is time-limited, explained and logged.
  • Each change to a posted entry is on the audit trail with the user, the time and the previous value, and posted entries can no longer be deleted.
  • Year-end audit requests are answered from reports already in Odoo, not from spreadsheets prepared for the occasion.
  • The board receives group results while there is still time to act on them.

Lessons for Similar Projects

  1. Agree a harmonized chart of accounts before configuring anything. A consolidation is only as clean as the account mapping behind it.
  2. Record inter-company recharges through the system on both sides from the start. Most consolidation effort goes into differences that should never have existed.
  3. Make lock dates part of the close routine rather than an afterthought, and decide in advance who may grant an exception and for what reasons.
  4. Run a full month-end in parallel with the old workbook before retiring it. Matching group results is what earns the finance team's trust in the new system.
OdooStar by Star Bit Solutions

Planning a Similar Project?

Tell us how your entities are structured and how you close today. We will show you consolidation, lock dates and the audit trail in Odoo Enterprise on a sample of your own data.

Not Sure Which Solution Fits?

Tell us about your business and we will recommend the right starting point, free of charge.