Materials workflows fall apart for a simple reason: too many decisions happen too late.
You see it on every busy job:
- A foreman asks for "a few boxes" with no spec.
- Someone approves without knowing the urgency.
- The wrong thing arrives, or it arrives late.
- The crew waits… and the day bleeds money.
Standardize the request so "incomplete" is impossible
Most delays are caused by missing basics:
- × quantity
- × unit
- × spec/description
- × needed-by date/time
- × delivery location (which site, where on site)
If any of those are missing, the request shouldn't be "pending." It should be "incomplete."
A practical template:
- Item: ______
- Qty + unit: ______
- Spec / size: ______
- Needed by: ______
- Deliver to: (site + drop point) ______
- Notes / photo: ______
This isn't admin. This is eliminating rework.
Turn approvals into a simple threshold rule
Approvals get stuck when every request is treated as a unique debate.
Most companies can start with one threshold:
- Under €X (or under X items) = auto-approve
- Over €X = needs approval
Add one more rule if you need it:
- "Urgent" requests require a reason + auto-notify approver
Now the approver isn't reading every line item. They're only touching exceptions.
Close the loop with "delivered vs requested"
The workflow isn't complete when the truck leaves. It's complete when the site confirms receipt.
- Delivered (yes/no)
- Delivered quantity (if different)
- Photo of delivery / docket (optional)
- Notes (wrong spec, damaged, partial)
This prevents arguments later and produces the data you need to improve suppliers, planning, and ordering.
Mistakes to Avoid
It feels fast until you need history.
If everything is "ASAP," nothing is.
If you don't close the loop, you can't trust the system.
Don't create a taxonomy project. Keep it usable.
Once a week, review:
- • Top 5 delayed requests (why?)
- • Top 5 wrong/partial deliveries (why?)
- • Approvals that took >24h (why?)
Then change one thing: update the template, change a threshold, clarify a drop point, or fix a supplier issue.
Question for you
Where do your requests actually get stuck: making the request, getting approval, or getting the right delivery on time?