OdooWiki OCA HUB

Purchase Manual Delivery

purchase_manual_delivery folder_open OCA/purchase-workflow open_in_new
Uncategorised License: AGPL-3

The goal of this module is to allow the manual creation of incoming shipments. When installed, a purchase order won't impact directly the stock. It will not create the pickings upon order confirmation. It allows the reception and the impact on stock to be done manually when needed. The goal is to be used when a supplier does not confirm the full order at once. As the supplier confirms the different purchase order lines, the user can manually create the incoming shipments for those specific lines.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Stops Odoo from automatically creating incoming shipments when a purchase order is confirmed, and lets you create those receipts manually for the lines your supplier has actually confirmed.

When this module is installed, confirming a purchase order no longer creates the incoming stock transfer automatically. Instead, a new button "Create Incoming Shipment" appears on confirmed purchase orders that still have quantities to receive, and you can also run the same action from the purchase order lines list.

A company-level setting "Manual Delivery" (in Purchase settings) turns this behaviour on by default for new orders; each order also has its own "Manual delivery" checkbox that can be changed while the order is still a draft or sent.

On purchase order lines you see a "Qty in Receipt" column and a "Pending Qty to Receive" flag. Lines with pending quantities are highlighted in the order and can be filtered with "Pending to receive" or "Reception confirmed" in the purchase order lines search.

The manual shipment wizard shows the ordered, already received, in-receipt and remaining quantities, and lets you type the quantity to receive per line. It refuses to receive more than the remaining quantity, and it refuses to mix several vendors or several purchase orders in one go. After validation, a stock picking is created, confirmed and reserved, and a note linking it to the purchase order is added.

The stock forecast report also shows a "Requests without delivery" line for purchase orders whose receipts have not been planned yet.

Depends on

Models and fields (8)
  • res.company · extends an existing modelpurchase_manual_delivery (Purchase manual delivery?)
  • purchase.order · extends an existing modelmanual_delivery (Manual delivery), pending_to_receive
  • product.product · extends an existing model
  • purchase.order.line · extends an existing modelqty_in_receipt, pending_to_receive (Pending Qty to Receive)
  • res.config.settings · extends an existing modelpurchase_manual_delivery
  • create.stock.picking.wizard · new modelline_ids (Lines), partner_id, picking_id (Stock Picking), purchase_id (Purchase Order), scheduled_date (Scheduled Date), location_dest_id
  • create.stock.picking.wizard.line · new modelqty (Quantity to Receive), name (Description), taxes_id, wizard_id (Wizard), partner_id (Vendor), price_unit, product_id (Product), currency_id, product_qty (Quantity), product_uom (Unit of Measure), date_planned, qty_received, remaining_qty (Remaining Quantity), qty_in_receipt, purchase_order_line_id
  • stock.forecasted_product_product · extends an existing model

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 6 confirmed, 3 with no information of 9 versions.

Sources · Odoo 14.0

Confirmed on 2026-11-03 in branch 14.0 of OCA/purchase-workflow.

terminal Installation and usage

OCA documentation · Odoo 18.0

The Manual delivery checkbox can be edited on any RFQ, on the Other Information tab. To set the default value for new POs, go to Settings -> Purchase -> Delivery.

There are two main ways to use this module:

  • From Purchase Order

When creating a purchase order and confirming it, no picking will be automatically created. Lines with pending quantities to receive will appear in blue color, to create the manual picking press the button "Create Incoming Shipment":

This will trigger the wizard that lets the user choose which lines should be taken for the creation of the picking and also the quantities. Clicking on the "Create and View Picking" will create the reception and redirect the user to the picking form.

  • From Purchase Order Line

The module adds a new list view for Purchase Order Lines (in Purchase Menu). From there you can select multiple PO lines (in this base module only PO lines from same PO can be selected) and create the manual delivery. Follow the same steps as above to manually generate the incoming shipment.

If, as a developer, you need to override the behaviour you can call purchase.order's button_confirm with context key ignore_manual_delivery=True.

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.