See it run

The Bill of Materials Lives in Three Places: Pick the Master, Build Two Joins.

Engineering, purchasing and the floor each hold a copy, edited at three speeds. The differences between them are parts bought to the wrong revision and a product cost nobody can state.

Master data7 min watchWalkthrough

In this video.

A light manufacturer has three true answers to where the bill of materials is. Pick one master and build two joins.

What this covers.

  • Engineering, purchasing and the floor each hold a different copy of the bill of materials
  • The differences cost wrong-revision purchases, unknown product cost and builds that stop
  • Pick one master and build two joins to the others
Read the full video transcript.

Ask a light manufacturer where the bill of materials is and you will get three answers, each of them true. Engineering has it, in the design system or in a spreadsheet exported from it. Purchasing has it, in the inventory or accounting system, where each component has a cost and a supplier. The floor has it, printed on a traveller, or in the head of the person who has built the product for six years. Three copies of one document, edited by three departments at three speeds. This video is about what that costs, why the usual answer, a product lifecycle system, is usually wrong for a company this size, and what the right answer looks like when the bill of materials is treated as a join problem rather than a software problem.

Everything on screen is a mock demo with sample data: an invented product, invented parts, invented costs. Nobody sets out to have three bills of materials. Each department needs the document to do something different, and the tool that does that thing holds its own copy. Engineering needs it to describe the product: which parts, which revisions, which sub-assemblies, which drawings. The design system holds that, and it is the copy that changes first, because every change starts in engineering. Purchasing needs it to cost the product and buy the parts: which supplier, which price, which lead time, which minimum order.

The inventory or accounting system holds that, and it is the copy finance believes. The floor needs it to build the product: which parts to pull, in what order, with which operations. The work order system or the traveller holds that, and it is the copy that is right about what actually gets built, including the substitutions the floor made because the specified part was out of stock. Each copy is right about its own job. The trouble is the changes: an engineering change is made, somebody emails purchasing, purchasing updates when they get to it, nobody tells the floor, and three months later the three copies describe three slightly different products.

The costs are all operational and all quiet until one of them is not. Parts bought to the wrong revision: purchasing buys from its copy, engineering changed a component two revisions ago, the parts arrive, the floor cannot use them, and the money is in a bin. A product cost that is wrong by an amount nobody knows: the cost in accounting is built from the purchasing copy, and if that copy is missing a part the floor added or carries one engineering removed, every margin figure for that product is wrong in a direction nobody can name.

Builds that stop: the floor pulls parts for a work order and one is missing because it was never on the purchasing copy, so the build waits for a rush order that costs more than the part. Quoting from memory: a variant is quoted from the last quote plus a guess, because building a cost from a bill of materials nobody trusts takes longer than the customer will wait. And the person who knows. Every company with three copies has one person who knows which is right. That person is the actual bill-of-materials system, and the single biggest risk in the business.

The reflex, when the drift becomes visible, is to buy a product lifecycle management system, because that is the category built to own the bill of materials. For an engineering-led company with hundreds of active products and formal change control, it is the right category. For a light manufacturer with a few dozen products, a small engineering function and a floor that runs on work orders, it usually is not, for two reasons. The first is that it adds a fourth copy unless the other three are connected to it, and connecting them is the project you were trying to avoid.

The second is that it is built for the engineering copy, and the copies that leak the money are the other two. The same applies, in the other direction, to a resource planning suite bought to fix the bill of materials: it holds one well, but it holds the purchasing copy, and unless engineering's changes flow into it and the floor's substitutions flow back, it is a fourth copy with a bigger licence. The answer is to decide which copy is the master for each fact, and build the joins that carry each fact from its master to the copies that need it.

Three decisions. Engineering owns the structure: which parts, which sub-assemblies, which revision is current are born in engineering, and its copy is the master. The join carries every released change to the purchasing copy with the revision and the effective date, so purchasing never buys to a revision engineering has retired. That is the join that stops the most expensive mistake. Purchasing owns the cost and the source: supplier, price, lead time and minimum order are purchasing's facts, and the inventory or accounting system is their master. The join carries the current cost of each component back to wherever quotes are built, so a quote is built from the cost that will actually be paid.

That is the join that makes a margin figure mean something. And the floor owns what was actually built: substitutions, scrap and the operations performed are the floor's facts, and the work order is their master. The join carries them back, a substitution becoming a flag on the engineering copy and an adjustment on the cost copy. That is the join almost nobody builds, and it turns the floor from the last to know into the best information the company has. For the manufacturers we work with, the masters are usually already there.

The design system or the engineering spreadsheet stays. The inventory and accounting system stays; for many it is Zoho Inventory and Zoho Books, where a composite item is the purchasing copy of the bill of materials with its components and costs, and for some it is another accounting system with something alongside. The work order system stays, or where the floor has nothing but paper, a small one is built. The joins are the project. The order matters. The engineering-to-purchasing join comes first, because it stops the most expensive mistake.

The cost-to-quote join comes second, because it makes the margin real. The floor-to-engineering join comes third, and it is the one that pays for longest. When an assembly becomes a finished good, and what that does to the stock count, is the subject of our earlier video on three stock counts; this piece is the recipe, that one is the count, and the same rule runs both: not a bad system, but a record with no master. Three copies of the bill of materials are not a software problem; they are a record with no master.

Decide that engineering owns the structure, purchasing owns the cost and the floor owns what was built, build the three joins in that order, and the parts, the margin and the quote come from the copy that is right about them. We are CodeStringers, a Zoho authorised consulting partner. The joins are integration work under a guaranteed estimate, and discovery is no-risk: we lay your three copies side by side and show where they differ, and you pay only if you go ahead. The post and the stock-count video are linked below.

Integrated business solutions

One partner. Better outcomes.

We design, build, integrate and operate AI-driven, platform-agnostic integrated business solutions for operationally complex companies. Start with a conversation; we will tell you if we are a fit.