Odoo for a Moroccan SMB: what to configure before the first invoice
Odoo in Morocco: dirhams, VAT, legal identifiers, numbering, user rights and backup. What to configure before issuing your first invoice.

Odoo installs in an hour. Making it compliant and pleasant to use takes a few days of well-run configuration. The short answer: before issuing the first invoice, set up the Moroccan localisation and currency, have taxes and legal mentions validated by your chartered accountant, lock the numbering, import clean data, limit rights and secure the hosting.
Here is the method we apply for our clients, step by step, with the pitfalls we run into most often.
Why the initial setup matters so much
An issued invoice cannot be fixed like a draft. Once posted in Odoo, it enters the accounts: a wrong rate, a missing identifier or badly designed numbering then has to be handled with credit notes and correcting entries, costing time for your team and your accountant. An ERP configured properly from the start stays simple; an ERP patched along the way piles up exceptions.
Step 1: company and localisation
- Moroccan localisation: Odoo offers a localisation package for Morocco that installs a chart of accounts and tax templates. It is a starting point, not a finished setup.
- MAD currency formatted as “12 345,00 DH”, with a space as thousands separator and a comma for decimals.
- Taxes: every VAT rate your business uses, exemptions and special cases are checked with your chartered accountant. Rates and rules change with finance laws: we never freeze them without validation and we review them at every change.
- Language: French by default, Arabic or English available for users or customers who want them.
Step 2: identifiers and legal mentions
Business documents carry the company’s identifiers: notably the ICE, the tax identifier (IF), the trade register number (RC) and the patente, along with the legal name, legal form and registered address. For business-to-business sales, the customer’s ICE also appears on the invoice; we make it mandatory on the customer record.
We do not draw up this list alone: your chartered accountant validates it, as it depends on your legal form and activity. We then build it into the document template, with the logo, bank details and payment terms.
Step 3: numbering and documents
Quote, order, invoice and credit note sequences are defined from day one, with a yearly prefix and continuous numbering. In Odoo, a posted invoice receives its final number. The rule we apply: an invoice that has been sent is never edited, it is corrected with a credit note. Users need to know this before they start.
If you are taking over from an existing tool, Odoo numbering must start after the last invoice issued by the old tool, to avoid any duplicate.
Step 4: data migration
Customers, suppliers, products and price lists are cleaned then imported from Excel. We reject duplicates, inconsistent casing and incomplete records at import: an ERP that is clean on day one stays clean.
| Data | Check before import | Who validates |
|---|---|---|
| Customers | Legal name, ICE, address, payment terms, duplicates | Sales or sales administration |
| Suppliers | Identifiers, contact details, purchase terms | Purchasing or accounting |
| Products and services | Unique reference, unit, applicable tax, account | Management and chartered accountant |
| Price lists | Prices, discounts, currency | Sales management |
| Opening balances | Unpaid invoices, cut-over date | Chartered accountant |
We always run a first test import, checked by the users, before the final import.
Step 5: rights and approval workflows
Who creates a quote, who approves it, who invoices, who collects. Odoo lets you open everything, which is rarely a good idea. We define three or four profiles, for example sales, sales administration, accounting and management, then test them with the real users. Everyone has their own account: a shared account makes it impossible to know who changed an invoice.
Step 6: hosting, security and backup
Dedicated instance, HTTPS, named accounts protected by multi-factor authentication, daily off-site backup and a separate test environment for changes and upgrades. An ERP that hosts your invoicing deserves the same seriousness as your accounting: we apply the rule described in our guide to the immutable 3-2-1 backup, and we test restores.
Odoo also holds personal data about customers and contacts. Processing it falls under Law 09-08 and the CNDP: restricted access, retention periods, security.
Step 7: train, then go live
The best configuration fails if users go back to their Excel file at the first difficulty. We train each profile on its own tasks, with its real data: sales on quotes, sales administration on orders and deliveries, accounting on invoices, credit notes and payments. A short guide specific to your company remains available after the training.
Go-live happens on a chosen date, ideally at the start of a month, with a pilot invoice reviewed by your chartered accountant before it goes to the first customer. In the first weeks, we stay available to adjust the settings that only real use reveals.
Odoo or Dolibarr?
| Criterion | Dolibarr | Odoo |
|---|---|---|
| Getting started | Fast, simple interface | Longer, richer configuration |
| Scope | Quotes, invoices, stock, basic CRM | Sales, purchasing, stock, manufacturing, e-commerce, HR |
| Growth | Suited to small, stable organisations | Keeps up with growth and complex processes |
| Integrations | Community modules | Broad application ecosystem |
Dolibarr is often enough to start; Odoo becomes the right choice as processes multiply, for example in retail and distribution.
What about e-invoicing?
Paperless invoicing is a topic tax authorities are following closely, in Morocco as in Europe. We do not comment on timelines: your chartered accountant remains the right source. However, an ERP that produces structured invoices, numbered without gaps and with complete identifiers, puts you in the best position to adapt when the time comes.
The mistakes we fix most often
- Invoicing before taxes are validated by the chartered accountant.
- Importing a raw Excel file, with duplicates and customers without identifiers.
- Giving everyone administrator rights “to go faster”.
- Testing an upgrade or a new module directly in production.
- No tested backup, or a backup stored on the same server as Odoo.
- A single account shared between several users.
Checklist before the first invoice
- Moroccan localisation installed, MAD currency and number format checked.
- Taxes and exemptions validated by the chartered accountant.
- Identifiers and legal mentions validated and present on the invoice template.
- ICE mandatory on business customer records.
- Numbering sequences defined, starting point consistent with the old tool.
- Data cleaned, test import checked, final import done.
- User profiles tested with the real users.
- HTTPS, MFA, tested off-site backup and test environment in place.
- Pilot invoice reviewed by the chartered accountant before go-live.
How we do it
We start by mapping your processes: sales, purchasing, stock, invoicing, collection. We choose between Odoo and Dolibarr with you, configure the solution, migrate your data, train each profile and have a pilot invoice reviewed by your chartered accountant. We then host the solution securely, with backups and 24/7 monitoring.
You still need to decide where it runs: our guide to Odoo hosting in Morocco: cloud, server and backup compares Odoo Online, Odoo.sh and a dedicated server.
All of this is part of our ERP and CRM offer. Discover our technology partners, our case studies and our IT audit method. To find out where to start, request your free initial audit: we reply within 24 business hours.
Frequently asked questions
Is Odoo suitable for invoicing in Morocco?
Yes, provided it is configured properly. Odoo has a Moroccan localisation, but installing it is not enough: currency, taxes, legal mentions, numbering and rights must be configured, then validated with your chartered accountant before the first invoice.
Which legal mentions must appear on an Odoo invoice in Morocco?
The company's identifiers (notably ICE, IF, RC and patente), its legal name and address, and the customer's ICE for business-to-business sales. The exact list depends on your situation: have it validated by your chartered accountant, then we build it into the invoice template.
How do I import customers and products into Odoo?
Customers, suppliers, products and price lists are cleaned in Excel, deduplicated and standardised, then imported with Odoo's import templates. A first test import lets you fix errors before the final import.
How should Odoo be hosted securely?
On a dedicated instance with HTTPS, named accounts protected by MFA, a daily off-site backup whose restore is tested, and a separate test environment for changes and upgrades.
About the editorial team
ALLSAFE SOLUTIONS
Network, security and cloud engineers
Written by the engineering team at ALLSAFE SOLUTIONS, a managed IT provider founded in Casablanca by network, security and cloud engineers. Our articles draw on the projects we deliver for clients in Morocco and abroad.
LinkedIn









































