KSeF i ERP
Import faktur z KSeF w Comarch ERP XL: jak powstaje FZ i czego brakuje
Krótka odpowiedź
Comarch ERP XL importuje faktury zakupowe z KSeF na osobną listę i na ich podstawie generuje FZ, rozpoznając kontrahenta, towary, kurs i zamówienie zakupu według parametrów w Konfiguracja/KSeF/Import. Ręczna praca zostaje przy przypisaniu MPK i akceptacji, sprawdzeniu rachunku na białej liście, części korekt oraz fakturach bez numeru zamówienia.
KSeF obowiązuje: od 1 lutego 2026 r. każda firma odbiera w nim faktury, a od 1 kwietnia 2026 r. wystawia je prawie każdy podatnik. Do końca 2026 r. część faktur wciąż przychodzi poza KSeF (najmniejsi podatnicy, kasy rejestrujące, dostawcy zagraniczni). Więcej w artykule faktury spoza KSeF. Dla firm na Comarch ERP XL to dobra wiadomość, bo większość faktur zakupowych przychodzi jako ustrukturyzowany XML i teoretycznie nie trzeba ich przepisywać. W praktyce między „faktura jest w KSeF” a „FZ jest w XL, zaakceptowana, powiązana z zamówieniem i przyjęciem na magazyn” zostaje sporo ręcznej pracy.
Ten poradnik jest dla księgowych, kontrolerów i działów IT, które chcą tę pracę ograniczyć. Opisujemy, jak XL importuje faktury i tworzy z nich FZ, które parametry importu warto ustawić, czego standard nie robi i na co uważać przy mapowaniu danych, zamówieniach, korektach, magazynie i JPK_VAT.
Co Comarch ERP XL robi z KSeF „w standardzie”
Krótko: XL pobiera faktury zakupowe z KSeF na osobną listę i pozwala na ich podstawie wygenerować FZ. Przypisanie MPK, akceptację i kontrolę rachunku przed zapłatą trzeba zorganizować osobno.
Lista „Faktury zakupu z KSeF” i tryby importu
Według dokumentacji Comarch (XL186 – KSeF – import, wersja 2026.0) pobrane faktury trafiają na listę „Faktury zakupu z KSeF”, dostępną w modułach Sprzedaż, Księgowość i Zamówienia. Import ma trzy tryby:
- Nowe: faktury, które pojawiły się od ostatniego importu,
- Za okres: faktury z zakresu dat wskazanego przez operatora,
- Numer KSeF: jedna konkretna faktura.
Import można zawęzić do wybranych dostawców. Faktury, które są już na liście, system przy kolejnym imporcie pomija, a przed wygenerowaniem FZ sprawdza, czy na podstawie danej faktury nie utworzono już dokumentu (XL186, wersja 2026.0).
Trzeba przy tym pamiętać, że według producenta rekord na tej liście nie jest jeszcze dokumentem zakupu, tylko zapisem źródłowym. FZ powstaje dopiero wtedy, gdy ktoś ją na jego podstawie wygeneruje.
Uprawnienia operatora i uwierzytelnienie
Operator potrzebuje w XL prawa do pobierania faktur z KSeF, a w samym KSeF uwierzytelnia się certyfikatem albo tokenem, na tych samych zasadach co przy wysyłce. W sieci wciąż można przeczytać, że tokeny przestaną działać z końcem 2026 r. Ministerstwo Finansów zmieniło jednak plan i tokeny zostaną utrzymane bezterminowo. Nie trzeba więc w pośpiechu przepinać integracji na certyfikaty, choć warto wiedzieć, czym się różnią: token ma przypisane uprawnienia z chwili wygenerowania, certyfikat jest tylko środkiem uwierzytelnienia.
Konfiguracja importu: parametry, które warto ustawić
Większość zachowań przy tworzeniu FZ ustawia się w System → Konfiguracja → KSeF → Import. Według XL186 najważniejsze są:
- Kurs na tworzonym dokumencie: „Z importowanej faktury” (pole
KursWaluty) albo „Bieżący”, plus opcja „Wylicz, jeśli nie został podany”, - Podczas tworzenia dokumentu dodawaj → Karty kontrahentów / Karty towarów wraz z opcją „Z udziałem Operatora”: decyduje, czy nieznany sprzedawca lub towar dostaje kartę w tle, czy operator widzi okno do decyzji,
- Podczas tworzenia dokumentu dodawaj → Rachunki bankowe kontrahentów: XL dopisuje do karty kontrahenta pierwszy rachunek z e-faktury, jeśli go tam nie było,
- Domyślny typ tworzonego dokumentu: dla dokumentu handlowego FZ, (S)FZ albo (s)FZ, osobno dla faktur z informacją o WZ dostawcy i bez niej, a dla dokumentu VAT (A)FZ z elementami albo bez,
- Pomijaj faktury zaimportowane poza systemem: czy import ma pomijać faktury, które zarejestrowano w XL ręcznie z numerem KSeF albo pobrano innym systemem, np. BPM,
- sprawdzanie zgodności pliku XML ze schematem e-faktury przed wygenerowaniem FZ.
Na liście faktur KSeF każdy rekord ma też Właściciela, czyli centrum, które ma zarejestrować dokument. XL ustala go według centrum operatora, który robił import, a zmienić go można także seryjnie.
Czego standardowy import nie zrobi za Ciebie
- Kategoryzacja. XL pozwala oznaczyć fakturę jako dokument handlowy albo dokument VAT (koszt A-vista) i sam dobiera typ dokumentu, ale nie przypisze MPK, rodzaju kosztu ani projektu według reguł, ani nie rozdzieli kosztów od usług.
- Akceptacja. Nie ma w nim obiegu decyzji z zastępstwami, przypomnieniami i historią.
- Kontrola kontrahenta. Kontrahent jest rozpoznawany po NIP. Weryfikacja w GUS i porównanie rachunku z białą listą VAT to osobne czynności.
- Część korekt. Korektę FZ towarowej (stan dokumentacji 2026.0) rejestruje się ręcznie i spina z fakturą z KSeF. Szczegóły niżej.
- Odpowiedzialność. Jeśli import nie jest zautomatyzowany (np. procesem w BPM lub przez API), ktoś musi go regularnie uruchamiać i pilnować, by faktura nie czekała bez właściciela.
Trzy drogi automatyzacji: porównanie
Krótko: gdy fakturę obsługuje jedna–dwie osoby bez akceptacji poza księgowością, wystarczy import w XL. BPM dokłada obieg w ekosystemie Comarch. Zewnętrzny panel ma sens, gdy decyzje rozkładają się na wiele osób i procesów.
Import w XL i ręczna obsługa
Operator importuje faktury, sam ustala ścieżkę i dokumenty, a akceptacja odbywa się mailowo albo na wydruku. To najtańszy start, ale wiedza o tym, kto co zatwierdził, zostaje w skrzynkach pocztowych.
Comarch BPM (dawniej DMS)
Baza wiedzy Comarch BPM opisuje przykłady przenoszenia danych z KSeF do dokumentów XL: tabeli VAT, elementów faktury kosztowej i faktury zakupu, a także akceptację faktury kosztowej. To naturalny wybór, jeśli firma już używa BPM. Trzeba się jednak liczyć z tym, że obiegi i przenoszenie danych konfiguruje wdrożeniowiec.
Zewnętrzny panel zintegrowany z XL
Aplikacja obok ERP, połączona z XL przez API lub bazę danych. Ma sens, gdy faktury idą kilkoma ścieżkami (towar, koszt, usługa), akceptujący pracują poza biurem, część faktur wciąż przychodzi pocztą, a zespół chce widzieć faktury obok CRM i korespondencji.
| Kryterium | Import w XL + ręcznie | Comarch BPM | Panel zintegrowany z XL |
|---|---|---|---|
| Kto akceptuje | ustalenia zespołu, poza systemem | proces zdefiniowany w BPM | osoba przypisana do MPK i zastępca |
| Gdzie i jak | XL, e-mail, papier | w BPM, według konfiguracji | panel na komputerze i telefonie, decyzja z e-maila |
| Dopasowanie do ZZ | XL wskazuje ZZ po numerze zamówienia z e-faktury. Gdy go brak, operator spina ręcznie | według konfiguracji procesu | automatyczne, z oznaczeniem pozycji nieznanych |
| Faktury spoza KSeF | ręcznie | według konfiguracji (np. skany) | z poczty, z OCR i łączeniem z wersją z KSeF |
| Historia zmian | częściowo w XL | w procesie BPM | pełna historia dokumentu i decyzji |
Wybór zależy więc przede wszystkim od tego, ile osób uczestniczy w decyzjach i jak wiele procesów chcesz spiąć w jednym miejscu.
Mapowanie danych z XML KSeF (FA(3)) do dokumentu w XL
Krótko: każda faktura FA(3) ma pozycje, sumy VAT, dane sprzedawcy i płatności. Trzeba zdecydować, kiedy FZ dostaje pełne pozycje towarowe, a kiedy wystarczy tabela VAT, oraz jak rozpoznać kontrahenta.
Pozycje czy tabela VAT
XL czyta z e-faktury GTIN, potem Indeks, a na końcu nazwę (P_7) i szuka po nich towaru kolejno po kodzie u dostawcy, EAN i kodzie własnym (przy nazwie także po nazwie u dostawcy i nazwie własnej). Nierozpoznaną pozycję, zależnie od parametrów w Konfiguracja/KSeF/Import, zostawia jako A-vista, zakłada dla niej kartę w tle albo pokazuje operatorowi okno do decyzji. Procedurę identyfikacji partner wdrożeniowy może zmienić. Faktury kosztowe mogą powstać jako (A)FZ bez elementów, tylko z tabelą VAT.
Reguła, która sprawdza się w praktyce:
- towar handlowy i magazyn: pełne pozycje, bo od nich zależą stany, ceny zakupu i dopasowanie do ZZ,
- koszt i usługa: tabela VAT z MPK, rodzajem kosztu i ewentualnie projektem,
- mieszane faktury: decyzja według przeważającej treści i polityki księgowej, zapisana w regułach, a nie w głowie operatora.
Kontrahent: NIP, GUS i biała lista VAT
XL wiąże fakturę z kartą kontrahenta po NIP sprzedawcy. Przed akceptacją sprawdź dodatkowo:
- czy dane firmy zgadzają się z rejestrem GUS (REGON),
- czy firma ma status czynnego podatnika VAT,
- czy rachunek z faktury jest na białej liście VAT. Łatwo go pominąć, a właśnie on chroni przed fałszywymi zmianami rachunku.
Uwaga: XL może sam dopisać do karty kontrahenta rachunek z e-faktury (parametr w Konfiguracja/KSeF/Import). Bez sprawdzenia na białej liście zmieniony rachunek trafi do kartoteki.
Waluty i korekty
Waluta FZ wynika z pola KodWaluty. Kurs na dokumencie ustala parametr Konfiguracja/KSeF/Import → Kurs na tworzonym dokumencie: z faktury (pole KursWaluty) albo bieżący. Kwotę VAT w PLN przyjmij z faktury, a kurs do kosztu i rozrachunku ustal według polityki księgowej.
XL generuje korekty z faktur KOR/KOR_ROZ/KOR_ZAL tylko do części dokumentów: faktury zaliczkowej (KZL) i kosztowej (A)FZ bez elementów ((A)FZK). Korektę FZ towarowej (stan dokumentacji 2026.0) rejestruje się ręcznie i spina z fakturą z KSeF. Niezależnie od narzędzia korekta musi być powiązana z fakturą pierwotną, a akceptujący powinien widzieć wartości przed korektą i po niej. Inaczej zatwierdza liczbę bez kontekstu.
Dopasowanie faktury do zamówienia zakupu (ZZ)
Krótko: dopasowuj od kryterium najpewniejszego do najsłabszego. Pozycji, których nie da się dopasować, nie zgaduj, tylko oznacz je i oddaj człowiekowi.
Kolejność kryteriów i nieznane produkty
- Numer zamówienia z XML. XL odczytuje z e-faktury pola
NrZamowieniai szuka ZZ tego dostawcy po numerze obcym, a potem systemowym. Przy znalezionym zamówieniu proponuje dokumenty PM/AWD, z których tworzy FZ. Gdy dostawca nie podał numeru, FZ trzeba ręcznie spiąć z ZZ. - EAN (GTIN) pozycji (od tego miejsca to reguły poza standardem XL, np. w BPM albo w zewnętrznym panelu).
- Indeks dostawcy, czyli kod towaru u kontrahenta.
- Nazwa produktu, jako ostatnia deska ratunku, z podglądem dla człowieka.
Typowe błędy: dopasowanie po samej nazwie bez kontroli ilości, automatyczne zakładanie kart dla każdej nieznanej pozycji (w kartotece szybko robi się bałagan) oraz brak reakcji na różnice ilości między fakturą a zamówieniem. Jeśli różnic między PM a fakturą z KSeF nie da się odwzorować jednym FZ, dokumentacja XL zaleca kilka dokumentów: jeden spina się z fakturą z KSeF, a na pozostałych zaznacza się „Poza systemem” i ręcznie wpisuje ten sam numer KSeF.
Magazyn: awizo dostawy (AWD) przed fakturą zakupu (FZ)
Krótko: gdy towar fizycznie przechodzi przez magazyn, najpierw awizo, a FZ dopiero po przyjęciu. Przy kosztach i usługach FZ może powstać od razu.
Kiedy AWD jest potrzebne
Awizo dostawy powiązane z ZZ daje magazynowi listę tego, co ma przyjechać. FZ tworzona po przyjęciu odpowiada temu, co faktycznie dotarło, a nie temu, co zafakturowano. Gdy faktura dotyczy prenumeraty, serwisu czy energii, awizacja nie ma sensu i tylko wydłuża obieg. Dlatego ścieżka (towar, koszt, usługa) powinna od razu przesądzać, czy AWD jest potrzebne.
Numer KSeF w FZ i w JPK_VAT
Krótko: od rozliczenia za luty 2026 r. przy każdej fakturze w ewidencji zakupu JPK_VAT podaje się numer KSeF albo oznaczenie OFF, BFK lub DI. Numer musi więc być przy dokumencie w ERP, zanim powstanie plik.
Kiedy zamiast numeru stosuje się OFF, BFK albo DI, opisuje zestawienie Ministerstwa Finansów (wersja 1.1). Omawiamy je w artykule o fakturach spoza KSeF: jak oznaczyć w JPK_VAT fakturę zakupu spoza KSeF. Zmiany struktury JPK_V7M(3) i JPK_V7K(3) opisuje broszura MF.
Numer, link i data nadania przy FZ
W standardzie XL FZ jest spinana z rekordem faktury z KSeF. Jeśli FZ powstaje inną drogą, na przykład ręcznie albo z innego systemu, numer KSeF trzeba do niej dopisać. Lista kontrolna przed zamknięciem miesiąca:
- czy każda FZ z faktury z KSeF ma numer KSeF,
- czy faktury spoza KSeF mają właściwe oznaczenie (BFK, DI),
- czy faktury oznaczone OFF lub DI są śledzone do nadania numeru KSeF (przy OFF MF nie wymaga korekty ewidencji po jego nadaniu),
- czy przy fakturze rozbitej na kilka dokumentów jeden jest spięty z fakturą z KSeF, a pozostałe mają zaznaczone „Poza systemem” i wpisany ten sam numer KSeF.
Odporność na awarie: kolejka ponowień zamiast zgubionych dokumentów
Krótko: integracja nie może zakładać, że ERP zawsze odpowiada. Każda operacja zapisu powinna trafiać do kolejki z ponowieniami i jasnym statusem błędu.
Serwer ERP bywa niedostępny: restart, aktualizacja, przerwa w VPN. Jeśli integracja wtedy po prostu zgłasza błąd, ktoś musi zauważyć, że FZ nie powstała. W gorszym scenariuszu ktoś klika ponownie i dokument powstaje dwa razy. Dobre rozwiązanie ponawia operację automatycznie z rosnącym odstępem, a po kilku próbach oznacza ją jako nieudaną, do ręcznego ponowienia, bez utraty dokumentu i z kontrolą duplikatów. Przed ponowieniem sprawdza, czy dokument nie powstał już w ERP, bo przy przekroczeniu czasu odpowiedzi zapis mógł się udać, choć potwierdzenie nie dotarło.
Jak robimy to w Panelu firmowym
Nasz Panel firmowy, wdrożony w firmie z branży hurtowej, domyka luki opisane wyżej: sam pobiera faktury z KSeF, kieruje je do akceptacji według MPK i dopasowuje pozycje do ZZ, a w XL tworzy AWD i FZ z numerem KSeF. Jak to wygląda krok po kroku, opisujemy na stronie integracja KSeF z Comarch ERP XL.
Obiegowi akceptacji według MPK poświęcamy osobny tekst: obieg faktur kosztowych z KSeF. O fakturach, które wciąż przychodzą pocztą, piszemy w artykule faktury spoza KSeF: zagraniczne, offline i OCR. Pełna lista systemów, z którymi pracujemy, jest na stronie technologie i integracje.
Jak zaplanować wdrożenie
Krótko: zacznij od warsztatu i reguł, potem mapowanie, a na końcu pilotaż na jednym oddziale. Kompleksowe wdrożenie KSeF z obiegiem dokumentów i CRM dla Comarch ERP trwa u nas typowo do 3 miesięcy od rozpoczęcia projektu, zależnie od zakresu.
- Warsztat. Spisz ścieżki faktur, MPK, akceptujących i zastępców, rodzaje kosztów, magazyny i oddziały. Ustal, kto podejmuje decyzję przy pozycji niedopasowanej do zamówienia.
- Mapowanie. Zdecyduj, które faktury dostają pozycje, a które tabelę VAT, jak rozpoznajesz towary i jakie serie dokumentów stosujesz w XL. Sprawdź na fakturach z ostatnich miesięcy, ilu dostawców podaje numer zamówienia i EAN.
- Pilotaż. Jeden oddział lub jedna ścieżka (np. koszty), równolegle ze starym procesem. Porównuj FZ z obu dróg, zanim wyłączysz ręczną obsługę.
- Rozszerzanie. Kolejne ścieżki, magazyn z AWD, faktury z poczty, raporty kosztów.
Masz pytania o swój przypadek? Napisz do nas. Zaczynamy od bezpłatnej konsultacji.
Pytania i odpowiedzi
Czy Comarch ERP XL sam pobiera faktury zakupowe z KSeF?
Tak, XL ma listę „Faktury zakupu z KSeF”, na którą operator z prawem pobierania faktur importuje dokumenty w trybie „Nowe”, za wybrany okres albo po numerze KSeF, uwierzytelniając się certyfikatem lub tokenem. Pobrana faktura nie jest jeszcze dokumentem zakupu. FZ trzeba na jej podstawie utworzyć.
Czym różni się faktura pobrana z KSeF od faktury zakupu (FZ) w Comarch ERP XL?
Faktura z KSeF to zapis źródłowy z plikiem XML od sprzedawcy. FZ to dokument handlowy w XL z towarami lub tabelą VAT, kontrahentem, płatnością i powiązaniami z zamówieniem i magazynem. Dopiero FZ trafia do rejestru VAT i dalej do księgowości.
Jak dopasować fakturę z KSeF do zamówienia zakupu (ZZ) w Comarch ERP XL?
XL odczytuje z e-faktury pola NrZamowienia i szuka ZZ tego dostawcy po numerze obcym, a potem systemowym. Przy znalezionym zamówieniu proponuje dokumenty PM/AWD, z których tworzy FZ. Gdy dostawca nie podał numeru, FZ trzeba ręcznie spiąć z ZZ. Dopasowanie pozycji po EAN, indeksie i nazwie z kontrolą ilości wymaga reguł poza standardem, np. w BPM albo w zewnętrznym panelu.
Skąd w ERP bierze się numer KSeF potrzebny w JPK_VAT po stronie zakupów?
Z faktury pobranej z KSeF. Numer musi być powiązany z dokumentem zakupu w ERP, bo od rozliczenia za luty 2026 r. ewidencja zakupu w JPK_VAT zawiera przy fakturze numer KSeF albo oznaczenie OFF, BFK lub DI. Jeśli FZ powstaje bez powiązania z fakturą z KSeF, numer trzeba uzupełniać ręcznie.
Co się dzieje z fakturą, gdy połączenie z serwerem ERP chwilowo nie działa?
W dobrze zbudowanej integracji operacja trafia do kolejki i jest automatycznie ponawiana, a po kilku nieudanych próbach czeka oznaczona jako nieudana na ręczne ponowienie. Przed ponowieniem integracja sprawdza, czy dokument nie został już utworzony, żeby nie powstał podwójnie.
Źródła
- XL186 – Krajowy System e-Faktur (KSeF) – import — Comarch ERP XL, pomoc.comarch.pl
- Współpraca Comarch BPM z KSeF — przykłady dla Comarch ERP XL — Baza wiedzy Comarch BPM
- Etapy wdrożenia KSeF — Ministerstwo Finansów, ksef.podatki.gov.pl
- Certyfikaty KSeF (tokeny utrzymane bezterminowo) — Ministerstwo Finansów, ksef.podatki.gov.pl
- JPK_VAT z deklaracją — stosowanie znaczników NrKSeF, OFF, BFK, DI, wersja 1.1 — Ministerstwo Finansów
- Broszura JPK_VAT z deklaracją od 1 lutego 2026 r. — podatki.gov.pl
Stan prawny i techniczny na dzień 9 października 2026. Artykuł ma charakter informacyjny i nie jest poradą prawną ani podatkową.