Program handlowy z obsługą magazynu prowadzi w jednej bazie danych fakturowanie i ewidencję ilościową towaru. Wystawienie dokumentu sprzedaży zmniejsza stan, a przyjęcie dostawy zwiększa ilość dostępną dla handlowca, bez przepisywania danych między dwoma programami.

Na przykładzie modułu Handel w Comarch ERP Optima widać, co taka konstrukcja daje i gdzie się kończy. Zakres funkcji opisano według dotychczasowej treści tej strony, a mechanizmy ogólne, takie jak rezerwacje i warstwy wyceny, są wiedzą inżynierską. Ustawienia konkretnej wersji programu potwierdza dokumentacja producenta.

Program handlowy z obsługą magazynu - co dzieje się w bazie

Każdy dokument handlowy składa się z nagłówka i pozycji. Pozycja wskazuje towar z kartoteki oraz ilość i cenę. Osobno zapisany jest magazyn, z którego towar wychodzi albo do którego trafia. Po zatwierdzeniu dokumentu program zapisuje ruch magazynowy: tworzy lub aktualizuje dokument magazynowy i przelicza stan towaru w wybranym magazynie. Obie warstwy korzystają z tych samych tabel, więc nie ma opóźnienia wynikającego z eksportu i importu plików.

Dla jednego towaru baza przechowuje zwykle dwie liczby. Stan fizyczny opisuje to, co leży na półce według zatwierdzonych przyjęć i wydań. Stan dostępny to stan fizyczny pomniejszony o rezerwacje z zamówień odbiorców, które nie zostały jeszcze zrealizowane. Handlowiec przyjmujący zamówienie patrzy na stan dostępny, a magazynier przy spisie liczy stan fizyczny.

Zdarzenie handloweDokument magazynowySkutek dla ilościSkutek dla wartości
Faktura sprzedaży towaruWydanie zewnętrzne (WZ)Zmniejsza stan fizycznyKoszt własny liczony wybraną metodą
Zamówienie od odbiorcyRezerwacjaZmniejsza stan dostępny, stan fizyczny bez zmianBrak
Faktura zakupu towaruPrzyjęcie zewnętrzne (PZ)Zwiększa stan fizycznyTworzy warstwę wyceny po cenie zakupu
Faktura korygującaDokument korygujący wydanie lub przyjęcieCofa lub uzupełnia ilośćPrzelicza koszt pierwotnego dokumentu
Przesunięcie między magazynamiMMPrzenosi ilość z jednego magazynu do drugiegoBez zmiany wartości zapasu

Reguła: handlowiec obiecuje klientowi stan dostępny, magazynier liczy stan fizyczny. To dwie różne liczby i nie wolno ich mieszać w jednym zestawieniu.

Tabela pokazuje, że jedno zdarzenie handlowe daje inny skutek ilościowy i wartościowy. Ten sam mechanizm obejmuje korekty: faktura korygująca powinna wskazywać dokument pierwotny, bo od niego zależy, z której warstwy wyceny zwrócony towar wraca do magazynu. Brak takiego powiązania kończy się kosztem policzonym od nowa według bieżącej metody. Podobnie działa historia stanów magazynowych: każda zmiana ilości ma dokument źródłowy, dzięki czemu stan z dowolnego dnia można odtworzyć.

Moduł Handel w Comarch ERP Optima - zakres funkcji

Comarch ERP Optima Handel łączy moduł fakturowania z funkcjami magazynowymi w ramach jednego pakietu księgowo-handlowego. Program trafia głównie do firm handlowych i dystrybucyjnych, w których magazyn wspiera sprzedaż, a nie jest osobnym centrum logistycznym obsługującym wielu klientów jednocześnie. Zakres funkcji dzieli się na dokumenty oraz obsługę urządzeń.

Dokumenty sprzedaży i zakupu

Moduł pozwala wystawiać faktury sprzedaży, w tym zaliczkowe i pro forma, oraz paragony. Po stronie zakupów obsługuje faktury zakupu, także od rolników ryczałtowych. Faktury korygujące porządkują rozliczenia i ograniczają liczbę błędów, które pojawiają się przy ręcznym przepisywaniu danych między dokumentami.

Dokumenty magazynowe i inwentaryzacja

Program obsługuje wydania i przyjęcia zewnętrzne. Obok nich rejestruje przesunięcia międzymagazynowe i rezerwacje dla odbiorców. Zamówienia u dostawców wspierają planowanie zaopatrzenia. Moduł prowadzi wiele magazynów jednocześnie i pozwala przeprowadzić inwentaryzację ze spisem z natury oraz sporządzić bilans handlowy towaru. Historia ruchu zapisuje się w kartotekach magazynowych, a zestawienia można grupować według dostaw.

  • Dokumenty sprzedaży - faktury (VAT, pro forma, zaliczkowe) oraz paragony.
  • Dokumenty zakupu - faktury zakupu, także od rolników ryczałtowych, oraz zamówienia u dostawców.
  • Dokumenty magazynowe - wydania i przyjęcia zewnętrzne oraz przesunięcia międzymagazynowe.
  • Kontrola stanu - inwentaryzacja ze spisem z natury oraz bilans handlowy towaru.

Metody rozliczania magazynu na przykładzie liczbowym

Program wspiera rozliczanie magazynu metodami FIFO i LIFO oraz średnią ważoną AVCO. Wybór wpływa na wynik finansowy przy zmiennych cenach zakupu, więc dobiera się go do charakteru asortymentu i uzgadnia z księgowym. Różnicę najłatwiej zobaczyć na jednym przykładzie: firma kupiła 100 sztuk po 10 zł, następnie 100 sztuk po 12 zł, a teraz wydaje 150 sztuk.

MetodaZ których warstw schodzi towarKoszt wydania 150 sztukWartość pozostałych 50 sztuk
FIFO100 szt. po 10 zł i 50 szt. po 12 zł1600 zł600 zł
LIFO100 szt. po 12 zł i 50 szt. po 10 zł1700 zł500 zł
AVCO150 szt. po średniej ważonej 11 zł1650 zł550 zł

FIFO pasuje do towarów z ograniczoną trwałością, bo najstarsze partie schodzą pierwsze. AVCO upraszcza rozliczenia przy dużej rotacji asortymentu o zbliżonych cenach zakupu, ponieważ program utrzymuje jedną cenę średnią zamiast historii warstw. Przy rosnących cenach FIFO zawyża marżę, a LIFO ją obniża. Ten sam przychód daje więc inny wynik, zależnie od sposobu wyceny wydań.

Poniższe zapytanie T-SQL ilustruje mechanizm FIFO: sumę narastającą ilości po warstwach przyjęć porównuje się z ilością wydania. Nazwy tabeli i kolumn są przykładowe i nie odzwierciedlają schematu żadnego programu.

DECLARE @ilosc_wydania decimal(18,3) = 150;

WITH w AS (
    SELECT id_przyjecia, ilosc, cena,
           SUM(ilosc) OVER (ORDER BY data_przyjecia, id_przyjecia
                            ROWS UNBOUNDED PRECEDING) AS narastajaco
    FROM dbo.warstwa_przyjecia
    WHERE towar_id = 101 AND ilosc > 0
)
SELECT SUM(
         (CASE WHEN narastajaco <= @ilosc_wydania THEN ilosc
               ELSE @ilosc_wydania - (narastajaco - ilosc) END) * cena
       ) AS koszt_fifo
FROM w
WHERE narastajaco - ilosc < @ilosc_wydania;

Dla danych z tabeli zapytanie zwraca 1600, czyli wynik z pierwszego wiersza zestawienia. Funkcje okna opisuje dokumentacja klauzuli OVER w Microsoft Learn.

Urządzenia peryferyjne i sprzedaż internetowa

Comarch ERP Optima Handel współpracuje z urządzeniami, które skracają rejestrację sprzedaży i ruchu towaru. Każde z nich zapisuje dane w tym samym dokumencie, dlatego liczy się poprawna konfiguracja na etapie wdrożenia.

  • Drukarki fiskalne - także urządzenia online, które rejestrują sprzedaż paragonową.
  • Czytniki kodów kreskowych i kolektory danych - wprowadzają towar do dokumentu skanem zamiast ręcznego wpisu.
  • Drukarki etykiet - drukują oznaczenia towaru według kartoteki.
  • Terminale płatnicze - łączą płatność kartą z dokumentem sprzedaży.
Skaner kodów kreskowych i kolektor danych używane do rejestracji towaru w magazynie
Urządzenia skanujące podłączane do programu handlowego - etap rejestracji ruchu towaru w dokumencie.

System integruje się także z platformami e-commerce, co pozwala połączyć sprzedaż stacjonarną z internetową. Sklep pobiera stan dostępny, a nie fizyczny, więc rezerwacje z zamówień stacjonarnych zmniejszają ofertę widoczną w Internecie. Synchronizacja działa w odstępach czasu, dlatego przy szybko rotujących towarach stosuje się bufor bezpieczeństwa: sklep pokazuje o kilka sztuk mniej, niż wynika ze stanu. Jak taką wymianę projektuje się po stronie WMS, opisuje artykuł o integracji WMS z ERP.

Moduł magazynowy w programie handlowym a dedykowany WMS

Moduł wbudowany w program handlowy i dedykowany system WMS realizują część tych samych zadań, ale różnią się głębokością funkcji. Mała firma z jednym magazynem i kilkoma zamówieniami dziennie zwykle nie odczuje różnicy. Wraz z liczbą pracowników i lokalizacji składowania różnice zaczynają wpływać na tempo i dokładność pracy. Ogólne klasy oprogramowania magazynowego omawia artykuł o programie magazynowym WMS.

KryteriumModuł magazynowy w programie handlowymDedykowany system WMS
Główny celWsparcie fakturowania i sprzedażySterowanie ruchem towaru w magazynie
AdresowanieMagazyn jako jedna pozycja stanu, bez rozbicia na miejsca składowaniaLokalizacja z kodem strefy i poziomu regału
Praca na urządzeniach mobilnychOgraniczona lub licencjonowana osobnoTerminale i skanery w pracy ciągłej, także w trybie online
KompletacjaLista pozycji z dokumentuTrasy kompletacji i kolejność pobrań
Magazyn dla klientów zewnętrznychOgraniczonaRozliczenia i dane osobno dla każdego kontrahenta
Integracje transportowe i kurierskiePodstawoweEtykietowanie przesyłek i wymiana z systemami transportowymi

Różnicę adresowania widać przy odkładaniu towaru. W programie handlowym przyjęcie zwiększa stan magazynu jako całości, więc magazynier musi pamiętać, gdzie fizycznie położył paletę. W WMS przyjęcie kończy się przypisaniem do lokalizacji, a przy wydaniu terminal prowadzi do tego samego adresu. Zapis ruchu na poziomie miejsca składowania jest też podstawą skutecznego spisu cząstkowego, o którym mowa niżej.

Dla firmy handlowej, w której magazyn wspiera głównie sprzedaż własnego asortymentu, moduł wbudowany zwykle wystarcza. Gdy magazyn przyjmuje zlecenia zewnętrzne, rośnie liczba lokalizacji albo dzienne wydania przekraczają możliwości ręcznej kontroli, opłaca się dołożyć WMS zamiast rozbudowywać sam moduł. Częściej stosowany kierunek to magazyn w chmurze, który ogranicza koszt utrzymania serwerów.

Sygnały, że moduł magazynowy przestaje wystarczać

Ograniczenia modułu widać w codziennej pracy, zanim pojawią się poważne straty. Cztery objawy wskazują, że warto ocenić potrzebę dedykowanego systemu.

  • Pomyłki przy kompletacji - pracownicy szukają towaru z pamięci, bo system nie wskazuje dokładnej lokalizacji.
  • Brak pracy na kolektorach - operacje opierają się na wydrukach i ręcznym wprowadzaniu danych.
  • Długi spis z natury - inwentaryzacja trwa dni zamiast godzin, bo nie ma skanowania ani spisu cząstkowego.
  • Trudna obsługa kilku magazynów - przeniesienie towaru wymaga wielu ręcznych operacji zamiast jednego dokumentu MM.

Reguła: wskaźniki mierzy się, a nie szacuje. Czas od skanu do zaksięgowania ruchu i liczba korekt po inwentaryzacji w miesiącu mówią więcej niż wrażenia kierownika magazynu.

Drugi wskaźnik da się policzyć jednym zapytaniem. Poniżej przykład dla tabeli dokumentów magazynowych o przykładowej nazwie, która zawiera typ dokumentu i datę zatwierdzenia.

SELECT FORMAT(data_zatwierdzenia, 'yyyy-MM') AS miesiac,
       SUM(CASE WHEN typ = 'KOR_INW' THEN 1 ELSE 0 END) AS korekty_inwentaryzacyjne,
       COUNT(*) AS wszystkie_dokumenty
FROM dbo.dokument_magazynowy
GROUP BY FORMAT(data_zatwierdzenia, 'yyyy-MM')
ORDER BY miesiac;

Wybór wskaźników zależy od firmy, ale ich trend jest czytelny: jeśli korekt przybywa szybciej niż obrotów, ewidencja przestaje nadążać za fizycznym ruchem. Wtedy pomaga przeniesienie skanowania i adresowania do osobnej warstwy. Dokumenty, które ta warstwa generuje, opisuje artykuł o dokumentach magazynowych w WMS.

Współpraca ERP i WMS po wdrożeniu magazynu

Dodanie WMS nie oznacza rezygnacji z programu handlowego. ERP zostaje systemem fakturowym i finansowym, a WMS przejmuje fizyczny ruch towaru. Kluczem jest jednoznaczny podział własności danych: każda informacja ma jednego właściciela, a drugi system dostaje jej kopię.

DaneWłaścicielKierunek wymiany
Kartoteka towarowa i kontrahenciERPZ ERP do WMS
Zamówienia odbiorców i dostawcówERPZ ERP do WMS
Lokalizacje i strefy składowaniaWMSTylko w WMS
Potwierdzone przyjęcia i wydaniaWMSZ WMS do ERP jako PZ i WZ
Ilustracja zarządzania zapasami w magazynie z rozdziałem ewidencji handlowej i operacji fizycznych
Podział ról: ewidencja handlowa w ERP, a ruch fizyczny i adresowanie w systemie magazynowym.

Wymianę realizuje się przez interfejs API albo pliki wymiany, a dokumenty potwierdzone w WMS wracają do ERP jako przyjęcia i wydania. Przykład takiego układu dla innego programu księgowo-handlowego pokazuje artykuł o wymianie dokumentów z Wapro, a projekt po stronie Comarch opisuje integracja Comarch WMS z systemami ERP. Studio WMS.net i pozostałe produkty prezentuje serwis magazyn.softwarestudio.com.pl. Sam dostawca ERP udostępnia opis programu na stronie Comarch ERP.

Wdrożenie modułu handlowego - testy równoległe i odbiór

Uruchomienie modułu Handel z obsługą magazynu przebiega według podobnego schematu, niezależnie od wielkości firmy. Cztery etapy decydują o tym, czy pierwszy miesiąc pracy zakończy się zgodnym stanem księgowym i fizycznym.

  1. Analiza procesów - ustalenie dokumentów oraz liczby magazynów i urządzeń.
  2. Kartoteki i metoda wyceny - import kartotek z poprzedniego systemu (asortyment i kontrahenci) oraz wybór metody rozliczania magazynu.
  3. Testy równoległe - praca na starym i nowym systemie przez uzgodniony okres, aby wychwycić rozbieżności przed pełnym przejściem.
  4. Start i nadzór - monitorowanie pierwszych tygodni, w których ujawniają się błędy konfiguracji.

Najczęstszy błąd polega na pominięciu testów równoległych. Firmy, które przełączają się od razu, częściej znajdują rozbieżności między stanem księgowym a fizycznym niż te, które przez dwa lub trzy tygodnie prowadzą ewidencję w obu systemach. Migrację kartotek z arkusza opisuje artykuł o programie do magazynu i migracji z Excela.

Wdrożenie nie kończy się w dniu startu. Program wymaga aktualizacji zgodnie ze zmianami przepisów podatkowych i księgowych, a rozwój firmy, na przykład nowy magazyn albo kanał sprzedaży, zwykle oznacza dokupienie licencji lub modułów. Przy wyborze dostawcy sprawdza się więc tempo aktualizacji i dostępność wsparcia technicznego. Osobno ocenia się łatwość integracji z platformami e-commerce i przyszłym WMS. Urządzenia mobilne z Androidem, które później obsłużą magazyn, opisuje artykuł o kolektorach danych z Androidem.