Weryfikacja techniczna integracji z KSeF
Weryfikacja techniczna to szczegółowa kontrola, czy Twoja integracja z KSeF spełnia wszystkie techniczne wymagania. Sprawdzasz 4 kluczowe obszary: zgodność XML ze schematem FA(3), prawidłowe otrzymywanie UPO, poprawność formatowania numerów KSeF, i działanie kodów QR. Te testy są techniczne ale krytyczne - błędy w strukturze danych mogą prowadzić do odrzucenia faktur przez KSeF lub problemów z ich weryfikacją przez kontrahentów.
Kroki do wykonania
1. Weryfikacja 1: Zgodność XML ze schematem FA(3)
Wygeneruj przykładową fakturę w swoim systemie i wyeksportuj ją jako plik XML. Następnie użyj walidatora XML do sprawdzenia zgodności ze schematem FA(3) v2.0. Możesz użyć:
- walidatora online Ministerstwa Finansów na stronie KSeF
- narzędzi XML jak Oxygen XML Editor
- bibliotek walidacyjnych w swoim języku programowania (np. xmllint, lxml)
Walidator powinien potwierdzić 0 błędów. Typowe błędy to: brakujące wymagane pola, nieprawidłowe formaty dat (wymagany ISO 8601: YYYY-MM-DD), błędne kody walut (ISO 4217), nieprawidłowe numery VAT.
2. Weryfikacja 2: Otrzymywanie UPO po wysyłce
Wystaw kilka faktur testowych (w środowisku demo) i sprawdź, czy system automatycznie otrzymuje UPO (Urzędowe Poświadczenie Odbioru) dla każdej faktury. UPO to dokument XML z podpisem elektronicznym Ministerstwa Finansów potwierdzający przyjęcie faktury. Sprawdź:
- Czy UPO jest pobierane automatycznie czy musisz je ręcznie ściągać?
- Gdzie system zapisuje UPO?
- Czy UPO zawiera podpis kwalifikowany?
- Czy możesz zweryfikować podpis (użyj narzędzia do weryfikacji podpisu XML)? UPO jest dowodem wystawienia faktury - MUSISZ je archiwizować przez 10 lat!
3. Weryfikacja 3: Poprawność numerów KSeF
Sprawdź format numerów KSeF przypisanych do faktur. Prawidłowy numer KSeF ma format: NNN-NNNNNNNNNN-NNNNNNNNNN-NN (cyfry rozdzielone kreskami). Przykład: 123-4567890123-4567890123-45. Zweryfikuj:
- Czy numer ma dokładnie 3 segmenty oddzielone kreskami?
- Czy pierwszy segment ma 3 cyfry?
- Czy drugi i trzeci segment mają po 10 cyfr?
- Czy czwarty segment ma 2 cyfry?
- Czy numer jest unikalny dla każdej faktury? Napisz prosty test automatyczny, który waliduje format każdego otrzymanego numeru KSeF.
4. Weryfikacja 4: Działanie kodów QR - kod weryfikujący
Wygeneruj wizualizację PDF faktury (zarówno online jak i offline). Na każdej fakturze MUSI być kod QR weryfikujący. Użyj aplikacji do skanowania QR (aparat telefonu wystarczy) i zeskanuj kod. Powinien Cię przekierować na stronę weryfikacji KSeF (https://ksef.mf.gov.pl/web/weryfikacja). Na stronie weryfikacji powinieneś zobaczyć: numer KSeF, datę wystawienia, NIP sprzedawcy, kwotę faktury, status 'Zweryfikowana'. Jeśli kod QR nie działa lub dane się nie zgadzają - to POWAŻNY PROBLEM, faktura nie będzie mogła być zweryfikowana przez kontrahentów!
5. Weryfikacja 5: Działanie kodów QR - kod certyfikatu (offline)
DLA FAKTUR OFFLINE: Wygeneruj fakturę w trybie offline. Musi mieć DWA kody QR: weryfikujący (sprawdzony w kroku 4) i certyfikatu. Zeskanuj kod QR certyfikatu. Powinien wyświetlić informacje o certyfikacie typu 2 użytym do podpisania: numer seryjny certyfikatu, datę ważności (od-do), NIP wystawcy, status certyfikatu (aktywny/nieaktywny). To pozwala kontrahentowi zweryfikować autentyczność faktury offline PRZED jej dosłaniem do KSeF. Sprawdź:
- Czy dane certyfikatu się zgadzają?
- Czy certyfikat jest aktywny?
- Czy NIP w certyfikacie = NIP wystawcy na fakturze?
6. Weryfikacja 6: Automatyzacja testów technicznych
Stwórz zestaw automatycznych testów, które będziesz uruchamiać po każdej zmianie w systemie:
- Test walidacji XML - skrypt, który generuje fakturę i waliduje ją wobec schematu FA(3)
- Test formatu numeru KSeF - regex sprawdzający format
- Test obecności UPO - czy system ma UPO dla każdej wysłanej faktury
- Test kodów QR - można użyć biblioteki do generowania i dekodowania QR (np. qrcode, zxing)
Automatyzacja pozwoli Ci wykrywać regresje po aktualizacjach systemu.
7. Weryfikacja 7: Test końcowy - faktura od A do Z
Test integracyjny końcowy:
- Wygeneruj fakturę w systemie
- Sprawdź poprawność XML (walidator)
- Wyślij do KSeF demo
- Sprawdź numer KSeF (format)
- Pobierz UPO (zweryfikuj podpis)
- Wygeneruj PDF
- Zeskanuj kod QR weryfikujący (sprawdź dane na stronie weryfikacji)
- Jeśli offline: zeskanuj kod QR certyfikatu (sprawdź dane certyfikatu).
Cały proces powinien przejść bez błędów. Powtórz test dla faktury online i offline. Jeśli oba scenariusze działają - Twoja integracja techniczna jest poprawna!