Comarch Mobile Inwentaryzacja to aplikacja do spisu z natury, która zamienia smartfon w skaner kodów kreskowych i kolektor danych. Firma nie kupuje osobnego urządzenia przemysłowego, a wyniki liczenia trafiają do systemu w formacie zgodnym z Comarch ERP Optima.

Aplikację stosuje się w małych magazynach prowadzonych dotąd na arkuszach kalkulacyjnych oraz w firmach, które mają już ERP i chcą przyspieszyć sam spis. Poniżej opisano funkcje według dotychczasowej treści tej strony, a przy każdej z nich także mechanizm, który za nią stoi. Szczegóły wersji i formatów plików potwierdza dokumentacja producenta.

Arkusze inwentaryzacyjne w aplikacji Comarch Mobile Inwentaryzacja

Podstawową jednostką pracy jest arkusz inwentaryzacyjny. Aplikacja pozwala tworzyć wiele arkuszy równocześnie, więc różne osoby liczą na osobnych zestawach danych, na przykład każda w innej strefie magazynu. W arkuszu można dodawać i usuwać pozycje towarowe oraz poprawiać ich ilości, a także wyszukiwać zeskanowane lub wpisane ręcznie kody. Arkusz można nazwać i przypisać do lokalizacji albo zmiany roboczej, co ułatwia późniejsze rozliczenie osób odpowiedzialnych za dany fragment spisu.

Podział na arkusze ma sens organizacyjny i informatyczny. Organizacyjnie wyznacza zakres odpowiedzialności, bo każda różnica ma przypisanego autora. Informatycznie ogranicza konflikty: dwie osoby nie edytują tej samej listy, a wyniki scala się dopiero po zakończeniu liczenia. Rekordy z różnych arkuszy łączy wspólny klucz, czyli indeks towaru.

Element arkuszaZawartośćRola przy rozliczeniu
Nazwa i zakresStrefa magazynu lub zmiana roboczaWskazuje, kto liczył dany fragment
PozycjaKod lub indeks towaru i policzona ilośćPodstawa porównania ze stanem w ERP
Znacznik czasuMoment zapisu pozycji lub wysłania paczkiPozwala odtworzyć kolejność liczenia
Identyfikator urządzeniaOznaczenie urządzenia, z którego wysłano daneUłatwia wyjaśnianie wątpliwości

Po zakończeniu liczenia w strefie warto od razu zestawić wynik z ostatnim znanym stanem systemowym. Rozbieżność widać wtedy, gdy ekipa jest jeszcze na miejscu i może policzyć pozycję drugi raz. Przy zbiorczym podsumowaniu na końcu inwentaryzacji ta sama różnica oznacza już ponowne wejście do magazynu. Ogólne zasady prowadzenia spisu opisuje artykuł o inwentaryzacji magazynowej.

Skanowanie kodów kreskowych smartfonem

Wbudowany aparat pełni funkcję skanera. Aplikacja rozpoznaje najpopularniejsze standardy kodów stosowane w handlu i logistyce, więc nie wymaga konfiguracji przy przejściu z jednej grupy asortymentowej na drugą. Ręczne wprowadzenie pozycji zostaje jako obejście dla towarów bez etykiety albo z uszkodzonym oznaczeniem. Rozwiązanie działa podobnie jak kolektory danych z systemem Android, ale nie wymaga dodatkowej licencji sprzętowej ani przemysłowej obudowy.

Dekodowanie kodu z obrazu wykonuje oprogramowanie, a nie skaner laserowy. Aparat rejestruje klatki, program wyszukuje w nich wzór kresek i sprawdza sumę kontrolną odczytanego numeru. Odczyt bywa mniej odporny niż w urządzeniu przemysłowym: znaczenie mają ostrość obrazu i kąt patrzenia. Etykieta pogięta lub błyszcząca w silnym świetle bywa odrzucona przez weryfikację, zanim trafi do arkusza. Pomaga stałe miejsce etykiety na opakowaniu oraz skanowanie z niewielkiej odległości, przy równym świetle, bez odbić od folii.

Reguła: odczyt bez poprawnej sumy kontrolnej nie trafia do arkusza. Lepiej skanować drugi raz, niż wprowadzić do spisu błędny indeks.

Suma kontrolna kodu EAN-13 to ostatnia cyfra, liczona z dwunastu poprzednich. Cyfry na pozycjach nieparzystych mnoży się przez 1, na parzystych przez 3, sumuje i uzupełnia do pełnej dziesiątki. Dla numeru 590123412345 suma wynosi 83, więc cyfra kontrolna to 7. Poniższa funkcja C# sprawdza numer zgodnie z tym schematem.

static bool CzyEan13(string kod)
{
    if (kod.Length != 13 || !kod.All(char.IsDigit)) return false;
    int suma = 0;
    for (int i = 0; i < 12; i++)
        suma += (kod[i] - '0') * (i % 2 == 0 ? 1 : 3);
    return (10 - suma % 10) % 10 == kod[12] - '0';
}
Skaner kodów kreskowych odczytujący etykietę towaru w magazynie podczas spisu
Odczyt kodu kreskowego podczas spisu - moment, w którym numer trafia do pozycji arkusza.

Rodzaje kodów i zasady ich nadawania omawia serwis GS1 Polska, a zastosowanie kodów w magazynie opisuje artykuł o kodach kreskowych EAN i GS1-128. Firmy planujące dalszą automatyzację mogą następnie sięgnąć po identyfikację RFID pojemników magazynowych, która ogranicza skanowanie pojedynczych sztuk.

Import towarów z Comarch ERP Optima

Aplikacja pozwala zaimportować towary z plików wygenerowanych w Comarch ERP Optima. Dzięki temu indeksy i jednostki miary pochodzą z bazy ERP, a użytkownik nie przepisuje ich ręcznie. Według opisu aplikacji zaimportowane dane obejmują także informacje potrzebne do wystawienia dokumentów magazynowych, takich jak PZ czy WZ, co skraca przygotowanie dokumentacji po spisie.

Import działa jak słownik. Zeskanowany numer jest szukany w zaimportowanej liście, a znaleziona pozycja dostaje indeks i jednostkę. Jeśli numeru nie ma w słowniku, aplikacja nie ma na czym oprzeć rozpoznania: użytkownik dopisuje pozycję ręcznie albo zgłasza ją do wyjaśnienia. Skuteczność spisu zależy więc od aktualności pliku wejściowego, a nie tylko od jakości skanowania.

SytuacjaCo robi aplikacjaCo powinien zrobić spisujący
Kod jest w słownikuWstawia indeks i jednostkę miaryWpisuje policzoną ilość
Kod nieznanyNie znajduje dopasowaniaDopisuje pozycję ręcznie lub odkłada do wyjaśnienia
Kod nieczytelnyOdrzuca odczytWprowadza numer ręcznie z etykiety
Towar bez etykietyNie ma czego odczytaćWyszukuje pozycję po nazwie lub indeksie

Ten sam mechanizm mapowania stosuje się w większych integracjach. Jak wygląda on na poziomie całego magazynu, a nie pojedynczego spisu, opisuje artykuł o integracji Comarch WMS z systemami ERP.

Eksport wyników i kopia zapasowa IBARD

Wynikowe pliki inwentaryzacyjne można wysłać e-mailem, zapisać na dysku w chmurze albo skopiować bezpośrednio na komputer. Dostosowany format plików umożliwia wymianę z ERP bez dodatkowego przetwarzania i ręcznego formatowania arkuszy. Aplikacja zachowuje historię wysłanych plików, dlatego po zakończeniu spisu można odtworzyć, kiedy zamknięto dany arkusz i co w nim wtedy było.

Współpraca z aplikacją IBARD zapewnia automatyczny backup danych. Kopia w chmurze ogranicza ryzyko utraty wyników w razie awarii telefonu lub przypadkowego skasowania arkusza. Każda przesłana paczka zawiera znacznik czasu i identyfikator urządzenia, więc w razie wątpliwości da się ustalić, skąd pochodzi dana wersja.

Przy ponownym wysyłaniu tego samego arkusza pojawia się ryzyko zdublowania ilości po stronie ERP. Dobrą praktyką jest nadawanie paczce niepowtarzalnego numeru, zbudowanego z identyfikatora urządzenia i czasu wysyłki, oraz odrzucanie duplikatów przy imporcie. Dostęp do aplikacji można ograniczyć do wskazanych pracowników. Szerszy kontekst ochrony danych w magazynie daje artykuł o bezpieczeństwie w magazynie.

Przebieg spisu z natury z aplikacją mobilną

Spis z aplikacją mobilną przebiega w czterech etapach. Kolejność ma znaczenie, bo zaimportowany stan ewidencyjny jest punktem odniesienia dla wszystkich późniejszych porównań.

  1. Przygotowanie - import towarów z ERP i utworzenie arkuszy dla stref oraz zmian.
  2. Liczenie - skanowanie kodów i wpisywanie ilości, z ręcznym uzupełnieniem dla towarów bez etykiety.
  3. Weryfikacja - porównanie policzonych ilości ze stanem systemowym i ponowne liczenie pozycji o dużej różnicy.
  4. Eksport - wysłanie zatwierdzonych arkuszy do ERP, gdzie po akceptacji powstają dokumenty korygujące.

Jeśli wyniki załaduje się do bazy, porównanie wykonuje jedno zapytanie. Przykład zestawia stan ewidencyjny z sumą policzoną w arkuszach i zwraca tylko pozycje z różnicą. Tabele mają nazwy przykładowe, a złączenie pełne wykrywa też towar policzony, którego nie było w ewidencji.

SELECT COALESCE(e.indeks, s.indeks) AS indeks,
       ISNULL(e.stan_ewidencyjny, 0) AS stan_ewidencyjny,
       ISNULL(s.suma_spisana, 0)     AS spisano,
       ISNULL(s.suma_spisana, 0) - ISNULL(e.stan_ewidencyjny, 0) AS roznica
FROM dbo.stan_ewidencyjny AS e
FULL JOIN (SELECT indeks, SUM(ilosc) AS suma_spisana
           FROM dbo.spis_pozycja
           GROUP BY indeks) AS s ON s.indeks = e.indeks
WHERE ISNULL(s.suma_spisana, 0) <> ISNULL(e.stan_ewidencyjny, 0)
ORDER BY ABS(ISNULL(s.suma_spisana, 0) - ISNULL(e.stan_ewidencyjny, 0)) DESC;
Etykiety z kodami kreskowymi na towarach używane do identyfikacji pozycji w spisie
Etykiety towarów jako klucz dopasowania pozycji arkusza do indeksu z ERP - etap liczenia i weryfikacji.

Wynik zapytania wymaga decyzji, a nie tylko zatwierdzenia. Poniższa tabela pokazuje typowy sposób postępowania z różnymi rodzajami rozbieżności. Progi wartościowe ustala firma we własnej instrukcji inwentaryzacyjnej, dlatego w tabeli ich nie podano.

Rodzaj rozbieżnościPrawdopodobna przyczynaDziałanie
Niedobór na jednej pozycjiNieodnotowane wydanie lub błąd liczeniaPonowne liczenie w tej lokalizacji
Nadwyżka na jednej pozycjiNieodnotowane przyjęcie lub towar odłożony w złym miejscuSprawdzenie sąsiednich stref i dokumentów przyjęcia
Nadwyżka pod innym indeksemZamiana towarów o podobnym opakowaniuZestawienie z niedoborem podobnej pozycji
Towar spisany, którego nie ma w ewidencjiBrak karty towarowej lub stary indeksWyjaśnienie z działem handlowym przed korektą

Ponowne liczenie zwykle wykonuje inna osoba niż pierwsza, bez wglądu w wynik poprzedniego liczenia. Taki spis w ciemno ogranicza wpływ przekonania, że ilość powinna być taka, jak w systemie. Sortowanie po wartości bezwzględnej różnicy ustawia na początku pozycje, które warto policzyć jeszcze raz. Kontrolę procesu spisu, w tym ponowne liczenie i zatwierdzanie różnic, opisuje artykuł o kontroli procesu inwentaryzacji.

Zastosowanie aplikacji w różnych typach magazynów

Zakres wykorzystania zależy od wielkości magazynu i liczby indeksów. Aplikacja dobrze sprawdza się jako sposób na przetestowanie inwentaryzacji mobilnej bez długoterminowego zobowiązania wobec dostawcy sprzętu skanującego. Cztery typowe zastosowania wynikają z rytmu pracy danej branży.

  • Handel detaliczny i sieci sklepów - okresowa inwentaryzacja asortymentu w punktach sprzedaży bez angażowania zewnętrznej firmy.
  • E-commerce - szybkie liczenie stanów w magazynie wysyłkowym pomiędzy falami kompletacji zamówień.
  • Dystrybucja i hurt - kontrola zgodności stanów po dostawach realizowanych równolegle przez wielu dostawców.
  • Produkcja - spis komponentów i półproduktów na magazynie międzyoperacyjnym, uzupełniający ewidencję z ERP.

Wspólnym mianownikiem jest potrzeba wiarygodnego liczenia bez zatrzymywania bieżącej pracy. W praktyce oznacza to spis poza szczytem operacyjnym albo rotacyjnie, strefa po strefie. Wyniki spisu mogą też trafić do osoby odpowiedzialnej za kompletację zleceń, jeśli różnica dotyczy towaru z otwartych zamówień.

Aplikacja mobilna a pełny system WMS

Comarch Mobile Inwentaryzacja pasuje do okresowych spisów, natomiast magazyny o dużej rotacji zwykle sięgają po system WMS, w którym inwentaryzacja jest jedną z wielu funkcji. Granica przebiega tam, gdzie liczenie nie może już czekać na zamknięcie magazynu, a ręczna analiza pliku zajmuje więcej czasu niż samo liczenie.

KryteriumAplikacja mobilna do inwentaryzacjiPełny system WMS
Zakres funkcjiSpis z natury, eksport wynikówCały cykl magazynowy, od przyjęcia po wysyłkę, razem ze spisem
Tryb spisuZwykle okresowy i całościowyCiągły, prowadzony lokalizacja po lokalizacji
Obsługa rozbieżnościRęczna analiza wyeksportowanego plikuRaporty i dokumenty korygujące generowane z systemu
IntegracjaImport i eksport plików z ERPWymiana w czasie zbliżonym do rzeczywistego

Migracja z aplikacji do WMS zwykle nie niszczy historii spisów, bo oba rozwiązania operują na tych samych indeksach z ERP. Pracę w pełnym systemie opisują artykuły o Comarch WMS Magazynier oraz o inwentaryzacji ciągłej w magazynie. Podstawowe zestawienie arkusza z systemem WMS zawiera też artykuł o programach do inwentaryzacji.

Wdrożenie aplikacji w firmie

Wdrożenie nie wymaga zmian w infrastrukturze magazynu. Według opisu aplikacji wystarczą smartfony pracowników i aktywne konto w systemie Comarch ERP Optima, co skraca uruchomienie do kilku dni roboczych. Producent udostępnia dokumentację i materiały wdrożeniowe, więc dział IT nie musi tworzyć procedur od podstaw. Krótki czas uruchomienia pozwala sprawdzić rozwiązanie w jednym magazynie i dopiero po dobrych wynikach rozszerzyć je na kolejne lokalizacje.

Pilotaż warto ocenić według mierzalnych kryteriów ustalonych przed startem: czas liczenia jednej strefy w porównaniu z poprzednim spisem, odsetek kodów odrzuconych przy pierwszym odczycie oraz liczba pozycji dopisanych ręcznie. Pierwsze dwie wartości pokazują, czy sprzęt i oznaczenia towaru nadają się do skanowania aparatem. Trzecia ocenia jakość pliku importowego z ERP. Wysoki odsetek dopisań ręcznych wskazuje problem w kartotece, a nie w aplikacji, i wymaga poprawy danych podstawowych przed kolejnym spisem.

Prosty interfejs skraca szkolenie: nowi pracownicy uczą się obsługi w ciągu kilkunastu minut. Aplikację można wykorzystać także do tworzenia innych dokumentów handlowo-magazynowych, ale przy pierwszym wdrożeniu lepiej ograniczyć zakres do samego spisu. Regularna inwentaryzacja cząstkowa daje dokładniejszy obraz stanów niż jeden duży spis roczny, ponieważ różnice wychodzą na jaw, zanim się skumulują. Zespoły, które przywykły do skanowania i elektronicznego przekazywania danych, łatwiej przechodzą potem na pełny system WMS. Dla porównania ról i interfejsu w pełnym systemie służy strona serwisu o programie do inwentaryzacji Studio WMS.net.