In March we paid a haulage subcontractor thirty eight thousand pounds for an invoice we had already paid in January. They noticed before we did and sent it back, which is the kindest thing a supplier has done for us in some time.
Our duplicate invoice check had done exactly what it was built to do. It looks for the same invoice number from the same supplier. The first payment went to one supplier record and the second to another, and to our finance system these were different companies. When we searched, the haulier existed four times: once under its trading name, once as Limited, once as Ltd, and once under the name of a depot it had bought in 2022.
That was not unusual. Our supplier master holds about six thousand two hundred records for somewhere under four thousand real suppliers. The search screen matched names exactly, so a buyer who typed Ltd would not find Limited, and creating a new supplier was a short form any of forty people could complete. Finding the right one was slower than making another, and nothing stopped anybody doing it.
The double payment was the visible cost. The quieter one was in our spending reports. Our largest carrier's spend was split across three records, so nobody could see that we had crossed a volume threshold in their contract eighteen months earlier, and we had been paying the lower tier's rates ever since. Every supplier review, rebate conversation and concentration risk figure had been working from a spread of partial totals.
Suppliers are now matched on company registration number and tax number rather than on name, and a new record cannot be created while either matches an existing one. Duplicate invoice checks run across every record sharing those numbers. Supplier creation sits with a team of three in finance rather than forty people across the company, with a two day turnaround that the buyers complained about for a month and then stopped. And eighteen hundred records were merged over the summer, which is the part that took real effort and will not need doing again if the rest holds.
Our controls assumed that one record meant one company. They were checking the data they had with great care, and the data described a different set of suppliers from the one we actually trade with.
– Serguey Shinder
Top comments (1)