Subiekt nexo

Najczęstsze błędy przy imporcie kartotek do Subiekta nexo

Najczęstsze błędy importu kartotek do Subiekta nexo PRO to duplikaty wynikające ze złego klucza, kody kreskowe zepsute przez format liczbowy w Excelu, jednostki i stawki VAT tworzone z literówek, ceny zapisane jako tekst oraz zapis bezpośrednio do SQL z pominięciem walidacji programu. Większość z nich wykrywa raport przed zapisem, pod warunkiem że import najpierw sprawdza plik, a dopiero potem zapisuje przez Sferę.

Schemat: raport importu z wierszami oznaczonymi jako błąd, ostrzeżenie i do zapisu przed wysłaniem do Subiekta nexo PRO
Raport przed zapisem zatrzymuje większość błędów, zanim trafią do bazy.— Grafika KARQIS

Import kartotek do Subiekta nexo PRO rzadko kończy się komunikatem o błędzie. Częściej kończy się „sukcesem”, po którym w kartotece są trzy wersje tego samego towaru, skaner nie rozpoznaje kodów, a na fakturze pojawia się jednostka SZT obok szt.. Poniżej lista błędów, które widzimy najczęściej, z przyczyną i sposobem, jak je zatrzymać przed zapisem.

Opis pól i limitów pochodzi z dokumentacji nexo SDK 61.0.4. Jeśli Twój podmiot jest w innej wersji, sprawdź zmiany w wersjach InsERT nexo, bo kolejne wydania zmieniają model danych.

Duplikaty kartotek

Objaw: po imporcie ten sam towar istnieje dwa lub trzy razy, każdy z innym symbolem albo z symbolem różniącym się spacją.

Przyczyna prawie zawsze jest jedna: import dopasowywał pozycje po nazwie albo nie dopasowywał wcale i wszystko dodawał jako nowe. Nazwa nie jest kluczem. Dostawca zmienia ją bez uprzedzenia, pracownik poprawia literówkę, a import widzi „nowy towar”.

Jak uniknąć:

  • dopasowuj po symbolu albo kodzie kreskowym; w Subiekcie nexo PRO towar może mieć też osobne symbole u wielu dostawców, co pozwala dopasowywać po indeksie z pliku dostawcy,
  • przed importem przytnij spacje i ujednolić wielkość liter w kolumnie klucza; AB-123 i ab-123 to w arkuszu dwa różne teksty,
  • w trybie „dodawanie” każdy wiersz z istniejącym kluczem ma trafić do raportu jako pominięty, a nie zostać dodany drugi raz.

Jeśli duplikaty już powstały, nie usuwaj ich w SQL. Kartoteka z historią dokumentów musi zostać; duplikat bez dokumentów można usunąć lub dezaktywować w programie, a jego kody przepisać do właściwej pozycji.

Kody kreskowe zepsute przez Excela

Objaw: skaner nie znajduje towaru, choć kod „jest” w kartotece. Po bliższym spojrzeniu kod ma 12 znaków zamiast 13 albo wygląda jak 5,90123E+12.

Przyczyna: kolumna z kodami miała format liczbowy. Excel usuwa zera wiodące i zapisuje długie liczby w notacji wykładniczej. Microsoft w dokumentacji CSV wprost ostrzega, że przy otwieraniu pliku tekstowego program sam rozpoznaje typy kolumn, a to rozpoznanie bywa błędne.

Jak uniknąć:

  1. ustaw kolumnę z kodami jako tekst przed wklejeniem danych, nie po,
  2. sprawdź długość: EAN-8, EAN-13 i GTIN-14 mają odpowiednio 8, 13 i 14 znaków; inna długość to sygnał do kontroli,
  3. w bazie nexo kody kreskowe są w osobnej tabeli powiązanej z jednostką miary towaru, więc kod opakowania zbiorczego to inny wpis niż kod sztuki; import musi wiedzieć, do której jednostki przypisać kod.

Jednostki, stawki i grupy tworzone z literówek

Objaw: w słowniku jednostek są szt., szt, SZT i sztuka. W stawkach VAT pojawia się „23%” obok „23”. Grup asortymentu jest dwa razy więcej niż powinno.

Przyczyna: import zakładał pozycje słownikowe z dowolnego tekstu z pliku, zamiast dopasować go do istniejących wartości.

Jak uniknąć:

  • jednostka, stawka VAT i grupa to w nexo słowniki; w bazie stawka VAT jest osobnym rekordem z symbolem i wartością, a kartoteka ma do niej odwołanie, osobno dla sprzedaży i zakupu,
  • import ma mapować wartości z pliku na słownik (SZT → szt.) i zgłaszać błąd, gdy nie potrafi; nowe pozycje słownika zakłada człowiek w programie,
  • profil dopasowania powinien pamiętać te mapowania, żeby przy kolejnym pliku nie pytać o to samo.

Ceny jako tekst, daty albo z przecinkiem w złym miejscu

Objaw: część cen po imporcie wynosi 0 albo jest sto razy za duża. Niektóre pozycje mają cenę „12 maj”.

Przyczyna: Excel zamienił 12,5 na datę, dostawca z ustawieniami angielskimi zapisał 1,250.00, a importer przeczytał to jako 1,25. Przy CSV dochodzi separator kolumn: w polskich ustawieniach to średnik, w angielskich przecinek, i przecinek w cenie rozcina wiersz na dwie kolumny.

Jak uniknąć:

  • kolumny cen mają mieć format liczbowy z dwoma miejscami; nexo przyjmuje precyzję do 6 miejsc po przecinku, ale pliki dostawców jej nie używają,
  • importer musi pozwolić wskazać separator dziesiętny i separator kolumn dla CSV,
  • raport przed zapisem powinien pokazać pozycje z ceną 0 i z ceną zmienioną o więcej niż ustalony próg, np. 50%; takie wiersze to prawie zawsze błąd pliku, nie decyzja cenowa.

Zapis bezpośrednio do SQL

Objaw: w tabeli wszystko wygląda poprawnie, a program pokazuje błąd przy otwarciu kartoteki, nie widzi towaru w cenniku albo nie pozwala wystawić dokumentu.

Przyczyna: dane zapisano bezpośrednio do bazy, z pominięciem reguł programu. Kartoteka towaru w nexo to kilka powiązanych tabel: główny rekord, jednostki miary towaru, kody kreskowe, pozycje cenników, odwołania do stawek VAT i grup. Program pilnuje ich spójności przy każdym zapisie przez interfejs.

Jak uniknąć: zapisuj przez Sferę. Według opisu Subiekta nexo PRO Sfera to mechanizm tworzenia własnych rozwiązań, dostępny w wersji PRO i udokumentowany w nexo SDK. Każde narzędzie importu, własne czy kupione, powinno jej używać do zapisu i ograniczać SQL co najwyżej do odczytu.

Za długie i puste wartości

Objaw: import przerywa się w połowie albo pomija pozycje bez wyjaśnienia.

Przyczyna: pole ma limit, którego plik nie respektuje. W nexo nazwa asortymentu ma od 1 do 255 znaków, symbol od 1 do 64, opis do 4000, PKWiU i kod CN do 50, nazwa grupy do 50. Pusty symbol albo pusta nazwa to błąd walidacji.

Jak uniknąć: sprawdzaj długości i puste komórki w raporcie przed zapisem, z numerem wiersza i nazwą pola. Nazwy dłuższe niż 255 znaków skracaj świadomie, np. przenosząc resztę do opisu, a nie ucinaj automatycznie w środku słowa.

Import „na żywo” bez próby

Objaw: błąd z dowolnej kategorii powyżej, tylko że na produkcyjnej bazie, w środku dnia pracy.

Przyczyna: pierwszy import z nowego pliku poszedł od razu do podmiotu, na którym pracuje firma.

Jak uniknąć: pierwszy przebieg z każdego nowego źródła rób na kopii podmiotu przywróconej jako osobna baza testowa. Dopiero gdy raport na kopii jest czysty, powtórz import na produkcji z tym samym profilem. Zachowaj raport obok pliku źródłowego.

Lista kontrolna przed zapisem

  1. Klucz dopasowania to symbol lub kod kreskowy, nigdy nazwa.
  2. Kolumny z kodami i symbolami są tekstowe, ceny liczbowe.
  3. Separator kolumn i dziesiętny w CSV są wskazane jawnie.
  4. Jednostki, stawki VAT i grupy dopasowane do słownika, nie tworzone z pliku.
  5. Raport przed zapisem: dodane, zaktualizowane, pominięte, błędne — sumy zgadzają się z liczbą wierszy.
  6. Pozycje z ceną 0 i ze zmianą ceny powyżej progu przejrzane ręcznie.
  7. Zapis przez Sferę, pierwszy przebieg na kopii podmiotu.

Importer towarów do Subiekta nexo PRO od KARQIS został zbudowany wokół tej listy: dopasowuje pola do słowników pobranych z podmiotu, pokazuje raport z filtrami błędów i ostrzeżeń przed zapisem, zapisuje przez Sferę i eksportuje raport do CSV. Jeśli masz już bazę z duplikatami po wcześniejszych importach, napisz do nas; uporządkowanie kartotek to osobne, krótkie zadanie, które warto zrobić przed kolejnym plikiem od dostawcy.

Pytania i odpowiedzi

Jak usunąć duplikaty towarów, które już powstały po złym imporcie?

Najpierw ustal, która kartoteka ma historię dokumentów — tej nie usuwaj. Duplikat bez dokumentów można usunąć lub dezaktywować w programie, a jego kod kreskowy i symbol u dostawcy przepisać do właściwej kartoteki. Jeśli obie mają dokumenty, zostają obie, a jedną oznacza się jako wycofaną. Nie rób tego bezpośrednio w SQL.

Dlaczego po imporcie kody kreskowe nie pasują do skanera?

Najczęściej dlatego, że kolumna z kodami miała w Excelu format liczbowy. Kod EAN-13 zaczynający się od zera traci to zero, a dłuższe kody bywają zapisane w notacji wykładniczej. Przed importem ustaw kolumnę jako tekst i sprawdź długość kodów: 8, 13 lub 14 znaków.

Czy import może utworzyć nową jednostkę miary albo stawkę VAT?

Technicznie tak, ale nie powinien robić tego automatycznie z wartości z pliku. Każda literówka — SZT, szt, sztuk — stałaby się nową jednostką. Import ma dopasować wartość do istniejącego słownika albo zgłosić błąd, a nowe pozycje słownika zakłada człowiek w programie.

Jak sprawdzić, czy import się udał?

Policz: liczba wierszy w pliku powinna równać się sumie pozycji dodanych, zaktualizowanych, pominiętych i błędnych w raporcie. Potem otwórz kilka losowych kartotek w nexo i wystaw testowy dokument na jedną z nich na kopii podmiotu. Jeśli cena, stawka i jednostka zgadzają się z plikiem, import jest poprawny.

Źródła

  1. Subiekt nexo PRO — opis programu — InsERT S.A., dostęp:
  2. Importowanie lub eksportowanie plików tekstowych (txt lub csv) — Microsoft, dostęp:
  3. Zmiany w wersjach InsERT nexo — InsERT S.A., dostęp:

Zobacz Importer towarów do Subiekta nexo PRO