Odoo consultants for regulated manufacturers · code you keep

Inventory · Odoo guide

How do I fix negative stock in Odoo?

Negative stock means stock.quant quantity went below zero because deliveries or manufacturing consumed before receipts posted, or because inventory settings allow negative. Disable Allow Negative Stock on products or categories unless policy requires it, post missing receipts or adjustments, and re-run scheduler to fix reservations. Find root moves with Inventory → Reporting → Stock.

By Chase Robbins, Operator & Founder at The ERP Firm · Last updated October 24, 2026

Steps

  1. Inventory → Settings: review Allow Negative Stock global and per-product via product or category.
  2. Identify negative quants: Inventory → Reporting → Locations or product On Hand with negative quantity filter.
  3. Open related stock.move lines that validated without available quants; note picking and user.
  4. Post compensating receipts or inventory adjustments with correct lot and location to restore zero or positive quants.
  5. Enable reservation enforcement on operation types if bypass was used via force availability.
  6. For MRP, confirm component availability before marking MO done; use backorder or partial production.
  7. Document policy change in SOP and train warehouse to scan before validate on outbound pickings.

Common mistakes

  • Fixing only the quant without reversing the offending stock.move.
  • Leaving force done enabled on picking types for speed.
  • Adjusting parent location while child quants remain negative.
  • Ignoring subcontracting locations in quant checks.
  • Re-enabling negative stock to silence errors instead of fixing timing.

Odoo version notes

Negative stock control is in stock for Odoo 16–18 Community and Enterprise. Barcode apps can still validate if configuration allows bypass. Version 17 reservation changes may surface latent timing issues after upgrade. Custom modules calling button_validate without availability checks are a common culprit on Odoo.sh.

When to bring in help

If the fix touches custom modules, regulated traceability, or production outages, a focused rescue sprint beats months of trial and error. See our Odoo service.

FAQ

Follow-up questions

Will blocking negative stock stop shipping?
Validation will fail until receipts or transfers supply quants—use backorders or partial shipments intentionally.
Can cron fix negatives?
No—only correct moves and adjustments change quants; scheduler only recomputes reserved quantities.
How do I audit who forced delivery?
Check chatter on stock.picking and enable mail tracking; some sites add studio logs on validate.

Book a scoping call for your Odoo environment.

Bring your version, user count, and the workflow that is blocked today.

Book a scoping call