Partial Receipts and Backorders in Odoo#
Vendors don't always deliver all ordered quantities in one shipment. Odoo handles partial deliveries by creating backorders - keeping the original PO active and tracking the outstanding quantities until fully received.
Receiving a Partial Delivery#
When a vendor delivers 60 of 100 ordered units:
Purchase → [PO] → Receipt:
- The receipt is pre-filled with 100 units (demand)
- Change quantity to 60 (actually received)
- Click Validate
- Odoo prompts: "Some products have not been received. What do you want to do?"
- Create Backorder: keeps the remaining 40 units pending
- No Backorder: closes the receipt (remaining quantity is lost - use only if intentional)
Select Create Backorder → a new receipt is created for 40 units with a linked PO reference.
Backorder Visibility#
Purchase → [PO] → Receipt button: now shows 2 receipts:
- Receipt 1: 60 units - Done
- Receipt 2 (Backorder): 40 units - Waiting
The PO status remains In Progress until all quantities are received.
Setting Expected Delivery Dates on Backorders#
Open the backorder receipt:
- Scheduled Date: update to the date the vendor committed to delivering the remaining 40 units
- Add a note in the chatter: "Vendor confirmed remaining 40 units on 2027-10-05"
Operations can track the outstanding backorder on the receipt calendar.
Partial Invoice Matching (3-Way Match)#
When the vendor bills for the 60 units delivered:
- Create a vendor bill for 60 units at the PO price
- Match to the partial receipt: 60 units @ $10 = $600
- The bill can be posted without waiting for the backorder
When the remaining 40 units arrive and the vendor bills:
- Second bill for 40 units
- Matched to the backorder receipt
- 3-way match complete for the full PO
Closing Backorders#
If the vendor cannot fulfill the remaining quantity:
- Open the backorder receipt → Validate with quantity = 0
- Select No Backorder → the receipt closes
- Update the PO if the vendor permanently reduces the quantity: PO → [Line] → Quantity → 60
- PO status becomes Fully Billed after the 60-unit invoice is posted
Reporting on Open Backorders#
Purchase → Reporting → Purchase Analysis → filter by Receipt Status = Partial:
- All POs with outstanding backorders
- Quantities remaining per product
- Scheduled date for backorder completion
Use this to follow up with vendors on outstanding deliveries and plan production or sales around expected stock arrivals.

