Skip to main content

We have been writing our own software since 1988

A few weeks ago, a specialist reseller asked me whether we could print delivery notes for his end customers with his logo, his sender details and his numbering system. He asked in the apologetic tone you develop when you are used to being told no to questions like that. At a distributor using off-the-shelf software, the answer would indeed have been no – or, more precisely: a ticket raised with the software provider, a place somewhere in the release schedule and an implementation date at some point next year. Our answer was: from Monday.

The reason goes back thirty-eight years and, at the time, it was not a strategy but a matter of necessity. When we started in 1988, there simply was no suitable software available to buy for what we do. We could have bought something and adapted our processes to fit it. We did the opposite and adapted the software to fit our processes. Looking back, it was the most consequential decision this company ever made, and I want to be honest: at the time, I had no idea just how significant it would prove to be.

Because a standard ERP system does something very specific to a business. It forces your own processes into a structure that somebody else designed for the average of all their customers. Every exception becomes a workaround, every workaround ends up as a separate Excel spreadsheet, and eventually half the company is working around its own software. You can spot this quite easily from the outside, incidentally: whenever you ask what should be a simple question and the answer is that unfortunately it cannot be done because the system does not allow it. No system refuses to allow anything. Nobody has written the code for it, that is all.
The second part came in 1995, although nobody called it the cloud back then. We had customers dialling into our system to see what we had in stock – at a time when the usual way to get that information was for somebody to call you back after they had checked the warehouse. The benefit was the same then as it is today: you do not ask, you see for yourself. None of this is spectacular. It is simply the difference between working and waiting.

The best way to understand why this matters is to switch sides for a moment and ask a manufacturer what they actually need from a distributor. The answer is rarely »revenue«. What they want is to know where their devices end up, promptly and in their format, not ours. They want a registered project to be genuinely protected rather than overtaken three weeks later by a list price. They want a price change made overnight to flow through every customer price list rather than ending in renegotiations. If there is a firmware problem, they want to know which serial numbers are affected – not be told that unfortunately we only track products at item level. And they want a new product to be available to order on the day it is announced, complete with all its technical specifications, rather than four weeks later when somebody somewhere has finally updated the master data.

In an off-the-shelf system, every single one of those requirements is either an expensive add-on module or a process that two people have to handle manually. For us, it is a question for our own developers. That is why manufacturers entrust us with things they would otherwise do themselves: preconfiguring entire device ranges, creating customer-specific bundles, and provisioning according to a rollout plan rather than the order in which purchases arrive. These are not standard processes, which is precisely why standard software cannot accommodate them.

For you as a reseller, the same mechanism simply works from the other direction. Your product numbers instead of ours on the order. Your price list, which your colleague also sees when they call on a Friday. Your framework agreements with call-off orders spread over several months. A live feed of stock levels and prices into your own webshop instead of a CSV file that arrives by email in the morning and is already wrong by lunchtime. Serial numbers on the delivery note so you can give your end customer documentation for their devices without having to copy them out manually. And, of course, a delivery note with your logo when we ship directly to your end customer.

Work out the value at just one of those points. A reseller manually entering two hundred orders a month instead of processing them through an interface spends, at four minutes per order, more than thirteen hours a month typing – over one hundred and fifty hours a year in which nobody is selling; somebody is simply re-entering information that was already digital in the first place. And a webshop operator whose stock data is half a day out of date will reliably sell something a few times a month that is no longer available. Each of those cancellations costs them not just the margin on the order, but the customer.

The real point, however, is that both sides are talking about the same system. The feedback the manufacturer needs and the data you want to extract are simply two ends of the same process. If you buy one system and bolt the other onto the side, you end up with two systems and an Excel spreadsheet connecting them – and that spreadsheet then has to be maintained by somebody who should really be on the phone to you.

Now for the uncomfortable part, because this approach does not come for free. If you build your own software, you bear the development costs alone – with a standard product, those costs are shared between a thousand customers. We pay for every line of code ourselves, and we also pay for every mistake ourselves. Because we do introduce bugs that would not exist in bought-in software, and when that happens there is no supplier we can point the finger at. That is uncomfortable, but it is the more honest arrangement: the people who made the mistake are also the people who fix it.

Ultimately, it is the same principle I wrote about recently. Whether a decision here takes a day or a quarter does not depend on how clever somebody is, but on how many doors stand between your question and the decision. When it comes to software, there is exactly one. That is why our answer to an unusual requirement is almost never »that can’t be done«, but »when do you need it?«
 

Remember: »No system refuses to allow something. Nobody has written the code for it – the only question is whether the person who can is in the same building.«
 

CEO ONLINE – Ask me anything!

Open the chat dialogue, start a new conversation and select CEO under Department.