News & Publications
Insights and thought leadership in Odoo

Using an ERP System for Product Development - Part I

ERPs are all about production management, right?

They can’t help with Product Development, or if they do, it is only to provide sale and product management information.

Wrong. ERP systems can model new products, and help you get to the bottom of some important decisions.

​Virtual Production

Let’s try the first point. We can produce a new product virtually, prior to purchasing machinery, hiring staff, or investing in new space.

Here are some notes on our new product; a kid’s balsa glider.

We need to stop for a moment, and think about how we make a glider. We need:

  • 5 parts - a canopy, a wing, a fuselage, a rudder, and a stabilizer.
  • A location (desk) where you will assemble it.
  • A few minutes to put it together.
  • A location (down the hallway) where you will test fly it
  • And a few minutes of time to test fly it.

These factors seem a bit like a recipe. In Manufacturing, this list of materials and how they are assembled are referred to as a “Bill of Materials”, or BOM.

​Supply Chain Factors

Also, the glider parts cost a few dollars to buy, and perhaps, you can sell it to an office mate for a few dollars more. You may need to order the parts, and you want to know how long it will take for new components to show up at your door. You will also want to keep track of how many parts you ordered, where you store the parts, and how many you have on hand. You also may want to reorder parts when your inventory gets below a certain level, so that you can always keep up with demand.

These factors translate to:

  • Cost price and Sales price
  • Suppliers and lead times
  • Inventory and locations
  • Stockage rules.

Product Definition

We will use all of these factors to define a product.

The final road map of the product looks like this:

We will create this definition for the final product, as well as all the component products that go into making the final product. Here, you can see the components that go into making a glider.

For each product, the definition includes the name of the product, whether it is produced or purchased, the cost and sale price, the parts that make it up (Bill of Materials again), how many in inventory, and when we should reorder it, and the accounting information for purchasing or selling it.

BOMs and Work Centers

To define the Bill of Materials, we will describe the components that are used to make it.

The labor or machine stations where your product is assembled are known as “Work Centers.” In this case, we defined two different work centers. At the first, you are putting together your glider, and at the second location, you have a space where you can test fly it.


Now we can add time to assemble your glider at these stations, and define the order in which you will do the work. In building a “Routing” of your work, you are defining the location, time or machine effort, and the order of your assembly. Here, we have defined a “Cycle” of work to take 60 minutes.

By building this model of a proposed product’s assembly system, we can now modify it, and look for optimizations.

We can try variations such as faster machinery, pieces coming to you preassembled, or more staff. You can test your assumptions about production costs prior to ordering equipment or inventory. This alone can save you a lot of time and money.

​Cost, Revenue and Throughput Capacity

Some deliverables that may be included might be:

Example #1: Expected cost, revenue and throughput capacity of the complete system.

Let’s assume that the company has some data on the time between orders placed by customers. Using this data, we can generate an Empirical Distribution Function (EDF) based on the frequency of the data.

Next, using tried and true regression techniques, we can fit a number of distributions to the EDF and determine the best fitting distribution. In the figure below, the blue line represents the raw data and the red line is the best fitting distribution.

The best fitting distribution using the given data is an Exponential Distribution with the parameter λ = 0.2604. Using the properties of the Exponential Distribution, the mean of the distribution is equal to 1/λ = 3.84 days given that the data was days between order arrivals.

Now lets equate this to the expected cost and revenue. If the expected arrival time is 3.84 days between orders, using a similar process, we determine the expected number of products in a given order is 25, then we can calculate the expected (E) revenue as:

E[Revenue] = (Revenue per Product)*E[Order Quantity]*(#Business Days/E[order arrival time])

Therefore, if the amount of revenue per product is $20.00 and there are 250 business days in a calendar year, then:

E[Revenue] = $20.00 * 25 * (250/3.84) = $32,552.08

Similar calculations can be used to determine expected costs.

Parameters with High Sensitivity

Example #2: Sensitivity Analysis (Variation in Net Cash Flow given changes to Unit Cost and Units Sold):

Optimized Configuration and System Constraints

Example #3: Optimized manufacturing configuration, and identify possible system constraints.

Lets assume that we have a machining process that takes 2 minutes to complete a job from part arrival until completion. Also assume that orders arrive at a rate of 2 orders per minute based on an exponential distribution. The table below represents a simulation of 20 arrivals.

Using the arrival data and machine processing time, we can determin valuable information that will help the client optimize their process based on certain criteria. For example, we are able to determine not only when the machine was busy, we are also able to calculate idle time.

By summarizing the last column (Machine Idle Time), the machine was idle a total of 23.10 minutes. Given all orders were received and processed within 83.10 minutes, the machine was idle 28% of the time.

How good is this estimate of 28% you ask? Well, the beauty of simulation allows us to re-run this simulation multiple times and determine an average idle time and corresponding standard deviation. We re-ran this simulation 60 times and calculated the following:

  • Average Machine Idle Time = 13.78%
  • Standard Deviation of Idle Time - 8.44%

Lastly, we can use the simulation to determine the locations of possible constraints. Note the column titled “Queue Length”. Here we can change certain parameters and see the impact on the size of the queue. Also, random breakage times can be introduced and analyzed for downstream impact.

Other Test Parameters

Other things that can be tested for:

  • Optimized supply chain vendor selection.
  • Optimized location (if lead times differ greatly from place to place).
  • Reduced costs and risks prior to buying new hardware, leasing spaces, or ordering inventory.
  • Prediction of problems or critical issues prior to launch, with possible mitigations.
  • Confirmation of the business plan, by simulating the first XX months or years.
  • Determine probability distribution functions to model future system performance.

When you’re looking to create a competitive advantage, call us at 855-877-2377 or email us at

Leave a Comment

Please Enter the Captcha Here

Get to Know Us

Take the next step to connect with us and discover the power of Odoo. Please select your preferred way to engage.

Financial Accounting with Odoo.
We literally wrote a book about it.

Enhance your Odoo experience with our exclusive open source modules and resources.
Schedule a Call
Readiness Assessment
Attend a Webinar
Schedule a Meeting