Skip to main content
TechUltra Solutions Pvt. Ltd. — AI-Enabled ERP Transformation
Free Consultation
Menu

Odoo 20 · detailed guide

What's new in Odoo 20 Inventory & Manufacturing

Sharper stock control from the warehouse to the shop floor.

83 new features
9 apps covered
69 screenshots

Odoo 20 brings a long list of practical improvements to the apps that run your physical operations: Inventory, Purchase, Barcode, Manufacturing, PLM, Quality, Maintenance and Repairs. Most of the changes are not about flashy new screens. They are about fewer clicks, clearer reports, better planning tools and closer links between buying, storing, making and fixing products.

If you manage a warehouse, a purchasing team, a production floor or a service workshop, this release has something for you. Below we walk through the features we think matter most for business owners and managers, explain how they work in day-to-day use, and list the other notable additions for each app so you can judge what Odoo 20 could change in your own processes.

Last updated 14 October 2026

24 new in Odoo 20

Manufacturing

24 features
01
ImprovedCommunity + Enterprise

Bill of materials

Manufacturing > Products > Bills of Materials

Bills of materials offer several tools. Selecting BoMs in the list and using Actions > Compare BoMs opens a pivot table with one column per BoM and one row per component. In the BoM Overview with Forecast on, one Status column shows availability, the quantity to buy or make, or an estimated date. The Miscellaneous tab has an Extra Cost field adding a fixed cost per unit to each order from that BoM. A Components / Sub Assemblies smart button lists every component line, sub-assemblies included, in one editable list.

Why it matters Helps engineers compare BoMs side by side, check availability at a glance and include fixed extra costs.

How to use it

  1. Go to Manufacturing > Products > Bills of Materials.
  2. Select two BoMs and choose Actions > Compare BoMs.
  3. Open a BoM for BoM Overview, Forecast and the Miscellaneous tab.
Odoo 20 · Manufacturing
Products menu: Compare BoMs
Odoo 20 · Manufacturing
BoM comparison pivot
Odoo 20 · Manufacturing
BoM Miscellaneous tab: Extra Cost
02
ImprovedCommunity

Component replacement

Manufacturing > Products > Products > [product] > Used In

The Used In smart button on a component product opens the BoM component lines that use it, showing the final product, quantity and unit. Users can edit the quantity or replace the component across several BoMs at once. The same lines are also reachable from Compare BoMs in the BoM list and from the Components button on the BoM form.

Why it matters Lets engineers find every BoM using a part and replace it in bulk.

How to use it

  1. Go to Manufacturing > Products > Products.
  2. Open a component product.
  3. Click Used In and edit the lines in bulk.
Odoo 20 · Manufacturing
Used in BoM list of component lines selected for bulk editing
03
NewCommunity + Enterprise

Continuous production

Manufacturing > Products > Bills of Materials > Miscellaneous tab

Work orders have a Produced Quantity. When Continuous Production is ticked on the bill of materials, a following operation may begin once part of the quantity is recorded on the earlier operation, before that earlier operation is complete. The option is set in the Miscellaneous tab of a bill of materials that has operations, and quantities are then recorded on each work order.

Why it matters Lets later operations start on partial quantities, shortening overall production time.

How to use it

  1. Open a bill of materials with operations.
  2. Tick Continuous Production in the Miscellaneous tab.
  3. Record produced quantities on the work orders.
Odoo 20 · Manufacturing
BoM Miscellaneous tab with new Continuous Production option
04
NewCommunity

Draft versus confirmed manufacturing orders

Inventory > Configuration > Operation Types > Manufacturing

The Manufacturing operation type has an Auto Confirm Production option. When it is unticked, replenishment through reordering rules or make-to-order creates manufacturing orders in draft. The planner reviews and confirms them manually, and components are only reserved once an order is confirmed. This setting is reached from the Inventory configuration, where the operation types are listed, and affects every manufacturing order created automatically by replenishment for that operation type.

Why it matters Lets planners review replenishment MOs as drafts before components are reserved.

How to use it

  1. Go to Inventory > Configuration > Operation Types.
  2. Open the Manufacturing operation type.
  3. Untick Auto Confirm Production.
Odoo 20 · Manufacturing
Manufacturing operation type with Auto Confirm Production checkbox
05
ImprovedCommunity

Generate lots and serials when closing manufacturing orders

Manufacturing > Operations > Manufacturing Orders > Produce

When a manufacturing order for a product tracked by lot or serial number is closed without a number entered, Odoo creates the lot or serial numbers automatically. Users can finish production without typing numbers by hand. The numbers are created when the user clicks Produce on an order for a lot-tracked or serial-tracked product. This applies in the manufacturing order form under Manufacturing > Operations > Manufacturing Orders.

Why it matters Saves operators time by generating lot and serial numbers automatically when closing an MO.

How to use it

  1. Create a manufacturing order for a lot-tracked product.
  2. Leave the lot empty.
  3. Click Produce to generate the lot.
Odoo 20 · Manufacturing
Done MO with lot number auto-generated on Produce
06
ImprovedCommunity

Lot/serial number transfers

Inventory > Products > Lots/Serial Numbers > [lot] > Transfers

On a lot or serial number, the Transfers smart button opens the delivery move lines of that lot only, whether to customers or in transit, rather than complete shipments. This gives a precise view of where a lot went, which helps during recalls. The button is found on the lot form under Inventory > Products > Lots/Serial Numbers, and it lets users check each delivery containing that lot.

Why it matters Helps teams trace exactly which delivery lines contained a given lot.

How to use it

  1. Go to Inventory > Products > Lots/Serial Numbers.
  2. Open a delivered lot.
  3. Click Transfers.
Odoo 20 · Manufacturing
Delivered lot form with the Transfers smart button
07
ImprovedCommunity + Enterprise

Manufacturing order Kanban view

Manufacturing > Operations > Manufacturing Orders > Kanban view

The manufacturing order Kanban view groups orders by week of their scheduled date. Each card shows the component status, the active work center, the deadline and the remaining time. The header of each weekly group displays the total remaining time for the orders in it, helping planners see the workload per week. It is opened from the Manufacturing Orders menu.

Why it matters Helps planners see weekly MOs, component status, active work centers and remaining time at a glance.

How to use it

  1. Go to Manufacturing > Operations > Manufacturing Orders.
  2. Switch to the Kanban view.
  3. Read the weekly groups and their total remaining time.
Odoo 20 · Manufacturing
MO Kanban grouped by week
08
ImprovedCommunity + Enterprise

Manufacturing orders planned ASAP

Manufacturing > Planning > Work Orders > Planning

The Plan action schedules manufacturing orders as soon as possible, starting from the current time, using the earliest free capacity. When several orders are planned together, they are queued in the order they appear in the list. The result can be checked in the work order planning view. The schedule is shown in the work order Gantt under Manufacturing > Planning > Work Orders > Planning.

Why it matters Lets planners schedule orders at the earliest free capacity, queued in list order.

How to use it

  1. Select several confirmed manufacturing orders in the list.
  2. Click Plan.
  3. Open Manufacturing > Planning > Work Orders > Planning.
Odoo 20 · Manufacturing
MO list with several orders selected and the Plan button
09
ImprovedCommunity + Enterprise

MO cost

Manufacturing > Operations > Manufacturing Orders > Overview

The MO Overview has a single MO Cost column. It shows the planned cost while the order is open and the real cost once the order is done. For a component bought from a subcontractor, the replenishment line in the overview adds the cost of the subcontracted BoM components to the vendor price. The overview is opened from a manufacturing order.

Why it matters Helps managers track provisional and actual production costs, including subcontracted components, in one column.

How to use it

  1. Open a manufacturing order.
  2. Click Overview.
  3. Read the MO Cost column.
Odoo 20 · Manufacturing
MO Overview with single MO Cost column and unit cost
10
ImprovedCommunity + Enterprise

Produce button

Manufacturing > Operations > Manufacturing Orders > [order]

Manufacturing orders have a single Produce button. It produces the quantity the user has set, or the whole quantity if none is set, and asks about a backorder when needed. The same button behaviour applies in Manufacturing, Shop Floor and Barcode. This replaces separate production buttons with one action. Users find it on any confirmed manufacturing order opened from Manufacturing > Operations > Manufacturing Orders.

Why it matters Lets operators produce the entered quantity or everything with one button across apps.

How to use it

  1. Go to Manufacturing > Operations > Manufacturing Orders.
  2. Open a confirmed order.
  3. Set a quantity if needed and click Produce.
Odoo 20 · Manufacturing
Confirmed manufacturing order with the single Produce button
11
NewCommunity

Reset MO to draft

Manufacturing > Operations > Manufacturing Orders

A cancelled manufacturing order can be returned to draft with a Reset to Draft button. A done order offers Set to In Progress instead, which reopens it to the confirmed state rather than to draft. This lets users correct orders without recreating them. Both buttons appear on the manufacturing order form, depending on the state of the order, and are used by manufacturing users who need to correct or reopen an order.

Why it matters Lets planners reopen cancelled or completed MOs instead of recreating them.

How to use it

  1. Go to Manufacturing > Operations > Manufacturing Orders.
  2. Open a cancelled order and click Reset to Draft.
  3. For a done order, click Set to In Progress.
Odoo 20 · Manufacturing
Cancelled manufacturing order with Reset to Draft button
12
ImprovedEnterprise

Shop Floor demo sheet

Manufacturing > Configuration > Settings

When demo data is loaded, the Manufacturing settings display a Print barcode demo sheet link in the Barcode section. The printed sheet is used to test barcode scanning in Shop Floor and in Barcode. The link is intended for trying out scanning workflows on a test database, and it appears only when demo data is installed, so it is not shown on databases without demonstration data.

Why it matters Helps teams test Shop Floor quickly by printing a barcode demo sheet.

How to use it

  1. Go to Manufacturing > Configuration > Settings.
  2. Find the Barcode section.
  3. Click Print barcode demo sheet.
Odoo 20 · Manufacturing
Manufacturing settings with Print Shop Floor and barcode demo sheet links
13
ImprovedCommunity

Split manufacturing orders

Manufacturing > Operations > Manufacturing Orders > Gear menu

Using Split on a manufacturing order in progress keeps the quantity currently being produced on the order and moves the remaining quantity to a new backorder immediately. No split wizard is shown. The action is in the gear menu of the order. The backorder holds the remaining quantity. Users work on the original order for the units being produced and continue the rest later on the backorder created by the split.

Why it matters Lets planners split an active MO and get a backorder for the rest instantly.

How to use it

  1. Open a manufacturing order in progress.
  2. Set the quantity being produced.
  3. Choose Gear menu > Split.
Odoo 20 · Manufacturing
Manufacturing order Actions menu with Split option
14
ImprovedCommunity

To Replenish filter

Manufacturing > Operations > Manufacturing Orders > Overview

The MO Overview has a To Replenish toggle. When turned on, it shows only the lines that still need replenishment, helping planners focus on missing components. The overview is opened from the Overview button of a manufacturing order. The toggle hides lines whose components are already available, so the remaining list shows only the components that must still be bought or made before production can go ahead.

Why it matters Helps planners focus on MO lines that still need replenishment.

How to use it

  1. Open a manufacturing order.
  2. Click Overview.
  3. Turn on To Replenish.
Odoo 20 · Manufacturing
MO Overview with new To Replenish toggle in the top right
15
ImprovedEnterprise

Visualize and confirm work orders

Manufacturing > Planning > Work Orders > Planning

Draft manufacturing orders can be planned and appear in the Work Orders Planning Gantt. A Confirm Planning button confirms all the draft orders displayed in one action, letting planners review a draft schedule before committing to it. The Gantt is under Manufacturing > Planning > Work Orders > Planning. Planners check how the draft orders fit the available capacity, then use the button to confirm every draft order displayed in the view.

Why it matters Lets planners review draft MOs in the Gantt and confirm them all at once.

How to use it

  1. Plan a draft manufacturing order.
  2. Go to Manufacturing > Planning > Work Orders > Planning.
  3. Click Confirm Planning.
Odoo 20 · Manufacturing
Work order Gantt showing a draft MO and the Confirm Planning button
16
ImprovedCommunity + Enterprise

Work and manufacturing order reporting

Manufacturing > Reporting > Production Analysis

Work order and manufacturing order reports have been redesigned. Production Analysis shows the cost per unit broken down into components, work centers, subcontracting, employees and operations, next to the quantity produced. The pivot views for manufacturing orders and work orders use new default measures. Manufacturing users and managers open the analysis from the Reporting menu and use its pivot view to see where production costs come from.

Why it matters Helps managers understand unit costs broken down by components, work centers, employees and operations.

How to use it

  1. Go to Manufacturing > Reporting > Production Analysis.
  2. Open the pivot view.
  3. Review the cost per unit breakdown.
Odoo 20 · Manufacturing
Production Analysis pivot breaking unit cost into components, work centers, employees, operations
17
NewCommunity + Enterprise

Work order views

Manufacturing > Planning > Work Orders and Employees

Work orders can be followed in several views. Planning > Work Orders > Kanban groups work orders to follow and adjust the planning. The work order Gantt supports drag and drop with clearer colours, and Planning > Employees > Planning shows work orders per employee. Completed work orders stay visible in the Gantt by default. These views are under Manufacturing > Planning.

Why it matters Helps planners schedule work orders by work center or employee with drag-and-drop Gantt views.

How to use it

  1. Go to Manufacturing > Planning > Work Orders > Kanban.
  2. Use the work order Gantt to drag and drop.
  3. Open Manufacturing > Planning > Employees > Planning.
Odoo 20 · Manufacturing
Work order Kanban grouped by work center columns
18
ImprovedCommunity + Enterprise

Work center overview

Manufacturing > Overview > Work Centers Overview

Each card in the Work Centers Overview has a menu with quick links: Plan Orders, Planning, which opens the work order Gantt of that work center, and, when Maintenance is installed, the work center's maintenance planning. The overview is opened from Manufacturing > Overview > Work Centers Overview or Configuration > Work Centers. These links give planners direct access to the scheduling screens of one work center from its card.

Why it matters Gives supervisors quick links from work center cards to order planning and maintenance.

How to use it

  1. Go to Manufacturing > Overview > Work Centers Overview.
  2. Open a work center card's menu.
  3. Choose Plan Orders, Planning or Maintenance.
Odoo 20 · Manufacturing
Work center card menu with Plan Orders, Maintenance and Planning links
19
ImprovedCommunity + Enterprise

Backorder planning

Manufacturing > Operations > Manufacturing Orders

When part of a planned manufacturing order is produced and a backorder is created for the rest, the backorder is planned right away. Its work orders receive slots on the work centers automatically, so the planner does not need to click Plan again. This applies to manufacturing orders that have work orders and have already been planned. The backorder is opened from the original order.

Why it matters Saves planners time by scheduling backorders automatically into work center slots when created.

How to use it

  1. Plan a manufacturing order that has work orders.
  2. Produce part of it and create a backorder.
  3. Open the backorder to see its planned slots.
20
RemovedCommunity

Flexible consumption

Manufacturing > Operations > Manufacturing Orders > Produce

Bills of materials have no consumption restriction setting. Every manufacturing order allows flexible consumption: if the consumed quantities differ from the BoM, Odoo shows a warning that the user can confirm and continue. The warning is informational and does not block production. Manufacturing users see the warning when they click Produce on a manufacturing order whose consumed quantities have been changed, and they can confirm it to finish production.

Why it matters Expect every MO to allow flexible component consumption, with warnings shown for information only.

How to use it

  1. Open a manufacturing order.
  2. Change a consumed component quantity.
  3. Click Produce and confirm the warning.
21
NewCommunity + Enterprise

Put in pack from MO

Manufacturing > Operations > Manufacturing Orders

If a destination package is set on the finished product of a manufacturing order, the product is placed in that package when it is produced. The order then shows a Packages smart button with the package history, and Barcode also offers Put in Pack. Packages must be enabled in the Inventory settings. The package is set on the order's Moves.

Why it matters Lets teams pack finished products during production and review package history.

How to use it

  1. Enable Packages in Inventory settings.
  2. On an MO, open Moves and set a destination package.
  3. Click Produce, then check the Packages smart button.
22

Subcontracting MO

Component Status and the MO overview work for subcontracted production. Users can check which components are missing for a subcontracted manufacturing order and order them from there.

Why it matters Helps buyers check and order missing components for subcontracted production.
23
ImprovedCommunity

Subcontracting reception valuation

When a subcontracted product is received without a purchase order, the subcontracting cost is taken from the subcontractor's vendor pricelist at the time of reception. The cost is therefore included in the valuation of the received product. This applies when the receipt from the subcontractor is validated for a product that has a subcontracting bill of materials and no related purchase order. Users can check the resulting valuation after validation.

Why it matters Helps accountants value subcontracted receipts without purchase orders using vendor pricelists.

How to use it

  1. Create a subcontractor receipt without a PO for a subcontracted product.
  2. Validate the receipt.
  3. Check the valuation.
24
ImprovedCommunity

Traceability report expiration dates

Inventory > Products > Lots/Serial Numbers > Traceability

The traceability report includes an Expiration Date column for lots that carry an expiration date. Users can see expiry information while tracing a lot. Expiration Dates must be enabled. The report is opened with the Traceability button on a lot, from Inventory > Products > Lots/Serial Numbers. The column shows the date stored on each lot, so users can see expiry information for every lot listed while tracing its movements.

Why it matters Helps quality teams see lot expiration dates directly in traceability reports.

How to use it

  1. Enable Expiration Dates.
  2. Go to Inventory > Products > Lots/Serial Numbers and open a lot.
  3. Click Traceability.

23 new in Odoo 20

Inventory

23 features
25
ImprovedCommunity

Allocation report

Inventory > Products > Products > (product) > Forecasted

When an incoming receipt covers an outgoing delivery of the same product, the product's forecast report shows an Assign link on that delivery line. One click links the receipt to the delivery, and Unassign removes the link. An allocation report, opened with the Allocation button on transfers, handles this linking, and the operation type defines when it pops up. Warehouse staff use it to reserve incoming goods for specific deliveries.

Why it matters Helps warehouses tie incoming receipts to specific outgoing deliveries.

How to use it

  1. Confirm a receipt and a delivery for the same product.
  2. Open the product and click the Forecasted smart button.
  3. Click Assign on the delivery line covered by the receipt.
Odoo 20 · Inventory
Receipt form with new Allocation smart button opening the allocation report
26
NewCommunity

CMR document

Inventory > Operations > Deliveries > Print > Consignment Note (CMR)

The Transport Management app (stock_fleet) adds a 'Consignment Note (CMR)' PDF to the Print menu of delivery orders and dispatch batches. The document is filled from the transfer with the sender, consignee, places, and rows of goods with packages, HS codes, weight and volume. It can also be printed automatically when a transfer is validated, and from the Barcode app. It is available once Transport Management is enabled in the Inventory settings.

Why it matters Lets shippers print a filled CMR consignment note directly from delivery orders.

How to use it

  1. Go to Inventory > Configuration > Settings and enable Transport Management.
  2. Open a delivery order.
  3. Click Print > Consignment Note (CMR).
Odoo 20 · Inventory
Delivery order Print menu with new Consignment Note (CMR) report
27
ImprovedCommunity

Company-specific customer lead times

Inventory > Products > Products > (product) > Inventory tab

The Delivery Time field of a product, which is the customer lead time in days, is stored per company. Each company in a multi-company database can keep its own number of days for the same product. Sales order lines use the value that belongs to the company of the order. It is set on the product's Inventory tab. The field is shown on the product form.

Why it matters Lets each company promise customers its own delivery lead time.

How to use it

  1. Open a product and go to the Inventory tab.
  2. Set Delivery Time.
  3. Switch company and set a different value.
Odoo 20 · Inventory
Product Inventory tab Delivery Time field, now set per company
28
ImprovedCommunity + Enterprise

Intercompany flows

Inventory > Operations > Replenishment; Sales > Orders

A warehouse's Resupply From list can include warehouses of other companies; Odoo creates a resupply route through the Inter-company transit location for products and reordering rules. A sales order's Warehouse can belong to another allowed company, which creates the delivery there while the order stays in the original company. Goods received from another company are valued at the sending company's delivery cost. Changes to linked purchase or sales orders update the other company's order, with a chatter note listing them.

Why it matters Lets companies ship and resupply from each other's warehouses with linked orders updating automatically.

How to use it

  1. Open a warehouse and tick another company's warehouse in Resupply From.
  2. On a sales order, Other Info > Warehouse, pick another company's warehouse.
  3. Check values in Inventory > Reporting > Moves Analysis with both companies.
Odoo 20 · Inventory
Warehouse Resupply From listing another company's warehouse (Chicago)
29
ImprovedCommunity

Inventory at a past date

Inventory > Reporting > Stock

The Stock report has an 'Inventory at Date' section at the top of its side panel. Choosing a date and time recomputes the quantities and values in the list as they were at that moment, while keeping the current filters and the selected category. A 'Current stock' option returns to today's figures. Stock managers and accountants use it to check past inventory levels and values.

Why it matters Helps teams check stock levels at an exact past date and time.

How to use it

  1. Go to Inventory > Reporting > Stock.
  2. Select a category in the side panel.
  3. Set a date and time in Inventory at Date.
Odoo 20 · Inventory
Stock report: Inventory at Date picker
30
ImprovedCommunity

Landed costs for specific products

Inventory > Operations > Landed Costs

Each landed cost line has an 'Apply On' field. If it is left empty, the cost is spread across all products of the transfer; if products are chosen, only those products receive the cost. A landed cost product can also hold a default 'Apply On' list that is used when it is added. This lets users charge a cost only to the items it concerns.

Why it matters Lets teams apply landed costs to selected products or across the whole transfer.

How to use it

  1. Go to Inventory > Operations > Landed Costs > New.
  2. Pick the receipt and add cost lines.
  3. Set Apply On on a line, then compute and validate.
Odoo 20 · Inventory
Landed cost form with new Apply On column on cost lines
31
NewCommunity

Picking notifications

Inventory > Operations > Transfers > Followers > Edit Notification Preferences

Transfers have a follower subtype named 'Transfer Status'. Followers who select it are notified when the transfer is validated or cancelled, and when a message about a backorder or partial delivery is posted. Users who need to follow specific transfers can subscribe to these updates from the followers menu in the chatter. The subtype is chosen per follower in Edit Notification Preferences.

Why it matters Keeps followers informed when transfers are validated, cancelled or partially delivered.

How to use it

  1. Open a transfer.
  2. In the chatter, open Followers and click the bell icon.
  3. Tick Transfer Status and click Update.
Odoo 20 · Inventory
Transfer follower Notification Preferences with new Transfer Status subtype
32
ImprovedEnterprise

Preview Barcode instructions in operation type

Inventory > Configuration > Operation Types > Receipts > Barcode App

The Barcode App tab of an operation type shows an 'Instructions Preview' listing the numbered steps that an operator will see in the Barcode app for that operation. The preview updates as soon as the mandatory scan options are changed. Inventory managers configuring operation types can see the effect of their settings on the operator's workflow before using it. It is found on each operation type.

Why it matters Helps managers see the scan steps workers will follow as they change settings.

How to use it

  1. Go to Inventory > Configuration > Operation Types.
  2. Open Receipts.
  3. Open the Barcode App tab to see the preview.
Odoo 20 · Inventory
Receipts operation type Barcode App tab with numbered Instructions Preview
33
ImprovedCommunity

Product packaging barcodes

Inventory > Products > Products > (product) > Sales tab > Packagings > Barcodes

Under Packagings in a product's Sales tab, a 'Barcodes' link opens the list of packaging barcodes for every variant of that product. In that list, barcodes can be added and edited. It is available for goods products when units of measure are enabled, and helps users manage the barcodes printed on packs and boxes in one place. The link sits in the Packagings section.

Why it matters Makes managing packaging barcodes across all variants quicker.

How to use it

  1. Open a goods product with Units of Measure enabled.
  2. Go to the Sales tab, Packagings section.
  3. Click Barcodes.
Odoo 20 · Inventory
Product Sales tab with new Barcodes link under Packagings
34
ImprovedCommunity

Product replenishment

Inventory > Operations > Replenishment

The Replenishment list has a single Order button next to Snooze and Suggest. Users select any products, including ones that do not need reordering yet, and click Order; Odoo orders enough to bring the forecast up to the Max quantity. If the user has typed a quantity in the To Order column, that quantity is used. Purchasing and stock staff use it to reorder several products at once.

Why it matters Simplifies replenishment with one button that orders up to the forecast-based maximum.

How to use it

  1. Go to Inventory > Operations > Replenishment.
  2. Remove the default filter and tick some products.
  3. Click Order.
Odoo 20 · Inventory
Reordering rules: Order, Snooze, Suggest
35

ShipStation shipping connector

Odoo 20 includes a shipping connector for the ShipStation service. With it, businesses can ship their orders through ShipStation directly from inside Odoo, without leaving the application.

Why it matters Lets businesses ship through ShipStation directly from Odoo.
Odoo 20 · Inventory
Delivery method form using the new ShipStation provider
36
RemovedCommunity + Enterprise

Simplified returns

Inventory > Operations > Deliveries

Clicking Return on a completed transfer creates a draft return transfer straight away, with the products listed at zero quantity and no separate wizard. The return has a 'Return All' button to fill in the delivered quantities and a 'Clear' button to reset them; quantities can also be typed line by line before validating. Warehouse staff handling customer returns use it from the delivery.

Why it matters Expect Return to create a draft return directly; set quantities with Return All or Clear.

How to use it

  1. Go to Inventory > Operations > Deliveries and open a completed delivery.
  2. Click Return.
  3. Use Return All or type quantities, then validate.
Odoo 20 · Inventory
Draft return created directly with zero quantities and Return All / Clear buttons
37
NewCommunity

Stock aging report

Inventory > Reporting > Moves Analysis

Moves Analysis includes a saved favorite named Aging Report. It groups incoming and outgoing moves by product category and product, spreads them across months, and displays the remaining quantity and value. This shows how old the stock still on hand is. It is used from the pivot view of the report. The favorite is opened from the search panel of Moves Analysis.

Why it matters Helps managers see how long stock has been held by quantity and value.

How to use it

  1. Go to Inventory > Reporting > Moves Analysis.
  2. Switch to the pivot view.
  3. Open the search panel and pick Favorites > Aging Report.
Odoo 20 · Inventory
Moves Analysis with the Aging Report favorite
Odoo 20 · Inventory
Moves Analysis favorites: Aging Report
38
NewCommunity

Suggested stock levels for reordering rules

Inventory > Operations > Replenishment

In Replenishment, users can select reordering rules and click Suggest. They choose a demand period, such as the last 7 days, the last 30 days or the same month last year, and a percentage factor, then click Update. Odoo recalculates the daily demand and sets new Min and Max levels that keep the intended days of coverage and order frequency.

Why it matters Helps planners set min and max stock levels based on historical demand.

How to use it

  1. Go to Inventory > Operations > Replenishment.
  2. Select some reordering rules.
  3. Click Suggest, pick a demand period and factor, then Update.
Odoo 20 · Inventory
Suggest Min-Max dialog
39
ImprovedCommunity

Traceability Report

Inventory > Lots/Serial Numbers > Traceability

The lot traceability report shows both upstream and downstream lot or serial numbers in a single tree view. Final locations of lots appear in normal text, while intermediate locations are dimmed. Quality and warehouse teams use it to follow where a lot came from and where it went, for instance during a product recall. The tree is shown after clicking Unfold in the report.

Why it matters Helps teams trace lots from component origins to finished goods destinations in one tree.

How to use it

  1. Go to Inventory > Products > Lots/Serial Numbers and open a lot.
  2. Click the Traceability smart button.
  3. Click Unfold.
Odoo 20 · Inventory
Unfolded lot traceability tree showing component origins with intermediate locations dimmed
40
ImprovedCommunity

Variant-specific HS codes

Inventory > Products > Product Variants

Harmonized System (HS) codes are stored on each product variant, so every variant can have its own code in its Inventory tab, Logistics section. On a product template, the field can be viewed and edited only when the template has a single variant. Companies exporting goods whose variants fall under different customs codes can record the right code per variant.

Why it matters Helps customs documents stay accurate when product variants have different HS codes.

How to use it

  1. Go to Inventory > Products > Product Variants and open a variant.
  2. Go to the Inventory tab, Logistics section, and set the HS code.
Odoo 20 · Inventory
Product variant Inventory tab with its own HS Code field
41
ImprovedCommunity

Variant-specific packagings

Inventory > Products > Product Variants > Sales

Product variants have an Extra Packagings field in their Sales tab. Packagings added there apply only to that variant, on top of the packagings defined on the template. Different variants can therefore have their own pack sizes that the other variants do not offer. The Units of Measure & Packagings setting must be enabled. Packagings set on the template remain shared by all variants.

Why it matters Lets a single variant have its own packaging units.

How to use it

  1. Enable Units of Measure & Packagings in Settings.
  2. Open a product variant and go to the Sales tab.
  3. Add a packaging in Extra Packagings.
Odoo 20 · Inventory
Product variant Sales tab with new Extra Packagings field
42
ImprovedCommunity

Vendor purchase reference

Inventory > Receipts

When a purchase order has a vendor reference, the related receipt shows it in its Source Document field after the purchase order number, for example P00024 - GF-INV-4471. Warehouse operators can match incoming goods with the vendor's paperwork directly from the receipt, without opening the purchase order. The reference appears automatically once the purchase order with a Vendor Reference is confirmed.

Why it matters Helps receiving teams match goods to vendor paperwork using the vendor's reference.

How to use it

  1. Go to Purchase > Orders, create a PO with a Vendor Reference and confirm.
  2. Open the receipt and check Source Document.
Odoo 20 · Inventory
Receipt Source Document combining PO number and vendor reference
43
NewCommunity

ZPL location barcodes

Inventory > Configuration > Locations > Print

Location barcode labels can be printed in ZPL format as well as PDF. The ZPL file can be sent straight to Zebra label printers to print thermal labels for shelf locations. Warehouse managers labelling storage locations select the locations in the list and choose the ZPL option from the Print menu. The PDF version remains available for standard printers as well.

Why it matters Lets warehouses print location barcode labels on thermal printers using ZPL.

How to use it

  1. Go to Inventory > Configuration > Locations.
  2. Select locations.
  3. Click Print > Location Barcode (ZPL).
Odoo 20 · Inventory
Locations list Print menu with new Location Barcode (ZPL) option
44
ImprovedCommunity

Inventory valuation: COGS update

Inventory > Reporting > Moves Analysis

If the value of an incoming stock move changes after its goods have already been delivered, for example through a landed cost, Odoo replays the valuation. The value of the delivery is recomputed, and with perpetual accounting the cost of goods sold lines of the posted customer invoice are updated in place. The updated values can be checked in the Moves Analysis report.

Why it matters Keeps delivery values and COGS accurate when incoming costs change after posting.

How to use it

  1. Receive and deliver a FIFO product.
  2. Validate a landed cost on the receipt.
  3. Go to Inventory > Reporting > Moves Analysis and show the Value column.
45
ImprovedCommunity

Location-specific push routes

Inventory > Configuration > Routes

Push rules are selected for each move line based on the location where that line is actually put. If one receipt places some units in one sub-location and others in another, each group follows the push rule set for its own sub-location. Warehouse managers can therefore define different onward flows for goods that arrive at different gates or zones. It is set up in Inventory > Configuration > Routes.

Why it matters Lets goods received into different sub-locations follow their own push rules.

How to use it

  1. Go to Inventory > Configuration > Routes > New.
  2. Add Push To rules with different sub-locations as Source Location.
  3. Receive products into those sub-locations.
46
ImprovedEnterprise

Sendcloud: package reference

Inventory > Operations > Deliveries

When Odoo creates a Sendcloud parcel, the order number it sends combines the sales order name with the package name, or the transfer name if the goods are not packed, separated by a dash. Carriers that support package references print this on the label, so each parcel of a multi-package shipment can be told apart. It requires a Sendcloud carrier with a live account.

Why it matters Helps carriers tell packages apart with distinct references on multi-package labels.

How to use it

  1. Configure a Sendcloud carrier with a live account.
  2. Put a delivery's products in packages and validate.
  3. Check the order and package reference on the label.
47
NewCommunity + Enterprise

Sendcloud: pickup points

Sales > Orders; Inventory > Operations

When the delivery method is a Sendcloud service that uses pickup points, the sales order shows a Pickup Point field with an edit button in place of the delivery address. The same field appears on delivery transfers and in the Add Shipping dialog. Backend users can choose or correct the pickup point there, including after a customer has placed an eCommerce order.

Why it matters Lets businesses select or change Sendcloud pickup points for deliveries.

How to use it

  1. Go to Sales > Orders and create a quotation.
  2. Set a Sendcloud delivery method that uses service points.
  3. Use the Pickup Point field's edit button to choose a point.

12 new in Odoo 20

Barcode

12 features
48

Backorders

In the Barcode app, workers processing an operation can decide on the spot whether a backorder should be created for the remaining quantities, without leaving the app to make that choice.

Why it matters Lets warehouse workers decide on backorders directly in the Barcode app.
Odoo 20 · Barcode
Barcode Incomplete Transfer dialog offering Create Backorder or No Backorder
49

Inventory count

During an inventory count in the Barcode app, the pen icon lets the counter type the total counted quantity of a product. This avoids scanning every single unit when the full quantity is already known.

Why it matters Lets counters type a product's total counted quantity instead of scanning each unit.
Odoo 20 · Barcode
Barcode count line opened via pen icon to type total counted quantity
50

Light users

Light users can be restricted to the Barcode app only. Businesses can thus give some staff access to barcode operations without opening the other apps to them.

Why it matters Lets businesses give some users access to the Barcode app only.
Odoo 20 · Barcode
Light-role user granted Barcode User access, limited to the Barcode app
51

Manual entry

When a lot label cannot be scanned, the worker can type the lot number and the quantity by hand in the Barcode app. Operations can therefore continue when a label cannot be read.

Why it matters Lets workers type lot numbers and quantities when labels cannot be scanned.
Odoo 20 · Barcode
Barcode line edit with Serial/Lot Number field for typing unscannable lots
52

Barcode product creation

When a worker scans a barcode that does not match any product in Odoo, the Barcode app offers to create the product through Barcode Lookup. Products can therefore be added on the spot during scanning.

Why it matters Lets workers create products on the spot by scanning unknown barcodes.
53

Batch receipts

When several expected receipts come from the same vendor, the Barcode app suggests grouping them in a batch. Workers can then receive these shipments together in one operation rather than one receipt at a time.

Why it matters Helps workers receive several shipments from the same vendor together.
54

Bulk lot/serial number generation

Lot and serial numbers can be generated in bulk in the Barcode app. This saves time for workers who would otherwise have to create many numbers one by one.

Why it matters Saves time by generating many lot or serial numbers at once.
55

Fixed button positions

In the Barcode app, buttons keep the same position on the screen whatever quantity has been entered. Because the layout does not shift, workers can tap the buttons reliably while scanning.

Why it matters Helps workers tap buttons reliably since they stay in the same place.
56

Manufacturing operations

In the Barcode app, manufacturing operations leave out settings that do not apply, show reserved component lots only when that option is enabled, and let users edit by-products even when scans are mandatory. This keeps manufacturing in Barcode simpler.

Why it matters Makes manufacturing in Barcode simpler with fewer irrelevant settings and editable by-products.
57

Mobile: user login button

The mobile view of the Barcode app includes the user login button. Workers can therefore switch from one user to another directly in the mobile view, without leaving the Barcode app.

Why it matters Lets workers switch users from the mobile view.
58

Packages: pre-encoded contents

Packages that a vendor announces in advance can be pre-encoded together with their contents. When the worker scans such a package on arrival, Odoo receives the package and everything inside it in a single scan.

Why it matters Lets workers receive a whole vendor package and its contents with one scan.
59

Packages: untracked goods

Untracked goods that were registered in a package at an earlier step are included automatically when that package is scanned in later steps. Workers can move these goods simply by scanning the package that holds them.

Why it matters Helps workers move untracked goods by scanning the package that holds them.

9 new in Odoo 20

Purchase

9 features
60
ImprovedCommunity

Alternatives comparison

Purchase > Orders > Requests for Quotation > Alternatives > Compare Product Lines

In Odoo 20 the Compare Product Lines screen for alternative RFQs supports inline editing of quantities, including on several lines at once. Each RFQ's status appears as a coloured badge, lines that are cancelled or have zero quantity are greyed out, and the Choose button is hidden on orders already confirmed or cancelled. Unit prices are compared fairly across different purchase units. The screen requires the Purchase Alternatives module and is opened from an RFQ's Alternatives tab.

Why it matters Helps buyers compare RFQs fairly, with inline quantity edits and unit prices converted across purchase units.

How to use it

  1. Install Purchase Alternatives.
  2. Open an RFQ and go to the Alternatives tab.
  3. Click Compare Product Lines.
Odoo 20 · Purchase
Compare Order Lines with status badges and editable quantities
61
NewCommunity

Default Incoterm per vendor

Contacts > vendor > Sales & Purchase tab

In Odoo 20 a vendor can hold a default purchase Incoterm and Incoterm Location, set in the Purchase section of the Sales & Purchase tab on the vendor form. New RFQs and purchase orders created for that vendor receive these values automatically, visible in the Other Info tab of the order. The values are copied when the order is created. Buyers use it so that agreed delivery terms are applied consistently without typing them on every order.

Why it matters Saves buyers time by applying each vendor's default Incoterm and location to new RFQs and orders.

How to use it

  1. Open a vendor and go to the Sales & Purchase tab.
  2. Set Incoterm and Incoterm Location under Purchase.
  3. Create an RFQ and check the Other Info tab.
Odoo 20 · Purchase
Vendor Sales & Purchase tab with purchase Incoterm and Incoterm Location
62
ImprovedCommunity

End-customer address in portal

Portal > Purchase Orders

In Odoo 20, when a purchase order has a dropship address, meaning the end customer's address, the vendor portal page of that order displays it as the shipping address. Vendors reading the order in the portal can see where the goods are to be delivered. The order is opened in the portal through the link sent with Send by email, or through the portal's purchase order pages.

Why it matters Lets vendors see where to ship dropship orders directly in their portal.

How to use it

  1. Create a PO with a dropship address.
  2. Send it by email.
  3. Open the portal link to see the shipping address.
Odoo 20 · Purchase
Vendor portal RFQ showing the dropship end customer's shipping address
63
NewCommunity

Expected arrival date

Purchase > Orders > confirmed PO > Other Info

In Odoo 20 the Expected Arrival date of a confirmed purchase order can still be changed on the order. The date originally agreed with the vendor is kept in a Promised Date field in the Other Info tab, and the vendor's On-Time Rate is measured against this promised date. Buyers can therefore update arrival expectations without losing the commitment used to judge vendor punctuality.

Why it matters Lets buyers update expected arrivals while keeping the original Promised Date for on-time tracking.

How to use it

  1. Confirm a purchase order.
  2. Change Expected Arrival.
  3. Check Promised Date in the Other Info tab.
Odoo 20 · Purchase
Purchase order Other Info: Promised Date, Incoterm
64
ImprovedCommunity + Enterprise

Product unit cost versus purchase unit cost

Purchase > RFQ > Catalog

In the Odoo 20 purchase product catalog, when a product's purchase unit is different from its product unit, for example a pack of six versus single units, the product card shows two prices. The price per purchase unit appears first, and the price per product unit is shown below it. Buyers can compare costs per unit when vendors sell in packs. The catalog is opened from an RFQ.

Why it matters Helps buyers compare costs by showing prices per purchase unit and per product unit.

How to use it

  1. Give a product a vendor price in another unit, such as Pack of 6.
  2. Open an RFQ > Catalog.
  3. Add the product and read both prices.
Odoo 20 · Purchase
RFQ catalog card showing purchase-unit price plus per-unit price
65
ImprovedCommunity

Purchase agreement structure

Purchase > Orders > Purchase Agreements

Purchase agreements in Odoo 20, both blanket orders and calls for tenders, offer Add a section and Add a note on their product lines, in the same way as purchase orders. Sections display the total of the lines grouped under them. This lets buyers organise long agreements into logical parts and add explanatory text between lines. Agreements are found under the Orders menu of the Purchase app.

Why it matters Lets buyers organize blanket orders with sections, notes and totals, like purchase orders.

How to use it

  1. Go to Purchase > Orders > Purchase Agreements.
  2. Open or create an agreement.
  3. Use Add a section or Add a note.
Odoo 20 · Purchase
Blanket order with section line total and Add a section / Add a note
66
NewCommunity

Recompute Expected Arrival when deadline is in the past

Purchase > RFQ with past deadline

In Odoo 20, when an RFQ's Order Deadline has already passed, the date is shown in red with a refresh button beside it. Clicking the button sets the deadline to today and recalculates the expected arrival date of every line using the vendor lead times. Buyers use it to bring old RFQs up to date before sending or confirming them, without editing each line's date by hand.

Why it matters Lets buyers refresh expected arrival dates once an order deadline has passed.

How to use it

  1. Open an RFQ whose Order Deadline is in the past.
  2. Click the refresh icon next to the date.
Odoo 20 · Purchase
RFQ with a past Order Deadline
67
ImprovedCommunity

Total amounts on purchase order sections

Purchase > RFQ > Products

In Odoo 20, section and subsection lines on purchase orders show the total amount of the product lines they contain. When an RFQ is organised with Add a section and products are listed below each section, every section line displays its own summed amount. Buyers and approvers can see the cost of each part of an order at a glance without adding up lines manually.

Why it matters Helps buyers see subtotals for each section and subsection of a purchase order.

How to use it

  1. Create an RFQ.
  2. Use Add a section and add products under it.
  3. Read the totals on the section lines.
Odoo 20 · Purchase
RFQ section lines showing summed totals of their product lines
68
NewEnterprise

Vendor quality rate

Contacts > vendor > More

In Odoo 20 vendors have a Quality Rate, which is the share of quality checks passed on their receipts over the last year. It is shown as a smart button on the vendor form, under More if needed, and on purchase orders. Clicking it opens a report of the related quality checks. Buyers use it to judge supplier reliability when choosing vendors. It is based on validated quality checks on receipts.

Why it matters Helps buyers choose reliable vendors using last year's receipt quality check results.

How to use it

  1. Validate quality checks on receipts from a vendor.
  2. Open the vendor.
  3. Click the Quality Rate smart button, under More if needed.
Odoo 20 · Purchase
Vendor form More menu with new Quality Rate smart button (57%)

4 new in Odoo 20

PLM

4 features
69
NewCommunity + Enterprise

BoM comparison

PLM > Changes > Engineering Change Orders > ECO

A 'Compare BoMs' action shows the components of two or more bills of materials side by side in a pivot table, with one column per BoM. In PLM, an engineering change order (ECO) has a Compare BoMs smart button that compares the current BoM with its revision. Engineers can see at a glance which quantities changed and which components were added.

Why it matters Helps engineers compare bills of materials side by side to spot changes.

How to use it

  1. Go to PLM > Changes and open an ECO with component changes.
  2. Click the Compare BoMs smart button.
Odoo 20 · PLM
Compare BoMs pivot showing two bills of materials side by side
70
ImprovedEnterprise

Optional ECO version update

PLM > Changes > Engineering Change Orders > ECO > Apply Changes

Clicking 'Apply Changes' on an ECO opens an 'Update Versions' dialog. Checkboxes let the user choose which versions go up by one: the product, the bill of materials and, when relevant, the parent products and parent BoMs that use it. If all boxes are cleared, the change is applied without creating any new version. Each checkbox controls one version increase separately.

Why it matters Lets engineers choose which versions to increment when applying an ECO.

How to use it

  1. Open an ECO in a stage that allows applying changes.
  2. Click Apply Changes.
  3. Tick or untick the versions to update.
Odoo 20 · PLM
Apply Changes dialog with checkboxes to choose which versions increase
71
ImprovedEnterprise

Product updates

Inventory > Products > Products > Inventory tab

Products have a 'Version' field, shown in the Traceability section of the product form's Inventory tab and as a column in the product list. When an ECO revision results in a different product, as in a new product introduction, the old BoM is kept and a 'Versions' smart button on the product lists all linked product versions. Versions are tracked per product.

Why it matters Helps teams manage product versions and introduce new products through ECOs.

How to use it

  1. Open a product that has a BoM.
  2. Go to the Inventory tab, Traceability section.
Odoo 20 · PLM
Product Inventory tab Traceability section with new Version field
72
ImprovedEnterprise

Universal ECO report

PLM > Changes > Engineering Change Orders > ECO > Review

The Review button on an ECO opens an 'ECO Changes Summary' report. It lists every component change (added, removed or updated) and every operation change in one table. Each line shows the quantity or duration difference and its cost impact, and the report gives a total. Engineers and managers use it to assess a change before applying it. It is opened from the ECO form.

Why it matters Helps teams review all ECO component and operation changes with cost comparison.

How to use it

  1. Open an ECO with a started revision.
  2. Click the Review smart button.
Odoo 20 · PLM
ECO Changes Summary report listing component changes with BoM cost impact

3 new in Odoo 20

Maintenance

3 features
73
NewEnterprise

Maintenance requests: Gantt views

Maintenance > Maintenance > Planning by Equipment (or Planning by Workcenter)

Maintenance requests can be displayed on timeline (Gantt) views. 'Planning by Equipment' shows requests organised by piece of equipment. When Manufacturing is installed, 'Planning by Workcenter' shows them grouped by work center instead. Maintenance planners use these views to see when work on each piece of equipment or work center is scheduled and how the requests are spread over the coming days and weeks.

Why it matters Helps maintenance planners see and reschedule requests on a timeline by equipment or work center.

How to use it

  1. Go to Maintenance > Maintenance > Planning by Equipment.
  2. Or open Planning by Workcenter when Manufacturing is installed.
Odoo 20 · Maintenance
Maintenance menu: Gantt planning
Odoo 20 · Maintenance
Maintenance requests Gantt
74
ImprovedCommunity

Maintenance teams on stages

Maintenance > Configuration > Stages

Maintenance stages can be assigned to specific maintenance teams. A request shows only the stages linked to its team plus the stages without any team, so each team can follow its own workflow pipeline. Stages and their teams are set in the Maintenance configuration, through the Maintenance Teams column of the stages list, by the people who manage the maintenance teams and their stages.

Why it matters Helps each maintenance team work with its own stages alongside shared ones.

How to use it

  1. Go to Maintenance > Configuration > Stages.
  2. Find the Maintenance Teams column.
  3. Assign teams to each stage.
Odoo 20 · Maintenance
Maintenance stages list with new Maintenance Teams column
75
ImprovedCommunity

UX improvements

Maintenance > Maintenance > Maintenance Requests

Maintenance requests have a Status widget with five states: In Progress, Changes Requested, Approved, Done and Cancelled. A request can have several assignees, and the form and card layouts are streamlined. The status button sits next to the request title on the request form, so the people working on a request can update its state directly from there with one click.

Why it matters Helps teams track request status clearly and assign several people to one request.

How to use it

  1. Go to Maintenance > Maintenance > Maintenance Requests.
  2. Open a request.
  3. Click the status button next to the title.
Odoo 20 · Maintenance
Maintenance request status widget: In Progress, Changes Requested, Approved, Cancelled, Done

3 new in Odoo 20

Repairs

3 features
76
NewCommunity + Enterprise

Invoice creation

Repairs > Orders > Repair Orders

In Odoo 20 a repair order has an Invoice button next to the Quote button. Once the repair is done and no quotation is needed, clicking Invoice creates a customer invoice directly with the parts and services of the repair. Parts added after the invoice is posted can be invoiced in a further invoice. It applies to repair orders with a customer and no quotation.

Why it matters Lets repair teams bill completed repairs directly without a quotation and invoice later-added parts separately.

How to use it

  1. Go to Repairs > Orders and open a repair order with a customer.
  2. Confirm and end the repair.
  3. Click Invoice.
Odoo 20 · Repairs
Repair order: Invoice button
77
RemovedCommunity + Enterprise

Repair order status

Repairs > Orders > Repair Orders

In Odoo 20 a repair order moves through three statuses: New, Confirmed and Done. There is no Under Repair status and no Start Repair button. The End Repair action is available directly once the order is Confirmed, so technicians close the repair directly from that step without an extra stage. The status bar at the top of every repair order shows these three stages.

Why it matters Expect repairs to move New, Confirmed, Done; use End Repair from Confirmed instead of Start Repair.

How to use it

  1. Go to Repairs > Orders and open a repair order.
  2. Look at the status bar.
  3. Click End Repair from the Confirmed step.
Odoo 20 · Repairs
Repair order with New/Confirmed/Done status bar and End Repair button
78
NewCommunity + Enterprise

Repair-related services

Repairs > Orders > Repair Orders > Services tab

Repair orders in Odoo 20 have a Services tab for service products such as labour or diagnostics. Each service is added with a quantity, either one line at a time or from the catalog. The services are carried into the repair quotation or the invoice along with the parts. Repair teams use it to bill the work done as well as the components used.

Why it matters Lets repair teams add labor and other services to repair orders that carry through to quotations and invoices.

How to use it

  1. Go to Repairs > Orders and open a repair order.
  2. Open the Services tab.
  3. Add a line or use Catalog.
Odoo 20 · Repairs
Repair order Services tab with Add a line and Catalog for labor services

3 new in Odoo 20

Shop Floor

3 features
79
ImprovedCommunity + Enterprise

HTML note field

Manufacturing > Operations > Manufacturing Orders

The manufacturing order note is a rich-text field called Additional Notes, which takes its default value from the bill of materials note. It accepts bold text, lists, links and pictures. Shop Floor shows the same formatted note on the order card, and operators can open and edit it there, so instructions written in Manufacturing reach the shop floor with their formatting.

Why it matters Lets teams give operators formatted MO notes, prefilled from the bill of materials.

How to use it

  1. Go to Manufacturing > Operations > Manufacturing Orders and open an order.
  2. Fill Additional Notes with formatted text.
  3. Open Shop Floor and click the note on the order card.
Odoo 20 · Shop Floor
MO Additional Notes as rich-text field with formatting toolbar
80
ImprovedEnterprise

Instruction updates

Shop Floor > Overview > Work Center > Add/Modify Step > Update Instructions

In Shop Floor, choosing Update Instructions for a step opens the proposal form with the step's current instruction already placed in the New Instruction field. Operators can therefore correct a few words or add a detail without retyping the whole instruction, and submit the change as a proposal. The option is found in the Add/Modify Step submenu of a work order card's menu, after choosing a work center tab.

Why it matters Lets operators make small edits to step instructions without retyping them.

How to use it

  1. Open Shop Floor, a work center tab and a work order card.
  2. Open the three-dot menu > Add/Modify Step > Update Instructions.
  3. Pick a step and edit the pre-filled text.
Odoo 20 · Shop Floor
Shop Floor Update Instructions dialog pre-filled with the current step text
81
NewCommunity + Enterprise

Work center barcode

Manufacturing > Configuration > Work Centers

Work centers have a Barcode field. In Shop Floor, scanning a work center's barcode selects that work center and switches to its tab, in the same way that scanning an employee badge selects the operator. This lets operators move between work centers with a scanner instead of tapping through tabs. The field is filled on the work center form in the Manufacturing configuration menu.

Why it matters Lets operators select a work center in Shop Floor by scanning its barcode.

How to use it

  1. Go to Manufacturing > Configuration > Work Centers.
  2. Open a work center and fill Barcode.
  3. Scan that barcode in Shop Floor.
Odoo 20 · Shop Floor
Work center form with new Barcode field

2 new in Odoo 20

Quality

2 features
82
ImprovedEnterprise

Bypass quality checks

Inventory > Operations > Receipts

Users in the Quality Administrator group can validate transfers even when quality checks are not done. While checks are pending, the Validate button stays available to them, shown as a secondary button, and they can skip the checks. Other users must complete the checks before validating. This applies, for example, to receipts opened from the Operations menu of the Inventory app.

Why it matters Lets Quality Administrators validate transfers even when quality checks are still open.

How to use it

  1. Log in as a Quality Administrator.
  2. Go to Inventory > Operations > Receipts.
  3. Open a receipt with pending checks and click Validate.
Odoo 20 · Quality
Receipt with pending Quality Checks; Validate still available as secondary button
83
ImprovedEnterprise

Failure location

Quality > Quality Control > Quality Checks

When a quality check is failed from its form view, a dialog asks for the Failure Location, chosen among the locations set on the control point. The failed items are then sent to that location automatically. Failure locations are configured on control points in the Quality configuration, and quality inspectors pick one of them when clicking Fail on a check.

Why it matters Helps isolate failed items by moving them to a chosen failure location.

How to use it

  1. Go to Quality > Configuration > Control Points and set Failure Locations.
  2. Go to Quality > Quality Control > Quality Checks.
  3. Open a check from that control point and click Fail.
Odoo 20 · Quality
Control point form with new Failure Locations field

in depth

The Inventory & Manufacturing changes that matter most

Multi-company inventory without workarounds

Inter-company resupply routes, delivering a sales order from another company's warehouse, valuation that moves correctly between companies, and price and quantity changes that sync across linked orders. Inventory valuation can now also run without the Inventory app.

Groups running several legal entities on one database lose a category of month-end corrections and custom code.

Manufacturing planning on Kanban and Gantt

Work orders get Kanban and Gantt views with drag-and-drop scheduling, colour coding and planning by employee rather than work centre. The MO cost shows a provisional figure while the order runs and the actual once it completes; subcontracted replenishment costs include components; and you can compare two bills of materials by the quantities they consume.

Planners schedule in Odoo instead of a spreadsheet, and costing stops meaning two different things at two different times.

Odoo Manufacturing →

keep exploring

Odoo 20 in other business areas

Odoo 20 Inventory & Manufacturing questions

  • How many new Inventory & Manufacturing features are in Odoo 20?

    83 across 9 apps, 13% of the 637 new features in the release by TechUltra's count. By app: Manufacturing (24), Inventory (23), Barcode (12), Purchase (9), PLM (4), Maintenance (3), Repairs (3), Shop Floor (3), Quality (2).

  • What are the biggest Inventory & Manufacturing changes in Odoo 20?

    In Manufacturing, bill of materials: helps engineers compare BoMs side by side, check availability at a glance and include fixed extra costs. In Inventory, product replenishment: simplifies replenishment with one button that orders up to the forecast-based maximum. In Barcode, inventory count: lets counters type a product's total counted quantity instead of scanning each unit.

  • How do we get the Odoo 20 Inventory & Manufacturing features?

    If you run Odoo 16, 17, 18 or 19, they arrive with the upgrade to Odoo 20. A free written assessment lists your modules, the risks in your build and a fixed price. If you are new to Odoo, start directly on Odoo 20 with a fixed-price implementation, priced after a paid discovery week.

Sources: features, steps and the 69 screenshots are from TechUltra's Odoo 20 feature guide. Counted by TechUltra's Odoo team from the Odoo 20 source code and a live Odoo 20 database; industry packages are based on Odoo's official release notes. Localization changes are not included. The in-depth notes are from Odoo's Odoo 20 release notes.

ready when you are

Planning your move to Odoo 20?

Book a free 30-minute call with a TechUltra senior consultant for a process review or a clear upgrade path from Odoo 16, 17, 18 or 19.