OdooWiki OCA HUB

Stock Disallow Negative

stock_no_negative folder_open OCA/stock-logistics-workflow open_in_new
Inventory, Logistic, Storage License: AGPL-3

By default, Odoo allows negative stock. The advantage of negative stock is that, if some stock levels are wrong in the ERP, you will not be blocked when validating the picking for a customer... so you will still be able to ship the products on time (it's an example !). The problem is that, after you forced the stock level to negative, you are supposed to fix the stock level later via an inventory ; but this action is often forgotten by users, so you end up with negative stock levels in your ERP and it can stay like this forever (or at least until the next full inventory).

If you disallow negative stock in Odoo with this module, you will be blocked when trying to validate a stock operation that will set the stock level of a product and/or location as negative. So you will have to fix the wrong stock level of that product without delay, in order to validate the stock operation in Odoo...you can't forget it anymore !

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Blocks stock operations that would make a product's stock level negative, unless negative stock is explicitly allowed on the product, its category or the location.

By default Odoo lets you validate a stock move even when it drives the quantity below zero. This module adds a control that stops that.

  • On each product (stockable products only) you get a new "Allow Negative Stock" checkbox, shown next to the product category field.
  • The same checkbox is available on product categories and on internal/transit stock locations.
  • When a stock operation is validated, the system checks the resulting quantity in each location. If the quantity would be negative and the product is storable, the location is internal or transit, and neither the product, its category, nor the location allows negative stock, a validation error is raised and the operation is blocked.
  • The error message names the product, the lot (if any), the resulting negative quantity and the location, so users know exactly what to fix.
  • If negative stock is allowed on the product, its category or the location, the operation goes through as before.

It touches product.template, product.category, stock.location and stock.quant. No new menus are added; the options appear directly in the existing product, product category and location forms.

Depends on

stock
Models and fields (4)
  • stock.quant · extends an existing model
  • stock.location · extends an existing modelallow_negative_stock
  • product.category · extends an existing modelallow_negative_stock
  • product.template · extends an existing modelallow_negative_stock

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 8 confirmed, 1 with no information of 9 versions.

Sources · Odoo 14.0

Confirmed on 2026-11-03 in branch 14.0 of OCA/stock-logistics-workflow.

terminal Installation and usage

OCA documentation · Odoo 19.0

By default, the stockable products will not be allowed to have a negative stock. If you want to make some exceptions for some products, product categories or locations, you can activate the option Allow Negative Stock:

For products:

  • Go to Inventory / Master Data / Products and in the tab General Information activate this option.

For product categories:

  • Go to Inventory / Configuration / Products / Product Categories and activate this option.

For individual locations:

  • Go to Inventory / Configuration / Settings and activate the option Storage Locations.
  • Go to Inventory / Configuration / Warehouse Management / Locations and activate the option the option Allow Negative Stock for the locations you choose.

When you validate a stock operation (a stock move, a picking, a manufacturing order, etc.) that will set the stock level of a stockable product as negative, you will be blocked by an error message. The consumable products can still have a negative stock level.

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.