The order came in on a Saturday morning. New client, from Pontevedra. He bought seven units of a kitchen tap. He paid in advance, four hundred and ninety euros. The website sent him a confirmation email with an order number and the sentence "Your order is being prepared".
At the warehouse, on Monday, Andrés opened the weekend's order list. There were twenty-three. He went to shelf B-12, where the taps were. There were two boxes left. Andrés frowned. He looked on other shelves. He checked the lower warehouse. He called the one in Albacete to see if they had any. They didn't. He sat at the entry desk and opened Outlook.
"Dear customer, we regret to inform you that…".
He deleted it. He started again.
"Good morning. I'm Andrés, from the warehouse. Unfortunately, there's been a stock error with your order…".
He deleted it. He started again. He had been writing the same email for two years. He still didn't know how to do it right.
The client from Pontevedra received the email two hours later. He asked for a refund. He didn't come back.
The number that didn't match
The website pulled stock from a spreadsheet connected by a sync that ran twice a day, at nine and at six. The spreadsheet was updated by Andrés when he could. And Andrés could sometimes, not always. When a big delivery came in from a supplier, he logged it at the end of the day. When there was a return, he logged it the next day. When someone came to pick something up by hand, he sometimes forgot to log it. When Lucía, his colleague, made a direct sale to a customer who stopped by the warehouse, she wrote it down in a notebook and sometimes passed it to the Excel, sometimes she didn't.
The website, meanwhile, was selling. It was selling what the spreadsheet said the day before. At nine in the morning, after the sync, the website was the truth of Monday. By two in the afternoon, it was already a worn truth. At six, another sync. At seven, another worn truth. And on weekends, with no syncs, the website was selling with Friday-six o'clock's truth.
Monday mornings were a minefield. Andrés opened the list and, of the twenty-three weekend orders, there were always two or three with products that weren't there. Sometimes they weren't there because another customer, in the shop, had bought them on Saturday. Sometimes because the spreadsheet said seven and in reality there were two since last Tuesday, when three units had gone missing and nobody ever found out where.
Andrés cancelled. He refunded. He apologised. He did it well, politely. Customers, in general, understood. But they didn't come back.
What gets measured and what doesn't
The company measured sales. Each month, an Excel with the billing. Billing was growing. The manager was happy.
The company didn't measure stock-out cancellations. Nobody recorded them anywhere. Andrés knew, by gut, that there were many. But "many" isn't a number. And the numbers were the manager's, not Andrés's.
It also didn't measure the customers who ordered once, didn't get the product, and never came back. That's a particularly cruel metric: it doesn't show up in any report because, by definition, nothing shows up. What doesn't happen isn't measured.
When, finally, the current intern — it was a company with three-month interns, who learned little and left — sat down to do the math, he discovered several things at once. That eight percent of online orders were cancelled for stock-out. That of the customers who suffered a cancellation, only fifteen percent bought again in the following twelve months. That the estimated cost of the problem, adding cancelled billing and lost customers, was about sixty thousand euros a year. Maybe more.
Sixty thousand euros a year. That didn't show up anywhere because, technically, there was no invoice for it.
The manager, one morning
The manager read the intern's report one morning. He read it twice. He read it a third time, out loud, in his office, with the door closed. He called Andrés.
—Did you know about this, Andrés?
—I had an idea.
—How long have we been like this?
—Since we've had the website. Three and a half years.
The manager didn't ask why he hadn't said anything before. He knew the answer. Andrés wasn't responsible for the website. Andrés was responsible for the warehouse. And in the warehouse, what he could control, he controlled. The website was run by an external company. Every time Andrés had mentioned the stock issue, he had been told that part was the IT guy's. The IT guy, external, came once a month and fixed what was urgent. Stock was never urgent, until it was.
—We're going to fix it.
—How?
—That's what we're going to figure out.
What was done
It wasn't a spectacular solution. There was no announcement. There was no project with an English name. There was, for three months, one person — not Andrés, someone else, hired for this — who sat down to understand exactly how each unit entered and left the warehouse. Who logged it. When. Where. What steps were between the moment a product was sold and the moment the website knew about it.
She found five gaps. Five moments where information was lost. The hand sale that wasn't logged. The return that was logged a day late. The supplier order that was entered in bulk at the end of the month, when it had already been on the shelf for two weeks. The damage to the tap a gentleman dropped — yes, it happened once and broke two boxes, and nobody adjusted the stock. And the slow sync, running in batches twice a day, in a company that received orders at all hours.
The five gaps were closed one by one. Without big tools. With a system that logged every movement at the moment, with a barcode scanner in the warehouse, a forty-euro touchscreen and a cloud system that synced the website every minute. Not every twelve hours: every minute.
Six months later, stock-out cancellations had dropped to one percent. Andrés no longer wrote the apology email. He didn't know what to do with the extra time. He sat down to organise shelf B-12, which had been asking for it for two years.
What happened when it stopped lying
One day, that same year, a customer arrived at the warehouse. He wanted seven units of a tap. Lucía searched on the screen. There were nine. She went to the shelf. There were nine. She charged for seven. The screen updated to two. The website, a few seconds later, did too.
Lucía didn't think much of it. It was normal.
What took two years to become normal had been, before, the miracle that almost never happened.
What you don't measure also costs you
A company that measures sales but not stock-out cancellations isn't measuring its business: it's measuring the pretty half. The other half — customers who ordered once and didn't come back — doesn't show up on any spreadsheet, but it exists. Sixty thousand euros a year can live quietly in that gap for years.
The solution is almost never a giant system. It's understanding exactly where information is lost in the warehouse — that gap, that moment, that step — and closing it. A forty-euro screen, a barcode scanner and a one-minute sync can do more than a six-figure project.
What's a truth refreshed twice a day costing your company, in a world that moves every minute?
If you sell online and you depend on an Excel that someone updates when they can, it's not a question of whether you're losing customers: it's a question of how many a month. Let's look at it.
Let's talk about your stock