The same customer having been created three times in an ERP is the most common data problem we meet in the field. The record was created once with a short version of the company name, the second time with the full registered trading name, the third time in capitals with no punctuation. Nobody does this on purpose: the person creating the record typed into the search box, could not find the result and, being in a hurry, created a new record. An apparently harmless act produces serious consequences on the commercial side. The customer's credit limit is split across three records; one appears to have hit its limit while dispatches carry on against another. The ageing report does not show the real debt, the sales representative takes an old customer for a new one, and two different price lists are applied to the same company. At year end even the top ten customer list comes out wrong, because the same company enters that list as three separate lines.
On the product and material side the consequences are even more concrete. When the same raw material is entered under two different codes on two stock records, there is one material in the warehouse but two balances in the system. Planning sees enough stock under one code and does not raise an order; production discovers at the machine that the other code is empty. The material requirements calculation runs on the wrong input, the stock count does not tally, and because the cost is spread across two records, product profitability comes out wrong as well. What is more, the problem grows by itself: e-commerce, the marketplaces, the field sales application, a trade-fair list and the supplier portal each create their own record. A list cleaned by hand today is dirty again within a few months, because the mechanism that dirties the records is still in place. That is why clean-up campaigns are repeated again and again without result.
Master data management (MDM) puts rules around this work. First it is decided which data counts as master data: customer accounts, suppliers, products, materials, locations. Then matching rules are written; company suffixes and punctuation are stripped from trading names, strong fields such as the tax number, the barcode (GTIN) and the address are compared, and fuzzy matching is used to catch spelling differences. Every candidate pair gets a similarity score: those above the upper threshold merge automatically, those in between land in front of a person as a review queue, those below the lower threshold are not touched at all. The single record that comes out of a merge is called the golden record, and which field wins from which system is written down in advance. The final step is distributing that single record back to the source systems and switching on a similar-record warning when a new record is created; otherwise the same contamination starts all over again the next day.
The honest account of this work is as follows: automatic matching is never one hundred per cent, and we do not promise that it will be. Two genuinely separate companies can have very similar trading names, two companies in the same group may be kept apart deliberately, and in some records the tax number was never entered at all. That is why the review queue is a permanent job and must have an owner inside the company; master data projects without an owner quietly stop after a few months and the list gets dirty again. Merging is also carried out cautiously: it is first tried on a copy, and in the live system it is done in batches and in a way that can be undone. Nor does every company need it; if you have a single system and a few hundred records, cleaning them by hand is cheaper. In discovery we measure the duplication first, and we do not recommend an investment without seeing the number and writing down the reasoning.