Każdy program księgowy, który wysyła faktury do KSeF, robi to przez API — interfejs programistyczny, który pozwala systemom informatycznym "rozmawiać" ze sobą. Dla większości przedsiębiorców API działa w tle — niewidocznie i bezproblemowo. Ale jeśli masz niestandardowe oprogramowanie, budujesz własne integracje lub po prostu chcesz zrozumieć, jak KSeF działa "pod maską" — ten artykuł jest dla Ciebie.
Czym jest API KSeF
API (Application Programming Interface) to zestaw reguł i narzędzi, które pozwalają jednemu systemowi informatycznemu komunikować się z drugim. API KSeF to interfejs udostępniony przez Ministerstwo Finansów, przez który programy zewnętrzne (programy księgowe, systemy ERP, narzędzia do monitoringu) mogą wystawiać faktury w KSeF, pobierać je i sprawdzać ich status.
API w jednym zdaniu
API KSeF to "drzwi", przez które Twój program wchodzi do KSeF. Zamiast logować się na stronę i ręcznie wpisywać dane — program robi to automatycznie, wysyłając zapytania i odbierając odpowiedzi przez API. Szybko, bezbłędnie i bez Twojego udziału.
Nie musisz znać API, żeby korzystać z KSeF. Jeśli używasz programu księgowego z wbudowaną integracją — API działa w tle. Ale jeśli masz własne oprogramowanie, budujesz niestandardowy obieg dokumentów lub chcesz zintegrować KSeF z narzędziem do monitoringu płatności czy windykacji — znajomość API jest niezbędna.
Co możesz zrobić przez API KSeF
API KSeF udostępnia zestaw operacji, które pokrywają pełny cykl życia faktury — od wystawienia po archiwizację. Oto najważniejsze z nich.
Wystawianie faktur
Wysyłasz dokument XML (zgodny ze schematem FA(2)) do KSeF. System waliduje go, nadaje numer KSeF i zwraca potwierdzenie. Od tego momentu faktura jest oficjalnie wystawiona i doręczona nabywcy.
Pobieranie faktur
Jako nabywca możesz automatycznie pobierać faktury zakupowe wystawione na Twój NIP. API pozwala filtrować faktury po dacie, NIP-ie sprzedawcy i zakresie czasowym. To fundament automatycznego importu faktur zakupowych do programu księgowego.
Sprawdzanie statusu
Po wysłaniu faktury możesz sprawdzić, czy została przyjęta (nadano numer) czy odrzucona (z komunikatem błędu). Możesz też pobrać UPO — urzędowe poświadczenie odbioru, które potwierdza przyjęcie dokumentu.
Pobieranie UPO
Urzędowe poświadczenie odbioru to elektroniczny dokument potwierdzający, że KSeF przyjął Twoją fakturę. UPO zawiera numer KSeF, datę i godzinę przyjęcia oraz skrót kryptograficzny dokumentu. To Twój dowód, że faktura została wystawiona i doręczona.
Zarządzanie uprawnieniami
Przez API możesz nadawać i odbierać tokeny autoryzacyjne — uprawnienia do wystawiania i pobierania faktur w imieniu Twojej firmy. To ważne przy automatyzacji: system (np. program księgowy) uwierzytelnia się tokenem, nie loginem i hasłem.
| Operacja | Kierunek | Zastosowanie |
|---|---|---|
| Wystawianie faktury | Twój program → KSeF | Wysłanie nowej faktury lub korekty |
| Pobieranie faktur | KSeF → Twój program | Import faktur zakupowych |
| Sprawdzanie statusu | KSeF → Twój program | Weryfikacja, czy faktura została przyjęta |
| Pobieranie UPO | KSeF → Twój program | Pobranie potwierdzenia odbioru |
| Zarządzanie uprawnieniami | Twój program ↔ KSeF | Nadawanie i odbieranie tokenów |
| Wysyłka wsadowa (batch) | Twój program → KSeF | Wysłanie wielu faktur jednocześnie |
Kto potrzebuje bezpośredniej integracji z API
Nie każda firma musi samodzielnie integrować się z API KSeF. W większości przypadków wystarczy program księgowy z wbudowanym modułem. Bezpośrednia integracja z API ma sens w specyficznych sytuacjach.
Potrzebujesz API, jeśli:
- Masz własne oprogramowanie — autorski system ERP, CRM z modułem fakturowym lub niestandardowe narzędzie, które nie korzysta z gotowych programów księgowych
- Budujesz narzędzie dla klientów — tworzysz SaaS, platformę e-commerce lub system dla branży, który musi wystawiać faktury w imieniu użytkowników
- Potrzebujesz niestandardowego obiegu — np. automatyczne wystawianie faktur na podstawie zamówień w sklepie internetowym, integracja KSeF z systemem monitoringu płatności czy CRM
- Wystawiasz bardzo dużo faktur — tysiące miesięcznie, gdzie wysyłka wsadowa (batch) przez API jest konieczna ze względu na wydajność
Nie potrzebujesz API, jeśli:
- Korzystasz z programu księgowego z modułem KSeF — program obsługuje API w tle, Ty korzystasz z interfejsu graficznego
- Wystawiasz kilkadziesiąt faktur miesięcznie — standardowa integracja przez program księgowy wystarczy
- Nie masz zespołu IT — integracja z API wymaga programisty. Jeśli go nie masz, korzystaj z gotowych rozwiązań
Pro tip: nawet jeśli nie integrujesz się z API bezpośrednio, warto wiedzieć, że Twój program księgowy i narzędzia do monitoringu (np. Paido) korzystają z API KSeF "pod spodem". To API sprawia, że faktury przepływają automatycznie — od wystawienia po monitoring. Ty nie widzisz tego procesu, ale korzystasz z jego efektów.
Jak wygląda integracja z API — krok po kroku
Jeśli zdecydujesz się na bezpośrednią integrację (bo masz własne oprogramowanie lub budujesz narzędzie), oto jak przebiega ten proces.
- Zapoznaj się z dokumentacją — Ministerstwo Finansów publikuje pełną dokumentację API KSeF, zawierającą specyfikację endpointów, parametry zapytań, formaty odpowiedzi i schemat FA(2). To Twój punkt wyjścia.
- Zarejestruj się w środowisku testowym — KSeF udostępnia środowisko demo (sandbox), w którym możesz testować integrację bez ryzyka. Wystawiasz testowe faktury, sprawdzasz odpowiedzi API i debugujesz problemy.
- Zaimplementuj autoryzację — API wymaga uwierzytelniania. Musisz zaimplementować obsługę tokenów autoryzacyjnych — generowanie, odnawianie i przechowywanie. To krytyczny element bezpieczeństwa.
- Zbuduj generowanie XML — Twój system musi tworzyć faktury w formacie XML zgodnym ze schematem FA(2). To najczęstsze źródło błędów — testuj generowany XML walidatorem zanim wyślesz do KSeF.
- Zaimplementuj wysyłkę i odbiór — wystawianie faktur (POST), pobieranie faktur (GET), sprawdzanie statusu, pobieranie UPO. Obsłuż zarówno odpowiedzi pozytywne, jak i błędy.
- Dodaj obsługę błędów i retry — API może zwrócić błąd (np. serwer KSeF niedostępny). Twój system musi obsłużyć takie sytuacje — ponawiać próby, logować błędy, powiadamiać administratora.
- Przetestuj kompleksowo — faktura zwykła, korekta, faktura walutowa, split payment, wysyłka wsadowa. Pokryj wszystkie scenariusze zanim przejdziesz na produkcję.
- Przejdź na środowisko produkcyjne — po pozytywnych testach przełącz integrację na produkcyjne API KSeF. Monitoruj pierwsze faktury szczególnie uważnie.
Uwaga: integracja z API to projekt programistyczny wymagający doświadczenia w pracy z API REST, XML i zabezpieczeniach. Jeśli nie masz zespołu developerskiego — korzystaj z gotowych programów z wbudowaną integracją. Próba "własnej" integracji bez odpowiednich kompetencji kończy się frustracją i błędami.
Środowisko testowe vs. produkcyjne
Ministerstwo Finansów udostępnia dwa środowiska API KSeF — testowe (sandbox) i produkcyjne. Różnica jest kluczowa.
Środowisko testowe (demo)
- Do testów i nauki — bez skutków prawnych
- Faktury nie są prawdziwe
- Możesz wysyłać dowolne dane
- Bezpłatne, bez ograniczeń
- Adres API inny niż produkcyjny
Środowisko produkcyjne
- Prawdziwe faktury z konsekwencjami prawnymi
- Faktura z numerem KSeF jest wiążąca
- Dane muszą być prawdziwe i prawidłowe
- Bezpłatne, ale z odpowiedzialnością
- Oficjalny adres API KSeF
Złota zasada: nigdy nie testuj na produkcji. Każdą nową funkcję, zmianę w generowaniu XML czy aktualizację schematu testuj najpierw w środowisku demo. Faktura wystawiona na produkcji z błędnymi danymi jest prawdziwa — i trzeba ją korygować.
API KSeF a narzędzia do monitoringu i windykacji
API KSeF to nie tylko narzędzie do wystawiania faktur. To źródło danych, które zasila cały ekosystem zarządzania należnościami — od monitoringu płatności po automatyczną windykację.
Jak Paido wykorzystuje API KSeF
Paido korzysta z API KSeF do automatycznego pobierania faktur sprzedażowych. Proces wygląda tak:
- Paido regularnie odpytuje API KSeF o nowe faktury wystawione na Twój NIP (jako sprzedawca)
- Nowe faktury są automatycznie importowane do systemu monitoringu
- System odczytuje termin płatności, kwotę, dane kontrahenta z XML
- Uruchamia sekwencję monitoringową — przypomnienia, wezwania, odsetki
- Aktualizuje dane przy korektach pobranych z KSeF
Dla Ciebie jako użytkownika cały ten proces jest niewidoczny — aktywujesz integrację jednym kliknięciem i system zaczyna działać. Ale "pod spodem" to właśnie API KSeF dostarcza dane, które napędzają monitoring i windykację.
Pro tip: przy wyborze narzędzia do monitoringu lub windykacji sprawdź, jak głęboka jest integracja z API KSeF. Minimalne wymagania: automatyczne pobieranie faktur sprzedażowych, odczyt terminu płatności i kwoty, obsługa korekt. Premium: pobieranie faktur zakupowych, analiza historii kontrahenta, powiadomienia o odrzuconych fakturach.
Bezpieczeństwo API KSeF
API KSeF przetwarza wrażliwe dane finansowe — NIP-y, kwoty, dane kontrahentów. Bezpieczeństwo integracji to nie opcja, to konieczność.
Mechanizmy bezpieczeństwa
- Szyfrowanie transmisji (TLS/SSL) — komunikacja między Twoim systemem a API KSeF jest szyfrowana. Dane nie mogą być przechwycone w trakcie przesyłania.
- Autoryzacja tokenem — każde zapytanie do API musi zawierać ważny token autoryzacyjny. Bez tokena — brak dostępu.
- Podpis kryptograficzny — faktury wysyłane do KSeF mogą być podpisane elektronicznie, co gwarantuje ich integralność (nikt nie zmienił treści po wysłaniu).
- Logi i audyt — KSeF rejestruje każdą operację: kto, kiedy i jaką fakturę wystawił lub pobrał. To ścieżka audytowa na wypadek sporów.
Twoje obowiązki bezpieczeństwa
- Przechowuj tokeny bezpiecznie — nie w kodzie źródłowym, nie w e-mailu, nie w arkuszu. Używaj bezpiecznych magazynów (np. menedżer haseł, vault).
- Odnawiaj tokeny regularnie — wygasły token to zablokowany dostęp. Automatyzuj odnawianie lub ustaw przypomnienia.
- Ograniczaj uprawnienia — nadawaj tokeny tylko osobom i systemom, które ich potrzebują. Stosuj zasadę minimalnych uprawnień.
- Monitoruj aktywność — sprawdzaj, kto i kiedy korzystał z API w imieniu Twojej firmy. Nietypowa aktywność może oznaczać naruszenie bezpieczeństwa.
Uwaga: wyciek tokena autoryzacyjnego KSeF oznacza, że ktoś może wystawiać faktury w imieniu Twojej firmy. Traktuj tokeny jak hasła do konta bankowego — przechowuj bezpiecznie, nie udostępniaj i unieważniaj przy podejrzeniu kompromitacji.
Alternatywy dla bezpośredniej integracji z API
Jeśli nie chcesz (lub nie możesz) budować bezpośredniej integracji z API KSeF, masz kilka alternatyw.
Program księgowy z wbudowaną integracją
Najprostsza opcja — wybierasz program, który obsługuje KSeF "z pudełka". Ty wystawiasz faktury w interfejsie graficznym, program obsługuje API w tle. Szczegółowy przegląd programów znajdziesz w artykule o integracji KSeF z programem księgowym.
Bramka KSeF (middleware)
Usługi pośredniczące, które przyjmują faktury z Twojego systemu (w prostszym formacie — np. CSV, JSON) i formatują je do XML zgodnego z KSeF. To opcja dla firm z niestandardowym oprogramowaniem, które nie chcą budować pełnej integracji.
Aplikacja webowa Ministerstwa Finansów
Darmowe narzędzie do ręcznego wystawiania faktur w KSeF — bez API, bez integracji. Wpisujesz dane w formularz na stronie, system generuje XML. Sprawdza się przy kilku fakturach miesięcznie, ale nie nadaje się do automatyzacji.
Pro tip: dla większości firm z sektora MŚP najlepsza opcja to program księgowy z integracją + narzędzie do monitoringu z integracją. Dwa systemy korzystające z API KSeF w tle — a Ty nie musisz znać ani jednej linijki kodu. Budowanie własnej integracji ma sens wyłącznie wtedy, gdy masz niestandardowe potrzeby i zespół programistyczny.
FAQ — najczęściej zadawane pytania
Czy korzystanie z API KSeF jest płatne?
Nie — API KSeF jest udostępnione bezpłatnie przez Ministerstwo Finansów. Nie ma opłat za wystawianie, pobieranie ani sprawdzanie statusu faktur. Jedyne koszty to Twoje własne — czas programisty, serwer, utrzymanie integracji.
Czy muszę być programistą, żeby zintegrować się z API?
Tak — bezpośrednia integracja z API wymaga umiejętności programistycznych (API REST, XML, autoryzacja tokenami). Jeśli nie jesteś programistą — korzystaj z gotowego programu księgowego z wbudowaną integracją. To bezpieczniejsze i szybsze.
Jakie technologie obsługuje API KSeF?
API KSeF to REST API komunikujące się przez HTTPS. Dane przesyłane są w formacie XML (faktury) i JSON (metadane, odpowiedzi). Możesz zintegrować się z dowolnego języka programowania, który obsługuje HTTP — Python, Java, C#, PHP, JavaScript i inne.
Czy API KSeF ma limity zapytań (rate limiting)?
Ministerstwo Finansów może stosować limity zapytań, żeby chronić system przed przeciążeniem. Szczegóły znajdziesz w aktualnej dokumentacji API. Przy normalnym użytkowaniu (kilkadziesiąt–kilkaset faktur dziennie) limity nie powinny być problemem. Przy masowej wysyłce (tysiące faktur) — używaj wysyłki wsadowej (batch).
Gdzie znajdę dokumentację API KSeF?
Ministerstwo Finansów publikuje dokumentację na oficjalnej stronie KSeF. Znajdziesz tam specyfikację endpointów, schemat FA(2), przykłady zapytań i odpowiedzi oraz instrukcje dotyczące środowiska testowego. Dokumentacja jest aktualizowana przy zmianach schematu.
API KSeF już działa w Paido
Nie musisz budować integracji samodzielnie. Paido korzysta z API KSeF i automatycznie pobiera Twoje faktury do monitoringu. Aktywacja jednym kliknięciem — bez programisty, bez konfiguracji API.
Wypróbuj za darmo