KSeF API w procesach automatycznej obsługi faktur
Wymiana danych pomiędzy programami księgowymi, systemami sprzedażowymi i centralnymi rejestrami wymaga dziś nie tylko dobrego oprogramowania, ale również przemyślanego sposobu komunikacji. W sytuacji Krajowego Systemu e-Faktur bardzo ważną rolę odgrywa KSeF API, czyli zestaw mechanizmów umożliwiających programom zewnętrznym komunikowanie się z systemem. W praktyce znaczy to, że użytkownik nie musi każdej operacji wykonywać ręcznie w osobnym środowisku, ponieważ określone czynności mogą być realizowane bezpośrednio z poziomu zintegrowanego programu.
Samo połączenie systemów nie sprowadza się jednak do przesłania dokumentu. Powinno się uwzględnić sposób uwierzytelniania, strukturę danych, obsługę odpowiedzi systemu oraz sytuacje, w których komunikacja zostanie przerwana lub przekazane dane okażą się nieprawidłowe.
Integracja z KSeF API wymaga głównie ustalenia, jakie informacje mają być przekazywane i w którym momencie. W prostym wariancie system sprzedażowy może przygotować dane faktury, a następnie przekazać je do dobrego interfejsu. Bardziej rozbudowane rozwiązania mogą prócz tego pobierać informacje o statusie dokumentu, identyfikatorze nadanym przez system czy wynikach przetwarzania. Z praktycznego punktu widzenia istotne jest rozdzielenie tych etapów. Samo wysłanie danych nie powinno być traktowane jako równoznaczne z zakończeniem całego procesu, ponieważ system zewnętrzny musi jeszcze stosownie zareagować na otrzymaną odpowiedź. Jeżeli już wystąpi błąd, potrzebna jest informacja pozwalająca ustalić jego przyczynę i zdecydować, czy dokument powinno się poprawić, przesłać ponownie, czy pozostawić do kolejnej obsługi. Ma to znaczenie zwłaszcza przy większej liczbie faktur, gdzie ręczne sprawdzanie każdego przypadku bardzo szybko staje się czasochłonne.
Przy projektowaniu takiego połączenia warto również uwzględnić różnice w gronie środowiskiem testowym a produkcyjnym. Kod odpowiedzialny za komunikację może działać właściwie podczas prób, a mimo to wymagać dodatkowych przemian przed wykorzystaniem w realnym obiegu dokumentów. Znaczenie mają również limity, czas odpowiedzi a także sposób reagowania na chwilową niedostępność usługi. W bardzo dobrze zaplanowanym rozwiązaniu nie zakłada się, że każda operacja zakończy się natychmiastowym powodzeniem. System powinien przechowywać informacje potrzebne do późniejszej testom i pozwalać odtworzyć przebieg operacji. Przydatne okazuje się również logowanie komunikatów technicznych, choć zakres zapisywanych danych trzeba dobrać tak, by nie zbudować niepotrzebnego zbioru informacji.
Kolejną kwestią jest implementację integracji do sposobu pracy konkretnego przedsiębiorstwa. Zupełnie inaczej może wyglądać wymianę faktur wystawianych pojedynczo, a przeciwnie proces obejmujący setki albo tysiące dokumentów generowanych samoczynnie. W pierwszym przypadku część czynności może pozostać pod kontrolą użytkownika, jednakże przy wielkiej skali większe znaczenie zyskują automatyczne kolejkowanie, ponawianie operacji i monitorowanie statusów. Trzeba również przewidzieć, co stanie się z dokumentem w systemie źródłowym, gdy przekazanie danych do KSeF zakończy się błędem. Zbyt prosta logika może prowadzić do powstawania rozbieżności pomiędzy lokalną bazą a stanem dokumentów w systemie centralnym. Dlatego KSeF API trzeba traktować nie jako pojedyncze połączenie techniczne, lecz jako element całego procesu obiegu faktur, w którym znaczenie mają zarówno dane wejściowe, komunikacja, jak i dalsze przetwarzanie otrzymanych informacji.
Dodatkowe informacje: KSeF API integracja.