This module extends the functionality of sales to allow you to block the creation of deliveries from a sales order and give a reason.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Lets you block the creation of deliveries for a sales order and record the reason, so no stock is reserved or moved until someone releases the block.
This module adds a way to hold back deliveries on a sales order. You can create delivery block reasons (for example "Pay Before Delivery") under Sales > Configuration > Delivery Block Reason, and each reason shows the sales orders it is applied to.
On a sales order a "Delivery Block Reason" field appears next to the payment term. It is filled automatically from the customer's default block reason, or from the payment term's default block reason, as long as the order is not yet confirmed. While a block reason is set, no procurement or stock move is created for the order lines, so no stock is reserved or assigned.
A "Release Delivery Block" button appears on confirmed orders that are blocked. Users in the "Release Delivery Block in Sales Orders" group can click it to clear the block and create the usual procurements. A "Delivery Blocked Sales" filter is available in the sales orders search to list blocked orders.
You can set a default block reason on a customer (Sales & Purchases tab) and on a payment term. Blocking an order is not allowed when the "auto_done_setting" option is active. The module touches sale.order, sale.order.line, res.partner, account.payment.term and adds the new sale.delivery.block.reason model.
Depends on
Menus it adds
Models and fields (5)
- sale.order · extends an existing modeldelivery_block_id (Delivery Block Reason)
- res.partner · extends an existing modeldefault_delivery_block (Default Delivery Block Reason)
- sale.order.line · extends an existing model
- account.payment.term · extends an existing modeldefault_delivery_block_reason_id (Default Delivery Block Reason)
- sale.delivery.block.reason · new modelname, description, sale_order_ids (Sale Orders)
Text generated by AI (DeepSeek) from reading the Odoo 19.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: 8 confirmed, 1 with no information of 9 versions.
Sources · Odoo 13.0
Confirmed on 2026-11-03 in branch 13.0 of OCA/sale-workflow.
terminal Installation and usage
OCA documentation · Odoo 19.0Configuration
Source · Odoo 19.0To configure this module, you need to:
- Go to 'Sales \> Configuration \> Sales Orders \> Delivery Block Reason'.
- Create the different reasons that can lead to block the deliveries of a sales order.
- Add some users to the group 'Release Delivery Block in Sales Orders'.
Additionally, you can set a customer with a 'Default Delivery Block Reason' policy to add that delivery block to his sales by default:
- Go to 'Sales \> Sales \> Customers'.
- In the 'Sales & Purchases' add a 'Default Delivery Block Reason'.
- The 'Default Delivery Block Reason' will be added automatically when creating a new sales order for the customer.
You can also set a payment term with a 'Default Delivery Block Reason' policy to add that delivery block to his sales by default (only if the customer does not have one set), in a similar way to the customers:
- Go to 'Invoicing > Configuration > Invoicing > Payment Terms'.
- Add a 'Default Delivery Block Reason'.
- The 'Default Delivery Block Reason' will be added automatically when creating a new sales order for the payment term, in case the customer does not have one.
Usage
Source · Odoo 19.0To use this module, you need to:
- Create a new sales order and provide a 'Delivery Block Reason'.
- Confirm Sale (No delivery would be created).
- Release Delivery Block when it is time to create the deliveries for the sales order.
No verified information in OCA: Installation.
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.