All posts
Functional4 min read

Handling Partial Receipts and Backorders in Odoo Purchase

Manage supplier shipments that arrive in multiple installments in Odoo - validating partial receipts, creating backorders for the remainder, and tracking outstanding purchase order quantities.

Partial Receipts and Backorders in Odoo Purchase#

Suppliers often ship in multiple installments - partial delivery today, the rest next week. Odoo handles this with the backorder workflow, which preserves the original PO while tracking what's been received and what remains outstanding.

Processing a Partial Receipt#

When goods arrive:

  1. Open the purchase receipt (Purchase → [PO] → Receipts → [Receipt])
  2. Enter the Done quantity for each product (less than the demand quantity)
  3. Click Validate
  4. Odoo prompts: "Some products were not received. What do you want to do?"

Options:

  • Create Backorder: creates a new receipt for the remaining quantity
  • No Backorder: marks the PO as fully received (waives the rest)

Choose Create Backorder for partial shipments where the remainder will arrive later.

Backorder Behaviour#

The backorder:

  • Has the same PO reference as the original receipt
  • Shows only the outstanding quantities
  • Appears in the Receipts list as a separate record
  • Is linked to the original PO (visible in the PO → Receipts count)

When the second shipment arrives, process the backorder receipt the same way.

Tracking Outstanding Quantities#

Purchase → [PO] → the Billing Status and Receipt Status fields show:

  • Fully Received: all quantities confirmed
  • Partial Receipt: some quantities still pending
  • Nothing Received: no receipts validated yet

The PO line quantities show: Ordered | Received | Remaining.

Automated Reminders for Overdue Receipts#

Set up an automated action:

  • Trigger: Scheduled Date on the receipt has passed
  • Filter: Receipt Status = Partial Receipt OR Nothing Received
  • Action: Email the purchasing manager - "Overdue delivery from Vendor X on PO-YYYY"

Partial Receipt and Billing#

You can bill for received quantities before the full PO is complete:

  1. PO → Create Bill → bill only for received quantities
  2. Full PO balance remains open for the backorder
  3. When backorder is received → create second bill

This accelerates cash flow for the supplier while maintaining accurate PO tracking for the buyer.

Closing Backorders#

If you decide not to receive the remaining quantity (supplier can't fulfill):

  1. Open the backorder receipt
  2. Validate with 0 quantities OR create no backorder
  3. Or cancel the remaining PO lines

Document the reason in the PO chatter for audit trail.

Try ERPeek on your own Odoo module - ask questions, scaffold tests, and explore your codebase in plain language.

Get started free