Odoo 20
Odoo 20 is out: what actually changes for you
Odoo unveiled version 20 at Odoo Experience in Brussels, 24–26 September 2026. Your SaaS databases will move to it automatically in the coming weeks, with no migration project. We installed it on a test database on day one: here is what we saw, and what we check before your databases switch.

AI moves from assistant to agent — and starts costing
Until now the Odoo assistant read and summarised. In version 20, agents create and update records, answer questions about a file you hand them, generate images for product pages and marketing e-mails, and can be triggered by a scheduled action. One thing to know before opening the tap: every AI feature now consumes IAP credits, bought separately. We size that consumption with you before switching it on.
A built-in MCP server — not to be confused with ours
Odoo 20 ships its own MCP server: a standard doorway through which an outside AI can query your database. It is not the same object as the Senedoo MCP server, and the two do different jobs. We wrote a full article on the difference: what is an MCP server?
Accounting: the bank becomes the source of truth
A structural change: every journal entry touching a bank account must now originate from a bank transaction. No more manual entries matching nothing on the statement — in exchange, your statements must reach Odoo. Add a reconciliation summary report, analytic distribution on reconciliation adjustments, and above all vendor bill line prediction: when encoding or importing, Odoo suggests product, account, tax and analytic distribution from your billing history.
Point of sale: four employee levels, and a lighter closing
Employee access levels have been renamed and a highly restrictive one, "Supervised", has appeared: the employee sells but cannot take payment. We tried all four on screen on a test till — from the most restricted to the manager, the only one who can close the session. Another change that matters to networks: at the end of the session Odoo generates a global sale that simplifies the accounting entries, and payment entries are generated at the time you set, without waiting for the session to close. Add expired-product alerts at the till, label printing through any USB printer, and automatic conversion of order lines into combos for large tables.
Payroll: a dashboard that warns before the damage
The payroll dashboard now focuses on configuration warnings; a pay run becomes a step-by-step path; you can simulate a salary from a net amount; index salaries by a percentage or a fixed amount; and a salary rule can at last belong to several categories and serve in several structures. Contract dates can no longer be edited when payslips exist: you must cancel them first. Our twenty-eight Senegalese collective agreements are checked on version 20 before your databases switch.
Inventory, sales, website, daily use
- Inventory: view stock at a past date with your filters; the cost of goods sold is corrected retroactively when a landed cost lands after delivery; intercompany flows within a group (resupply, delivery from another company's warehouse) are finally clean.
- Sales: description-only quotation lines with no mandatory product; margin editable directly on the line, recomputing the price; commissions based on the amount actually paid.
- eCommerce: automatically generated cross-selling, review requests scheduled after the order, a dedicated accounting journal for online orders.
- Website: the AI assistant creates pages, web forms and menus; URLs finally accept accented characters.
- Daily use: offline mode (create, edit, archive with no network), CC recipients on e-mails sent from Odoo, chatter filter, multi-record drag and drop, a new icon set.
Under the hood: what we had to adapt
We read your databases through the API to produce our OHADA trial balances, your dashboards and your shelf labels. Two changes kept us busy from day one: a binary field (product photo, attachment) read over XML-RPC no longer returns a string but an object, and the historical database-management service is gone. Our thirteen image and attachment readers were adapted on 26 September; your reports never noticed. The old interface stays usable until winter 2027 — we are already preparing the next one.
What the release notes do not say
No West African localisation appears in the list: no SYSCOHADA, no Senegalese VAT, no BRS, no CSS-IPRES. That is expected, and it is our job: those statements live in your database, installed and maintained by us, at every Odoo version and every finance act. See Senegalese payroll and accounting