Skip to content

Fix Odoo Inventory Adjustment Not Working: Count Discrepancies and Stuck Quantities

DeployMonkey Team · March 23, 2026 10 min read

The Problem

You perform an inventory count in Odoo — physically count 50 units on the shelf — but after validating the adjustment, the on-hand quantity does not match. Or the adjustment form is stuck in progress, quantities keep reverting, or you get validation errors. Inventory accuracy is critical for operations, and these issues directly impact order fulfillment.

Common Symptoms

  • Inventory adjustment validated but quantities unchanged
  • "Counted Quantity" column not editable
  • Adjustment stuck in "In Progress" state
  • Error: "You cannot adjust a product with reserved quantities"
  • Negative stock after adjustment
  • Lot/serial tracked products failing validation
  • Multi-warehouse adjustments affecting the wrong location

How Inventory Adjustments Work in Odoo

Odoo inventory adjustments create stock moves that reconcile the system quantity with the physical count:

  1. System has 30 units (theoretical quantity)
  2. You count 50 units (counted quantity)
  3. Odoo creates a stock move for +20 units (from Virtual Inventory Loss location)
  4. After validation, on-hand quantity becomes 50

Causes and Fixes

1. Reserved Quantities Blocking Adjustment

If products are reserved for pending delivery orders, Odoo prevents adjustment to avoid breaking existing reservations.

Error: You cannot adjust the quantity of products with reserved stock moves.

Fix:

  • Unreserve pending delivery orders: go to each pending SO delivery > click Unreserve
  • Or process the deliveries first, then do the inventory count
  • Check reserved quantities: Inventory > Products > open product > "Reserved" quantity

2. Wrong Location Selected

Adjustments are location-specific. If you count in WH/Stock but the adjustment is set to WH/Input, quantities update in the wrong place.

Fix: When creating the inventory adjustment, ensure the location matches where you physically counted:

  • Inventory > Operations > Physical Inventory
  • Set the correct location filter before starting the count
  • Check Settings > Warehouse > Storage Locations is enabled if using multiple locations

3. Lot/Serial Number Mismatch

For products tracked by lot or serial number, each lot must be counted separately. Missing or wrong lot numbers cause validation failures.

Fix:

# Ensure lot tracking is correct:
# Product > Inventory tab > Tracking = By Lots or By Serial Number

# In the adjustment, each line must have:
# - Product
# - Location  
# - Lot/Serial Number
# - Counted Quantity

If a lot number does not exist, create it first or use the "Create new lot" option during the count.

4. Product UoM Confusion

If a product's unit of measure was changed, the adjustment might use the old UoM while stock is counted in the new UoM.

Fix: Verify the product's UoM in Product > General Information. Ensure the counted quantity uses the same UoM as the product configuration.

5. Outdated Theoretical Quantity

The theoretical (system) quantity may be wrong due to unprocessed receipts, cancelled transfers, or database inconsistencies.

Fix:

# Check stock quants directly:
SELECT sq.product_id, pt.name, sq.location_id, sl.complete_name,
       sq.quantity, sq.reserved_quantity
FROM stock_quant sq
JOIN product_product pp ON pp.id = sq.product_id
JOIN product_template pt ON pt.id = pp.product_tmpl_id
JOIN stock_location sl ON sl.id = sq.location_id
WHERE pp.id = your_product_id
  AND sl.usage = 'internal';

If quants are inconsistent, use Inventory > Products > Product > Update Quantity button to force-set the correct value.

6. Concurrent Adjustments

If two users create adjustments for the same product simultaneously, one may overwrite the other's count.

Fix: Coordinate inventory counts — only one adjustment per product/location should be active at a time. Use Odoo's cycle counting feature to assign count responsibilities.

7. Inventory Adjustment Stuck in Progress

If an adjustment was started but never validated, it blocks future adjustments for those products.

Fix:

  • Go to Inventory > Operations > Physical Inventory
  • Find adjustments with "In Progress" status
  • Either validate them with current counts or discard them

8. Negative Inventory After Adjustment

If you set the counted quantity to 0 but there are outgoing reserved moves, the available quantity goes negative.

Fix:

  • Unreserve all pending moves for the product first
  • Then apply the zero-count adjustment
  • Check Settings > Inventory > Allow Negative Stock (consider disabling it)

Inventory Adjustment Best Practices

  • Always unreserve pending deliveries before counting
  • Count by location — do not mix locations in one count session
  • For lot-tracked products, count each lot separately
  • Validate adjustments immediately after counting (do not leave in progress)
  • Use cycle counting for ongoing accuracy instead of full warehouse counts
  • Back up the database before large inventory adjustments
  • Review the inventory valuation report after major adjustments

Verifying Adjustments

# After validation, verify stock:
# Inventory > Reporting > Inventory Report
# Filter by product and location
# Compare with your physical count sheet

# Check stock move history:
# Product > On Hand > History
# Look for the adjustment move with the correct date and quantity