Product Lifecycle Management (PLM) using ERPNext

Search for other ERPNext-related posts. You may also visit the demo on dalescott.net.

Product Lifecycle Management (PLM) is a body of knowledge concerned with managing everything about a product from cradle to grave. PLM encompasses product management, engineering design, product-specific business and manufacturing processes, new product introduction (NPI), and product data management. A PLM system integrates people, parts, processes and issues, and provides a trustable and transparent infrastructure backbone for the business.

Enterprise Resource Management (ERP) is a superset of PLM. ERP was born from a manufacturing need, but a modern ERP today includes accounting and financials, sales, customer relationship management, human resource management, and other core business systems – including PLM. However, modern ERP systems have also become complicated and expensive, and a successful implementation often requires that the business more conform to the ERP than vice versa. A new type of ERP is emerging, called Postmodern ERP. Postmodern ERPs are designed from the ground up to be simple and flexible, more capable of modelling a business than imposing conformity, and available to organizations of even modest requirements or means.

ERPNext is a postmodern ERP system, and includes basic PLM functionality. Although not as feature-rich as a dedicated PLM might be, ERPNext is capable for many situations, it is also less complicated, already integrated, and a capable starting point to build on. Features of ERPNext related to PLM include:

  • Integrated data. Items (parts), purchase specifications, engineering design documents, revisions, projects, issues, etc. All informtion is conveniently managed in one consistent system.
  • Visible, trusted, change management with social notification.
  • Scaled according to number of users, number of items and complexity of product trees, supply chain complexity, etc.

I will be following the Swift Construction Company’s development of the Aircraft Wireless in this tutorial, documented in the Maestro Project.

Goals

The goals of this tutorial are to:

  • Create child and parent items to model an assembly.
  • Identify item supplier information for purchasing, including purchase and OEM specifications.
  • Demonstrate a suitable change management process.

Future revisions of this post will expand on topics such as including anticipated purchase, process and labour costs for preliminary cosgt analysis, and defining appropriate work centers in the manufacturing process.

Definitions

Here are some terms defined in the context here.

  • CSV (Command Separated Value). CSV is a common text data interchange format, with data values separated by commas. E.g. ’12,”this is text, not a number”, 15.0′ might be one line from a CSV file (notice the text is quoted because of a contained comma). Although the acronym specifies the data element separator is a comma, other separator characters such as a tab or semi-colon are also often used.
  • ECO (Engineering Change Order). The name of a change management process often found in an engineering or manufacturing environment, which defines the process for making a change to an item, and thereby changing its revision level. Sometimes the ECO process is preceded by an Engineering Change Request (ECR) process in a two-phase ECR/ECO process.
  • OEM (Original Equipment Manufacturer). Items may be purchased from distributors, and there may be more than one distributor selling a particular OEM item. In this case, often it is the OEM item that is critical, not who it is purchased from.
  • Release. A release is a milestone in the development life-cycle of a top-level or child item, and is associated with a specific revision-level. A release provides a convenient point for synchronizing various project activities, including product features and capability, purchasing and manufacturing activities, press releases, pre-production and trade show demos, etc.
  • Revision Level. An item carries has a revision level, that can be used to reference the item, and its supporting documentation, as it existed at a particular point in time. An item, and its revision level, can be updated following a well-defined process.

Item Codes and Revision Levels

I will use an “8+2” format item code, with 8 digits to specify the unique item (aka part number), and 2 digits to specify the item’s revision level.

For example, see the following portion of the Aircraft Wireless product tree showing a custom inductor.

20000001-00,"IND,830UH,AIRCRAFT WIRELESS"
|-- 90000001-00,"WIRE,MAGNET,38AWG,POLY"
|-- 90000002-00,"MAG,FERRITE ROD,1/4IN X 4IN,MATL=61"
\-- 90000003-00,"TAPE,ELECTRICAL,3/4"",BLUE,VINYL"Create Items

I will need to create the parts required for the SCC Aircraft Wireless Release-1 prototype .  To create a new item, access the Item List in ERPNext and click New.

If necessary, a new unit of measure (UOM) can be created on the fly for the unit an item is managed in and consumed by.

The unit of measure for the wire in the custom inductor (PN 90000001-00) is centimetres (cm), meaning the wire will be inventoried in cm and consumed by the cm. However, it will be purchased in the vendor’s unit of measure, which is a Spool. Both cm and Spool will need to be created as they are not already defined in ERPNext’s UOM List.

Something to be aware of is that because centimeters are specified as the default UOM for the inductor wire, it means inventory will also be managed in centimeters. In an inventory audit, it will be necessary to convert from counted full spools to centimeters because the audit count will be in centimeters. Depending on the business, there are other out-of-box options which may work better in practise.

The purchase UOM for an item is specified in the Purchase Details section of the item master data.

When the purchase UOM for an item is different from the item’s default UOM, the relationship or conversation factor must be specified in the Units of Measure section of the Item master data. In the case of the inductor wire, the conversion factor from spool to cm is 588,264 (the datasheet for the wire indicates a spool contains 19,300 feet of wire, and 19300 ft x 30.48 cm/ft  gives 588,264 cm/Spool).

Supplier details are also entered in the Item master data, including specifying the OEM and OEM part number if relevant.

Attach Supporting Documentation

An image can be associated with an item in the item master data for the convenience of users in recognising or understanding the item. Files and other documents that specify or support the item can also be attached, such as the supplier catalogue page, a preliminary supplier quotation, or engineering design documents.

If a document already uploaded pertains to multiple items, the already-uploaded document can be attached instead of uploading a new document. It is also possible to enter item master data by importing CSV format data. This would likely be the preferred method when implementing ERPNext for an established organization.

Create Bills of Materials

Child items of a parent are specified using a Bill of Materials (BOM), including child item quantities. ERPNext revisions BOMs independently from Items, and creates BOM-20000001-00-001 as the initial BOM for Item 20000001-00.

Managing Change

Using the revisioning strategy outlined here, revising a child item in ERPNext can be done by simply duplicating it and increase the revision level in the Item Code. The revision level of the child’s parent item may or may be changed, depending on the policies of the organization. Generally a change in fit, form, or function mandates at least a revision level change, if not a completely new item with new root item code. The revision level of the parent may not be required to change if the fit, form or function of the parent has not changed as a result of the child’s revision.

If the revision level of the parent is not required to change, the parent’s BOM can simply be updated with the new child revision level. ERPNext will create a new BOM revision level, but the revision level of the parent item is not affected. If the revision level of the parent does change, a new BOM will need to be created for the new revision level of the parent (and listing the child at its new revision level).

Organizations typically have an approval process for revising a product, often called an Engineering Change Order (ECO) process. An approval signature document is commonly used to capture approval from stakeholders, including product management, engineering, sales, manufacturing, quality and finance. The signed approval document can be attached to the related item or BOM in ERPNext.

Summary

This has been a short overview of PLM using ERPNext. Although ERPNext is not a dedicated PLM system, its out-of-box capabilities are more than adequate to support basic PLM operations. Should additional capabilities be necessary, they can be developed on the ERPNext platform itself, or ERPNext’s advanced API can be used to integrate with a suitable dedicated PLM system.

Please leave a comment or use the contact form for more information.

ERPNext Tutorials

Enterprise Resource Management (ERP) was born from a manufacturing need, but a modern ERP today includes accounting and financials, sales, product lifecycle management (PLM), customer relationship management (CRM), human resource management (HRM), and other core business systems. However, modern ERP systems have also become complicated and expensive, and a successful implementation often requires the business more conform to the ERP than vice versa. A new type of ERP is emerging, called Postmodern ERP. Postmodern ERPs are designed from the ground up to be simple and flexible, more capable of modelling a business than imposing conformity, and available to organizations of even modest requirements or means.

ERPNext is a postmodern ERP. Rushad and his team created not only an incredible open-source software application, but also an entire eco-system, including a community of users and independent consultants, a supportive peer-to-peer help forum, and a recent addition, the ERPNext Foundation for project stewardship.

I will be taking a somewhat chronological journey through ERPNext, from an engineering perspective. Starting with the engineering team creating a prototype, then continuing through general customer release, the journey continues with changes to enhance quality, satisfy new customer needs, and reduce cost.

I will be following the Swift Construction Company’s development of the Aircraft Wireless in this tutorial, documented in the Maestro project. Also this list will be updated with links to the tutorials as they are published.

#1. Installing ERPNext

I started with the virtual machine image provided by ERPNext.org, hosting the vm using VirtualBox on FreeBSD.

#2. Product Lifecycle Management (PLM) using ERPNext

All the parts needed to build the initial Aircraft Wireless prototype will be created, including sub-assemblies with bills-of-materials (BOMs). Purchasing and supplier data will be entered for bought-in items, and appropriate documents will be submitted for custom or manufactured items. Revision levels will be used to assist in managing inevitable change.

#3. Purchasing using ERPNext (not yet published )

The parts needed to build a sub-assembly of the prototype (a custom inductor) will be purchased, received to stock, and paid for, with the development project bearing the costs. Initially, purchasing will be driven by the engineering project, then later by manufacturing scheduling after the Aircraft Wireless reaches production status.

#4. Manufacturing using ERPNext (not yet published )

Similar to the Purchasing tutorial, manufacturing will initially be driven by the engineering project, then later by manufacturing scheduling after the Aircraft Wireless reaches production status. Work orders will be created to manage work and collect cost.

#5. Managing projects using ERPNext (not yet published )

The concept of a project was first introduced in the Purchasing tutorial, when prototype costs were allocated to the Aircraft Wireless engineering project. Here project management will be explored further, including capturing time spent by engineering staff on the development project, and using Kanban project management (equivalent in many ways to the agile scrum process).

Other topics being considered include:

  • Purchasing from a BOM using ERPNext.
  • Managing Controlled Stock using ERPNext.
  • CRM using ERPNext.
  • Managing a Production ERPNext Site (keeping an ERPNext site up to date and QA considerations for business-critical software infrastructure systems).
  • Receiving  serialized stock items.
  • Serialize certain non-serialized stock when received (serialized with either vendor or local serial number).
  • Manufacture serialized stock in the form of sub-assemblies and final assemblies, using serialized and non-serialized stock.
  • “Un-manufacture” serialized product to sub-assemblies,  returning sub-assemblies to inventory following a QA re-verification process.
  • Reporting serialized sub-assemblies included in a serialized product (current and historical).

Please leave a comment if any of these topics are relevant to you, or to suggest other topics of particular interest.

Dale

webERP Tutorials

Here are the currently available webERP tutorials. 

#1. Installing webERP

Install webERP on Apache 2.4 and MariaDb 10.0.

#2. Product Lifecycle Management (PLM) using webERP

Create parts, identify vendor, configure unit-of-measure, create bill-of-materials.

#3. Purchasing using webERP

Issue purchase order, receive stock, make payment.

#4. Manufacturing using webERP

Create work order, receive output goods, close work order.

#5. Managing projects using WebERP (not completed)

Comparison of manufacturing and contract-based project management and configuration for following the manufacturing strategy, but a complete project workflow is not presented.

Topics being considered for new tutorials include Stabilizing webERPPurchasing from a BOM using webERPManaging Controlled Stock using webERP, and CRM using webERP. Please leave a comment if you are interested in any of these topics, or if you would like to suggest any other topics.

Dale

Web-Based Timesheets for Project Management

What is project management? What it isn’t is a carefully crafted Gantt chart made to support a Project Charter and then forgotten about.

A cornerstone of effective project management is to understand how much effort has been expended and what tasks have been accomplished, and then to use that information to guide completion of the project and to publish status reports that can be trusted. Project management is a closed loop, one popular model is the PDCA (Plan Do Check Act) cycle.

Check refers not only to the expected output, but also to the process – whether resources are being consumed as expected, whether risks remain acceptable, if schedule and cost-to-complete forecasts are still reasonable and in budget, etc.

For small enterprises, collecting information on effort typically means timesheets. Project infrastructure can sometimes be leveraged for metrics, such as a software bug tracker or a sprint planning tool, but this generally requires a large number of datapoints before being accurate enough for project management purposes. For SMEs with relatively few team members on a project, the ubiquitous timesheet will be the simplest and least intrusive method of collecting project effort metrics. Since many organizations require timesheets anyway for financial accountability, the additional work to also collect information useful project management need not be significant if done in the right way.

I’m working on a series of blog posts on SME product development project management, and researched the state of open source timesheet applications for use in a strawman based on a Swift Construction Company product development project. You’ll find out later which application I selected, but until then here the potential candidates I found.

]project-open[

]project-open[ is a fully featured portfolio project management suite. However, unfortunately with great power also comes significant complexity and in brief use I was unable to create a simple project and submit a timesheet. Commercial support is available, and the project co-founder walked me through some impressive basic functionality in a personal webinar.

ProjeQtOr

ProjeQtOr is a fully featured project management suite with a twist – with ProjeQtOr you  also get “all the tools that will ease to ensure conformity to any Quality Management System, effortlessly and without any extra too”. This approach has a lot of merit. Issues are issues whether they relate to a product in production or the execution of a project task, and investigating a non-conformance is just as much a project as is development of a new product or upgrading IT infrastructure.

qdPM

I used qdPM for several months to record effort for a personal project. qdPM is a freemium-type product, and the community version is licensed using the Open Source license. It is a professional grade product.

To me, qdPM seemed to suit product support more than project management, and includes top-level menu items for Tickets, Discussions, and Software Versions. Entering time spent on a task is done by creating a comment, and traditional project management such as cost vs time are not readily available.

timeEdition

timeEdition appears best suited for a single individual to track their personal project time, rather than actual project management. Although it appears to be commercial proprietary software from the website, I found a source code on Sourceforge using an open source license (see timeEdition Sourceforge project).

TimeTracker

TimeTracker lives up to its claim of being a simple, easy to use, open source, web-based time tracking application. After experimenting with it for a while, my only complaints are that tasks are not inherently project-specific, which could make task management overwhelming if you have a large number of projects, each with a large number of tasks. However, projects specify which tasks they include, so the task list is still manageable from a user’s perspective. 

TimeTrex

TimeTrex has a flashy website, but at heart is a traditional time-card system for scheduling and tracking task-based employees, not managing projects. You can download TimeTrex Community v9.1.3 from the TimeTrex project on Sourceforge if you don’t want to provide your email address using the TimeTrex website.

Additional Applications

I found another of other applications as well, but for one reason or another I didn’t have the opportunity to investigate further, or on cursory glance they didn’t seem suitable (remember, my original goal was a simple easy to use timesheet, not necessarily project management).

Watch for the start of my posts on project management to learn which application I selected for a Swift Construction Company strawman.

Cheers!