Współczesny przepływ faktur coraz częściej odbywa się pośród kilkoma aplikacjami, które odpowiadają za różne fragmenty tego samego procesu. Dokument może zostać wytworzony w systemie sprzedażowym, następnie natrafić do dalszego przetwarzania, a informacje o nim mogą być wykorzystywane jeszcze w księgowości lub innych modułach. W takim środowisku znaczenie ma nie tylko i wyłącznie miejsce przechowywania faktury, lecz także sposób przekazywania danych.
KSeF API umożliwia aplikacjom komunikować się z Krajowym Systemem e-Faktur bez konieczności ręcznego przenoszenia każdej informacji. Z perspektywy technicznej jest to natomiast coś więcej niż pojedyncza funkcja wysyłania dokumentu. Trzeba określić sposób uwierzytelniania, przygotowanie komunikatu, odbieranie odpowiedzi oraz zapis informacji o wykonanej operacji. W praktyce już na tym etapie warto uwzględnić sytuacje, w których dokument nie może zostać przekazany albo wynik operacji nie jest dostępny od razu. Pominięcie takich przypadków zwykle nie jest widoczne przy pierwszych testach, niemniej jednak staje się kłopotem przy większej liczbie dokumentów.
Duże znaczenie ma sposób przygotowania danych przed ich przekazaniem. System, w którym powstaje faktura, może stosować własnych pól, oznaczeń i zależności, podczas gdy komunikacja z zewnętrznym systemem wymaga określonej struktury informacji. Integracja z KSeF API może więc wymagać przekształcania danych, sprawdzania ich kompletności a także obsługi wartości, które w systemie źródłowym są dopuszczalne, ale w komunikacie docelowym muszą zostać przedstawione zupełnie inaczej. Warto wykonywać część testom jeszcze przed rozpoczęciem komunikacji. O ile aplikacja wykryje brak wymaganej informacji na wcześniejszym etapie, użytkownik w tym samym momencie wie, gdzie należy poprawić dokument. Gdy ten sam problem zostanie wykryty dopiero po wysłaniu danych, analiza staje się bardziej złożona. Trzeba wtedy ustalić, czy błąd wynika z faktury, sposobu jej przekształcenia, konfiguracji czy samej komunikacji. Przy wielkiej liczbie dokumentów różnica ta ma praktyczne znaczenie, ponieważ pojedyncza nieprawidłowość może wystąpić w wielu fakturach równocześnie.
Kolejną kwestią jest zachowanie systemu w czasie, gdy operacja nie przebiega zgodnie z zasadniczym scenariuszem. Aplikacja może nie otrzymać odpowiedzi w przewidywanym czasie, może otrzymać komunikat o błędzie albo może utracić połączenie po przekazaniu danych. Nie można wówczas bez sprawdzenia przyjąć, że dokument nie został obsłużony. Równocześnie ponowne wykonanie tej samej czynności też wymaga ostrożności. Jeżeli pierwsza operacja została zrealizowana, lecz system źródłowy nie otrzymał potwierdzenia, automatyczne ponowienie może prowadzić do niejasności dotyczących stanu dokumentu. Z tego powodu przydatne są mechanizmy pozwalające zapisywać identyfikatory, znaczniki czasu, wyniki poszczególnych etapów oraz komunikaty związane z błędami. Historia operacji ułatwia późniejsze ustalenie, co wydarzyło się z konkretną fakturą. Ma to znaczenie także podczas ręcznej sprawdzeniu, ponieważ użytkownik nie powinien być zmuszony do odtwarzania całego przebiegu zdarzeń na podstawie kilku niespójnych informacji.
Wraz ze wzrostem liczby dokumentów zmieniają się także oczekiwania dotyczące organizacji pracy systemu. Przy niewielkim obciążeniu część operacji może być wykonywana omal natychmiast, natomiast większy ruch może wymagać kolejkowania zadań i kontrolowania kolejności ich realizacji. Należy także uwzględnić możliwość czasowego wstrzymania przetwarzania bez utraty informacji o dokumentach oczekujących na obsługę. Osobnym zagadnieniem pozostaje utrzymanie integracji po jej uruchomieniu. Zmiana konfiguracji programu, modyfikacja procesu wystawiania faktur czy aktualizacja wykorzystywanych mechanizmów może wpłynąć na wcześniejsze założenia. Dlatego testowanie powinno obejmować nie tylko i wyłącznie poprawne dokumenty, niemniej jednak również przypadki błędne, ponowienia i sytuacje przerwania komunikacji. KSeF API staje się wówczas jednym z elementów większego procesu, którego właściwe działanie zależy od współpracy przygotowania danych, komunikacji, sprawdzeniu statusów a także późniejszej obsługi informacji zwrotnych.
Polecam: KSeF API integracja.