Wysyłanie faktur

Moduł integracji KSeF dla Dolibarr

Link to English Version

Ta strona opisuje wszystko o wysyłaniu faktur do KSeF - od tworzenia faktury po potwierdzenie, wystawianie faktur korygujących, obsługę walut obcych, tryb offline i co otrzymujesz po wysyłce.

Na tej stronie

Tworzenie faktury

Standardowy proces fakturowania

Moduł KSeF współpracuje z fakturami tworzonymi przez standardowy proces fakturowania w Dolibarr. Nie musisz robić niczego specyficznego dla KSeF podczas tworzenia faktury - po prostu twórz ją tak jak zawsze. Najczęstsze sposoby tworzenia faktur:

Od zera - przejdź do Rozliczenia -> Faktury klientów -> Nowa faktura, wybierz klienta, dodaj pozycje

Z zamówienia sprzedaży - otwórz zwalidowane zamówienie i użyj przycisku "Utwórz fakturę". Przenosi to klienta, pozycje i łączy fakturę z zamówieniem

Z wysyłki - utwórz fakturę z ukończonego rekordu wysyłki

Jako faktura cykliczna/szablonowa - skonfiguruj szablon i generuj z niego faktury

Moduł włącza się po utworzeniu faktury. Niezależnie od wybranej metody, dalszy proces KSeF jest taki sam.

Pola specyficzne dla KSeF

Moduł dodaje do faktur kilka dodatkowych pól, które warto sprawdzić przed wysyłką:

Data sprzedaży - pole dodatkowe dodane przez moduł. Domyślnie wypełniane automatycznie na podstawie skonfigurowanego źródła (data powiązanej dostawy/zamówienia lub data faktury - szczegóły w Pierwsze kroki). Możesz je ręcznie nadpisać na dowolnej fakturze przed wysyłką.

Wykluczenie z KSeF - jeśli klient jest wykluczony z wysyłek KSeF, przycisk KSeF nie pojawi się na jego fakturach.

Notatki i pola dodatkowe faktury

Wszystko, co skonfigurowałeś w sekcji "Notatki i pola dodatkowe faktury" w ustawieniach modułu (zobacz Pierwsze kroki), pojawia się na fakturze podczas jej edycji.

Panel pomocniczy na zakładce Notatki: na zakładce Notatki faktury, pod polem tekstowym notatki publicznej, znajduje się panel pomocniczy. Pokazuje on aktualny tryb (Prosty, Klucz:Wartość lub Wyłączony), podział na wpisy wraz z liczbą znaków w każdym z nich oraz listę pól dodatkowych, które zostaną dołączone.

Panel podglądu: zarówno zakładka Notatki, jak i karta faktury, pokazują panel podglądu z dokładną listą tego, co zostanie wysłane do KSeF, pogrupowane według źródła (wpisy z notatki publicznej oraz wpisy z pól dodatkowych). Panel odzwierciedla ostatnio zapisany stan faktury - edytujesz, zapisujesz, panel się aktualizuje.

Przełącznik trybu dla konkretnej faktury: zakładka Notatki zawiera rozwijaną listę "Tryb notatki (ta faktura)", która nadpisuje ustawienie globalne dla pojedynczej faktury. Ustawienie Prosty lub Klucz:Wartość wymusza ten tryb tylko na tej fakturze; skonfigurowane pola dodatkowe są nadal dołączane. Ustawienie Wyłączony pomija całą sekcję notatek w XML tej faktury, łącznie z polami dodatkowymi. Dla każdej innej faktury stosowane jest ustawienie globalne z konfiguracji modułu.

Klucze i wartości są ograniczone do 256 znaków. W trybie Prostym notatka publiczna jest dzielona na numerowane wpisy (Uwagi 1, Uwagi 2, ...) po przekroczeniu limitu; w trybie Klucz:Wartość oraz dla wartości pól dodatkowych wszystko powyżej 256 znaków jest obcinane. Panel podglądu pokazuje finalne wartości, więc obcięcie zauważysz przed wysyłką.

Numer rachunku bankowego na fakturze

Jeśli wystawiasz faktury z płatnością przelewem i chcesz, aby dane rachunku bankowego (IBAN) pojawiły się na fakturze, musisz przypisać rachunek do faktury. Dolibarr może uzupełniać go automatycznie:

1. Wejdź w Banki | Pieniądze i upewnij się, że rachunek ma uzupełniony numer IBAN. SWIFT/BIC i nazwa banku są opcjonalne, ale zalecane.

2. Na karcie kontrahenta ustaw domyślny rachunek bankowy. Będzie automatycznie podpowiadany przy tworzeniu nowych faktur dla tego kontrahenta.

3. Przy tworzeniu faktury z płatnością przelewem sprawdź, czy w polu Domyślne konto bankowe wybrany jest właściwy rachunek.

4. Jeśli rachunek jest przypisany, a metoda płatności to przelew, IBAN zostanie automatycznie dołączony do XML-a KSeF.

Wysyłanie do KSeF

Gdy faktura jest gotowa, na stronie faktury zobaczysz przycisk akcji KSeF. Który przycisk widzisz, zależy od stanu faktury:

Dla faktur w wersji roboczej: Zwaliduj i wyślij

Jeśli faktura jest jeszcze w wersji roboczej, zobaczysz "Zwaliduj i wyślij do KSeF". Waliduje to (finalizuje) fakturę w Dolibarr i natychmiast wysyła ją do KSeF w jednym kroku, ale upewnij się, że faktura jest poprawna przed wykonaniem tej akcji.

Dla zwalidowanych faktur: Wyślij do KSeF

Jeśli faktura jest już zwalidowana, zobaczysz "Wyślij do KSeF". Wysyła to zwalidowaną fakturę bez zmiany jej statusu w Dolibarr. Przycisk dostosowuje się również na podstawie wcześniejszych prób wysyłki:

Brak wcześniejszej wysyłki - standardowy przycisk "Wyślij do KSeF"
Oczekujące - przycisk jest wyłączony ze spinnerem, gdy KSeF wciąż przetwarza
Niepowodzenie lub odrzucenie - pojawia się żółty przycisk "Ponów wysyłkę" (z błędem w dymku) oraz zielony przycisk "Utwórz fakturę offline" jako opcja zapasowa
Offline - pojawia się przycisk "Wyślij online". Jeśli do terminu pozostało mniej niż 8 godzin, wyświetla się odliczanie
Zaakceptowana - brak przycisku wysyłki. Przycisk Modyfikuj jest również wyłączony, aby zapobiec zmianom w prawnie wysłanej fakturze.

Co się dzieje podczas wysyłki

Po kliknięciu przycisku:
1. Moduł buduje fakturę XML FA(3) z danych Dolibarr, uwzględniając wszystkie skonfigurowane pola opcjonalne
2. XML jest podpisywany tokenem lub certyfikatem
3. Podpisany XML jest wysyłany do API KSeF
4. KSeF zwraca numer referencyjny i rozpoczyna przetwarzanie
5. Moduł sprawdza akceptację - zazwyczaj trwa to kilka sekund, ale może zająć więcej w okresach dużego ruchu
Po wysyłce na fakturze pojawia się zakładka KSeF z historią wysyłek.

Wykrywanie faktur z datą wsteczną

Jeśli wysyłasz fakturę z datą sprzed dzisiaj (częste przy tworzeniu faktur wstecznie), moduł wykrywa to i wyświetla okno potwierdzenia. Okno wyjaśnia, że faktura ma datę wsteczną, ile dni jest za bieżącą datą i termin, do którego musi zostać wysłana online.

Możesz anulować lub kontynuować tworzenie faktury offline. Przy "Zwaliduj i wyślij" faktura jest najpierw walidowana, a dopiero potem pojawia się okno o dacie wstecznej.

Ogólnie faktury nie mogą być antydatowane w KSeF i lepiej jest dostosować Datę sprzedaży, wystawiając fakturę z bieżącą datą.

Gdy wysyłka się nie powiedzie

Jeśli wysyłka się nie powiedzie - błąd połączenia, odrzucenie przez KSeF lub timeout - moduł wyświetla okno z informacją o błędzie i trzema opcjami: Zamknij, Spróbuj ponownie lub Utwórz fakturę offline (tryb awaryjny z podpisem certyfikatem). Opcja offline pokazuje szacunkowy termin, do którego faktura musi być ostatecznie wysłana online (choć nie może zagwarantować dokładności we wszystkich możliwych przypadkach).

Przy "Zwaliduj i wyślij" moduł najpierw waliduje fakturę przed próbą wysyłki - więc nawet jeśli wysyłka się nie powiedzie, nie tracisz walidacji. Okno z błędem pojawia się na już zwalidowanej fakturze.

Jeśli certyfikat offline nie jest skonfigurowany i próbujesz utworzyć fakturę offline, moduł wskaże, których elementów brakuje (plik certyfikatu, klucz prywatny lub hasło) z linkiem do strony ustawień.

Statusy faktur

Po wysłaniu faktura otrzymuje status KSeF:

Zaakceptowana - KSeF przypisał numer KSeF do faktury. To końcowy, pomyślny stan. Faktura jest w systemie krajowym i prawnie ważna. Numer KSeF pojawia się na stronie faktury i jest klikalny - prowadzi bezpośrednio do faktury w portalu weryfikacyjnym KSeF.

Oczekująca - wysłana, ale KSeF nie zakończył jeszcze przetwarzania. Zwykle krótko, ale może trwać dłużej w godzinach szczytu. Zaplanowane zadanie sprawdza automatycznie, lub możesz odświeżyć ręcznie.

Timeout - wysyłka została wysłana, ale odpowiedź nie nadeszła na czas. To niekoniecznie oznacza niepowodzenie - KSeF mógł ją zaakceptować. Moduł traktuje timeouty jak oczekujące wysyłki i automatycznie sprawdza wynik. Nie ponawiaj od razu, chyba że potwierdziłeś w portalu KSeF, że faktura nie została odebrana.

Odrzucona / Niepowodzenie - KSeF nie zaakceptował faktury. Szczegóły błędu są w zakładce KSeF. Najczęstsze przyczyny: błędy walidacji XML, zduplikowane numery faktur, problemy z uwierzytelnianiem. Moduł wyświetla żółty przycisk "Ponów wysyłkę" i zielony przycisk "Utwórz fakturę offline" jako opcję zapasową. Wysyłki można ponawiać do 30 razy, zanim zostaną oznaczone jako trwale nieudane.

Offline (Oczekuje na wysyłkę online) - faktura została utworzona, gdy KSeF był niedostępny (zobacz Faktury offline poniżej). Jest przechowywana lokalnie z terminem, do którego musi zostać wysłana online.

Faktury korygujące

Faktury korygujące działają przez standardowy proces not kredytowych w Dolibarr. Jeśli wystawisz notę kredytową do faktury wysłanej do KSeF, moduł automatycznie powiąże korektę z numerem KSeF oryginalnej faktury w XML. Aby utworzyć korektę:

1. Otwórz oryginalną (już wysłaną) fakturę
2. Użyj funkcji Dolibarr "Utwórz notę kredytową"
3. Wypełnij szczegóły korekty
4. Wyślij notę kredytową do KSeF za pomocą tego samego przycisku KSeF

XML korekty zawiera referencję do numeru KSeF oryginalnej faktury, łącząc je w systemie krajowym.

O modyfikowaniu wysłanych faktur: po zaakceptowaniu faktury przez KSeF przycisk Modyfikuj jest wyłączony - wysłana wersja jest prawnie wiążąca. Dla faktur offline, które nie zostały jeszcze wysłane online, moduł wyświetla ostrzeżenie z terminem offline, ale nadal pozwala na modyfikację. Dla nieudanych wysyłek modyfikacja jest dozwolona z informacją. Jeśli musisz zmienić zaakceptowaną fakturę, wystaw korektę.

Faktury walutowe

Jeśli fakturujesz w EUR, USD lub innej walucie obcej, KSeF wymaga kursu wymiany NBP (Narodowy Bank Polski). Moduł obsługuje to automatycznie, ale warto wiedzieć kilka rzeczy.

Polskie prawo podatkowe wymaga stosowania kursu NBP z ostatniego dnia roboczego przed datą faktury. Moduł pobiera go z API NBP na podstawie daty faktury. Na stronie faktury walutowej zobaczysz przycisk do pobrania kursu NBP. Kliknij go, a moduł:

1. Odpyta API NBP o prawidłowy kurs na podstawie daty faktury
2. Zapisze kurs i datę kursu na fakturze
3. Wyświetli oba na stronie faktury

Wysyłka jest zablokowana do momentu pobrania kursu NBP. Przycisk KSeF nie zadziała bez niego - zapobiega to wysyłce z brakującymi danymi kursu, co spowodowałoby odrzucenie. Po pobraniu kursu NBP moduł wyłącza również wbudowany przycisk odświeżania kursu wielowalutowego w Dolibarr na tej fakturze, aby zapobiec przypadkowemu nadpisaniu kursu NBP innym źródłem.

Tryb stosowania kursu - kurs NBP zwykle nieznacznie różni się od kursu użytego przez Dolibarr przy tworzeniu faktury. Ustawienie "Tryb stosowania kursu NBP" (konfigurowane w Pierwsze kroki) kontroluje, która strona jest zachowywana - albo kwoty PLN pozostają i waluta obca jest przeliczana, albo odwrotnie.

Wymagania:
Moduł Wielowalutowość musi być włączony w Dolibarr
Faktura musi mieć ustawioną walutę inną niż PLN
Waluta klienta powinna być skonfigurowana na karcie kontrahenta

Faktury offline

Gdy KSeF jest niedostępny (planowana konserwacja, nieoczekiwana awaria lub po prostu brak internetu), moduł nadal może wystawiać faktury. Zamiast wysyłać fakturę do KSeF od razu, moduł:
1. Generuje XML FA(3) jak zwykle
2. Podpisuje go certyfikatem offline (oddzielnym od tokena/certyfikatu uwierzytelniającego - zobacz Pierwsze kroki)
3. Przechowuje podpisaną fakturę lokalnie
4. Dodaje kod QR II do faktury w celu weryfikacji
5. Ustawia termin, do którego faktura musi zostać wysłana online, gdy KSeF będzie ponownie dostępny

Faktura otrzymuje status "Offline" i może być używana natychmiast - jest prawnie ważna jeszcze przed dotarciem do KSeF, ponieważ jest podpisana certyfikatem offline.

Wysyłanie faktur offline do KSeF

Gdy KSeF wraca do działania, faktury offline muszą zostać wysłane. Możesz to zrobić ręcznie, otwierając fakturę i klikając "Wyślij online", lub zaplanowane zadanie obsłuży to automatycznie (zobacz Automatyzacja i dodatkowe funkcje).

Przycisk "Wyślij online" wyświetla odliczanie, gdy do terminu pozostało mniej niż 8 godzin. Jeśli termin minął, przycisk zostaje zastąpiony czerwonym wskaźnikiem "Termin minął" - w tym momencie musisz utworzyć nową fakturę lub korektę techniczną.

Wysyłka używa oryginalnego podpisanego XML, zachowując hash. Moduł nie regeneruje ani nie zmienia znacznika czasu XML, co złamałoby podpis.

Wymagania dla faktur offline:
Certyfikat podpisu offline musi być skonfigurowany w ustawieniach modułu (oddzielny od certyfikatu uwierzytelniającego)
Certyfikat offline musi być ważny (sprawdź datę ważności na stronie O module)

Terminy wysyłki faktur offline są różne. Moduł domyślnie oblicza następny dzień roboczy jako termin wysyłki, ale faktyczny termin zależy od rodzaju awarii (planowana konserwacja, zwykła awaria lub problem po stronie użytkownika). Moduł obsługuje to na podstawie dostępnych informacji, ale zawsze sprawdzaj oficjalne wytyczne Ministerstwa Finansów na wszelki wypadek.

Po zaakceptowaniu

Po zaakceptowaniu faktury przez KSeF staje się dostępnych kilka rzeczy:

Numer KSeF - faktura otrzymuje unikalny numer KSeF (np. 1234567890-20260330-ABCDEF123456-78). Pojawia się na stronie faktury i jest klikalny - otwiera fakturę w portalu weryfikacyjnym KSeF.

PDF w stylu KSeF - PDF odpowiadający wizualnie fakturom wyświetlanym w aplikacji KSeF. Jest generowany automatycznie po pomyślnej wysyłce lub utworzeniu offline, więc zazwyczaj nie musisz nic robić. Przycisk "Generuj PDF KSeF" na stronie faktury pozwala go wygenerować ponownie w razie potrzeby. PDF używa logo firmy (ze Strona główna → Ustawienia → Firma/Organizacja) i respektuje ustawienie wysokości logo z Ustawienia → PDF. Zawiera odpowiednie kody QR: standardowy QR weryfikacyjny dla faktur online lub podwójne kody QR (OFFLINE + CERTYFIKAT) dla faktur offline.

Kody QR na standardowych PDF-ach - jeśli masz włączoną opcję "Dodaj kod QR do PDF" w ustawieniach modułu, Twoje zwykłe PDF-y faktur Dolibarr będą również zawierać kod QR weryfikacyjny KSeF i numer KSeF po zaakceptowaniu. Twoje standardowe faktury do druku automatycznie pokazują informacje weryfikacyjne KSeF bez potrzeby osobnego PDF-a w stylu KSeF.

Pobieranie XML i UPO - z zakładki KSeF na dowolnej wysłanej fakturze możesz pobrać:
- Wysłany XML - faktyczny XML FA(3), który został wysłany do KSeF
- UPO (Urzędowe Poświadczenie Odbioru) - oficjalne potwierdzenie przyjęcia z KSeF

Wykluczenia klientów

Niektórzy klienci nie powinni mieć faktur wysyłanych do KSeF - klienci B2C bez NIP-u i inne przypadki. Możesz wykluczyć klientów na dwa sposoby:

Z ustawień modułu - dodaj klientów do listy wykluczeń na stronie konfiguracji KSeF

Z karty kontrahenta - użyj pola wykluczenia z KSeF bezpośrednio na rekordzie klienta

Gdy klient jest wykluczony, przycisk KSeF po prostu nie pojawia się na jego fakturach. Faktury są tworzone i zarządzane normalnie w Dolibarr - po prostu pomijają krok KSeF.

Faktury zaliczkowe

Moduł obsługuje faktury zaliczkowe, traktując je jako faktury depozytowe w Dolibarr. Wysyłane są do KSeF tak samo jak standardowe faktury - generator XML FA(3) uwzględnia odpowiednie pola i znaczniki typu zaliczkowego.

Sprawdzanie statusu wysyłki

Trzy miejsca do monitorowania wysyłek KSeF:

Zakładka KSeF na poszczególnych fakturach - każda wysłana faktura ma zakładkę KSeF z pełną historią wysyłek - każda próba ze znacznikiem czasu, statusem, środowiskiem (Test/Demo/Produkcja), numerem KSeF, liczbą prób i szczegółami błędów. Możesz też pobrać wysłany XML i UPO bezpośrednio z tej zakładki.

Status wysyłek - pokazuje historię wszystkich wysłanych faktur. Tu również możesz pobrać wysłany XML i UPO.

Strona KSeF (kliknij nagłówek KSeF modułu) - pokazuje ostatnie wysyłki ze wszystkich faktur, zarówno przychodzących, jak i wychodzących.

Wskazówki i częste problemy

2026 to rok przejściowy. Kary za niezgodność z KSeF jeszcze nie obowiązują, więc to jest czas na testy, oswojenie się z systemem i rozwiązanie ewentualnych problemów z procesem.

Testuj przed przejściem na produkcję! Wyślij kilka faktur w środowisku Test lub Demo i sprawdź, czy XML, PDF w stylu KSeF i kody QR wyglądają poprawnie, zanim przełączysz się na Produkcję.

Sprawdź zakładkę KSeF po wysyłce, jeśli numer KSeF i status "Zaakceptowana" się nie pojawiają - tam znajdziesz szczegóły.

Faktury korygujące lub usuwanie i ponowne wysyłanie faktur w test/demo. Numery faktur utrzymują się między sesjami w środowiskach test i demo po stronie KSeF. Jeśli otrzymasz Błąd 440 (zduplikowany numer faktury), ten numer był już użyty w poprzedniej sesji. Zmień go i spróbuj ponownie. Usuwanie faktur na produkcji po wysyłce nie jest dobrą praktyką, więc raczej się to tutaj nie zdarzy.