Przejdź do treści

Przykłady faktury (DocumentReference + profil FK oraz model kanoniczny Invoice)

Przykłady faktury zgodne z Profilem Faktura (KSeF, art. 106e) oraz modelem kanonicznym Invoice i InvoicePosition. Prezentowane są dwie reprezentacje:

  1. DocumentReference + profil FK — faktura jako zasób DocumentReference z type=invoice, pozycjami w position[] (DocumentPosition z value[]) i atrybutami podsumowania; uczestnicy jako referencje do PartyRole, dane stron w Party. Konwencja mapowania — API nie udostępnia faktur w tej postaci.
  2. Model kanoniczny Invoice — dedykowany zasób Invoice z pozycjami InvoicePosition w lines[] (seller, buyer, totalNet, totalVat, totalGross — zgodnie z Invoice.schema.json). Tę postać zwraca GET /v1/invoices.

Konwencje wspólne (placeholdery urn:oid:2.999.*, referencje przez identifier, URL-e słowników): Konwencje przykładów. Na tej stronie: urn:oid:2.999.1 — przestrzeń dokumentów (DocumentReference.Id), urn:oid:2.999.2 — faktury (Invoice.Id), urn:oid:2.999.3 — zamówienia (PurchaseOrder.Id), urn:oid:2.999.4 — produkty (ProductDefinition.Id), urn:oid:2.999.5 — rachunki bankowe (BankAccount.Id). Realne przestrzenie mają postać urn:oid:1.2.616.1.113769.4.<instalacja>.<klucz>.

Spójność z modelem: Attribute = code (CodeableConcept) + value[] (ValueItem z opcjonalnym type i jednym wariantem value*). DocumentPosition ma pola positionNo, code, value[], status, attachment[] — wszystkie wartości wiersza (opis, ilość, kwoty, stawka VAT, produkt) są elementami value[]. Numer KSeF to identifier z type = ksef-number i system = https://ksef.podatki.gov.pl. Stawki VAT ze słownika vat-rate: 23, 8, 5, 0, zw, np. Role stron ze słownika party-role: supplier (wystawca), customer (nabywca), payer (płatnik). Kody, których nie ma w opublikowanych słownikach (rodzaj pozycji, typ elementu ilości / ceny / akcyzy, sposób zapłaty), nadaje wdrożenie — w przykładach zapisano je jako text.


1. Faktura jako DocumentReference (profil FK)

Faktura wystawiona przez sprzedawcę na nabywcę: dwie pozycje towarowe (VAT 23%), w tym jedna z akcyzą, linia podsumowania VAT oraz atrybuty sum na poziomie dokumentu. Uczestnicy: participant = referencje do PartyRole (supplier, customer) w contained, aby przykład był samodzielny.

Pola profilu FK (saleDate, dueDate, paymentMethod, paymentAccount, splitPayment) i sumy dokumentu przekazywane są przez attribute[] w systemie finance/document-attribute-type.

{
  "resourceType": "DocumentReference",
  "id": "doc-invoice-fk-001",
  "meta": { "lastModified": "2025-02-20T12:00:00Z" },
  "identifier": [
    { "system": "urn:oid:2.999.1", "value": "FV/2025/0567" },
    { "system": "https://ksef.podatki.gov.pl", "value": "1234567890-20250220-ABC123456789-01" }
  ],
  "type": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/finance/document-type", "code": "invoice", "display": "Faktura" }] },
  "issueDate": "2025-02-20",
  "attribute": [
    { "code": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/finance/document-attribute-type", "code": "sale-date" }] }, "value": [{ "valueString": "2025-02-20" }] },
    { "code": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/finance/document-attribute-type", "code": "due-date" }] }, "value": [{ "valueString": "2025-03-06" }] },
    { "code": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/finance/document-attribute-type", "code": "payment-method" }] }, "value": [{ "valueCodeableConcept": { "text": "przelew" } }] },
    { "code": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/finance/document-attribute-type", "code": "split-payment" }] }, "value": [{ "valueBoolean": false }] },
    { "code": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/finance/document-attribute-type", "code": "ksef-acquisition-date" }] }, "value": [{ "valueString": "2025-02-20T11:45:00Z" }] },
    { "code": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/finance/document-attribute-type", "code": "net-amount" }] }, "value": [{ "valueMoney": { "value": 6000, "currency": "PLN" } }] },
    { "code": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/finance/document-attribute-type", "code": "vat-amount" }] }, "value": [{ "valueMoney": { "value": 1380, "currency": "PLN" } }] },
    { "code": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/finance/document-attribute-type", "code": "gross-amount" }] }, "value": [{ "valueMoney": { "value": 7430, "currency": "PLN" } }] }
  ],
  "participant": [
    { "type": "PartyRole", "reference": "#partyRole-seller", "display": "Sprzedawca Sp. z o.o." },
    { "type": "PartyRole", "reference": "#partyRole-buyer", "display": "Kupujący ABC Sp. z o.o." }
  ],
  "position": [
    {
      "positionNo": 1,
      "code": { "text": "Wiersz faktury" },
      "value": [
        { "valueString": "Usługa konsultingowa – miesiąc luty 2025" },
        { "type": { "text": "Ilość" }, "valueQuantity": { "value": 1, "unit": "szt" } },
        { "type": { "text": "Cena jednostkowa netto" }, "valueMoney": { "value": 5000, "currency": "PLN" } },
        { "type": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/finance/value-item-type", "code": "net-amount" }] }, "valueMoney": { "value": 5000, "currency": "PLN" } },
        { "type": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/finance/value-item-type", "code": "vat-amount" }] }, "valueMoney": { "value": 1150, "currency": "PLN" } },
        { "type": { "text": "Stawka VAT" }, "valueCodeableConcept": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/vat-rate", "code": "23", "display": "23%" }] } },
        { "type": { "text": "Produkt" }, "valueReference": { "type": "ProductDefinition", "identifier": { "system": "urn:oid:2.999.4", "value": "svc-consult-01" }, "display": "Konsulting" } }
      ]
    },
    {
      "positionNo": 2,
      "code": { "text": "Wiersz faktury" },
      "value": [
        { "valueString": "Wyroby akcyzowe – przykładowa kategoria" },
        { "type": { "text": "Ilość" }, "valueQuantity": { "value": 10, "unit": "szt" } },
        { "type": { "text": "Cena jednostkowa netto" }, "valueMoney": { "value": 100, "currency": "PLN" } },
        { "type": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/finance/value-item-type", "code": "net-amount" }] }, "valueMoney": { "value": 1000, "currency": "PLN" } },
        { "type": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/finance/value-item-type", "code": "vat-amount" }] }, "valueMoney": { "value": 230, "currency": "PLN" } },
        { "type": { "text": "Kwota akcyzy" }, "valueMoney": { "value": 50, "currency": "PLN" } },
        { "type": { "text": "Stawka VAT" }, "valueCodeableConcept": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/vat-rate", "code": "23", "display": "23%" }] } },
        { "type": { "text": "Produkt" }, "valueReference": { "type": "ProductDefinition", "identifier": { "system": "urn:oid:2.999.4", "value": "excise-01" }, "display": "Wyrób akcyzowy" } }
      ]
    },
    {
      "positionNo": 3,
      "code": { "text": "Podsumowanie VAT" },
      "value": [
        { "type": { "text": "Stawka VAT" }, "valueCodeableConcept": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/vat-rate", "code": "23", "display": "23%" }] } },
        { "type": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/finance/value-item-type", "code": "net-amount" }] }, "valueMoney": { "value": 6000, "currency": "PLN" } },
        { "type": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/finance/value-item-type", "code": "vat-amount" }] }, "valueMoney": { "value": 1380, "currency": "PLN" } }
      ]
    }
  ],
  "contained": [
    {
      "resourceType": "Party",
      "id": "party-seller",
      "identifier": [{ "system": "https://gov.pl/nip", "value": "1234567890" }],
      "name": { "text": "Sprzedawca Sp. z o.o." }
    },
    {
      "resourceType": "PartyRole",
      "id": "partyRole-seller",
      "party": { "type": "Party", "reference": "#party-seller" },
      "role": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/party-role", "code": "supplier", "display": "Wystawca" }] }
    },
    {
      "resourceType": "Party",
      "id": "party-buyer",
      "identifier": [{ "system": "https://gov.pl/nip", "value": "9876543210" }],
      "name": { "text": "Kupujący ABC Sp. z o.o." }
    },
    {
      "resourceType": "PartyRole",
      "id": "partyRole-buyer",
      "party": { "type": "Party", "reference": "#party-buyer" },
      "role": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/party-role", "code": "customer", "display": "Nabywca" }] }
    }
  ]
}

Uwagi:

  • participant wskazuje na zasoby w contained (#partyRole-seller, #partyRole-buyer); w PartyRole pole party wskazuje na Party (wystawca/nabywca) z NIP.
  • Numer KSeF jest w identifier z system = https://ksef.podatki.gov.pl.
  • Wiersz 2 zawiera kwotę akcyzy jako element value[]; suma akcyzy jest wliczona w kwotę brutto dokumentu.
  • Sumy: netto 6000, VAT 1380, brutto 7430 PLN (w tym akcyza 50).

2. Faktura w modelu kanonicznym (Invoice + InvoicePosition)

Ten sam przypadek biznesowy w postaci zasobu Invoice z zagnieżdżonymi lines[] (InvoicePosition). Pola nagłówka: seller, buyer, totalNet, totalVat, totalExcise, totalGross, currency, terminy i płatność. Pozycje z jawnymi polami: positionNo, description, quantity, unitPriceNet, netAmount, vatRate, vatAmount; w pozycji 2 dodatkowo exciseAmount. Podsumowanie VAT per stawka w taxLine[].

{
  "resourceType": "Invoice",
  "id": "inv-2025-0567",
  "meta": { "lastModified": "2025-02-20T12:00:00Z" },
  "identifier": [
    { "system": "urn:oid:2.999.2", "value": "FV/2025/0567" },
    { "system": "https://ksef.podatki.gov.pl", "value": "1234567890-20250220-ABC123456789-01" }
  ],
  "type": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/warehouse/invoice-type", "code": "invoice", "display": "Faktura" }] },
  "issueDate": "2025-02-20",
  "saleDate": "2025-02-20",
  "dueDate": "2025-03-06",
  "seller": { "type": "PartyRole", "reference": "#partyRole-seller", "display": "Sprzedawca Sp. z o.o." },
  "buyer": { "type": "PartyRole", "reference": "#partyRole-buyer", "display": "Kupujący ABC Sp. z o.o." },
  "totalNet": { "value": 6000, "currency": "PLN" },
  "totalVat": { "value": 1380, "currency": "PLN" },
  "totalExcise": { "value": 50, "currency": "PLN" },
  "totalGross": { "value": 7430, "currency": "PLN" },
  "currency": "PLN",
  "paymentMethod": { "text": "przelew" },
  "paymentAccount": { "type": "BankAccount", "identifier": { "system": "urn:oid:2.999.5", "value": "12345678901234567890123456" }, "display": "12 3456 7890 1234 5678 9012 3456" },
  "splitPayment": false,
  "ksefAcquisitionDate": "2025-02-20T11:45:00Z",
  "lines": [
    {
      "positionNo": 1,
      "description": "Usługa konsultingowa – miesiąc luty 2025",
      "quantity": { "value": 1, "unit": "szt" },
      "unitPriceNet": { "value": 5000, "currency": "PLN" },
      "netAmount": { "value": 5000, "currency": "PLN" },
      "vatRate": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/vat-rate", "code": "23", "display": "23%" }] },
      "vatAmount": { "value": 1150, "currency": "PLN" },
      "productReference": { "type": "ProductDefinition", "identifier": { "system": "urn:oid:2.999.4", "value": "svc-consult-01" }, "display": "Konsulting" }
    },
    {
      "positionNo": 2,
      "description": "Wyroby akcyzowe – przykładowa kategoria",
      "quantity": { "value": 10, "unit": "szt" },
      "unitPriceNet": { "value": 100, "currency": "PLN" },
      "netAmount": { "value": 1000, "currency": "PLN" },
      "vatRate": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/vat-rate", "code": "23", "display": "23%" }] },
      "vatAmount": { "value": 230, "currency": "PLN" },
      "exciseAmount": { "value": 50, "currency": "PLN" },
      "productReference": { "type": "ProductDefinition", "identifier": { "system": "urn:oid:2.999.4", "value": "excise-01" }, "display": "Wyrób akcyzowy" }
    }
  ],
  "taxLine": [
    {
      "vatRate": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/vat-rate", "code": "23", "display": "23%" }] },
      "netAmount": { "value": 6000, "currency": "PLN" },
      "vatAmount": { "value": 1380, "currency": "PLN" },
      "grossAmount": { "value": 7380, "currency": "PLN" }
    }
  ],
  "contained": [
    {
      "resourceType": "Party",
      "id": "party-seller",
      "identifier": [{ "system": "https://gov.pl/nip", "value": "1234567890" }],
      "name": { "text": "Sprzedawca Sp. z o.o." }
    },
    {
      "resourceType": "PartyRole",
      "id": "partyRole-seller",
      "party": { "type": "Party", "reference": "#party-seller" },
      "role": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/party-role", "code": "supplier", "display": "Wystawca" }] }
    },
    {
      "resourceType": "Party",
      "id": "party-buyer",
      "identifier": [{ "system": "https://gov.pl/nip", "value": "9876543210" }],
      "name": { "text": "Kupujący ABC Sp. z o.o." }
    },
    {
      "resourceType": "PartyRole",
      "id": "partyRole-buyer",
      "party": { "type": "Party", "reference": "#party-buyer" },
      "role": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/party-role", "code": "customer", "display": "Nabywca" }] }
    }
  ]
}

Uwagi:

  • seller i buyer to referencje do PartyRole (w przykładzie w contained); dane firm w Party.
  • totalExcise na nagłówku odpowiada sumie kwot akcyzy z pozycji; totalGross = totalNet + totalVat + totalExcise (6000 + 1380 + 50 = 7430). taxLine[].grossAmount to netto + VAT dla stawki (bez akcyzy).
  • W odczycie z systemu magazynowego (GET /v1/invoices) seller nie jest wypełniany, a lines[] powstają z powiązań kosztowych z PZ (costLink[]) — zob. Invoice — model kanoniczny, §4.

3. Przykład: faktura KSeF (XML) dopasowana do Invoice

Poniżej faktura z pliku KSeF (FA(3)) — 7671004218-20260222-644401C00054-A6.xml — zmapowana na model kanoniczny Invoice. Źródło: struktura FA z http://crd.gov.pl/wzor/2025/06/25/13775/.

3.1 Mapowanie pól KSeF → Invoice

Element KSeF (XML) Wartość w pliku Invoice (kanoniczny)
Naglowek/DataWytworzeniaFa 2026-02-22T14:14:40Z ksefAcquisitionDate
Podmiot1: NIP, Nazwa, Adres 7671004218, TERG S.A., Za Dworcem 1D 77-400 Złotów seller → PartyRole (supplier); Party: identifier NIP, name
Podmiot2: NIP, Nazwa, Adres 9542685559, KAMSOFT SPÓŁKA AKCYJNA, ul. 1 Maja 133 40-235 Katowice buyer → PartyRole (customer); Party jak wyżej
Fa/P_2 (numer faktury) FS-783004/26/MEPL1/02 identifier (invoice-number)
Fa/P_6 (data wystawienia) 2026-02-22 issueDate
Fa/P_1 (data sprzedaży) 2026-02-22 saleDate
Fa/KodWaluty PLN currency
Fa/P_13_1 (netto 23%) 812.20 totalNet; taxLine[0].netAmount
Fa/P_14_1 (VAT 23%) 186.80 totalVat; taxLine[0].vatAmount
Fa/P_15 (należność ogółem) 999.00 totalGross
FaWiersz: NrWierszaFa, P_7, P_8A, P_8B, P_9B, P_12 1, „Klawiatura APPLE…", szt, 1, 812.20 netto, 23% lines[0]: positionNo, description, quantity, unitPriceNet, netAmount, vatRate, vatAmount
Platnosc/FormaPlatnosci, DataZaplaty 6 (przelew), 2026-02-20 paymentMethod; data zapłaty w attribute (kod nadaje wdrożenie)
WarunkiTransakcji/NrZamowienia 02469444552 basedOn (referencja do zamówienia przez identifier)
(identyfikator KSeF z nazwy pliku) 7671004218-20260222-644401C00054-A6 identifier (ksef-number, system https://ksef.podatki.gov.pl)

Wartości netto/VAT: P_13_1 = 812,20 PLN (suma netto), P_14_1 = 186,80 PLN (VAT), P_15 = 999,00 PLN (brutto). Jedna pozycja: 1 szt × 812,20 = 812,20 netto, VAT 23% = 186,80.

3.2 Faktura jako Invoice (model kanoniczny)

{
  "resourceType": "Invoice",
  "id": "inv-ksef-7671004218-20260222",
  "meta": { "lastModified": "2026-02-22T14:14:40Z" },
  "identifier": [
    { "system": "urn:oid:2.999.2", "value": "FS-783004/26/MEPL1/02" },
    { "system": "https://ksef.podatki.gov.pl", "value": "7671004218-20260222-644401C00054-A6" }
  ],
  "type": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/warehouse/invoice-type", "code": "invoice", "display": "Faktura" }] },
  "issueDate": "2026-02-22",
  "saleDate": "2026-02-22",
  "seller": { "type": "PartyRole", "reference": "#partyRole-seller", "display": "TERG S.A." },
  "buyer": { "type": "PartyRole", "reference": "#partyRole-buyer", "display": "KAMSOFT SPÓŁKA AKCYJNA" },
  "totalNet": { "value": 812.20, "currency": "PLN" },
  "totalVat": { "value": 186.80, "currency": "PLN" },
  "totalGross": { "value": 999.00, "currency": "PLN" },
  "currency": "PLN",
  "paymentMethod": { "text": "przelew" },
  "ksefAcquisitionDate": "2026-02-22T14:14:40Z",
  "lines": [
    {
      "positionNo": 1,
      "description": "Klawiatura APPLE Magic Keyboard z Touch ID",
      "quantity": { "value": 1, "unit": "szt" },
      "unitPriceNet": { "value": 812.20, "currency": "PLN" },
      "netAmount": { "value": 812.20, "currency": "PLN" },
      "vatRate": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/vat-rate", "code": "23", "display": "23%" }] },
      "vatAmount": { "value": 186.80, "currency": "PLN" }
    }
  ],
  "taxLine": [
    {
      "vatRate": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/vat-rate", "code": "23", "display": "23%" }] },
      "netAmount": { "value": 812.20, "currency": "PLN" },
      "vatAmount": { "value": 186.80, "currency": "PLN" },
      "grossAmount": { "value": 999.00, "currency": "PLN" }
    }
  ],
  "basedOn": [
    { "type": "PurchaseOrder", "identifier": { "system": "urn:oid:2.999.3", "value": "02469444552" } }
  ],
  "contained": [
    {
      "resourceType": "Party",
      "id": "party-seller",
      "identifier": [{ "system": "https://gov.pl/nip", "value": "7671004218" }],
      "name": { "text": "TERG S.A." }
    },
    {
      "resourceType": "PartyRole",
      "id": "partyRole-seller",
      "party": { "type": "Party", "reference": "#party-seller" },
      "role": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/party-role", "code": "supplier", "display": "Wystawca" }] }
    },
    {
      "resourceType": "Party",
      "id": "party-buyer",
      "identifier": [{ "system": "https://gov.pl/nip", "value": "9542685559" }],
      "name": { "text": "KAMSOFT SPÓŁKA AKCYJNA" }
    },
    {
      "resourceType": "PartyRole",
      "id": "partyRole-buyer",
      "party": { "type": "Party", "reference": "#party-buyer" },
      "role": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/party-role", "code": "customer", "display": "Nabywca" }] }
    }
  ]
}

Uwagi do przykładu KSeF:

  • Numer KSeF z nazwy pliku (7671004218-20260222-644401C00054-A6) umieszczono w identifier z system = https://ksef.podatki.gov.pl.
  • P_13_1 / P_14_1 / P_15 z Fa: suma netto 812,20 PLN, VAT 186,80 PLN, należność ogółem 999,00 PLN — jedna pozycja (1 szt, cena jedn. netto 812,20, VAT 23%).
  • Indeks towaru (2044591) z FaWiersz: InvoicePosition nie ma pola attribute — indeks można przenieść w Invoice.attribute (element value[] wiążący numer wiersza z wartością; kod atrybutu nadaje wdrożenie) albo w productReference, gdy produkt jest w katalogu.
  • Platnosc: FormaPlatnosci 6 (przelew) — paymentMethod; kod sposobu zapłaty nadaje wdrożenie (słownik warehouse/payment-method).
  • NrZamowienia 02469444552 — basedOn z referencją do zamówienia przez identifier.

4. Przykład: druga faktura KSeF (ORLEN → KAMSOFT) — Invoice

Faktura z pliku 7740001454-20260217-85570C8000C8-4C.xml (ORLEN S.A. → KAMSOFT SPÓŁKA AKCYJNA): 8 wierszy (paliwa, płyny, usługi, opłaty autostradowe), w tym 3 pozycje z KwotaAkcyzy (GAZ, EFECTA DIESEL, EFECTA 95). Na poziomie dokumentu: P_13_1 (netto) 14 456,32 PLN, P_14_1 (VAT) 3 324,96 PLN, P_15 (brutto) 17 781,28 PLN; suma akcyzy z wierszy: 169,36 + 733,18 + 2 991,64 = 3 894,18 PLN. Dodatkowe elementy: MPP (mechanizm podzielonej płatności), rachunek bankowy, termin płatności, zamówienie.

4.1 Mapowanie wybranych pól KSeF → Invoice

Element KSeF Wartość Invoice
Podmiot1 NIP 7740001454, ORLEN S.A., Płock ul. Chemików 7 seller → PartyRole (supplier), contained Party
Podmiot2 NIP 9542685559, KAMSOFT SPÓŁKA AKCYJNA, Katowice 1 Maja 133 buyer → PartyRole (customer), contained Party
P_2 0491371089 identifier (invoice-number)
P_6 / P_1 2026-02-15 / 2026-02-17 issueDate, saleDate
P_13_1, P_14_1, P_15 14456.32, 3324.96, 17781.28 totalNet, totalVat, totalGross
KwotaAkcyzy (wiersze 1, 7, 8) 169.36, 733.18, 2991.64 lines[].exciseAmount
Suma akcyzy 3894.18 totalExcise
Platnosc: Termin, Forma 6, NrRB 2026-03-08, 6, PL74… dueDate, paymentMethod, paymentAccount
RachunekBankowy PL74124069606666000007114375 paymentAccount (Reference BankAccount)
DodatkowyOpis MPP „Mechanizm podzielonej płatności" splitPayment = true
NrZamowienia DZF00/02066/001/2005 basedOn
Id. KSeF (z pliku) 7740001454-20260217-85570C8000C8-4C identifier (ksef-number)

4.2 Faktura ORLEN jako Invoice — skrót pozycji

Nagłówek i dwie z ośmiu pozycji: jedna z akcyzą, jedna bez.

{
  "resourceType": "Invoice",
  "id": "inv-ksef-7740001454-20260217",
  "identifier": [
    { "system": "urn:oid:2.999.2", "value": "0491371089" },
    { "system": "https://ksef.podatki.gov.pl", "value": "7740001454-20260217-85570C8000C8-4C" }
  ],
  "type": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/warehouse/invoice-type", "code": "invoice" }] },
  "issueDate": "2026-02-15",
  "saleDate": "2026-02-17",
  "dueDate": "2026-03-08",
  "seller": { "type": "PartyRole", "reference": "#partyRole-seller", "display": "ORLEN S.A." },
  "buyer": { "type": "PartyRole", "reference": "#partyRole-buyer", "display": "KAMSOFT SPÓŁKA AKCYJNA" },
  "totalNet": { "value": 14456.32, "currency": "PLN" },
  "totalVat": { "value": 3324.96, "currency": "PLN" },
  "totalExcise": { "value": 3894.18, "currency": "PLN" },
  "totalGross": { "value": 17781.28, "currency": "PLN" },
  "currency": "PLN",
  "paymentMethod": { "text": "przelew" },
  "paymentAccount": { "type": "BankAccount", "identifier": { "system": "urn:oid:2.999.5", "value": "PL74124069606666000007114375" }, "display": "PL74124069606666000007114375" },
  "splitPayment": true,
  "ksefAcquisitionDate": "2026-02-17T18:56:27+01:00",
  "basedOn": [
    { "type": "PurchaseOrder", "identifier": { "system": "urn:oid:2.999.3", "value": "DZF00/02066/001/2005" } }
  ],
  "lines": [
    { "positionNo": 1, "description": "GAZ - OSOBOWE", "quantity": { "value": 457.46, "unit": "L" }, "netAmount": { "value": 1024.24, "currency": "PLN" }, "vatRate": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/vat-rate", "code": "23" }] }, "vatAmount": { "value": 235.57, "currency": "PLN" }, "exciseAmount": { "value": 169.36, "currency": "PLN" } },
    { "positionNo": 2, "description": "PŁYNY EKSPLOATACYJNE", "quantity": { "value": 20, "unit": "SZT" }, "netAmount": { "value": 625.85, "currency": "PLN" }, "vatRate": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/vat-rate", "code": "23" }] }, "vatAmount": { "value": 143.95, "currency": "PLN" } }
  ],
  "taxLine": [
    {
      "vatRate": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/vat-rate", "code": "23" }] },
      "netAmount": { "value": 14456.32, "currency": "PLN" },
      "vatAmount": { "value": 3324.96, "currency": "PLN" },
      "grossAmount": { "value": 17781.28, "currency": "PLN" }
    }
  ],
  "contained": [
    { "resourceType": "Party", "id": "party-seller", "identifier": [{ "system": "https://gov.pl/nip", "value": "7740001454" }], "name": { "text": "ORLEN S.A." } },
    { "resourceType": "PartyRole", "id": "partyRole-seller", "party": { "type": "Party", "reference": "#party-seller" }, "role": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/party-role", "code": "supplier" }] } },
    { "resourceType": "Party", "id": "party-buyer", "identifier": [{ "system": "https://gov.pl/nip", "value": "9542685559" }], "name": { "text": "KAMSOFT SPÓŁKA AKCYJNA" } },
    { "resourceType": "PartyRole", "id": "partyRole-buyer", "party": { "type": "Party", "reference": "#party-buyer" }, "role": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/party-role", "code": "customer" }] } }
  ]
}

Pozostałe 6 pozycji (3–8) dodaje się analogicznie; wiersze 7 i 8 zawierają exciseAmount (733,18 i 2 991,64 PLN). Kody GTU i indeksy towarów z KSeF nie mają pola na InvoicePosition — przenosi się je w Invoice.attribute według konwencji wdrożenia. Załącznik KSeF (tabele szczegółowe paliw) mapuje się na Invoice.attachment[] (Attachment: url lub data, contentType, title).


5. Odniesienia