Skip to content

KSeF — dane na fakturze

Ta strona opisuje, jakie dane i według jakich reguł trafiają do pliku KSeF zwykłej faktury sprzedażowej. Reguły dla korekt opisuje osobna strona Korekty.

Dane sprzedawcy (NIP, nazwa, adres) pochodzą z konfiguracji podmiotu handlowego. Adres sprzedawcy jest wymagany — jego brak blokuje generowanie.

Prefiks PL przy NIP sprzedawcy. Gdy nabywcą jest kontrahent z kraju Unii Europejskiej, portal dodaje do danych sprzedawcy prefiks kraju PL (art. 97 ust. 10 ustawy o VAT). Na wizualizacji NIP sprzedawcy wyświetla się wtedy jako np. NIP: PL 5272609597. Prefiks pojawia się niezależnie od typu identyfikatora nabywcy — zarówno przy numerze VAT UE, jak i przy zagranicznym numerze identyfikacyjnym, jeżeli kod kraju nabywcy należy do UE. Na fakturach krajowych oraz dla kontrahentów spoza UE (eksport) prefiks nie występuje.

Jeżeli klient ma w portalu jednostkę nadrzędną (np. gmina dla szkoły), nabywcą na fakturze KSeF jest jednostka nadrzędna, a sam klient może wystąpić jako odbiorca (zob. „Podmioty trzecie” niżej).

Portal wybiera identyfikator nabywcy według stałej kolejności:

  1. NIP zawsze wygrywa. Jeśli w kartotece klienta pole NIP jest wypełnione (i nie składa się z samych zer), nabywca będzie identyfikowany NIP-em — nawet jeżeli równocześnie uzupełniono dane identyfikatora zagranicznego.
  2. Identyfikator zagraniczny jest używany dopiero, gdy pole NIP jest puste, a klient ma komplet danych: numer (TIN), typ identyfikatora i kod kraju:
    • Numer VAT UE — dla kontrahentów z Unii Europejskiej; na wizualizacji numer pojawia się z prefiksem kraju, np. DE 299148144,
    • Zagraniczny numer identyfikacyjny — dla kontrahentów spoza UE.
  3. Brak identyfikatora — klient krajowy bez NIP (konsument) oznaczany jest znacznikiem „brak identyfikatora”.

Nabywca oznaczony jako zagraniczny (kod kraju inny niż PL albo ustawiony typ identyfikatora), ale bez kompletu danych — blokuje generowanie faktury. Sam zapis klienta jest możliwy; blokada dotyczy wyłącznie generowania/wysyłki.

Kod kraju w adresie nabywcy pochodzi z pola „Kraj” adresu klienta (rozpoznawane są nazwy polskie i angielskie, np. „Niemcy”/„Germany” → DE, oraz kody dwuliterowe). Reguły uzupełniania:

  • wpisany kraj zawsze wygrywa (może być inny niż kraj identyfikatora — np. polski NIP i adres na Cyprze),
  • puste pole „Kraj” u nabywcy identyfikowanego zagranicznym numerem przyjmuje kraj identyfikatora (np. DE),
  • w pozostałych przypadkach puste pole oznacza Polskę (PL).

Na fakturach krajowych portal umieszcza w pliku wewnętrzny numer klienta (pole „ID nabywcy” na wizualizacji) — ułatwia on powiązanie korekt z klientem. Na fakturach z nabywcą identyfikowanym zagranicznym numerem ID nabywcy jest pomijane — wewnętrzny numer klienta nie niesie informacji dla zagranicznego kontrahenta.

Znacznik JST („podrzędna jednostka samorządu terytorialnego”) ustawiany jest na TAK tylko, gdy nabywca należy do kategorii grup oznaczonej we wdrożeniu jako JST i faktura jest wystawiana przez jednostkę podrzędną (klient ma jednostkę nadrzędną). Znacznik członkostwa w grupie VAT jest zawsze NIE.

Faktura może zawierać dodatkowe podmioty (np. odbiorcę innego niż nabywca, faktora, płatnika). Ich dane konfiguruje się jako „podmioty trzecie” na grupie płatniczej (pierwszeństwo) lub na kliencie. Każdy podmiot ma własny identyfikator (NIP / identyfikator wewnętrzny / VAT UE / numer zagraniczny / brak), adres, opcjonalnie adres korespondencyjny i dane kontaktowe oraz rolę (Faktor, Odbiorca, Podmiot pierwotny, Dodatkowy nabywca, Wystawca faktury, Dokonujący płatności, JST — wystawca/odbiorca, Członek grupy VAT — wystawca/odbiorca, Pracownik) albo rolę opisową.

Jeżeli klient ma jednostkę nadrzędną, a nie skonfigurowano podmiotów trzecich, portal automatycznie doda klienta jako odbiorcę (rola „JST — odbiorca”, gdy klient jest jednostką JST).

  • Waluta: PLN.
  • Data wystawienia: data dokumentu; data sprzedaży trafia do pliku tylko, gdy różni się od daty wystawienia.
  • Numer faktury: numer dokumentu z portalu.
  • Rodzaj faktury: VAT (dla korekt: KOR).

Każda pozycja faktury portalowej staje się wierszem faktury KSeF:

Pole KSeFŹródło
Nazwa towaru/usługinazwa produktu z pozycji
Jednostka miaryjednostka produktu (jeśli ustawiona)
Ilośćilość z pozycji
Cena jednostkowacena z pozycji — chyba że ukryta, zob. niżej
Wartość sprzedaży nettowartość netto pozycji
Stawka podatkustawka / klasyfikacja VAT pozycji, zob. niżej

Na fakturze można zaznaczyć opcję „KSeF: ukryj cenę jednostkową” (formularz edycji faktury). Wtedy cena jednostkowa nie jest umieszczana w pliku KSeF, a na wizualizacji kolumna „Cena jednostkowa” pozostaje pusta (sam nagłówek kolumny wynika z szablonu MF i nie znika). Opcja przydaje się np. przy usługach rozliczanych ryczałtowo dla kontrahentów zagranicznych. Domyślnie cena jednostkowa jest zawsze umieszczana.

O stawce w pliku KSeF decyduje kolumna „Klasyfikacja VAT” pozycji; przy klasyfikacji „Standard” brana jest stawka procentowa pozycji:

Klasyfikacja VAT pozycjiStawka w KSeF
Standard (wg stawki)23 / 8 / 5 … (stawka 0 → „0 KR”)
0% krajowa0 KR
0% WDT0 WDT
0% eksport0 EX
Zwolniona od podatkuzw
Niepodlegająca (poza terytorium)np I
Niepodlegająca (art. 100 ust. 1 pkt 4)np II
Odwrotne obciążenieoo

Podsumowania kwot według stawek (podstawy i kwoty VAT) portal wylicza automatycznie z pozycji — osobno dla każdej stawki i każdej klasyfikacji zerowej — więc zawsze zgadzają się z wierszami faktury.

Jeśli faktura zawiera pozycje „zw”, portal musi podać podstawę prawną zwolnienia. Konfiguruje się ją na grupie płatniczej (rodzaj podstawy + treść). Brak kompletnej konfiguracji blokuje generowanie faktury.

Mechanizm odwrotnego obciążenia obejmuje całą fakturę: albo wszystkie pozycje mają klasyfikację „oo”, albo żadna. Faktura z częściowym „oo” zostanie zablokowana. Znacznik „odwrotne obciążenie” w adnotacjach ustawia się automatycznie na podstawie pozycji.

  • Termin płatności — z pola „termin płatności” faktury.
  • Forma płatności — z faktury; w pliku KSeF zapisywana jako jedna z form przewidzianych przez KSeF (przelew, gotówka, karta, bon, czek, kredyt, płatność mobilna). Forma „Inna (opisowa)” wymaga uzupełnienia opisu.
  • Rachunek bankowy — numer z pola „kod płatności” faktury (zwykle indywidualny rachunek wirtualny klienta).

Rachunek i SWIFT na fakturach zagranicznych

Section titled “Rachunek i SWIFT na fakturach zagranicznych”

Dla nabywców identyfikowanych zagranicznym numerem portal umieszcza:

  • pełny numer rachunku w formacie IBAN — z prefiksem PL,
  • kod SWIFT/BIC banku — portal rozpoznaje bank po numerze rachunku i sam uzupełnia jego kod SWIFT. Zna kody głównych banków polskich: PKO BP, Pekao, Santander, ING, mBank, Millennium, BNP Paribas, Credit Agricole, Alior, BOŚ, BGK i Citi Handlowy. Jeżeli kod SWIFT banku nie jest znany w systemie (np. banki spółdzielcze), portal go nie umieszcza — nigdy nie zgaduje.

Na fakturach krajowych numer rachunku pozostaje bez prefiksu, a SWIFT nie jest umieszczany.

Sekcja „Dodatkowy opis” pozwala umieścić na fakturze KSeF dodatkowe informacje rozliczeniowe. Dostępne generatory: notatki (stałe pary klucz–wartość), informacje o PPE, nazwy PPE, rozbicie wskazań liczników. Zestaw i kolejność konfiguruje się na grupie płatniczej; wdrożenie może mieć konfigurację domyślną stosowaną do grup bez własnych ustawień.