Skip to content
Log in

JSON-Rechnungsfelder zu KSeF FA(3) XML

Diese Anleitung beschreibt die Zuordnung zwischen den B2Brouter Invoice API-Feldern, den entsprechenden Business Terms (BT) gemäß dem europäischen E-Rechnungsstandard (EN 16931) und den XML-Pfaden im KSeF FA(3)-Format (Polnisches nationales E-Rechnungssystem).

Ziel ist es, zu verstehen, wie Rechnungsdaten im JSON-Format über die Invoice API dem KSeF FA(3) XML-Aufbau entsprechen. Es werden nur Felder aufgeführt, die bei der Steuerberichterstellung tatsächlich zugeordnet werden.

Hinweis: Die Verkäufer-/Lieferanteninformationen (Podmiot1) werden automatisch aus Ihren Kontoeinstellungen befüllt. Die Käufer-/Kundeninformationen (Podmiot2) werden aus dem Rechnungskontakt befüllt. Wenn Sie direkten Zugriff auf alle Felder benötigen, verwenden Sie stattdessen die Tax Report API.

BT-IDBusiness TermAPI-Feld (B2Brouter)KSeF FA(3) XPath
BT-1Rechnungsnummerinvoice.numberFa/P_2
BT-2Ausstellungsdatum der Rechnunginvoice.dateFa/P_1
BT-3Rechnungstyp-Codeinvoice.type_document Abgeleitet: Standard VAT; KOR bei Korrekturrechnung; ZAL bei Anzahlung; UPR bei vereinfachter RechnungFa/RodzajFaktury
BT-5Rechnungswährunginvoice.currencyFa/KodWaluty
BT-7Steuerlicher Leistungszeitpunktinvoice.tax_point_dateFa/P_6
BT-9Zahlungsfälligkeitsdatuminvoice.due_dateFa/Platnosc/TerminPlatnosci/Termin
BT-25Nummer der vorherigen Rechnunginvoice.invoice_references[reference_type=amend].number (v2026-04-20+) oder invoice.amended_number (ältere Versionen)Fa/DaneFaKorygowanej/NrFaKorygowanej
BT-26Datum der vorherigen Rechnunginvoice.invoice_references[reference_type=amend].date (v2026-04-20+) oder invoice.amended_date (ältere Versionen)Fa/DaneFaKorygowanej/DataWystFaKorygowanej
Wechselkursinvoice.exchange_rateFa/KursWalutyZ
BT-10Käuferreferenzinvoice.buyer_referencePodmiot2/NrKlienta
BT-13Bestellreferenzinvoice.ponumberFa/WarunkiTransakcji/Zamowienia/NrZamowienia
BT-92Bestelldatuminvoice.order_dateFa/WarunkiTransakcji/Zamowienia/DataZamowienia
BT-14Auftragsreferenzinvoice.sales_order_referenceFa/DodatkowyOpis (Schlüssel-Wert-Paar)
BT-16Lieferscheinreferenzinvoice.delivery_note_numberFa/WZ
Korrekturwirkungscodeinvoice.amend_code_tax oder tax_report_setting.credit_note_codeFa/TypKorekty (nur für KOR-Typen)
BT-IDBusiness TermAPI-Feld (B2Brouter)KSeF FA(3) XPath
BT-9Zahlungsfälligkeitsdatuminvoice.due_dateFa/Platnosc/TerminPlatnosci/Termin
BT-81Zahlungsmittel-Codeinvoice.payment_method (auf KSeF-Codes gemappt)Fa/Platnosc/FormaPlatnosci
BT-84IBAN des Zahlungsempfängersinvoice.bank_account.ibanFa/Platnosc/RachunekBankowy/NrRB
BT-84-0Kontonummer des Zahlungsempfängersinvoice.bank_account.number (Fallback ohne IBAN)Fa/Platnosc/RachunekBankowy/NrRB
BT-85Name der Bank des Zahlungsempfängersinvoice.bank_account.nameFa/Platnosc/RachunekBankowy/NazwaBanku
BT-86BIC des Zahlungsempfängersinvoice.bank_account.bicFa/Platnosc/RachunekBankowy/SWIFT
Bezahlt-KennzeichenAbgeleitet: 1 wenn payable_amount = 0 und total > 0Fa/Platnosc/Zaplacono
Zahlungsdatum (bei Bezahlung)invoice.due_date (wenn Zaplacono=1)Fa/Platnosc/DataZaplaty

Hinweis: KSeF unterstützt keine Kartenkontodetails (BT-87, BT-88), Lastschriftmandate (BT-89), Gläubigerreferenzen (BT-90), Zahlungsbedingungs-Text (BT-20) oder Verwendungszweck (BT-83).

Diese Zuordnung gilt für eine ausgestellte Rechnung. Bei einer empfangenen Rechnung sind Podmiot1 und Podmiot2 zu vertauschen.

Podmiot1 wird automatisch aus Ihren Kontoeinstellungen befüllt. Dazu gehören Firmenname, NIP (polnische Steuer-ID) und Adresse.

BT-IDBusiness TermAPI-Feld (B2Brouter)KSeF FA(3) XPath
Länderkürzel des Verkäufersaccount.country (Großbuchstaben)Podmiot1/PrefiksPodatnika
BT-31Steuer-ID des Verkäufers (NIP)account.tin_value (ohne Länderpräfix)Podmiot1/DaneIdentyfikacyjne/NIP
BT-27Name des Verkäufersaccount.namePodmiot1/DaneIdentyfikacyjne/Nazwa
BT-40Land des Verkäufersaccount.country (Großbuchstaben)Podmiot1/Adres/KodKraju
BT-35Straße des Verkäufersaccount.addressPodmiot1/Adres/AdresL1
BT-37,38PLZ + Stadt des Verkäufersaccount.postalcode + account.cityPodmiot1/Adres/AdresL2
BT-29-0GLN des Verkäufersaccount.cin_value (wenn cin_scheme = 88)Podmiot1/Adres/GLN
BT-42Telefon des Verkäufersaccount.phonePodmiot1/DaneKontaktowe/Telefon
BT-43E-Mail des Verkäufersaccount.emailPodmiot1/DaneKontaktowe/Email
REGON des Verkäufersaccount.routing_codes.cinX (Schema 8037)Stopka/Rejestry/REGON
KRS des Verkäufersaccount.routing_codes.cinX (Schema 8036)Stopka/Rejestry/KRS
BDO des Verkäufersaccount.routing_codes.cinX (Schema 8038)Stopka/Rejestry/BDO
BT-IDBusiness TermAPI-Feld (B2Brouter)KSeF FA(3) XPath
BT-48Steuer-ID des Käufersinvoice.contact.tin_valuePL: Podmiot2/DaneIdentyfikacyjne/NIP
EU: Podmiot2/DaneIdentyfikacyjne/NrVatUE
Nicht-EU: Podmiot2/DaneIdentyfikacyjne/NrID
Steuerland Käufer (EU)invoice.contact.country (Großbuchstaben)Podmiot2/DaneIdentyfikacyjne/KodUE (nur EU)
Steuerland Käufer (Nicht-EU)invoice.contact.country (Großbuchstaben)Podmiot2/DaneIdentyfikacyjne/KodKraju (nur Nicht-EU)
Kennzeichen “Keine Steuer-ID”Abgeleitet: 1 wenn contact.tin_value leer istPodmiot2/DaneIdentyfikacyjne/BrakID
BT-44Name des Käufersinvoice.contact.namePodmiot2/DaneIdentyfikacyjne/Nazwa
BT-55Land des Käufersinvoice.contact.country (Großbuchstaben)Podmiot2/Adres/KodKraju
BT-50Straße des Käufersinvoice.contact.addressPodmiot2/Adres/AdresL1
BT-52,53PLZ + Stadt des Käufersinvoice.contact.postalcode + invoice.contact.cityPodmiot2/Adres/AdresL2
BT-46-0GLN des Käufersinvoice.contact.cin_value (wenn cin_scheme = 88)Podmiot2/Adres/GLN

KSeF unterstützt mehrere Drittparteirollen über das Element Podmiot3. Ein Podmiot3 wird generiert, wenn Lieferinformationen vorhanden sind oder wenn die Rechnung ein third_party-Objekt enthält (verfügbar ab v2026-04-20).

RollencodeB2Brouter third_party.roleBeschreibung
2delivery_recipientLieferempfänger
3original_supplierUrsprüngliche Einheit (übernommen/umgewandelt)
4additional_buyerZusätzlicher Käufer
5invoice_issuerRechnungsaussteller im Namen des Steuerpflichtigen
6payerZahler im Namen des Käufers
7local_government_unit_issuerKommunale Körperschaft – Aussteller
8local_government_unit_recipientKommunale Körperschaft – Empfänger (JST)
9vat_group_member_issuerMwSt.-Gruppenmitglied – Aussteller
10vat_group_member_recipientMwSt.-Gruppenmitglied – Empfänger (GV)
11employeeMitarbeiter

Lieferinformationen werden Podmiot3 mit Rollencode 2 zugeordnet, wenn invoice.delivery_address vorhanden ist. Die Lieferadresse wird auch unter Fa/WarunkiTransakcji/Transport/WysylkaDo dupliziert.

BT-IDBusiness TermAPI-Feld (B2Brouter)KSeF FA(3) XPath
BT-70Name der Lieferparteiinvoice.delivery_party_namePodmiot3/DaneIdentyfikacyjne/Nazwa
BT-71Lieferort-ID (GLN)invoice.delivery_location_id (wenn Typ GLN/088)Podmiot3/Adres/GLN
BT-75Lieferadresse Straßeinvoice.delivery_addressPodmiot3/Adres/AdresL1 und Fa/WarunkiTransakcji/Transport/WysylkaDo/AdresL1
BT-77,78PLZ + Stadt der Lieferadresseinvoice.delivery_postalcode + invoice.delivery_cityPodmiot3/Adres/AdresL2 und Fa/WarunkiTransakcji/Transport/WysylkaDo/AdresL2
BT-80Land der Lieferadresseinvoice.delivery_countryPodmiot3/Adres/KodKraju und Fa/WarunkiTransakcji/Transport/WysylkaDo/KodKraju
Drittpartei-RolleFest: 2 (Empfänger)Podmiot3/Rola

Hinweis: KSeF unterstützt kein Lieferdatum (BT-72) oder Lieferzeitraumfelder.

JST / GV / Weitere Rollen (Rollen 3–11) — ab v2026-04-20

Section titled “JST / GV / Weitere Rollen (Rollen 3–11) — ab v2026-04-20”
Business TermAPI-Feld (B2Brouter)KSeF FA(3) XPath
Name der Drittparteiinvoice.third_party.namePodmiot3/DaneIdentyfikacyjne/Nazwa
Steuer-ID der Drittparteiinvoice.third_party.tin_valuePodmiot3/DaneIdentyfikacyjne/NIP (PL), NrVatUE (EU) oder NrID (Nicht-EU)
Adresse der Drittparteiinvoice.third_party.addressPodmiot3/Adres/AdresL1
PLZ + Stadt der Drittparteiinvoice.third_party.postalcode + invoice.third_party.cityPodmiot3/Adres/AdresL2
Land der Drittparteiinvoice.third_party.countryPodmiot3/Adres/KodKraju
Rolle der Drittparteiinvoice.third_party.role → RollencodePodmiot3/Rola
JST-Kennzeicheninvoice.apply_to_local_government_unitPodmiot2/JST (1 wenn true, 2 wenn false)
GV-Kennzeicheninvoice.apply_to_vat_group_memberPodmiot2/GV (1 wenn true, 2 wenn false)

Zuordnung auf Rechnungspositionsebene (FaWiersz)

Section titled “Zuordnung auf Rechnungspositionsebene (FaWiersz)”

Alle in der folgenden Tabelle aufgeführten Attribute sind Eigenschaften von Objekten im Array: invoice.invoice_lines_attributes[]. Die Spalte API-Feld bezieht sich auf Schlüssel innerhalb jedes Rechnungspositionsobjekts.

Bei regulären Rechnungen (VAT, KOR, UPR, ROZ) werden Positionen als FaWiersz-Elemente dargestellt. Bei Anzahlungsrechnungen (ZAL, KOR_ZAL) werden Positionen als ZamowienieWiersz-Elemente dargestellt.

BT-IDBusiness TermAPI-Feld (Rechnungspositionsobjekt)KSeF FA(3) XPath
BT-126Rechnungspositions-IDpositionFa/FaWiersz/NrWierszaFa
BT-153ArtikelnamedescriptionFa/FaWiersz/P_7
BT-130Berechnete Menge (Einheitencode)unit (Codeliste siehe API-Referenz)Fa/FaWiersz/P_8A
BT-129Berechnete MengequantityFa/FaWiersz/P_8B
BT-155Artikelnummer (Verkäufer)article_codeFa/FaWiersz/Indeks
BT-157Standard-Artikelnummer (GTIN)article_code2Fa/FaWiersz/GTIN
BT-146EinzelpreispriceFa/FaWiersz/P_9A
-Rabattierter EinzelpreisAbgeleitet aus allowance_charges_attributes[]{allowance_charge_indicator: "allowance"} Betrag / quantityFa/FaWiersz/P_10
BT-131Nettobetrag der Positionextension_amount (wenn nicht angegeben, wird er berechnet)Fa/FaWiersz/P_11
Steuerbetrag der PositionAus Steuern berechnetFa/FaWiersz/P_11Vat
SteuercodeAus Steuereigenschaften abgeleitetFa/FaWiersz/P_12

Zuordnung zusätzlicher Artikeleigenschaften (DodatkowyOpis je Position)

Section titled “Zuordnung zusätzlicher Artikeleigenschaften (DodatkowyOpis je Position)”

Jede Rechnungsposition kann zusätzliche Schlüssel-Wert-Eigenschaften enthalten, die auf DodatkowyOpis-Elemente auf Positionsebene im KSeF XML gemappt werden.

Alle in der folgenden Tabelle aufgeführten Attribute sind Eigenschaften von Objekten im Array: invoice.invoice_lines_attributes[].additional_item_properties_attributes[].

BT-IDBusiness TermAPI-Feld (zusätzliche Artikeleigenschaft)KSeF FA(3) XPath
Positionsnummernreferenzposition der übergeordneten PositionFa/DodatkowyOpis/NrWiersza
BT-160Name der Artikeleigenschaftname (max. 255 Zeichen)Fa/DodatkowyOpis/Klucz
BT-161Wert der Artikeleigenschaftvalue (max. 255 Zeichen)Fa/DodatkowyOpis/Wartosc

Beispiel JSON:

{
"invoice": {
"invoice_lines_attributes": [
{
"position": 1,
"description": "Product A",
"additional_item_properties_attributes": [
{ "name": "Color", "value": "Red" },
{ "name": "Size", "value": "XL" }
]
}
]
}
}

Resultierendes KSeF XML:

<tns:DodatkowyOpis>
<tns:NrWiersza>1</tns:NrWiersza>
<tns:Klucz>Color</tns:Klucz>
<tns:Wartosc>Red</tns:Wartosc>
</tns:DodatkowyOpis>
<tns:DodatkowyOpis>
<tns:NrWiersza>1</tns:NrWiersza>
<tns:Klucz>Size</tns:Klucz>
<tns:Wartosc>XL</tns:Wartosc>
</tns:DodatkowyOpis>

Durch das Setzen einer zusätzlichen Artikeleigenschaft mit dem Namen unit_of_measure können Sie einen Freitext-Einheitencode für das Feld P_8A der Position in KSeF angeben, der die Standard-Einheitencodeliste überschreibt.

{
"additional_item_properties_attributes": [
{ "name": "unit_of_measure", "value": "szt." }
]
}

Diese Eigenschaft wird direkt als Einheitencode der Position (Fa/FaWiersz/P_8A) verwendet und wird nicht als DodatkowyOpis-Element in der XML-Ausgabe ausgegeben.

Alle in der folgenden Tabelle aufgeführten Attribute sind Eigenschaften von Objekten im Array: invoice.invoice_lines_attributes[].taxes_attributes[].

BT-IDBusiness TermAPI-Feld (Steuerobjekt)KSeF FA(3) Zuordnung
BT-118Steuerkategorie-Codecategory (siehe Codeliste)Wird zur Ableitung des P_12-Steuercodes verwendet
BT-119Anwendbarer SteuerprozentsatzpercentWird zur Ableitung des P_12-Steuercodes und der P_13_x/P_14_x-Aggregierungen verwendet
BT-120SteuerbefreiungsgrundcommentFa/Adnotacje/Zwolnienie/P_19A. Akzeptiert auch einen KSeF P_12-Code (zw, np I, np II, 0 KR, 0 WDT, 0 EX, oo) um den abgeleiteten Wert zu überschreiben.

KSeF erfordert die Aggregierung der Steuerbeträge nach Steuersatz auf Header-Ebene. Diese Felder werden automatisch aus den Steueraufschlüsselungen der Rechnung berechnet:

KSeF-FeldBeschreibungSteuersatz / Kategorie
P_13_1Steuerbasis zum Normalsatz23 % oder 22 %
P_14_1Steuerbetrag zum Normalsatz23 % oder 22 %
P_14_1WSteuerbetrag zum Normalsatz in PLN umgerechnet23 % oder 22 % (nur Fremdwährungsrechnungen)
P_13_2Steuerbasis zum ersten ermäßigten Satz8 % oder 7 %
P_14_2Steuerbetrag zum ersten ermäßigten Satz8 % oder 7 %
P_14_2WSteuerbetrag zum ersten ermäßigten Satz in PLN8 % oder 7 % (nur Fremdwährungsrechnungen)
P_13_3Steuerbasis zum zweiten ermäßigten Satz5 %
P_14_3Steuerbetrag zum zweiten ermäßigten Satz5 %
P_14_3WSteuerbetrag zum zweiten ermäßigten Satz in PLN5 % (nur Fremdwährungsrechnungen)
P_13_6_1Gesamtwert inländischer Umsätze mit 0 %0 % Inland (ohne innergemeinschaftliche und Exporte)
P_13_6_2Gesamtwert innergemeinschaftlicher Lieferungen mit 0 %0 % innergemeinschaftliche Waren
P_13_6_3Gesamtwert der Exporte mit 0 %0 % Export
P_13_7Gesamtwert steuerbefreiter UmsätzeBefreit (Kategorie E, inländischer Geltungsbereich)
P_13_8Gesamtwert grenzüberschreitender Umkehrbesteuerungen (np I)Kategorie AE, nicht-inländischer Geltungsbereich
P_13_10Gesamtwert inländischer UmkehrbesteuerungenKategorie AE, inländischer Geltungsbereich
P_15Gesamtfälliger Betrag (einschließlich aller Steuern)Summe aller Kategorien

Hinweis: Felder P_14_xW (Steuerbeträge in PLN umgerechnet) werden nur für Rechnungen in Fremdwährungen ausgegeben. Die Umrechnung verwendet den in der Rechnung angegebenen exchange_rate.