Jak działa komunikacja Subiekta z KSeF od strony technicznej
Dla większości użytkowników proces wysyłki faktury do KSeF sprowadza się do kilku kliknięć w programie. Wystawiają dokument, wybierają opcję wysyłki i po chwili otrzymują informację o powodzeniu operacji. W tle dzieje się jednak znacznie więcej.
Systemy InsERT Subiekt GT oraz Subiekt nexo muszą przygotować dane faktury, przesłać je do Krajowego Systemu e-Faktur, odebrać odpowiedź i zapisać informacje zwrotne w bazie danych. Cały proces odbywa się automatycznie, ale wymaga sprawnej komunikacji pomiędzy systemem ERP, serwerem oraz infrastrukturą KSeF.
Pierwszym etapem jest oczywiście utworzenie dokumentu w Subiekcie. Użytkownik wprowadza dane kontrahenta, dodaje pozycje towarowe lub usługowe, określa stawki VAT i zapisuje dokument.
Na tym etapie faktura znajduje się wyłącznie w bazie danych programu. Nie została jeszcze przesłana do KSeF i nie posiada numeru identyfikacyjnego nadawanego przez system Ministerstwa Finansów.
Dopiero rozpoczęcie procesu wysyłki uruchamia kolejne operacje.
KSeF nie przyjmuje faktur w postaci plików PDF ani wydruków. Dokument musi zostać przekazany w określonym formacie XML zgodnym ze strukturą logiczną opublikowaną przez Ministerstwo Finansów.
Po uruchomieniu wysyłki Subiekt analizuje dane znajdujące się w bazie i tworzy odpowiednią strukturę dokumentu.
W przygotowywanym pliku znajdują się między innymi:
Na tym etapie system sprawdza również podstawową poprawność danych.
Po przygotowaniu dokumentu Subiekt rozpoczyna komunikację z KSeF za pośrednictwem odpowiednich usług sieciowych.
W praktyce program nie komunikuje się bezpośrednio z użytkownikiem końcowym, lecz wykorzystuje połączenie internetowe serwera lub komputera, na którym działa.
To właśnie dlatego stabilność infrastruktury ma tak duże znaczenie. Jeżeli połączenie zostanie przerwane, proces może zakończyć się niepowodzeniem jeszcze przed przekazaniem dokumentu.
Po odebraniu danych system KSeF rozpoczyna ich analizę. Sprawdzana jest między innymi:
Nie oznacza to oczywiście kontroli merytorycznej całej faktury. KSeF przede wszystkim sprawdza, czy dokument został przygotowany zgodnie z wymaganiami technicznymi.
Jeżeli wykryte zostaną błędy, system odrzuci dokument i zwróci odpowiedni komunikat.
Jeżeli faktura przejdzie pomyślnie proces weryfikacji, otrzymuje indywidualny numer identyfikacyjny.
Jest to bardzo ważny moment, ponieważ właśnie wtedy dokument zostaje uznany za wystawiony w rozumieniu przepisów dotyczących KSeF.
Numer ten jest następnie przekazywany z powrotem do Subiekta i zapisywany przy dokumencie.
Od tej chwili użytkownik może sprawdzić status faktury bezpośrednio w systemie ERP.
Po zakończeniu procesu KSeF zwraca odpowiedź do systemu ERP. Może ona zawierać:
Subiekt zapisuje te informacje w swojej bazie danych i prezentuje użytkownikowi odpowiedni status dokumentu.
Dzięki temu nie ma potrzeby ręcznego sprawdzania każdej faktury w systemie Ministerstwa Finansów.
Komunikacja z KSeF odbywa się przez internet, dlatego jest zależna od jakości połączenia oraz dostępności infrastruktury.
Jeżeli podczas wysyłki wystąpi:
proces może zostać przerwany.
W takiej sytuacji Subiekt może nie otrzymać informacji zwrotnej z KSeF. Użytkownik powinien wtedy sprawdzić status dokumentu i upewnić się, czy faktura została poprawnie zarejestrowana.
To właśnie dlatego ciągłość działania środowiska ERP staje się tak istotna po wdrożeniu KSeF.
W przypadku Subiekta działającego w chmurze komunikacja z KSeF odbywa się z poziomu serwera znajdującego się w centrum danych.
Oznacza to, że:
Dla użytkownika cały proces wygląda identycznie, ale odbywa się w środowisku przygotowanym do ciągłej komunikacji z systemami zewnętrznymi.
KSeF sprawił, że system ERP przestał być wyłącznie narzędziem do wystawiania dokumentów. Dziś musi również skutecznie komunikować się z centralnym systemem administracji państwowej. W przypadku Subiekta cały proces jest w dużej mierze zautomatyzowany, jednak jego poprawne działanie zależy od jakości infrastruktury, stabilności połączenia internetowego oraz niezawodności środowiska, w którym pracuje system.