Builders over-order. It is part of the trade, because running out of blocks on a Friday afternoon costs more than taking a few back, and our branches accept unused goods back within twenty eight days of the sale.
Last autumn our buying team ran a range review and retired about three hundred and forty products, mostly slow selling sizes and finishes. In the product system that is a single flag. The record is marked inactive, and the product disappears from the till search, the website and the replenishment run, which is exactly what the buyers wanted.
The returns screen used the same search. For the next month, whenever a customer brought back something from that list, the counter could not find it. Staff did what they could. Some turned customers away, and we had complaints. Most keyed the item under a miscellaneous code we keep for oddities, typed a description and refunded the price on the receipt.
Six weeks later finance asked why the miscellaneous code had taken six hundred and ten returns worth about thirty eight thousand pounds, against a normal month of a dozen. The goods had physically gone back on the shelves, but the system did not know, so they were never counted and could not be sold off at a clearance price. None of the refunds were linked to the original sale, so we could not check whether any had been refunded twice.
The cause was not the flag itself. It was that one flag had to answer several different questions. Can we buy it? Can we sell it? Can a customer return it? Should it appear in reports? The buyers had answered the first two, and every other system inherited their answer.
A retired product now has dates rather than a switch. It stops being bought on one date, stops being sold on another, and stays returnable for sixty days after its last sale, which covers our returns window with room for receipts that turn up late. Reports keep it for as long as it has history. We went through the miscellaneous returns by hand, matched about five hundred of them back to products, and put that stock back on the system.
Whenever a record is switched off, ask each process that reads it what switched off should mean there. The answers are rarely the same.
– Serguey Shinder
