Automatyczna wymiana danych z Comarch ERP Optima
Zestaw aplikacji, który łączy Comarch ERP Optima z zewnętrznym systemem. Dokumenty przygotowane w systemie zewnętrznym trafiają do Optimy automatycznie, a dane z Optimy — stany magazynowe, rejestry dokumentów oraz wydruki faktur — wracają w drugą stronę w ustalonym formacie. Wymiana odbywa się przez katalogi na serwerze FTP i standardowe formaty plików (XML, JSON, CSV, PDF), więc po stronie systemu zewnętrznego nie jest wymagana żadna dedykowana integracja ani dostęp do bazy Optimy. Rozwiązanie składa się z trzech niezależnych aplikacji uruchamianych Harmonogramem zadań Windows na serwerze — można wdrożyć wszystkie albo tylko wybrany moduł.
Kluczowe funkcje
1. Import dokumentów z plików XML do Optimy
Aplikacja cyklicznie sprawdza wskazane katalogi na serwerze plików i pobiera z nich dokumenty w formacie XML, a następnie zakłada je w Comarch ERP Optima przy użyciu oficjalnego interfejsu programistycznego systemu ERP — dokładnie tak, jakby wprowadził je operator. Obsługiwane są rozchody wewnętrzne (RW), przychody wewnętrzne (PW) oraz faktury Pro Forma, każdy typ z osobnego katalogu. Z pliku odczytywane są dane nagłówka (numer i data dokumentu, magazyn źródłowy i docelowy, płatnik i odbiorca, forma i termin płatności, waluta, opis, numer zamówienia), lista pozycji z ilością, jednostką miary i ceną oraz atrybuty — zarówno na poziomie dokumentu, jak i pojedynczej pozycji. Numer zamówienia z systemu zewnętrznego zapisywany jest jako atrybut dokumentu, co pozwala w każdej chwili powiązać dokument w Optimie ze źródłowym zleceniem. Dla dokumentów PW tworzone są dodatkowo cechy dostaw na podstawie atrybutów pozycji, a nazwę towaru na pozycji można nadpisać wartością przekazaną w pliku. Poprawnie przetworzony plik jest usuwany z serwera, dzięki czemu nie zostanie zaimportowany po raz drugi.
2. Kontrola stanów magazynowych i automatyczne zamienniki
Przed założeniem rozchodu aplikacja sprawdza w bazie, czy na wskazanym magazynie faktycznie są dostępne wymagane ilości — zarówno na datę dokumentu, jak i na dzień bieżący. Jeżeli towaru brakuje, program sięga do słownika zamienników zdefiniowanego w Optimie i podstawia pierwszy zamiennik o wystarczającym stanie magazynowym. Weryfikowane jest również samo istnienie towarów oraz definicji atrybutów, jeszcze zanim dokument zacznie powstawać — dzięki temu komunikat wskazuje konkretny brakujący kod, zamiast surowego błędu z interfejsu ERP.
3. Odporność na błędy i pełna informacja zwrotna
Rozwiązanie jest przygotowane do pracy bez nadzoru operatora. Jeżeli części pozycji nie da się dodać, dokument powstaje z pozycjami możliwymi do obsłużenia, a lista brakujących towarów wraz z przyczyną trafia automatycznie do pola „Opis" dokumentu (z przycięciem do dopuszczalnej długości pola) — użytkownik może uzupełnić dokument ręcznie, bez ponownego wysyłania pliku. Nierozpoznany kontrahent na fakturze Pro Forma zastępowany jest kontrahentem nieokreślonym, zamiast przerywać cały import. Pliki, których nie udało się przetworzyć, przenoszone są do wydzielonego katalogu z dokumentami wymagającymi uwagi, więc kolejne uruchomienie nie próbuje ich importować ponownie. Osobno rozpoznawana jest sytuacja braku wolnej licencji Comarch ERP Optima — plik zostaje wtedy nietknięty na serwerze i zostanie przetworzony przy następnym przebiegu. Do katalogów logów na serwerze plików trafiają zarówno raporty błędów (z nazwą pliku, typem dokumentu, opisem przyczyny i listą braków), jak i dzienne potwierdzenia poprawnie zaimportowanych dokumentów.
4. Eksport kartotek i stanów magazynowych
Druga aplikacja przygotowuje pełny obraz asortymentu w formacie JSON i wysyła go na serwer plików. Eksport obejmuje dane kartoteki towaru (kod, nazwa, EAN, numer katalogowy, kod u dostawcy, dostawca, masa, kategoria, jednostka podstawowa, znacznik towaru prostego i złożonego, status aktywności), stany magazynowe wraz z brakami i ilościami zamówionymi, ceny zakupu z walutą, a także dane rozszerzone: jednostki pomocnicze z przelicznikami, zdefiniowane zamienniki oraz receptury towarów złożonych. Pobieranie danych zabezpieczone jest automatycznym ponawianiem z rosnącym odstępem czasowym, dzięki czemu chwilowa niedostępność serwera bazy danych nie przerywa eksportu.
5. Eksport rejestru sprzedaży i rozrachunków
Rejestr dokumentów sprzedaży z ostatnich dwunastu miesięcy eksportowany jest do pliku CSV, gotowego do wczytania w systemie zewnętrznym lub w arkuszu kalkulacyjnym. Plik zawiera numer dokumentu, datę wystawienia, datę sprzedaży, termin płatności, wartość netto i brutto, kwotę pozostającą do zapłaty, numer powiązanej faktury Pro Forma oraz wyliczoną liczbę dni po terminie — liczoną do dnia bieżącego dla dokumentów nierozliczonych i do daty rozliczenia dla dokumentów opłaconych po terminie. To gotowy materiał pod windykację i analizę spływu należności po stronie systemu zewnętrznego.
6. Eksport dokumentów kosztowych
Dokumenty zakupowe wraz z pozycjami i danymi rejestrów VAT eksportowane są do pliku JSON. Przekazywane są dane nagłówka (numer dokumentu, identyfikator księgowy, daty wystawienia i operacji, kontrahent z numerem NIP i prefiksem kraju, rejestr VAT, wartości netto i brutto w walucie dokumentu i w PLN, termin płatności, data ostatniej modyfikacji) oraz pozycje z wartością netto, kwotą i stawką VAT, opisem, kodem towaru i rodzajem zakupu. Dokumenty bez pozycji nie są pomijane — trafiają do pliku z samym nagłówkiem i pustą listą pozycji, dzięki czemu rejestr po stronie odbiorcy pozostaje kompletny.
7. Automatyczne wydruki faktur PDF wraz z opisem XML
Trzecia aplikacja generuje wydruki dokumentów sprzedaży bezpośrednio z Comarch ERP Optima, korzystając z mechanizmu wydruków systemu ERP — dokument PDF jest więc identyczny z tym, który powstaje z poziomu programu. Wzorzec wydruku dobierany jest automatycznie na podstawie typu i rodzaju dokumentu, waluty oraz tego, czy kontrahent jest zagraniczny. Obsługiwane są faktury sprzedaży (również powstałe z Pro Formy), faktury zaliczkowe, korekty ilościowe, wartościowe, korekty danych oraz korekty faktur zaliczkowych. Wydruki oparte są na technologii sPrint. Do każdego wydruku dołączany jest plik XML z danymi dokumentu: numerem, datami, wartością netto i brutto w walucie dokumentu i w PLN, harmonogramem płatności oraz listą powiązanych zamówień. Nazwa pliku PDF buduje się z numeru faktury, numerów zamówień i symbolu waluty, więc dokument da się rozpoznać i powiązać jeszcze przed otwarciem. Komplet PDF + XML wysyłany jest na serwer plików, a wydrukowany dokument oznaczany jest w bazie, dzięki czemu przy kolejnym uruchomieniu nie zostanie przetworzony ponownie. Do wydruku kwalifikowane są wyłącznie dokumenty zatwierdzone i wystawione od ustalonej daty granicznej, co zapobiega masowemu generowaniu dokumentów sprzed wdrożenia.
8. Harmonogram, logi i konfiguracja
Wszystkie trzy aplikacje są programami konsolowymi uruchamianymi cyklicznie przez Harmonogram zadań Windows — częstotliwość ustala się dowolnie, osobno dla każdego modułu. Każdy przebieg zapisywany jest w szczegółowym dzienniku z podziałem na pliki dzienne: połączenie z serwerem plików, logowanie do Optimy, każdy przetworzony dokument, każda pozycja i atrybut, decyzje o podstawieniu zamiennika oraz pełna treść błędów. Parametry wdrożeniowe — dane serwera plików wraz z katalogami dla poszczególnych typów dokumentów, połączenie z bazą danych oraz operator i firma w Optimie — ustawiane są w pliku konfiguracyjnym, bez ingerencji w kod. Aplikacje wymuszają polskie ustawienia regionalne, co gwarantuje poprawne formatowanie liczb, dat i znaków diakrytycznych niezależnie od konfiguracji serwera.