W hurtowni, która działa piętnasty rok, kartoteka produktowa nigdy nie jest w porządku. Nikt jej celowo nie psuł — po prostu każdy handlowiec dodawał nowy indeks, gdy poprzedni nie chciał się znaleźć w wyszukiwarce. Po dekadzie firma ma trzy razy więcej „produktów" niż faktycznie kupuje.
Duplikaty, warianty tego samego towaru pod różnymi kodami, martwe SKU sprzed pięciu lat, pozycje „Test 01", „Kabelek", „Produkt tymczasowy" oraz jednostki miary, których nikt już nie pamięta („op." to karton czy zgrzewka?). Wszystko żyje w tym samym słowniku i psuje każdą kolejną decyzję: stan magazynowy, raport marży, integrację z Allegro, ofertę wysłaną klientowi.
Ten tekst jest o tym, jak posprzątać kartotekę produktową w 15–50-osobowej firmie handlowej lub produkcyjnej, bez wyłączania sprzedaży na miesiąc i bez przepłacania za projekt MDM (Master Data Management).
Skąd bierze się chaos w kartotece
Trzy najczęstsze źródła, w tej kolejności.
Pierwsze: każdy handlowiec dodaje indeks „na już". Dostawca przysyła nowy produkt, klient chce dziś ofertę, więc handlowiec zakłada indeks „KAB-M-2M-BIA" o godzinie 15:47. Że ten sam kabel istnieje już w bazie jako „KABEL-2M-M-BIALY" — sprawdzić się nie chciało. ERP nie pilnuje unikalności EAN, bo pole EAN jest opcjonalne, a nazwa dostawcy różni się jedną literówką.
Drugie: migracje między ERP-ami. Firma przechodzi z Subiekta na Comarch Optima, cała kartoteka jedzie „jak leci", bez oczyszczania. Po dwóch latach nikt już nie wie, które indeksy pochodzą z importu, a które z bieżącej pracy. Do tego dochodzą pozycje testowe z migracji, które ktoś dodał, żeby sprawdzić „czy się w ogóle da wprowadzić" — i zostały.
Trzecie: zmiana dostawcy. Firma zmienia dostawcę kabli z „Elektrocentrum" na „HurtElektryk", a nowy dostawca daje inne kody. Zamiast zmienić kod dostawcy przy istniejącym indeksie — powstaje drugi indeks. Trzy lata później masz dwa równoległe słowniki tego samego asortymentu.
12 800 SKU, z których 5 400 to duplikaty lub martwe
U jednego z naszych klientów — 22-osobowej hurtowni artykułów elektrotechnicznych z Podkarpacia, używającej Comarch Optima od 9 lat — zarząd chciał zrobić „prawdziwą inwentaryzację" po pierwszym rzetelnym audycie księgowym. Sytuacja wyjściowa: 12 807 aktywnych kartotek produktowych w słowniku, z czego magazyn (ok. 3 800 m²) fizycznie mieścił szacunkowo 4–5 tys. różnych indeksów.
Po trzech tygodniach analizy eksportu z Optimy wyszło:
- 3 190 SKU nie miało żadnego ruchu magazynowego w ostatnich 24 miesiącach i miały stan zero.
- 1 480 SKU były duplikatami (te same produkty pod różnymi kodami — najczęściej różnica jednej spacji, wielkości liter albo starego kodu dostawcy).
- 220 SKU były pozycjami roboczymi typu „Test", „Nowy produkt", „Kabel — sprawdzić", „TYMCZASOWE".
- 510 SKU miało pusty EAN, mimo że produkty fizycznie miały nadrukowane kody kreskowe.
- 340 SKU miało jednostkę miary „szt.", a w rzeczywistości sprzedawane były na metry lub w opakowaniach zbiorczych.
Realna liczba aktywnie sprzedawanych indeksów wynosiła 7 417. Czyli o 42% mniej niż w ERP. Konsekwencje: inwentaryzacja roczna zajmowała 4 dni, bo lista do policzenia miała 12 800 pozycji. Wyszukiwarka handlowca zwracała po wpisaniu „kabel YDY 3×1,5" cztery różne indeksy i handlowiec wybierał ten, który akurat miał stan (a nie zawsze tę „główną" pozycję), przez co raport najczęściej sprzedawanych produktów pokazywał sztuczne rozproszenie.
Sanacja trwała 8 tygodni. Podejście: 2 tygodnie audytu i reguł łączenia, 5 tygodni scalania po 100–200 kartotek dziennie (każde scalenie akceptował handlowiec odpowiedzialny za daną grupę produktową), tydzień na porządki końcowe. Koszt: 24 tys. zł, w tym integracja z bazą GS1 do walidacji EAN. Zwrot: kolejna inwentaryzacja trwała 1,5 dnia zamiast 4, wyszukiwarka wreszcie zwracała jedną pozycję na jedno zapytanie, a raport TOP-100 sprzedawanych produktów pierwszy raz od lat pokazywał to, co zarząd intuicyjnie wiedział, że firma sprzedaje.
Nic magicznego. Cztery osoby, jedna wspólna reguła, osiem tygodni.
Co usuwać, a czego nie ruszać
To jest najbardziej newralgiczne pytanie, bo każdy handlowiec będzie bronił „swoich" indeksów jak niepodległości.
Usuwaj bez wahania: pozycje testowe („Test", „ABC produkt", „NOWY"), kartoteki z pustymi wszystkimi polami identyfikacyjnymi (brak EAN, brak kodu dostawcy, brak zdjęcia, brak sprzedaży), oraz kartoteki jednorazowe zakładane pod jedno zamówienie sprzed 6+ lat i nigdy więcej.
Scalaj (a nie usuwaj): duplikaty. Kluczowa różnica: usunięcie kartoteki z historią sprzedaży zniszczy Ci raporty historyczne. Scalanie oznacza, że jeden indeks staje się „głównym", a duplikaty są oznaczane jako nieaktywne z przekierowaniem historii na główny. W Comarch Optima i enova365 są do tego dedykowane funkcje. W Subiekcie robi się to skryptem SQL — ostrożnie i tylko po restore bazy na środowisko testowe.
Archiwizuj, a nie kasuj: martwe SKU (brak sprzedaży 24+ miesięcy, ale historyczna sprzedaż istnieje). Ustaw je jako „nieaktywne", zdejmij z domyślnych widoków handlowców, ale zachowaj w bazie. Za trzy lata, przy audycie księgowym, będziesz dziękować.
Nie ruszaj: kartotek, przy których nie jesteś pewien. Jedna zła decyzja o scaleniu produktów, które w rzeczywistości są różne (np. bezpiecznik 10A i 16A wyglądający podobnie w nazwie), zniszczy raporty stanów. Zasada: gdy masz wątpliwość — zostaw i wróć w drugiej rundzie.
Jak przeprowadzić sanację bez paraliżu sprzedaży
Cztery zasady, które w każdym projekcie działają.
Zawsze najpierw kopia bazy. Zanim ktokolwiek dotknie kartoteki, robisz pełny backup ERP-a i restore na środowisku testowym. Pierwszy tydzień pracujesz wyłącznie na kopii — dopiero gdy reguła scalania jest jasna i sprawdzona, przenosisz zmiany na produkcję.
Batche po 100–200 kartotek dziennie, nie hurtem. Kuszące jest napisanie skryptu, który „posprząta wszystko w weekend". W praktyce takie skrypty zawsze scalają coś, czego nie powinny. Praca ręczna po 100–200 indeksów dziennie, z akceptacją odpowiedzialnego handlowca, jest wolniejsza, ale nie generuje pożarów.
Wyznacz opiekuna grupy produktowej. W każdej hurtowni jest ktoś, kto najlepiej zna kable, ktoś kto najlepiej zna oświetlenie, i ktoś kto najlepiej zna osprzęt. To oni akceptują scalenia — nie IT, nie handlowiec z sąsiedniego regionu, nie zarząd. Bez tego reguła „scalamy KABEL-2M-BIA z KAB-M-2M-BIALY" upada w pierwszym tygodniu, bo okaże się, że jedno to biały PVC, a drugie biały LSOH.
Zawsze rejestruj każdą decyzję. Prosty arkusz Google: kod główny, kody scalone, data, kto zaakceptował, uzasadnienie. Za pół roku ktoś zapyta „a co się stało z indeksem X" i musisz mieć odpowiedź w 30 sekund, nie dwa dni po ERP-ie.
Utrzymanie porządku po sanacji
Sanacja to zdarzenie jednorazowe. Utrzymanie porządku — to proces. Trzy rzeczy, bez których za dwa lata wrócisz w to samo miejsce.
Ustal jedną osobę odpowiedzialną za zakładanie nowych indeksów. Nie „każdy handlowiec u siebie" — jedna osoba w firmie, z regułami. Może to być asystentka zarządu, może to być magazynier, może to być właściciel — byle jedna.
Zablokuj w ERP zakładanie kartoteki bez wymaganych pól. Comarch Optima, enova365 i Subiekt pozwalają wymusić EAN, kod dostawcy, jednostkę miary i kategorię jako pola obowiązkowe. To 10 minut pracy administratora ERP i połowa problemu znika u źródła.
Co kwartał wygeneruj raport „nowe SKU założone w ostatnich 90 dniach" i przejrzyj go. 15 minut kwartalnie oszczędza tygodnie sanacji za trzy lata.
Jeśli Twoja kartoteka produktowa spuchła i sama nie wiesz, ile masz naprawdę produktów — nie trzeba od razu MDM za pół miliona. Pół godziny rozmowy z kimś, kto robi to w Optimie, enovie i Subiekcie od lat, zwykle wystarczy, żeby oszacować zakres pracy.
Sprzątanie kartoteki to nie projekt IT — to projekt zarządczy. Bez decyzji, kto jest właścicielem danych, żaden ERP nie utrzyma porządku sam.