The "Production Stoppage Due to Material Shortage" That Production Planners Fear Most Has Finally Found a Solution
If you've ever worked as a production planner in manufacturing, you've probably had this experience: at the beginning of the month, you schedule production with full confidence, but by the end of the month, you find that several orders are stuck due to materials. Either this part is missing or that part is missing. The workshop workers are idle with nothing to do, while the purchasing department is running around in a frenzy. To be honest, this dilemma of "plans never keeping up with changes" is absolutely maddening.
Today, I'd like to share a quite practical tool with you — Faisabilité OF. It's specifically designed to help us determine in advance: can a manufacturing order actually start production smoothly? If materials are short, what exactly is missing? How much is missing? When can the shortage be replenished? This way, we can find solutions proactively instead of passively reacting at the last minute.
How Does It Work?
The core logic of this tool isn't complicated — it's essentially recursive BOM explosion. What does that mean? When you feed it a finished goods order, it automatically opens the BOM (Bill of Materials) and checks which components make up that finished product. If a component is a purchased part, it directly compares it against inventory. If it's a manufactured part, it continues drilling down to see what raw materials or semi-finished goods that part requires. It keeps checking layer by layer until all dependent materials have been reviewed.
Here's a simple example: suppose you need to produce 100 motors, and each motor requires components such as housings, coils, and bearings. The coils, in turn, require copper wire and insulating materials. The tool will first check whether the coil inventory is sufficient. If not, it will then check whether the copper wire and insulating materials are sufficient. As long as any layer has a shortage, it will record the shortage information.
At the code level, it implements the recursive check through a function called verifier_of. The core calculation logic is also quite straightforward:
stock_dispo(article) = STOCK_PHYSIQUE - STOCK_ALLOUE - STOCK_BLOQUE
# Projected mode: adds expected arrivals
stock_projete(article, date_besoin) = stock_dispo(article) + SUM(QUANTITE_RESTANTE pour DATE_RECEPTION_PREVUE ≤ date_besoin)
There's a very thoughtful design here — it distinguishes between "currently available stock" and "projected available stock." If you select the projete mode, it will factor in purchase arrivals expected in the coming period. For example, if a material's current inventory is insufficient, but a batch is scheduled to arrive next week, and the order's due date falls after next week, the tool will consider the order feasible. This way, it won't misjudge an order's status just because of a short-term shortage.
Three Statuses, Crystal Clear
After the check, it will return one of three statuses:
- ✅ FAISABLE (Feasible): All materials are available — you can start production with confidence.
- 🟡 PARTIEL (Partially Feasible): Some materials are currently insufficient, but can be satisfied when future arrivals are considered, or some components are short and require waiting.
- 🔴 BLOQUÉ (Blocked): A critical material is out of stock and won't arrive in the short term — the order cannot be launched for now.
In addition to the status, it also produces a detailed shortage list, like this:
OF F426-08419 | Article: BDH1050-75 | Qté: 384 | Date fin: 13/03/2026
Statut : 🔴 BLOQUÉ
Composants manquants :
Article | Désignation | Besoin | Dispo | Manque | Récep. prévue
E7368 | MOTEUR BDH 75W | 384 | 150 | 234 | 25/03/2026
With this report, you immediately know: "Ah, the missing part is the motor. We're short by 234 units, and they won't arrive until March 25th." Can this order wait? If the due date is at the end of March, it's not a big problem. If the due date falls in mid-March, then you might need to urgently find alternatives or contact the customer to adjust the delivery schedule.
Concurrent Orders? No Problem Either
In real production, it's rare to have just one order running — usually dozens of orders are in progress simultaneously. This creates a "too many monks, too little porridge" situation — multiple orders are competing for the same batch of materials. This tool has a built-in intelligent allocation algorithm, and its processing logic works like this:
- First, all orders are sorted by due date from earliest to latest, with the most urgent due date getting priority allocation.
- In this order, each order's feasibility is checked one by one. If an order is feasible, the corresponding inventory is "virtually reserved" right away.
- If an order is not feasible due to material shortages, but a later order with a slightly later due date is fully feasible, that later order is allowed to "jump the queue" ahead. The purpose is simple — to get as many orders that can actually start production scheduled as possible, rather than letting one difficult problem block all subsequent orders.
This rule truly aligns with practical production management thinking. Rather than letting a short-stocked order hold onto inventory, it's better to push forward the orders that can be produced smoothly, ensuring the production line doesn't sit idle.
How to Get Started?
The usage is also quite straightforward. Just prepare a few CSV data files and run a script in the command line:
python3 .claude/skills/faisabilite-of/scripts/verif_faisabilite.py \
--data-dir data \
--of F426-08419,F426-08164 \
--mode projete
Once you run it, the tool will read the order files, perform the recursive BOM explosion, check inventory levels, and output a clear feasibility report for each order. You can quickly scan through the results to see which orders can start production, which ones need to wait for incoming materials, and which ones are blocked and require immediate attention.
In today's manufacturing environment, where material supply chains are increasingly complex and customer demands keep changing, having this kind of foresight tool is like having a crystal ball for your production planning. It doesn't just tell you what's wrong — it tells you exactly what's missing, how much, and when it will arrive. That's the kind of clarity that lets you make informed decisions with confidence, whether it's adjusting schedules, expediting purchases, or communicating with customers.
So if you're tired of the constant firefighting that comes with material shortages, give this tool a try. It might just be the relief your production planning process has been waiting for.