Integracja z KSeF

    Jak połączyć swój system fakturowy z KSeF

    KSeF przyjmuje faktury wyłącznie jako pliki XML zgodne ze schematem FA(3). Jeżeli Twoje faktury powstają gdzie indziej — w systemie handlowym, rozliczeniowym, sklepie albo w arkuszu — pytanie brzmi, co ma je do tego schematu doprowadzić.

    Poniżej trzy realne drogi, z uczciwym wskazaniem, kiedy każda z nich jest właściwa. Tylko jedna z nich to my.

    Trzy drogi do KSeF

    Bezpośrednio przez API KSeF

    Twój system łączy się z KSeF sam: uwierzytelnia się tokenem albo certyfikatem, buduje XML w schemacie FA(3), otwiera sesję, wysyła i odbiera UPO. Całość po stronie dostawcy oprogramowania albo własnego zespołu.

    Kiedy pasuje: Ma sens, gdy system, w którym wystawiasz faktury, już to oferuje albo masz kogo o to poprosić. Najmniej pracy na co dzień, najwięcej na starcie.

    Przez plik z eksportu

    System, w którym powstają faktury, zostaje bez zmian. Eksportujesz z niego zestawienie do CSV, Excela albo XML, a osobne narzędzie zamienia je na FA(3), wysyła sesjami wsadowymi i pobiera UPO. Tą drogą działa FakturaFlow.

    Kiedy pasuje: Ma sens, gdy system nie umie wysyłać do KSeF i nie zanosi się, żeby umiał, a faktur jest za dużo na ręczne przepisywanie.

    Ręcznie w Aplikacji Podatnika KSeF

    Bezpłatna aplikacja Ministerstwa Finansów. Fakturę wprowadza się w formularzu albo wgrywa pojedynczy plik XML. Bez integracji z czymkolwiek.

    Kiedy pasuje: Ma sens przy kilku albo kilkunastu fakturach miesięcznie. Nie ma powodu płacić za narzędzie, którego się nie potrzebuje.

    Kolumny, które rozpoznajemy

    Plik powinien mieć wiersz nagłówka i jedną fakturę na wiersz. Nagłówki dopasowujemy po nazwie, więc w większości przypadków zestawienie wgrywa się bez przerabiania. Wielkość liter nie ma znaczenia, a przy większości nazw rozpoznajemy też zapis bez polskich znaków.

    Kolumna „Potrzebna w pliku” odpowiada na jedno pytanie: czy musisz mieć taką kolumnę w swoim zestawieniu. To nie to samo, co pola wymagane na samej fakturze — danych sprzedawcy nie musisz podawać, bo bierzemy je z ustawień Twojej firmy. Jeżeli w pliku nie ma kwoty brutto, ale jest netto i kolumna ze stawką nazwana dokładnie VAT %, brutto wyliczymy.

    PolePotrzebna w plikuRozpoznawane nagłówki
    Numer fakturytakNumer faktury · Nr faktury · Faktura · Numer · Invoice number · Invoice no
    Data wystawieniatakData wystawienia · Data faktury · Data · Issue date · Invoice date
    Nazwa nabywcytakNazwa nabywcy · Nabywca · Kontrahent · Klient · Buyer · Buyer name · Customer Company
    Kwota bruttotakKwota brutto · Brutto · Wartość brutto · Razem · Do zapłaty · Gross · Gross amount · Total · Amount
    NIP nabywcyzależnieNIP nabywcy · NIP kupującego · Nabywca NIP · Buyer NIP · Vat NumberPotrzebny przy nabywcy firmowym. Faktury konsumenckie idą bez niego, z oznaczeniem BrakID.
    NIP sprzedawcynieNIP sprzedawcy · NIP sprzedającego · Sprzedawca NIP · Seller NIPSama faktura go wymaga, ale kolumna w pliku nie jest potrzebna — bierzemy go z danych Twojej firmy. Eksporty z systemów subskrypcyjnych zwykle nie zawierają sprzedawcy.
    Nazwa sprzedawcynieNazwa sprzedawcy · Sprzedawca · Seller · Seller nameJak wyżej — uzupełniamy ją z danych Twojej firmy.
    Data sprzedażynieData sprzedaży · Data dostawy · Sale date
    Kwota nettonieKwota netto · Netto · Wartość netto · Net · Net amount
    Kwota VATnieKwota VAT · VAT · Podatek VAT · VAT amount · Tax Total
    WalutanieWaluta · Currency

    Poza CSV i Excelem przyjmujemy też gotowe pliki XML oraz faktury w PDF, z których dane wyciąga parser.

    Skąd zwykle pochodzi plik

    Nie łączymy się z żadnym z poniższych systemów bezpośrednio. Znaczenie ma wyłącznie to, jak wygląda eksport, dlatego opisujemy je kształtem pliku, a nie nazwą producenta.

    Systemy handlowo-magazynowe i ERP

    Subiekt, Comarch ERP Optima, Symfonia, WAPRO, enova i pokrewne. Zwykle eksportują rejestr sprzedaży do Excela albo CSV. Częsty kształt to kolumny netto i stawka VAT bez osobnej kolumny brutto — taki plik też przyjmujemy i brutto wyliczamy.

    Systemy subskrypcyjne i rozliczeniowe

    Chargebee, Stripe, Recurly i podobne. Ich eksporty są anglojęzyczne i mają własne nazewnictwo — „Amount” oznacza wartość brutto, „Tax Total” kwotę VAT, „Vat Number” numer NIP nabywcy. Te nagłówki rozpoznajemy wprost, bez zmiany nazw kolumn. Mapowanie sprawdziliśmy na eksporcie z Chargebee; przy innym dostawcy najprościej przysłać nam próbkę, zanim wgrasz całe zestawienie.

    Sklepy internetowe i platformy sprzedażowe

    Sklep albo platforma sprzedażowa zwykle potrafi wystawić fakturę i wyeksportować listę dokumentów do CSV. Do KSeF trafia potem taki eksport, a nie same zamówienia.

    Arkusze prowadzone ręcznie

    Zwykły plik w Excelu albo Arkuszach Google też jest poprawnym źródłem, o ile ma wiersz nagłówka i jedną fakturę na wiersz. Nie trzeba żadnego systemu, żeby zacząć.

    Czego nie robimy

    • Nie instalujemy się w Twoim systemie i nie mamy do niego wtyczki.
    • Nie zastępujemy programu, w którym wystawiasz faktury, ani programu księgowego.
    • Nie udostępniamy własnego API — wysyłka idzie przez plik wgrany w panelu.
    Kiedy nie potrzebujesz takiego narzędzia: przy kilku albo kilkunastu fakturach miesięcznie bezpłatna Aplikacja Podatnika KSeF w zupełności wystarczy i warto sprawdzić ją w pierwszej kolejności. Ta strona dotyczy sytuacji, w której faktury powstają w innym systemie i jest ich na tyle dużo, że ręczne przenoszenie przestaje mieć sens. Różnice między kategoriami narzędzi rozkładamy na części w porównaniu narzędzi KSeF, a sam przebieg wysyłki opisujemy na stronie o hurtowej wysyłce faktur.

    Najczęstsze pytania

    Czy macie wtyczkę do mojego systemu?

    Nie. FakturaFlow nie instaluje się w Twoim systemie i nie łączy się z nim bezpośrednio. Pośrednikiem jest plik: eksportujesz zestawienie faktur, wgrywasz je u nas, a my odpowiadamy za mapowanie na FA(3), wysyłkę do KSeF i pobranie UPO. Dzięki temu działa to z każdym systemem, który potrafi wyeksportować dane, i nie wymaga niczego od jego dostawcy.

    Czy kolumny w moim pliku muszą nazywać się dokładnie tak jak w tabeli?

    Nie muszą być identyczne, ale muszą dać się rozpoznać. Parser dopasowuje nagłówki po nazwie, uwzględniając wymienione warianty polskie i angielskie, a przy większości z nich także zapis bez polskich znaków. Jeśli Twój eksport używa nazwy spoza tabeli, najprościej zmienić nagłówek w pliku albo przysłać nam przykładowe zestawienie.

    Co z fakturami dla konsumentów, którzy nie mają numeru NIP?

    Obsługujemy je w tym samym pliku co faktury B2B. W schemacie FA(3) nabywca bez numeru NIP wymaga oznaczenia BrakID zamiast identyfikatora podatkowego, więc zestawienie z przewagą klientów detalicznych nie wymaga ręcznego dzielenia na dwa.

    Czy udostępniacie własne API?

    Obecnie nie. Wysyłka odbywa się przez wgranie pliku w panelu. Jeżeli potrzebujesz połączenia programistycznego, napisz do nas — chcemy wiedzieć, ilu użytkowników tego szuka, zanim to zbudujemy.

    Czy plik z eksportu opuszcza moją firmę?

    Zestawienie wgrane do panelu trafia na nasze serwery, bo to tam powstaje XML i stamtąd idzie wysyłka do KSeF. Inaczej działają nasze darmowe narzędzia publiczne — walidator XML i konwerter PDF pracują w całości w przeglądarce i nie wysyłają pliku nigdzie.

    Jak sprawdzić, czy mój eksport się nada, zanim założę konto?

    Najszybciej darmowym walidatorem: jeśli masz już plik XML, pokaże, czy przejdzie weryfikację FA(3). Przy pliku CSV lub Excel napisz do nas i sprawdzimy go na Twoim zestawieniu, bez zakładania konta.

    Sprawdź to na swoim eksporcie

    Jeżeli nie masz pewności, czy plik z Twojego systemu się nada, najszybciej to po prostu sprawdzić. Przyślij przykładowe zestawienie, a odpowiemy, co się zmapuje, a co wymaga poprawki po Twojej stronie.

    Stan prawny na 15 sierpnia 2026 r. Informacje o obowiązkach w KSeF mają charakter informacyjny i nie stanowią porady podatkowej w rozumieniu ustawy o doradztwie podatkowym.