Odoo can be installed in an afternoon. An accounting implementation that an auditor will accept takes longer, because the hard part is not the software. It is deciding how the business should be recorded, then making the system enforce those decisions. These are the phases we follow, in the order we follow them, and the mistakes we are most often called in to fix.

Phase one: what should the chart of accounts look like?

Start from the localization chart for Egypt or Saudi Arabia, then shape it around how management and the tax returns need to read the numbers. Keep the chart of accounts for the statutory and tax view, and use analytic accounts for branches, projects and cost centres rather than multiplying ledger accounts. Agree the mapping from the old chart to the new one in writing, because opening balances and comparative reports both depend on it.

Phase two: how should taxes and journals be configured?

Each tax the company actually uses is configured with the correct rate, accounts and tax grids, including refunds. Journals are set up for each bank account, each cash box, sales, purchases and miscellaneous entries, with sequences that match the company’s numbering policy and, where relevant, the e-invoicing requirements of the ETA or ZATCA. Payment terms, fiscal positions for exports and foreign suppliers, and currency settings also belong in this phase.

Phase three: who can do what?

Access rights are an internal control, not an IT task. Decide who can create and post vendor bills, who can register payments, who can create customers and vendors, who can edit taxes and accounts, and who can post manual journal entries. Separate the person who creates a vendor from the person who pays it. Odoo’s user groups and approval features cover most of this natively; anything that needs Studio or custom development should be documented as such.

Phase four: how do you load opening balances correctly?

  • Choose a cut-over date at a period end, ideally a closed and reviewed month or year.
  • Load the trial balance at that date into a dedicated opening journal, through a suspense account that must end at zero.
  • Load open customer invoices and vendor bills individually, so ageing and payment matching work from day one.
  • Load inventory quantities and values that agree with the stock count and the ledger, and fixed assets with their accumulated depreciation.
  • Reconcile every control account, bank, receivables, payables, inventory and VAT, to its subledger before anything else is posted.

Phase five: why run in parallel?

For at least one month, transactions are recorded in both the old system and Odoo, and the month is closed in both. The two trial balances, the VAT position and the receivable and payable ageing are compared line by line. The differences are almost always configuration: a tax posting to the wrong account, a journal with the wrong default account, a product category with the wrong valuation accounts. Finding them in a parallel month costs days. Finding them after go-live costs a restatement.

Phase six: what does go-live look like?

Go-live is a decision, signed by the finance lead, based on a passed parallel run and a short list of known issues, each with an owner. The old system is set to read-only. Lock dates are set in Odoo for every period before go-live. Users are trained on their own processes, not on Odoo in general, and the first month-end close is run with the implementation team present.

The parallel month is the cheapest audit you will ever buy.

What are the typical mistakes?

  • Copying the old chart of accounts line by line, including accounts nobody has used in years.
  • Loading opening receivables and payables as a single total, so nothing can be matched or aged.
  • Giving every finance user the adviser or administrator role to save time during setup, and never taking it back.
  • Creating taxes by hand during go-live week without tax grids, so the tax report is wrong from the first month.
  • Skipping the parallel run because the deadline is close.
  • Treating inventory as a separate project, when its valuation accounts drive the balance sheet.

Our Odoo implementations are led by accountants for this reason. Every phase above ends with a reconciliation, and the project is not finished until the numbers agree.

Talk to MFT about this