{{ pageTitle }}
{{ pageSub }}
{{ openEscCount }} OPEN ESCALATIONS
Where the backlog is sitting right now
One row per stage, with its steps underneath. The bar is how many open items are waiting there; the days are how long the oldest item has been waiting. Click any row to open exactly those items, oldest first.
{{ chartTitle }}
{{ chartSub }}
STAGE / STEP
ITEMS
SPREAD
PAST SLA
OLDEST WAITING ITEM
DAYS
{{ c.name }}
{{ c.teamLabel }}
{{ c.count }}
{{ c.lateLabel }}
{{ c.oldestName }}
{{ c.oldestMeta }}
{{ c.oldestDays }}
DAYS
Same stages, split by project manager
ITEMS PAST SLA / ITEMS WAITING
PROJECT MANAGER
{{ mc.short }}
{{ mr.name }}
{{ cl.label }}
How to read an item's progress
An order line moves through 12 steps grouped into stages. Every step has one document that starts it and one that ends it — nothing else counts as progress. A step is in progress when its start date is filled and its end date is empty; completed when the end date is filled.
The contract clock starts at step 2
The contractual period runs from the customer approval, not from the sales order. Before approval there is no delivery date to miss — push, but it is not late. After it, every day counts.
Two SLA shapes
Duration rules count working days from the step's start (steps 1, 3, 4, 5, 8, 9, 12; step 2 counts calendar days). Date rules compare today against a promised date on the Work Order (steps 6, 7, 10).
Steps 6 and 7 overlap
Production often starts on partially available material while procurement keeps buying. Both can read “in progress” at once — that is correct, not a data error.
{{ g.num }}
{{ g.name }}
{{ g.team }}
{{ g.stageLabel }}
{{ g.countLabel }}
STARTS WHEN
{{ g.start }}
ENDS WHEN
{{ g.end }}
WHEN IT IS LATE
{{ g.sla }}
REPORT COLUMNS {{ g.col }}
DOCUMENT {{ g.doc }}
{{ g.note }}
Two things the data cannot tell you yet
The ten Work Order date fields were backfilled once from January 2025 — new orders stay empty until the auto-stamp scripts are live, so an empty stamp is not proof that nothing happened. And step numbers jump from 10 to 12: the old step 11 (delivery note pending accounts) was retired as internal.
Find a project, a sales order or a customer
Type any part of a project name, sales order, customer, item code or work order number. Pick a result to see that whole scope on one page — every item, where it is waiting, and what it is breaking.
SHOW
{{ scopeNote }}
Results
{{ resultsNote }}
NAME
CUSTOMER / PROJECTS
ITEMS
VALUE
PAST SLA
PAST CONTRACT
OLDEST WAIT
{{ p.kindLabel }}
{{ p.name }}
{{ p.soLabel }}
PM: {{ p.pmLabel }}
{{ p.customer }}
{{ p.count }}
{{ p.value }}
{{ p.pastSla }}
{{ p.pastContract }}
{{ p.oldest }}
{{ p.name }}
{{ p.mobileLine }}
PM: {{ p.pmLabel }}
Nothing matches that. Try part of a project name, a sales order number, or a customer.
{{ project.kindLabel }}
{{ project.name }}
{{ project.customerLine }}
PM: {{ project.pms }} · {{ project.projectLine }}
{{ s.cap }}
{{ s.num }}
{{ s.sub }}
Where this scope is sitting
CLICK A STEP TO SEE THOSE ITEMS
{{ f.name }}
{{ f.count }}
{{ f.lateLabel }}
{{ f.oldest }}
Every item and its status
IN PROCESS ORDER · OLDEST FIRST WITHIN A STEP
{{ exportNote }}
ITEM
QTY OPEN
WAITING AT
OWNER
WAITING SINCE
SLA
CONTRACT
ERPNEXT
{{ it.name }}
{{ it.item }}
{{ it.qtyLabel }}
{{ it.qtySub }}
{{ it.stepName }}
{{ it.team }}
{{ it.daysLabel }}
{{ it.sinceLabel }}
{{ it.slaLabel }}
{{ it.contractLabel }}
{{ t.label }}
{{ t.dateLabel }}
{{ it.name }}
{{ it.qtyLabel }} · {{ it.item }}
{{ it.daysLabel }}
{{ it.sinceLabel }}
{{ it.stepName }} · {{ it.team }}
{{ it.slaLabel }}
{{ t.label }}
{{ t.dateLabel }}
completed — date shown
completed late
waiting here, inside SLA — days shown
waiting here, past SLA — days shown
passed, no date in ERPNext
not started
{{ needsTitle }}
Every open item that has broken its step SLA, missed a promised date, or passed its contractual date — no cut-off, the full list. Each row says which rule it broke and who owns the step. Open one to work it; the buttons on the right record what you did.
SORT
{{ sortNote }}
{{ exportNote }}
{{ f.name }}
{{ f.rank }}
{{ f.qtyLabel }} · {{ f.meta }}
{{ fl.label }}
{{ f.why }}
{{ f.waitDays }} D
AT {{ f.stepUpper }}
Nothing past SLA
Every open item is inside its step SLA and its contractual date.
{{ s.cap }}
{{ s.num }}
{{ s.sub }}
Today's call list — the five worst, ranked
Ranked by exposure = days past the step SLA + days past the contractual date. The badge on each row shows that arithmetic, so #1 is always the item with the most days of broken promise behind it — not the oldest sit, which can be an item whose clock never started. Backlog value only breaks ties. Need a different order? Needs Action lets you sort by oldest waiting, contract or value.
{{ f.name }}
{{ f.rank }}
{{ f.qtyLabel }} · {{ f.meta }}
{{ fl.label }}
{{ f.why }}
{{ f.waitDays }} D
AT {{ f.stepUpper }}
GROUP BY
SORT
{{ exportNote }} SHOW
{{ g.title }}
{{ g.sub }}
{{ g.lateLabel }}
{{ g.valueLabel }}
ITEM
PROJECT / CUSTOMER
QTY OPEN
WAITING AT
OWNER
WAITING SINCE
SLA
CONTRACT
ERPNEXT
{{ it.name }}
{{ it.item }}
{{ it.project }}
{{ it.customer }}
{{ it.qtyLabel }}
{{ it.qtySub }}
{{ it.stepName }}
{{ it.team }}
{{ it.daysLabel }}
{{ it.sinceLabel }}
{{ it.slaLabel }}
{{ it.contractLabel }}
{{ it.name }}
{{ it.mobileLine }}
{{ it.daysLabel }}
{{ it.sinceLabel }}
{{ it.qtyLabel }} · {{ it.stepName }} · {{ it.team }}
{{ it.slaLabel }}
Nothing here
No open backlog items match this filter.
{{ item.item }}
{{ item.name }}
{{ item.project }} · {{ item.customer }}
{{ item.waitingLine }}
{{ item.slaBadge }}
{{ item.slaRule }}
WAITING
{{ item.waitDays }}d
SINCE
{{ item.sinceLabel }}
ORDER AGE
{{ item.age }}d
CONTRACT CLOCK
{{ item.clockLabel }}
OPEN IN ERPNEXT {{ l.label }}
Why this needs you
{{ r.label }}
{{ r.text }}
Step timeline
DATES AND SLA PER STEP
{{ st.numLabel }}
{{ st.name }}
{{ st.badge }}
· {{ st.teamLabel }}
{{ st.rangeLabel }}
{{ st.daysLabel }}
{{ st.slaLabel }}
{{ st.inferredNote }}
{{ st.clockNote }}
Follow-up log
WHAT YOU DID, AND WHEN
{{ e.title }}
{{ e.text }}
{{ e.when }}
Nothing logged yet. A nudge or an escalation writes a dated line here — that is the record your manager reads in the weekly review.
Act on this item
{{ item.advice }}
Nudge = a dated request to the owning team, logged here and counted in your manager's "unanswered nudges". Use it first.
Escalate = hand the block to the manager of that team; it appears in the PM manager's escalation feed until closed.
CEO only unlocks after the team manager was escalated and did not solve it.
{{ item.effectNote }}
PROMISE DATE
{{ item.promiseLine }}
Item facts
{{ f.k }}
{{ f.v }}
{{ s.cap }}
{{ s.num }}
{{ s.sub }}
Team load & follow-up
CLICK A PM TO OPEN THEIR BACKLOG
PROJECT MANAGER
ORDERS
ITEMS
BACKLOG VALUE
PAST SLA
PAST CONTRACT
WAITING PROFILE
NUDGED
ESCALATED
{{ p.name }}
{{ p.subLine }}
{{ p.orders }}
{{ p.items }}
{{ p.value }}
{{ p.pastSla }}
{{ p.late }}
{{ p.nudges }}
{{ p.esc }}
{{ p.name }}
{{ p.value }}
{{ p.mobileLine }}
Bottleneck by step
{{ b.name }}
{{ b.count }}
{{ b.oldest }}d
Escalations
{{ openEscCount }} OPEN
{{ e.name }}
{{ e.to }} {{ e.state }}
{{ e.meta }}
{{ e.text }}
{{ e.when }}
Nothing escalated.
Delivery risk by project
WORST 10 · CLOCK RUNS FROM CUSTOMER APPROVAL
PROJECT
CUSTOMER
PM
ITEMS
VALUE
EARLIEST STEP
VS CONTRACT
SALES ORDER
{{ r.project }}
{{ r.customer }}
{{ r.pm }}
{{ r.items }}
{{ r.value }}
{{ r.step }}
{{ r.late }}
{{ r.project }}
{{ r.mobileLine }}
{{ r.late }}