Skip to main content
Odoo Community Association

Sale Order Blanket Order

Beta License: AGPL-3 OCA/sale-blanket Translate me on Weblate Try me on Runboat

This module extends the functionality of Sale Order to support Blanket Order and Call-off Order.

Blanket Order

A Blanket Order is a standard sales order with the following specific features:

  • Type: Classified as “Blanket Order”.

  • Defined Duration: Includes a validity period (end date).

  • Payment Terms: Allows selection of preferred terms (e.g., 90 days end of month, upon delivery, etc.).

  • Invoicing Policy: Can be based on product settings or the order itself.

  • Stock Reservation: Allows advance reservation of sold quantities.

  • Handling Unfulfilled Quantities: Provides options for dealing with undelivered quantities upon order expiration.

  • Prices are calculated based on existing rules since it is a standard sales order type.

The blanket order serves as the central element triggering stock management and invoicing mechanisms.

Stock Management

Delivered quantities are tracked on the sales order lines as with regular sales orders. By default, the stock is not reserved upon confirmation of the blanket order. This is achieved by using the OCA module sale_manual_delivery. As a result, the stock will be reserved only when a call-off order is created for the quantity to be delivered.

In some cases, you may want to reserve stock upon confirmation of the blanket order. This can be achieved by using the OCA module sale_order_blanket_order_stock_prebook. This module extends the functionality of Sale Blanket Order to support the reservation of stock for future consumption by call-off orders. The reservation is done at the time of the blanket order confirmation for a consumption starting at the validity start date of the blanket order. This behavior can be configured on the blanket order.

Invoicing

Standard invoicing policies apply (e.g., invoice on order or on delivery). Payment terms are configurable per order. Prepayment can be enforced by configuring the invoicing policy at the order level using the OCA module sale_invoice_policy.

Consumption Management

A wizard will be available on the blanket order to initiate a delivery. It allows users to select products and quantities for delivery. This action creates a Call-off Order linked to the blanket order.

Call-off Order

A Call-off Order is a standard sales order with these specific characteristics:

  • Type: Classified as “Call-off Order”.

  • Linked to Blanket Order: Only includes products from the blanket order.

  • Delivery Release: Enables the release of reserved stock for delivery.

  • No Invoicing or Stock Management: These are handled via the linked blanket order.

Stock Management

No delivery is generated directly from the call-off order.

It triggers:

  • Release of the reserved quantity in the blanket order.

  • Adjustment of stock reservations for the remaining quantities.

Standard Sales Orders

To support existing workflows (e.g., e-commerce), call-off orders can be generated transparently from standard sales orders based on product and availability:

Entire orders may be converted into call-off orders if all products are linked to a blanket order. Mixed orders split call-off items into a new call-off order, with both confirmed within the available quantities of the blanket order.

Table of contents

Use Cases / Context

When a company sells the same products to the same customers on a regular basis, it’s a common business practice to create a blanket order that defines the terms and conditions of the sales.

If you need a way to define:

  • the terms and conditions of the sales,

  • the payment terms,

  • the delivery terms,

and also secure the quantities of the products to be delivered, the sale order blanket order module is the right choice.

This module introduces 2 new kinds of sales orders:

  1. Blanket Order: This is a sales order that defines the terms and conditions of the sales, the price, the payment terms, the delivery terms, and secures the quantities of the products to be delivered.

  2. Call of order: This is a sales order linked to a blanket order that is created to trigger the delivery of quantities of the products secured in the blanket order.

Others modules can be used to provide the same kind of features. For example, the module (sale_blanket_order)[https://pypi.org/project/odoo-addon-sale-blanket-order] also defines the concept of sale blanket order. The main difference between the two modules is that the sale order blanket order module extends the sale order model to add the sale blanket order and the call off order. This allows to keep the benefits of all the extensions made on the sale order model by other modules without having to adapt them to the sale blanket order model (discount, invoicing; inventory process, …).

Usage

By default, the automatic creation of call-off orders from normal sale orders containing products part of a blanket order is disabled. To enable this feature, you need to go into the sales settings and enable the option “Create Call-Off from SO if possible”.

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits

Authors

  • ACSONE SA/NV

  • BCIM

Contributors

Other credits

The development of this module has been financially supported by:

  • ALCYON Belux

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainers:

jbaudoux lmignon

This module is part of the OCA/sale-blanket project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

Metadata

Release files for odoo-addon-sale-order-blanket-order 18.0.1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for odoo-addon-sale-order-blanket-order 18.0.1.0.4
File Interpreter ABI Platform Actions
odoo_addon_sale_order_blanket_order-18.0.1.0.4-py3-none-any.whl Python 3 none any Details for odoo_addon_sale_order_blanket_order-18.0.1.0.4-py3-none-any.whl

Release files / odoo_addon_sale_order_blanket_order-18.0.1.0.4-py3-none-any.whl

Download URL odoo_addon_sale_order_blanket_order-18.0.1.0.4-py3-none-any.whl
Size 83.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3fe838bd02e6539b43a0b0fd65e856ea6918edf119b03fbb89168523e5c14310
BLAKE2b-256 checksum
How to use checksums
4d6e5f2a759ee703c8fcb1885d9bea93379bd56c5edbb83358548aaae68d075c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Security for odoo-addon-sale-order-blanket-order 18.0.1.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page