Backorder Issues in Odoo
When validating a partial delivery, Odoo should ask whether to create a backorder for remaining items. When this fails:
Issues:
- Partial delivery validated but no backorder created
- Backorder created with wrong quantities
- Backorder wizard never appears
- Backorder in wrong state (draft instead of waiting)
- Remaining items "lost" after partial shipmentHow Backorders Work
When you validate a delivery with less than the ordered quantity:
- Odoo shows a dialog: "Create Backorder?" or "No Backorder"
- If you choose "Create Backorder": a new transfer is created for the remaining quantity
- If you choose "No Backorder": the remaining demand is cancelled
Fix 1: Backorder Wizard Not Appearing
# The wizard only appears when delivered quantity < demanded quantity
# Check if quantities are correctly set:
# 1. Open the delivery order
# 2. Compare "Demand" column vs "Done" column
# 3. If Done = Demand, no backorder is needed
# Common mistake: setting Done = Demand before validating
# If you receive 8 of 10, set Done = 8 (not 10)
# Then validate — the backorder wizard will appear
# Another cause: the picking type may be configured to skip
# Inventory > Configuration > Operation Types
# Check "Create Backorder" setting:
# - "Ask" — shows the dialog (default)
# - "Always" — automatically creates backorder
# - "Never" — never creates backorderFix 2: Configure Backorder Policy
# Per operation type:
# Inventory > Configuration > Operation Types > select type
# "Create Backorder" field:
# Ask = dialog appears
# Always = automatic
# Never = skip
# If set to "Never", change to "Ask" or "Always":
# This applies to all future transfers of this typeFix 3: Backorder Created with Wrong Quantities
# The backorder should contain: Demand - Done quantity
# If 10 ordered, 8 delivered: backorder should have 2
# Check the backorder:
# The original delivery shows a "Backorders" smart button
# Click it to see the backorder and verify quantities
# If quantities are wrong:
# 1. Open the backorder
# 2. Edit the demand quantity
# 3. Check availability to reserve stock
# Verify via database:
sudo -u postgres psql -d mydb -c "
SELECT sp.name, sp.backorder_id, sp.state,
sm.product_id, pt.name as product_name,
sm.product_uom_qty as demand, sm.quantity as done
FROM stock_picking sp
JOIN stock_move sm ON sm.picking_id = sp.id
JOIN product_product pp ON sm.product_id = pp.id
JOIN product_template pt ON pp.product_tmpl_id = pt.id
WHERE sp.backorder_id = ORIGINAL_PICKING_ID
OR sp.id = ORIGINAL_PICKING_ID;
"Fix 4: Missing Backorder After Validation
# If you accidentally clicked "No Backorder":
# The remaining demand was cancelled — you cannot undo this
# Fix: Create a new delivery order manually
# 1. Go to the original sale order
# 2. Check the delivery status — it should show "Partially Shipped"
# 3. If the SO still shows remaining demand, a new delivery can be created
# If the SO shows fully delivered (incorrectly):
# The stock moves were cancelled with "No Backorder"
# Create a manual delivery:
# Inventory > Operations > Transfers > Create
# Set the products and quantities for the remaining itemsFix 5: Backorder State Issues
# Backorders should be in "Waiting" or "Ready" state
# If stuck in "Draft":
# 1. Open the backorder
# 2. Click "Mark as TODO" to move to Waiting
# 3. Click "Check Availability" to move to Ready
# If the backorder can't find stock:
# The original delivery may have consumed all available stock
# Wait for replenishment or adjust the backorder quantityFix 6: Multi-Step Delivery Backorders
# With 2-step or 3-step delivery:
# Pick → Pack → Ship
# Backorders are created at the step where partial processing occurs
# If you partially pick:
# - A backorder is created for the Pick step
# - The Pack and Ship steps are adjusted accordingly
# Verify the chain:
# Each transfer shows "Previous/Next Transfer" in the form
# Follow the chain to ensure backorders are created at each stepPrevention
DeployMonkey configures backorder policies automatically based on your business requirements. The AI agent monitors partial deliveries and ensures backorders are properly created and tracked.