Skip to main content

Customer PO on Deliveries

Purpose​

Customer PO on Deliveries connects Customer PO Validation to Inventory. It adds Customer PO to transfer screens, search and delivery slips, and invokes the source order's policy before validating an outgoing transfer linked to a sales order. It has no separate menu or policy editor.

This guide follows Odoo 19 source with a targeted Odoo 20 comparison. No delivery has been validated and no report has been rendered during this review.

Before you start​

Install the matching-version base module corvus_sale_customer_po_guard and Sales/Inventory integration (sale_stock). The helper corvus_sale_customer_po_guard_stock is marked for automatic installation when its dependencies are installed. No Enterprise-only dependency is declared; hosting must allow custom addons.

Configure the customer's company-specific policy through Customer PO Policies in Sales Configuration. Choose Delivery validation as Required Stage if the reference may be omitted during confirmation but must exist before dispatch. Duplicate checks remain governed by the base policy's scope and enforcement choices.

Access and setup​

Inventory users receive read-only policy access within allowed companies. They use normal Inventory permissions to open and validate deliveries. This bridge does not give warehouse staff policy-editing or manager-approval permissions. Sales Managers remain responsible for policy assignment and justified duplicate overrides.

No bridge settings are required after installation. On an outgoing transfer, Customer PO appears after the source/origin field. Transfer lists offer the column, and transfer search includes a Customer PO field and grouping. Delivery slips include a Customer PO block when the stored value is present.

Workflow​

  1. Create and confirm a sales order using the customer's policy and exact Customer Reference. Open its linked outgoing delivery through the usual Sales/Inventory workflow.
  2. Review Customer PO on the delivery and compare it with the source order when relevant. It is read-only on the transfer.
  3. Prepare quantities using normal Inventory procedures. Choose Validate. For an outgoing transfer with a source sale, the bridge checks the order at the delivery stage before native validation proceeds.
  4. If blocked for a missing reference, ask the responsible Sales user to supply the exact reference on the order. For duplicate reuse, follow the base module's correction or Sales Manager approval workflow, then retry validation.
  5. Print the ordinary delivery slip if required. The extension displays the stored Customer PO value alongside the standard delivery information.

Practice scenario​

In an authorised test database, give fictional “North Pier Retail” a policy with Required Stage Delivery validation and Enforcement Block. Confirm an order without a reference, then prepare its outgoing delivery. Source behavior predicts that Validate stops until the order has a reference acceptable to the policy. No stock movement or shipment was performed for this example.

Troubleshooting and limitations​

The check applies only to outgoing transfers linked through their source sales order. It is not a general receipt, internal-transfer or purchase-order reference validator.

The stored Customer PO field recomputes when the source sale link changes. The reviewed dependency does not explicitly include later edits to the source order's reference. Therefore, a late correction may be accepted by validation while the transfer or slip still displays an earlier stored value. Inspect this case in your version before relying on printed references; do not assume automatic synchronization.

A valid PO does not satisfy stock availability, tracking, backorder or other native validation requirements. A warning policy permits the PO check to continue; it does not grant broader Inventory rights. Warehouse staff do not gain access to hidden duplicate orders through this check.

Catalogue-qualified versions are Odoo 15, 16, 18, 19 and 20. Odoo 17 source is also present, but that pair is not catalogue-qualified. The steps are source-reviewed for 19.0; 15–18 workflows remain unreviewed here. The targeted 20.0 comparison retains the same transfer model and report behavior and migrates policy access declarations to the Odoo 20 access format.

See Customer PO Validation for policy and approval setup, and Website Customer PO Rules for checkout. Purchase the exact version through the Corvus apps catalogue.

Open the Odoo 19 demo selector for this catalogue-qualified module/version pair. The catalogue listing was verified; no demo was launched in this review.