Import bazy firm do CRM psuje się prawie zawsze z tego samego powodu: plik jest wrzucany do systemu w takiej postaci, w jakiej przyszedł od sprzedawcy. Potem okazuje się, że NIP-y mają kreski, nazwy firm różnią się spacjami, region jest tekstem („śląskie” / „Śląskie” / „slaskie”), a połowa rekordów dubluje się z tym, co już masz.
Da się to zrobić raz i porządnie. Kolejność ma znaczenie większe niż narzędzie.
Krok 1: ustal schemat, zanim dotkniesz pliku
Zaimportujesz tylko to, co ma nazwę kolumny w CRM. Dlatego najpierw decyzja, a potem mapowanie:
| Kolumna | Format docelowy | Uwaga |
|---|---|---|
nip | 10 cyfr, bez myślników i spacji | klucz deduplikacji — musi być unikalny |
regon | 9 lub 14 cyfr, jako tekst | 14 cyfr = jednostka lokalna, to poprawny wariant |
krs | 10 cyfr albo puste | puste jest poprawne dla JDG, nie uzupełniaj zerami |
nazwa | tekst, zachowaj oryginał | nie „poprawiaj” nazw — psuje dopasowanie do rejestru |
forma_prawna | słownik: jdg, spolka, inne | słownik, nie wolny tekst |
status | słownik: aktywna, zawieszona, wykreslona | bez tego pola nie ma sensu importować |
pkd_glowne | 4 znaki + litera, wielkie litery | np. 4120Z |
email | małe litery, bez spacji | jedno pole, jeden adres |
telefon | +48 + 9 cyfr | jeden format, inaczej nie da się dzwonić z automatu |
gmina, powiat, wojewodztwo | tekst + kody TERYT, jeśli są | nazwy same nie wystarczą — są duplikaty nazw gmin |
zrodlo | tekst | skąd rekord pochodzi; wymagane przy pracy na danych osobowych |
data_synchronizacji | data ISO (2026-10-24) | data całej bazy, nie data wiersza |
Kolumny, których nie warto importować: „branża” jako wolny tekst (od tego jest PKD), „www” (zmienia się najczęściej ze wszystkich pól), „opis działalności” (nie filtruje się po tym), „ocena” i inne pola wygenerowane przez sprzedawcę bez metodologii.
Krok 2: normalizacja przed importem, nie po
Wszystko poniżej zrobisz arkuszem albo trzema liniami skryptu — zrobione po imporcie wymaga czyszczenia rekordów w CRM, czyli pracy, której nie da się cofnąć hurtowo:
- NIP: usuń spacje, kreski i prefiks
PL. Sprawdź cyfrę kontrolną; rekordy, które ją obalają, odłóż do przeglądu, a nie do importu. - Telefon: sprowadź do
+48XXXXXXXXX.601 234 567,601-234-567i+48601234567to ten sam numer i trzy różne rekordy w oczach systemu. - E-mail: małe litery, bez spacji w środku; odrzuć adresy bez
@i te z domen testowych. - Nazwy regionów: ujednolić do formy z rejestru (TERYT). „śląskie” i „Śląskie” to dla CRM dwa województwa.
- Kod PKD: wielkie litery, bez kropek.
Efekt: przed importem widzisz, ile rekordów odpada i dlaczego. To jest cała wartość tego kroku — liczba odrzuconych rekordów jest pierwszą realną oceną jakości bazy, jaką dostajesz.
Krok 3: deduplikacja po NIP, nie po nazwie
Nazwa firmy nie jest identyfikatorem: „Kowalski Jan Usługi Budowlane” i „J. Kowalski Usługi Budowlane” to może być ten sam podmiot, a może dwóch różnych ludzi w tej samej gminie. NIP jest jeden.
Trzy przypadki, które musisz obsłużyć:
- Ten sam NIP w bazie i w CRM — rekord istnieje. Decyzja: uzupełnij puste pola, nie nadpisuj wypełnionych.
- Ten sam NIP, inna nazwa — firma zmieniła nazwę. Aktualizuj nazwę i datę, zachowaj historię.
- Ta sama nazwa, różne NIP-y — dwie różne firmy. Nie scalaj, choć kusi.
Przy JDG dochodzi czwarty: ta sama osoba, dwa NIP-y w historii (zmiana formy działalności). Tu deduplikacja po NIP zawodzi i trzeba decyzji człowieka — dlatego warto trzymać osobne pole na nazwisko przedsiębiorcy.
Krok 4: role i uprawnienia przed pierwszym mailem
Import do CRM zwykle oznacza, że dane zaraz zobaczy zespół. Zanim to się stanie:
- ustal, kto widzi e-maile i telefony (nie każdy w firmie musi),
- oznacz źródło i datę pozyskania przy każdym rekordzie — to warunek odpowiedzi na pytanie „skąd to macie”, które prędzej czy później przyjdzie,
- przygotuj szablon informacji o przetwarzaniu danych do pierwszej wiadomości; przy danych osobowych z rejestrów publicznych obowiązek informacyjny nie znika dlatego, że dane są jawne.
To nie jest biurokracja dla biurokracji: przy kontroli pierwsze pytanie dotyczy źródła danych i podstawy ich przetwarzania, a nie treści maila.
Krok 5: import partiami i pierwszy test
Nie importuj całości w jednym pliku. Podziel na partie po 1–2 tysiące rekordów i po każdej sprawdź:
- czy liczba zaimportowanych = liczba oczekiwanych po odrzuceniu błędnych,
- czy 5 losowych rekordów ma poprawne NIP-y i statusy,
- czy duplikaty wyszły, a nie weszły jako nowe.
Pierwsza partia jest testem procesu. Błąd w mapowaniu kolumn wykryty na 2 tysiącach rekordów kosztuje minutę; wykryty na całej bazie kosztuje dzień.
Czego nie robić
- Nie uzupełniaj pustych pól „na oko”. Puste KRS przy JDG to poprawna wartość. Wpisanie tam NIP-u psuje rekord nieodwracalnie.
- Nie wzbogacaj danych przy imporcie. Najpierw wchodzi to, co przyszło, potem osobny krok wzbogacania — inaczej nie odróżnisz danych sprzedawcy od własnych ustaleń.
- Nie usuwaj źródła. Pole
zrodlojest jedynym śladem, który pozwala odpowiedzieć na pytanie o pochodzenie danych po roku.
Wycinki do importu — po branży, kodzie PKD i regionie — mają policzone liczby firm i odsetek kontaktów, więc możesz porównać je z tym, co realnie wejdzie do CRM. Różnica między jednym a drugim to jakość procesu, nie pech.
Najczęstsze pytania
W jakim formacie najlepiej przygotować plik do importu do CRM?
Najbezpieczniejszym formatem jest plik CSV kodowany w UTF-8 ze średnikiem (;) lub przecinkiem (,) jako separatorem oraz cudzysłowami chroniącymi tekst zawierający spacje lub przecinki w nazwach firm. Unikaj plików XLS z formułami lub formatowaniem warunkowym. Przed importem upewnij się, że kolumny z NIP i numerem telefonu są sformatowane jako tekst (string), aby arkusz nie usunął wiodącego zera.
Jak zapobiec nadpisaniu istniejących kontaktów w CRM podczas importu?
W konfiguracji kreatora importu wybierz regułę deduplikacji: „Zaktualizuj tylko puste pola w istniejących rekordach” (Update blank properties only) lub „Pomiń istniejące rekordy” (Skip duplicates). Nigdy nie wybieraj opcji „Nadpisz wszystkie wartości” bez uprzedniego wykonania pełnej kopii zapasowej bazy CRM.
Czy systemy CRM (np. HubSpot, Pipedrive, Livespace) automatycznie weryfikują NIP?
Niektóre polskie systemy CRM (np. Livespace) posiadają wbudowane integracje z bazą GUS i potrafią automatycznie pobrać dane po wpisaniu NIP. Jednak systemy zagraniczne (HubSpot, Salesforce, Pipedrive) traktują pole NIP/VAT ID jako zwykły ciąg znaków bez walidacji sumy kontrolnej. Dlatego normalizację i czyszczenie formatu NIP należy bezwzględnie wykonać w pliku przed importem.
Jakie pole w CRM jest kluczowe dla zachowania zgodności z RODO?
Kluczowe są dwa niestandardowe pola: Źródło pozyskania danych (np. „rejestr CEIDG/KRS za pośrednictwem CBG”) oraz Data pozyskania. Umożliwiają one natychmiastowe wygenerowanie raportu przy ewentualnym żądaniu dostępu do danych (art. 15 RODO) lub wniosku o usunięcie danych (art. 17 RODO), a także pozwalają udokumentować spełnienie obowiązku informacyjnego z art. 14 RODO.