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:

  1. 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.
  2. 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.
  3. 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.
  4. Ustal znaczenie pustego pola. Pusta cena to „nie ruszaj tej ceny” czy „wyzeruj”? Ta decyzja przed importem oszczędza długie poprawianie po nim.
  5. 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.