In 2020 and 2021, I implemented Odoo for a client that uses the software for sales, purchasing, inventory management, manufacturing, accounting and more. They have a large production and storage warehouse where they manufacture their pieces, repair various items, and store the very little stock they purchase from others. The warehouse is divided into departments. The work performed to make an in a department is represented in Odoo by a workorder (WO). There can be many workorders for a given production order and each one of these is a step in the process that occurs in a different location and by different personnel. Sales people and others at the company were often seen running around the warehouse trying to locate the department where a given piece was. This was so that they could give their clients estimates of when the piece would be ready to ship. Of course, with the implemntation of a modern ERP/MRP such as Odoo, the expectation was that it would have the ability to manage workorders with a barcode gun. This was not the case.
When we looked at the barcoding app and what it could do for workorders, we quickly realized there was no lookup, management nor processing for MRP workorers in Odoo. We asked our contacts at Odoo if this was in the works and we were informed that it wouldn't be present in any newer versions of Odoo any time soon. We were informed that there were no plans to create the mechanisms by which workorders could be managed via barcode scanners. Our next attempt was at creating our own barcoding app within Odoo that would handle workorders. It proved very difficult to add that seemingly simple piece of customization into Odoo. Then it occurred to us that we could do this with a Django Web app and host it online so the barcode scanners could access it. This is just what we did. Read on to get a more detailed explanation of "the how."
The executive's at the company desired to have, readily available in Odoo, the exact department where a given piece currently was in production. They referred to this as their WIP report. Odoo came up short when we tried to implement barcoding for managing workorders in the production departments. Not even in the latest version (18), does Odoo offer the user an acceptable way to manage workorders with a handheld barcode scanner. There is no barcode scanner identification and processing of workorders in any version of Odoo. There is a tablet view that may be handy for warehouses that equip personnel with tablet scanners but the WO management screen is not easy to use and the flow is clunky. We needed workorders to be summoned for processing by simply scanning a barcode. One would have to navigate to the Manufacturing app and find the MO, navigate to the Workorders tab and then click on the correct one to open it. We knew the IT literacy in the warehouse was at a somewhat basic level so we needed to automate this process as much as possible. We needed a solution that would make it stupid-simple for pretty simple warehouse employees. We needed to scan the barcode on the printed MO and identify the manufacturing order and pull up the next open WO in the sequence as well as the components to be consumed along with their lot #'s (if applicable). It also had to process and complete the workorder with one button click.
We explored our options. We could customize the Barcode app in Odoo and get it to identify manufacturing orders and then take the user the workorder management screen that was designed for tablets. We wrote some code to get this in play but it was taking too long and we were really not getting anywhere close to having a simple interface for warehouse folks to use and not have to fill out a ton of fields, etc. We searched high and low for anything that looked even remotely close to a solution for this and came up with nothing. So we developed a software tool for those that manage their production workorders with handheld scanners. It works by identification of the production order and then automates the processing of workorders. The components that are to be consumed with their corresponding lot numbers will also be consumed and the lot #'s displayed in readonly text fields will be assigned to them. This process becomes one that is seamless and easily implemented in any warehouse.