Purchase Receipt Expectation
This module is used as base module for managing incoming picking creation on purchase orders.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Adds a 'Receipt Expectation' option on purchase orders that controls how incoming receipts are created when the order is approved. By default it uses the standard Odoo behaviour.
This module adds a new field called Receipt Expectation on the purchase order form, shown next to the Incoterm field. It is a required choice with a single option, Automatic, and it is set to Automatic by default.
- The field is editable while the order is still a draft or sent, but becomes read-only once the order is confirmed (purchase) or done.
- When a purchase order is approved, the system looks at the Receipt Expectation value and decides how to create the incoming receipt (the warehouse operation for goods arriving).
- With the Automatic value, the receipt is created exactly as standard Odoo does it, so day-to-day users see no change in behaviour.
- The module is designed as a base for other modules: additional expectation choices can be plugged in later, each with its own way of creating receipts.
- If a value is selected for which no receipt-creation logic exists, the system raises an error instead of silently doing nothing.
It touches the purchase order model and its form view. No new menus, reports, emails or scheduled jobs are added by this module on its own.
Depends on
Required by other modules
Models and fields (1)
- purchase.order · extends an existing modelreceipt_expectation
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-03Confirmation status: 2 confirmed, 7 with no information of 9 versions.
Sources · Odoo 15.0
Confirmed on 2026-11-03 in branch 15.0 of OCA/purchase-workflow.
terminal Installation and usage
OCA documentation · Odoo 18.0Usage
Source · Odoo 18.0This module adds a new selection field receipt_expectation to purchase.order. By default, its value is "automatic", which means that the picking creation at order approval is managed by the Odoo standard workflow.
Inheriting modules can extend the selection field with a custom value, but this will also require to define a custom method named _create_picking_for_<value>_receipt_expectation() on purchase.order to manage picking creation for orders with the new field value, else a NotImplementedError will be raised.
For example:
class PurchaseOrder(models.Model):
_inherit = "purchase.order"
receipt_expectation = fields.Selection(
selection_add=[("my_value", "My Value")],
ondelete={"my_value": "set default"},
)
def _create_picking_for_my_value_receipt_expectation(self):
"""Manage picking creation for orders where ``receipt_expectation``
is ``"my_value"``
"""
...No verified information in OCA: Installation, Configuration.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
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.