Import cennika i towarów z Excela do Subiekta GT – krok po kroku
Cennik od dostawcy przyszedł w Excelu. Trzy tysiące pozycji, ceny zmienione przy stu produktach, kilka nowych kodów. Da się to przenieść do Subiekta GT bez przeklikiwania ręcznie wiersz po wierszu – pod warunkiem, że plik przygotujesz tak, jak oczekuje go program. Ten wpis pokazuje całą drogę: od czyszczenia arkusza, przez wbudowany import, po moment, w którym ręczna robota przestaje mieć sens.
Krok 1: Przygotuj plik
Zanim cokolwiek zaimportujesz, doprowadź arkusz do porządku:
- Jedna tabela, jeden wiersz nagłówkowy. Żadnych scalonych komórek, sum częściowych ani kolorów, które coś znaczą. Każda informacja w osobnej kolumnie.
- Ustal klucz dopasowania: kod własny albo EAN. To nim program rozpozna, że towar już ma, a który jest nowy. Sprawdź, czy dostawca podaje te same oznaczenia co Ty – jeśli używa własnych kodów, potrzebna będzie tabelka przejściowa między jego nazewnictwem a Twoim.
- Liczby w jednej konwencji: jeden separator dziesiętny w całej kolumnie, żadnego mieszania przecinka z kropką. Podejrzane są wartości zapisane jako tekst – w Excelu widać je po wyrównaniu do lewej krawędzi komórki.
- Ustal znaczenie pustego pola. Pusta cena to „nie ruszaj tej ceny” czy „wyzeruj”? Ta decyzja przed importem oszczędza długie poprawianie po nim.
- Kodowanie znaków dotyczy głównie plików CSV: błędne objawia się krzaczkami zamiast polskich liter. W plikach XLSX ten problem zwykle nie występuje.
Krok 2: Wbudowany eksport i import Insertu – co robi, a czego nie
Subiekt GT ma własny kreator wymiany danych (znajdziesz go w menu System). Pracuje na formacie XML według schematu Insertu – i tu leży sedno: kreator nie wczyta dowolnego arkusza od dostawcy. Plik musi najpierw trafić do układu zgodnego ze schematem: właściwe pola, właściwe typy danych, właściwe nazwy kolumn.
Co ta ścieżka robi dobrze:
- jednorazowe przeniesienie kartoteki towarów, cen lub kontrahentów do programu,
- eksport danych z Subiekta do dalszej pracy w Excelu,
- kontrolę nad tym, które rekordy wchodzą do bazy, bo uruchamia ją człowiek.
Czego nie zrobi:
- nie posprząta pliku z pustymi wierszami, duplikatami i scalonymi komórkami,
- nie rozpozna, że dostawca nazywa ten sam towar innym kodem niż Twój,
- nie uruchomi się sam – każdą paczkę odpala ktoś ręcznie,
- nie prowadzi historii zmian, więc nie dowiesz się z programu, kto i czym nadpisał ceny.
Na rynku są dodatki firm trzecich czytające Excela bezpośrednio; celowo nie polecam tu konkretnych nazw, bo dobór zależy od wersji programu i tego, jak często import robisz. Przy jednorazowym przeniesieniu kartoteki wbudowany kreator zwykle wystarcza.
Krok 3: Zaimportuj najpierw próbkę
Zanim puścisz cały plik, sprawdź mechanizm na kilku pozycjach – najlepiej na kopii bazy. Wtedy mapowanie pól korygujesz na dziesięciu wierszach, a nie na trzech tysiącach. Po imporcie otwórz raport odrzuconych i czytaj go do końca: każdy odrzucony wiersz to towar, którego w programie nie będzie. Braki ujawnią się przy pierwszej sprzedaży, czyli w najgorszym możliwym momencie.
Krok 4: Kiedy zamiast ręki użyć skryptu
Wbudowany kreator zakłada, że import robisz od czasu do czasu. Jeśli natomiast ten sam dostawca wysyła paczkę w tym samym układzie co tydzień, ręczne przygotowanie kosztuje więcej czasu niż jednokrotne spisanie reguł. Sygnały, że czas na automat:
- powtarzalne paczki od dostawców o stałym układzie kolumn,
- hurtownie udostępniające cenniki w XML-u lub CSV – reguły mapowania spisuje się raz, a każdy kolejny plik przechodzi przez ten sam proces,
- potrzeba walidacji przed importem: liczności, sumy kontrolne, duplikaty kodów, braki w EAN-ach.
Forma zależy od częstotliwości. Przy imporcie dwa razy w roku skrypt bywa zbędny. Przy cotygodniowej paczce sensowne są dwa poziomy: lżejszy, gdy skrypt tylko przetwarza plik dostawcy do formatu zgodnego ze schematem Insertu, a import odpalasz w programie; cięższy, gdy automat pobiera paczkę, przetwarza ją i zostawia raport bez udziału człowieka. Głębszą automatyzację robi się przez Sferę – oficjalny interfejs programistyczny Insertu.
Typowe błędy importu i jak je rozpoznać
- Krzaczki zamiast polskich znaków – złe kodowanie pliku wejściowego.
- Wszystkie ceny zerowe albo przesunięte o rząd wielkości – zła kolumna, separator dziesiętny albo tysięcy potraktowany jako część liczby.
- Podwójne pozycje – dostawca ma dwa wiersze o tym samym EAN-ie (np. dwa warianty); ktoś musi zdecydować, który wygrywa.
- Śmieciowa kartoteka po imporcie – nowe kody dostawcy weszły bez słownika przejściowego i utworzyły własne, równoległe pozycje.
- Cichy brak części asortymentu – raport odrzuconych przewiniony bez czytania.
Wspólny mianownik: błąd prawie nigdy nie siedzi w Subiekcie, tylko w pliku wejściowym albo w nieustalonej regule dopasowania. Dlatego kolejność jest zawsze taka sama – najpierw porządek w pliku i słownik kodów, potem import, a na końcu raport.
Co dalej
Jeśli te same pliki wracają u Ciebie co tydzień albo masz plik, który przechodzi „prawie” – część wierszy gubi się bez wyjaśnienia – opisuję takie sprawy na stronie Import i eksport danych z Excel, CSV i XML. Na początek wystarczą dwie lub trzy paczki od dostawcy: jedna poprawna i jedna z wyjątkami. Z nich ustalamy reguły mapowania i walidacji, zanim cokolwiek trafi do Twojej bazy.