OdooWiki OCA HUB

Stock whole kit constraint

stock_whole_kit_constraint folder_open OCA/manufacture open_in_new
Stock License: AGPL-3

This module allows to configure a product that has a BoM of type kit to disallow partial deliveries so that the components can't be partially delivered.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Adds a per-product option to forbid partial deliveries of kit components. When disabled, Odoo blocks validating a transfer that would deliver only part of a kit's components.

This module adds a new setting on products that have a kit-type bill of materials. The setting is called "allow partial kit delivery" and is visible on the product form (both product template and product variant) for users with stock manager rights, but only when the product has at least one bill of materials and is a consumable-type product.

By default the option is enabled, so nothing changes for existing products. If a stock manager turns it off for a kit, then when a transfer containing that kit's components is validated, Odoo checks whether the quantities actually processed are lower than the quantities expected. If any component of that kit would be delivered only partially, validation is stopped with an error message naming the kit.

The check is done per kit: it groups the moves belonging to the same bill of materials and compares done quantities against demanded quantities. If nothing has been processed for that kit yet, the check is skipped. The behaviour is applied on stock.picking validation and uses a computed flag on stock.move that is only meaningful for moves linked to a kit component; for all other moves the flag stays true so they are never blocked.

No new menus or reports are added; the feature appears as a checkbox on the product form and as a validation rule during transfer processing.

Depends on

mrp
Models and fields (3)
  • stock.move · extends an existing modelallow_partial_kit_delivery
  • stock.picking · extends an existing model
  • product.template · extends an existing modelallow_partial_kit_delivery

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: 5 confirmed, 4 with no information of 9 versions.

Sources · Odoo 13.0

Confirmed on 2026-11-03 in branch 13.0 of OCA/manufacture.

terminal Installation and usage

OCA documentation · Odoo 18.0

To allow/disallow the partial delivery of kits:

  • Go to the kit product template or variant and then to the Inventory tab, Logistics group.
  • The "Allow Partial Kit" check controls this. If marked, it will allow it.
  • By default, the check is marked.

To use this module, you need to:

  • Make a delivery picking with a kit product.
  • Try to deliver it partially.
  • An error will raise.

If you want to deliver other items in the picking you can do so and leave the whole kit components units pending in a backorder.

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.