If you are planning an upgrade from Odoo 18 to Odoo 19, this guide lists the fields and features that Odoo 19 removed or replaced, explains what takes their place, and shows how to save your data and test the upgrade before it reaches your live database. Odoo does not publish a complete list of removals. The Odoo 19 release notes mention that product units and packagings were merged and that unit of measure categories were removed, but they do not mention other removals, such as the Description field on canned responses or the Stock Input and Stock Output accounts on product categories.
What you need before you start
- Version and edition: an Odoo 18 database that you plan to move to Odoo 19. Every change below is in the standard apps that Community and Enterprise share. Studio, used in one optional step, is Enterprise only.
- Apps: only the sections for apps you use apply to you: Discuss, Inventory, Sales, Purchase, and Accounting or Invoicing.
- Access rights: the Inventory Configuration menu and the Replenishment menu require the Inventory Administrator role. Exporting records requires export permission, which Settings administrators have by default.
- Settings: in Odoo 19, the Packagings field and the Units & Packagings menu appear only when Units of Measure & Packagings is enabled under Inventory, Configuration, Settings. In Odoo 18, the Product Packagings menu appears only when the Product Packagings setting is on.
- Terms: a unit of measure is the unit a product is counted, bought or sold in. A packaging is a fixed quantity of one product, such as a 6-pack. A reordering rule tells Odoo to replenish a product when its stock falls below a minimum. A route is the path a product follows, such as Buy or make to order. A canned response is a saved reply that users insert in messages through its shortcut.
Two removals the release notes do not mention
- Canned responses: Description. In Odoo 18, each canned response had a Description field for internal notes. Odoo 19 removed it, so the upgrade has nowhere to put that text. It is still absent in Odoo 20.
- Product categories: Stock Input Account and Stock Output Account. Both fields are gone in Odoo 19. The category keeps its stock valuation account, labelled Stock Account on the Odoo 19 screen.
Packagings and units of measure were merged
- Product packagings are now units of measure. A packaging in Odoo 19 has a Unit Name, a Quantity, a Reference Unit and optional barcodes. You manage them under Inventory, Configuration, Products, Units & Packagings, and you add them to a product in the Packagings field on its Sales tab.
- The Packaging field on order lines is gone. On sales order lines, the Unit field offers the product's own unit plus its packagings. Purchase lines and transfers also offer the units set on the product's vendor lines.
- Unit of measure categories were removed. Each unit now points to a Reference Unit instead of belonging to a category.
- The Purchase Unit on the product was removed. The purchase unit is now set per vendor, in the Unit field of each vendor line on the product's Purchase tab.
Reordering rules and sales order line routes
- Multiple Quantity became Multiple. In Odoo 18, you typed a number, and Odoo rounded the order quantity up to a multiple of it. In Odoo 19, the Multiple field is a unit or packaging, chosen from the product's packagings and vendor units. Odoo rounds up to a multiple of that unit, and does not round at all if the field is empty. A rule that used a multiple of 12 would therefore need a 12-unit packaging to keep the same behavior. Odoo 20 keeps this field.
- Route on the sales order line became Routes. The line now accepts several routes. The field still shows only when Multi-Step Routes is enabled in the Inventory settings. Odoo 20 keeps it.
- Procurement groups were removed. A procurement group tied a sales order to its transfers. In Odoo 19, stock references, which link related stock documents, do that job, so reports or filters built on Procurement Group are likely to need rebuilding.
Inventory valuation changed meaning
Inventory valuation is how Odoo records the value of your stock in the accounts. With periodic valuation, Odoo suggests the stock entries in the inventory valuation report at closing. With perpetual valuation, it posts them automatically.
- The options were renamed and redefined. Odoo 18 offered Manual and Automated, and Automated posted an entry when a product entered or left the company. Odoo 19 offers Periodic (at closing) and Perpetual (at invoicing). According to the field's own description, Perpetual now creates the entry when the product is billed or invoiced. Odoo 20 uses the same two options.
- The Automatic Stock Accounting setting was removed. In Odoo 18, it had to be on before the Inventory Valuation choice appeared on categories. In Odoo 19, the field shows to Inventory Administrators and to users who can see accounting features.
- Locations have one valuation account instead of an incoming and an outgoing one.
- Stock valuation layers were removed. Each stock move now holds its own value, and manual cost changes are kept as a separate history. Custom reports built on valuation layers will need rework.
Save your data before you upgrade
Do these steps in your Odoo 18 database.
- Open the Discuss app and go to Configuration, then Canned Responses. Select all records, open the Actions menu and choose Export. Add the Description field and export. A spreadsheet downloads.
- Open the Inventory app and go to Configuration, then Products, then Product Packagings. Export the list in the same way.
- Go to Inventory, then Operations, then Replenishment. Export your rules with the Multiple Quantity field.
- Go to Inventory, then Configuration, then Products, then Product Categories. Write down the Stock Input Account and Stock Output Account of each category. In Odoo 18, these appear only on categories set to Automated valuation.
- Request an upgraded test database. Odoo's upgrade documentation sets out three steps: get an upgraded test database, test it, and only then upgrade production.
Check that it worked
Run this checklist on the upgraded test database. Success means each screen matches what you exported.
- Open Inventory, Configuration, Settings and confirm that Units of Measure & Packagings is enabled. Then open Configuration, Products, Units & Packagings. Each old packaging should appear with the right Quantity and Reference Unit.
- Create a draft sales order for a packaged product. The Unit field on the line should offer its packagings.
- Open Inventory, Operations, Replenishment and show the optional Multiple column. Each rule that rounded in Odoo 18 should have a unit there.
- Open Inventory, Configuration, Products, Categories. Each category should show the Inventory Valuation you expect and the right Stock Account.
- If you still need canned response notes, add a custom field, for example with Studio, and import the exported descriptions.
If a field seems to be missing, check whether it moved before you rebuild anything. Route became Routes, the Purchase Unit moved to the vendor line, and Multiple Quantity became a packaging.
Steps verified on Odoo 19. Menus and labels can differ on other versions.
Common questions
Does Odoo publish a full list of fields removed in Odoo 19?
No. The Odoo 19 release notes mention that product units and packagings were merged and that unit of measure categories were removed, but they have no dedicated list of removed or deprecated fields. Items such as the canned response Description field and the Stock Input and Stock Output accounts on product categories are not mentioned.
Where did product packagings go in Odoo 19?
Packagings are now units of measure. Each one has a Unit Name, a Quantity and a Reference Unit, and you manage them under Inventory, Configuration, Products, Units & Packagings, or in the Packagings field on the product's Sales tab. Both appear only when the Units of Measure & Packagings setting is enabled in the Inventory settings.
How do I set a purchase unit of measure in Odoo 19?
The Purchase Unit field on the product was removed. Set the unit on each vendor line in the product's Purchase tab, using that line's Unit field.
Will the canned response Description field come back in Odoo 20?
No. The field is absent in both Odoo 19 and Odoo 20. To keep that information, export it before upgrading and store it in a custom field afterwards.
What happened to Manual and Automated inventory valuation?
In Odoo 19 they became Periodic (at closing) and Perpetual (at invoicing). Perpetual now creates the valuation entry when the product is billed or invoiced, rather than when it enters or leaves the company as Automated did in Odoo 18.
Talk to the team.
If you are setting this up, or Odoo is not behaving the way this guide describes, book a 30-minute call. We will look at your configuration and tell you what it needs. Calgary studio, in-house team, no offshore handoffs.
Book the call →