TaktSignal

Delivery risk

Every ERPNext document is correct. So why is the delivery at risk?

Why an ERPNext sales order can be at risk while every document looks fine, how to check it with standard ERPNext reports, and a morning routine to catch it early.

By Nguyen Dac Manh Cang · Published by TaktSignal · · 6 min read

Short answer. A delivery in ERPNext depends on a chain of documents: the sales order, the work order that makes it, the BOM that defines its materials, the stock that covers them and the purchase orders meant to fill the gap. Each document can be accurate on its own screen while the chain between them is broken — for example when the only incoming material is overdue with no new date. Standard reports show the status of each link. Finding the consequence means reading the links together, in time order, starting from the customer promise.

A synthetic example: one jacket order, five correct records

Synthetic demo scenario: a fictional apparel plant used to test TaktSignal. Not customer data. The clock is Monday 10:00.

Record What its screen says On its own
Sales Order SO-2108 60 jackets, promised Friday 17:00 Open, not late
Work Order WO-2307 Submitted; Cutting planned Tuesday 08:00 Planned
BOM 2 m black cotton fabric per jacket Correct
Stock 20 m usable Just a number
Purchase Order PO-917 100 m ordered, 50 m received, 50 m open; due last Thursday; no revised date Overdue, one line among many

Read as a chain, the picture changes:

  • Cutting needs 120 m at 08:00 tomorrow. 20 m is usable. 100 m is uncovered.
  • The open 50 m on PO-917 has passed its date and has no confirmed new one. Counting it as incoming would make the plan look better than the evidence allows.
  • Even if it arrived today, the work order would still be 50 m short.
  • Without the fabric, Cutting cannot start in full. Without Cutting, the work order's finish cannot be projected. Without that, nobody can say whether Friday's shipment holds.

Nothing here is late yet. That is the point. The useful moment to act is before any document turns red.

How to find this with standard ERPNext

ERPNext already has the pieces. A practical routine (report names vary slightly by version):

  1. Start from the promises. Use Sales Order Analysis to list orders still to deliver and focus on those due in the next 7–14 days.
  2. Go down to production. For each order, open the linked Work Order and note when the first operation that consumes material is planned to start.
  3. Check materials against the BOM. For one BOM and warehouse, use BOM Stock Report (v15) or BOM Stock Analysis (v16). For several orders at once, the Production Planning Report reviews raw-material availability against Sales Orders or Work Orders.
  4. Separate actual from projected stock. The Stock Projected Qty report shows actual, ordered, planned and reserved quantities side by side. Projected quantity includes material that has not arrived; check actual, usable stock before assuming an operation can start.
  5. Check supply timing. Purchase Order Analysis shows receipt progress; Procurement Tracker compares expected and actual delivery dates. Compare each open line's date with the operation start from step 2.
  6. Write down the decision. Which order, what is missing, by when, and who acts.

Why it still slips through

The routine works, but it depends on a person doing the joining every morning. Four things make that hard:

  1. Each report answers one question about one document type. The risk lives in the links between documents, and the person running the reports is the join.
  2. “Ordered” is not the same as “coming”. Projected quantity counts an open purchase order line as supply even after its date has passed. An overdue line without a confirmed date is a hope, not supply.
  3. Materials are shared. In the same synthetic plant, a second work order needs the same fabric, so the plant-wide shortage (204 m) is larger than this order's 100 m. Look at one order in isolation and you under-count; add every order's need without allocating and you cannot tell which promise breaks first.
  4. Time is the hidden column. Status reports compare quantities. Consequence depends on when material is needed versus when it can credibly arrive.

A morning consequence check you can run today

No tool needed. For each customer promise due in the next 7–14 days:

  • Start from the promise, not from the shortage list.
  • Walk down: sales order → work order → first operation needing material → material → supply.
  • Count only usable stock, in the right warehouse, not already reserved for another order (why this matters).
  • Count incoming supply only if it has a credible date before the operation needs it.
  • Mark uncertainty explicitly. “Arrival unknown” is a different problem from “arrival late”, and it needs a phone call, not a new plan.
  • End with one action and one owner per broken chain.

What a consequence view adds

This is the routine TaktSignal is built to run. It reads ERPNext with a dedicated read-only account — it never creates, changes or deletes anything in ERPNext — and walks the chain from each customer order to its constraint. In the synthetic scenario above, it raises a fabric-shortage alert and shows:

  • the trace SO-2108 → WO-2307 → Cutting → fabric → PO-917;
  • the evidence at each step: 120 m required, 20 m usable, 50 m open on PO-917, ETA passed, no revised date;
  • why the open 50 m is not counted as incoming supply;
  • a confidence level (medium here, because the arrival is unknown);
  • next steps to investigate: confirm the shipment, and check whether 10 of the 60 jackets can start with the fabric on hand. These are prompts for a planner, not an approved plan.

The rules are deterministic, and every alert shows its working. Understanding alerts · Understanding confidence.

Honest status: TaktSignal is a Community Alpha. It has been tested with synthetic factories and against ERPNext 15 and 16, but it is not yet validated in real factories, and its risk scores are still being calibrated. It runs on macOS (Apple Silicon) and Linux. The installed product sends no telemetry; it keeps an operational copy of your ERPNext data in a database on your computer, and that copy stays there.

FAQ

Isn't projected quantity enough? It is a good planning number, but it mixes stock on hand with stock that is only ordered. For a decision about tomorrow's operation, use actual usable stock plus supply with a credible date.

Should an overdue purchase order count as supply? Not until the supplier confirms a new date. Until then, treat it as a risk to chase, not as coverage.

Can I build this with a custom report? Partly. A Query Report or Script Report can join sales orders, work orders, BOM items, stock and purchase order lines. The hard parts are timing (operation start versus credible arrival), allocating shared material across orders, and maintaining the report as processes change.

Does TaktSignal install anything in ERPNext? No. It installs nothing in ERPNext: no apps, custom fields or scripts. It uses a dedicated account with Read permission only, and setup stops if ERPNext reports that the account can write. Create the read-only Reader.

Where does the data go? The requests go directly from your computer to your ERPNext server. The operational copy stays in a database on your computer, and the installed product has no telemetry. Privacy and data.