The client (anonymous)
A Dutch packaging supplier with around 50 employees, active in the B2B market. They supply packaging materials to other businesses, no consumer sales.
We don’t name clients until we have explicit permission. That applies to this case too. What is described here is factually correct; who it is, we don’t mention. That is a principle, not an omission.
The problem
Orders came in by phone and email. Each order meant: pick up, write down, check whether the product code was right, call back if anything was missing, enter the order in the system, send a confirmation.
An average of 12 minutes per order. With dozens of orders per day, that adds up quickly.
Typos in product codes regularly led to incorrect shipments. A wrong item goes out the door, has to come back, and has to be reshipped. Every mistake costs more time than the original order.
Customers had no visibility into their own order history or the status of an open order. Questions about that ended up with the order desk, which meant the same people processing orders also answered the status questions.
The result: the order desk spent 60 percent of its time on data entry, and the remaining 40 percent on correcting mistakes and answering questions that could have been avoided.
Our approach
We started with two days shadowing on the order desk. Not to draft a requirements document. To see what actually happened. What did the SOPs say, and what did people do in practice? Where did they get stuck? Which workarounds had they invented themselves?
That produced a clear picture of what the software had to do. Not a wish list of thirty features. A short list of problems that needed solving.
The solution: a custom B2B order portal. Customers log in with their own account, see their own assortment with the matching price list, and place orders directly in the system. After placing an order they automatically receive an order confirmation with expected delivery date. The status of an open order is visible at any moment.
The portal backend was connected to the existing ERP via a simple API connector. No ERP replacement, no historic data migration. Just a connector so the portal and the ERP see the same information. Orders placed through the portal land directly in the ERP.
The portal was hosted in our EU cloud. The client didn’t have to set up or run any IT infrastructure.
The build phase took six weeks, in two-week sprints. Each sprint delivered two or three features, tested directly by order-desk staff. Their feedback went straight into the next sprint. There was no acceptance phase at the end. Every sprint was already accepted.
The result
Order processing time: from an average of 12 minutes to under 5 minutes per order. The difference isn’t in faster typing. It is in the disappearance of the check steps, the call-back round, and the manual confirmation.
Typos in product codes: zero. Customers pick from their own assortment; there is nothing to mistype.
Customers ask fewer questions about order status, because they can look it up themselves. That noticeably reduces inbound calls.
The order desk now focuses on exceptions, customer contact that genuinely matters, and proactive coordination, instead of data entry and error correction.
We have stayed involved as the maintenance partner. Each month, small continued-development tweaks ship based on what staff and customers run into in daily use.
The tech
Custom web application built with modern web technology. We don’t list the specific stack. That choice is internal and not relevant to the client.
Hosted in a Hetzner data centre in Germany. EU law applies to all data.
Connected to the client ERP via a well-documented REST API. The connector is maintainable and can be extended if needed.
Live within 3 months after the first demo.