Skip to Content
Menu

Virtual Product Manufacturing

by
Odoo

81.02

v 13.0 Third Party
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Manufacturing (mrp)
Inventory (stock)
Discuss (mail)
Lines of code 717
Technical Name suppl_mrp_virtual_product_production
LicenseOPL-1
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Manufacturing (mrp)
Inventory (stock)
Discuss (mail)
Lines of code 717
Technical Name suppl_mrp_virtual_product_production
LicenseOPL-1

MRP Virtual Production

MRP Virtual Production

Hassle-free production of variants.

Extends manufacturing with by-products and adds virtual product BoMs to help with the production of products variants. Virtual products get scraped after production and only by-products get in stock.

Pre-print product labels and prepare the amount of labels needed before hand.

Why virtual production

This module provides and alternative solution for companies that sell variants of products (like soda in 0.5, 1.5 or 3 liter bottles) and want to simplify their production process. Consider this module if:

  • You do not want to use different unit of measures or product packages, instead you just want to produce and sell product variants only.
  • You want to produce in bottles, boxes, or any other packaging in one easy step during production without any additionally packaging steps afterwards.

Example use case

  1. Define your product to produce, for example Cola. Add a bottle variant, these should include the variants you sell (0.5, 1.5, 3) and a additionally production-only variant (1 Liter).
  2. Use your production variant in a bill of material which is marked as virtual. Set the BoM components and quantities based on your production variant.
  3. Set by-products (required for virtual BoMs) and add your sellable variants of Cola.
  4. In production, choose your virtual BoM and set the amount of liters you want to produce (for example 100L). The correct amount of your components are calculated for you.
  5. If needed, print and prepare the needed amount of your product labels in advanced:
  6. If you finish production, you fill the produced 100 liter in bottles. You can set the amount of produced variants (by-products), for example 20 x 3 Liter, 10 x 1.5 Liter and 12.5 x 0.5 Liter.
  7. Only the quantities of your by-products are moved into stock. The quantities of your base production variant is moved to a virtual stock location. If your products are tracked by lot- or serial numbers, these numbers are generated for you automatically.

Suppliot Virtual Production

Requirements

To use this module, make sure that following settings are enabled in Odoo

  • Settings >
    • Inventory > Products > Variants
    • Manufacturing > Operations > By-Products

Product Variants

Virtual production requires to use product variants, therefore you need to configure your products accordingly. It's recommended (but not required) to create a base production variant to use for your bill of material (see Bill Of Materials below) and variants to sell.

Examples

You sell your product in boxes of certain sizes:
  • Single (Production)
  • Single
  • Small
  • Medium
  • Large
vp_example_box.png
Production is per single piece and during production each produced piece is put in boxes.
You sell your product in bottles:
  • 0.5 L
  • 1 L
  • 1 L (Production)
  • 1.5 L
  • 3 L
  • 5 L
vp_example_liter.png
Production is per liter and during production these liters are filled in bottles.

You might wanna configure your variants based on your company requirements. The purpose of the example is to show you possible configurations but virtual production does not enforce any variant configuration and you are free to use any variant you need.

Bill of material

A bill of material should be based on your production variant and must be set as virtual. If you have existing bill of materials or ingredient lists, you might convert your values according to your variant. Of course you can create a production variant based on your existing bill of materials too.

Example

Existing bill of material:

  • Product: Cola
  • Amount: 100 Liter
  • Bill of material lines: 100L Water, 120g Sugar
  • Possible variant configurations and bill of material lines:
    • 1 Liter Production Variant: BoM = 1L Water / 1.2 g Sugar, Workorder = Quantity x 100
    • 100 Liter Production Variant: BoM = 100L Water / 1.2g Sugar, Workorder = Quantity x 1

How you set your variants and bill of materials depends on your use cases. If your production depends heavily on current demand and you production amount is varying than it might be better to use the first configuration to set the production quantity more flexible. Additionally you can create production reports based on your base variant, to answer questions like "How many liter of product x was produced this month".

If you always produce a fix amount of 100 liter and do not require any detailed reports, just use the second configuration option.

By-Products

To produce your variants to sell, a virtual bill of material requires by-products. Only by-products are produced and go to stock. The base production variant is moved to a virtual stock location and remains "available" only for reporting.

mrp_vp_bom.gif

Production

Odoo automatically calculates the required amount for your bill of materials line based on your quantity. Make sure to set the quantity according to your base production variant and keep in mind how much of each variant you want to produce

Examples

Base Variant 1L:
If you want to produce 50 x 5L bottles you need to set the quantity of your manufacturing order to 250L.
If you want to produce other variants as well you have to increase the amount accordingly.
Base Variant 100L:
If you keep your manufacturing order quantity at 1, you are only able to produce 25 x 5L which results in 100L. Of course you can increase the amount to 2.5 to produce 50 x 5L as well.
Base Variant Single:
If you want to produce 2 medium boxes (contains 3 pieces) and 3 large boxes (contains 5 pieces), set your quantity to 21 (2x3 + 3x5).

Always keep your configuration and the amount of each variant you want to produce in mind. This is important for correct calculation and usage of your bills of material lines.

Produce

The final step on your manufacturing order is the production modal wizard. As usual you can set the amount of used material and correct quantities if you have used more or less materials. For virtual BoMs you have to set the amount of your real produced variants (by-products). Only the quantities of your by-products are moved into stock. The quantities of base production variant are moved to a virtual stock location. If your products are tracked by lot- or serial numbers, these numbers are already generated for you automatically.

Customize product labels

There are multiple ways to customize the product label which is uses for the label wizard.

  1. Inherit from 'suppl_mrp_virtual_product_production.label_production_view_pdf_page' and add or remove content. The label already defines the following DIVs:

    • div#'label_header': Company and article information
    • div#'product_information': Empty div to add own product information
    • div#'barcode_infos': Product barcode and tracking (lot/serial) information

    You can also replace the whole label content div (div#'label-page-content') to create your own label.

  2. Use Odoo Studio to make required customizations.

  3. [Not recommended] Search for 'mrp_virtual' to find 'Finished Product Label (PDF)' in Technical Settings > Reporting > Reports and set 'Template Name' to your desired report. Make sure your report is for model 'mrp.production' and keep in mind that the print label wizard can be used before your manufacturing order is finished. Therefore you might not have finished quantities. See 'mrp_virtual_production_label' report for reference.

The default report paper format uses following size 90mm x 90mm. You might want to change these values according to your needs.

Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.