Hibou Odoo Suite: Inventory Modules: Product Catch Weight

Repository Versions:

Modules:

Author:

Hibou Corp.

License:

AGPL-3

Purpose

This documentation outlines the processes of using Hibou's Product Catch Weight module for Odoo 12. This module allows you to account for differences in ordered weight vs. expected weight, which is quite common in the food industry.

Getting Started

First things first, let's install the module! To do so, navigate to the Apps application.


Once there, remove the "Apps" filter and search for "Product Catch Weight". When you're ready, click install.


Processes

To get started, navigate to the Inventory application. 

Odoo - Sample 1 for three columns

Configuration for Catch Weight

Once there, select Configuration followed by Settings.

Under the Products section, select the option for Units of Measure. In the Traceability section, select the option for Lots & Serial Numbers. When ready, click Save .

Odoo CMS - a big picture

Configuring a Product to use Catch Weight

Next, go to Master Data > products. Select an existing product and edit, or configure a new product by clicking  Create.

Under the Inventory tab, in the Traceability section, select 'By Unique Serial Number' for Tracking.

Odoo CMS - a big picture

Under the General Information tab, you will see a new Catch Weight UOM drop-down. Select the UoM for the catch weight of this product (i.e. the UoM you'll be selling by). The Catch Weight UoM must be in the same UoM category as the Unit of Measure and Purchase Unit of Measure. To create a new UoM, see the 'Good to Know' section below.

Odoo CMS - a big picture

When you're ready, click Save.

Good to Know!

Creating a Unit of Measure

To add a new unit of measure, while in the Inventory app, select CONFIGURATION > Units of Measure >  UOM . Here you will find a list of all Units of Measure. Click  CREATE . Fill in the following fields:

Odoo CMS - a big picture

  • Unit of Measure: The name of the unit of measure.

  • Category: The category of the unit of measure (weight, unit, volume, etc.).

  • Type:

    • Bigger than the reference Unit of Measure: Your new Unit of Measure is larger than the reference Unit of Measure. For example, we have a 50lb case. The reference unit of measure is kilograms. So for Bigger Ratio we enter the 22.67969 (kilograms), which is 50lbs.

    • Reference unit for this measure category: Your new UoM is equal to the reference Unit or Measure.

    • Smaller than the reference Unit of Measure: Your new Unit of Measure is smaller than the reference Unit of Measure. For Ratio enter the ratio of the reference unit of measure.

  • Active: Leave checked to keep the Unit of Measure you are creating enabled.

  • Rounding Precision: The computed quantity will be a multiple of this value. Use 1.0 for a Unit of Measure that cannot be split.

When you're ready, click Save.

Receiving Products with a Catch Weight

Create a Purchase Order

Navigate to the Purchase application.


Once there, go to Purchase > Purchase Orders and create a new purchase order for this product. When you're done, CONFIRm order.


Receive Products

On the confirmed purchase order, click Receive Products.


Under the Operations tab, click the  detailed operations icon at the end of the line for the product that uses catch weight. 


This opens a new modal window. Here, enter a Lot/Serial Number and the Catch Weight (actual weight received in the Catch Weight UoM) for each line. When finished, click confirm

Odoo CMS - a big picture

When you're ready, click validate on the receipt.


Create a Bill

Now that you've recieved the products, use the breadcrumbs to navigate back to the purchase order.


Click Create Bill .


You'll see the Catch Weight reflected on the bill. When ready, click Validate.


Technical

This module adds a new `catch_weight_uom_id` to the `product.template` model. 

The `account.invoice` model receives two new fields:

  • `catch_weight` Float field for the Catch weight

  • `catch_weight_uom_id` Many2one field related to the product's (product_id) catch_weight_uom_id

The `stock.production.lot` model receives three new fields:

  • `catch_weight_ratio` computed Float field that is the Catch Weight Ratio of the lot

  • `catch_weight` Float field that is the Catch Weight of the lot

  • `catch_weight_uom_id` Many2one field which is related to the product's (product_id) catch_weight_uom_id

The `stock.move` model receives one new Many2one field `product_catch_weight_uom_id` related to the product's (product_id) catch_weight_uom_id.

The `stock.move.line` model receives five new fields:

  • `catch_weight_ratio` Float field for the Catch Weight Ratio

  • `catch_weight` Float field for the Catch Weight

  • `catch_weight_uom_id1 Many2one field for the Catch Weight UOM

  • `lot_catch_weight` Float field related to the log's catch weight (lot_id.catch_weight)

  • `lot_catch_weight_uom_id` Many2one field related to the product's catch_weight_uom_id (product_id.catch_weight_uom_id)

The Stock Production Lot form gets the `catch_weight_ratio`, `catch_weight` and `catch_weight_uom_id` fields. 

The Stock Move Operations form get's the `product_catch_weight_uom_id` and adds it to the context for the move_line_ids tree view reference.

The Stock Move Line Operations Tree view gets `catch_weight`, `catch_weight_uom_id`, `lot_catch_weight` and `lot_catch_weight_uom_id` fields.

The Product Template Form view gets the `catch_weight_uom_id` field that is only visible if tracking is set to `serial`.

The Account Invoice Form and Account Invoice Supplier Form views both get `catch_weight` and `catch_weight_uom_id` fields.

In Invoice Document QWeb views get columns for Catch Weight and Catch Weight Unit Price.