New module for "light" production or product transformation

Rational

Production module is used when you need to “transform” a product into another product (input → outputs). But production process could be complex and sometimes there’s only one task to execute. Don’t know if all examples are relevant but for me, it could be:

  • Sorting a product following different choices (product → product_choice1, product_choice2)
  • Downgrading a product because precision/grade is not enough (happens with metallic balls)
  • Unpacking a product into a specific product: ex. 1 Unit of pack of 6 bottles → individual bottles

Proposal

A new module “light production” to manage transformation.

A default location of type “Production” (configurable) will be used by the stock moves.

The product will have a many2many field with possible products and factor in default unit that could be transformed into. It will apply to “goods” but domain could be extended (assets)

Example : Product A (unit) → Product B (unit) | Factor 1.0

A wizard asking for input product, (lot), quantity, unit and input location to “convert” a product into another “product” (creating stock_moves) output: allowed_product, quantity (calculated field), unit and output location.

Before doing the “transform” process, quantity depending on product/lot will be checked if in stock at input location. There’ll be also a check if product could be “transformed” and getting the factor to calculate output quantity.

Implementation

I think it could be name stock_product_transform

It should be a location per warehouse.

It must be a One2Many with a unique constraint on the couple of products.

I do not think the basis should be a wizard but instead a simple form that could be used in a wizard eventually for quick access.

There should be a simple workflow that allow to cancel the operation in case of mistake.

For the record, it is common for companies to keep as stock products before convert them into assets when needed. In such case the account_asset should allow to use the conversion as basis for depreciation.