EN16931 JSON struktūra
Šiame skyriuje aprašoma EN16931 JSON sąskaitos faktūros struktūra pagal Europos normos semantinį modelį.
Apžvalga
EN16931 yra Europos standartas elektroninėms sąskaitoms faktūroms, kuris apibrėžia semantinį duomenų modelį elektroninėms sąskaitoms faktūroms. Šis dokumentas paaiškina savybes ir jų galiojančias parinktis pagal EN16931 specifikaciją.
EN16931 standarto dokumentacija
JSON pavyzdžiai
Kiekinės eilutės
{
"ublVersionId": "2.1",
"customizationId": "urn:cen.eu:en16931:2017",
"profileId": "urn:fdc:peppol.eu:2017:poacc:billing:01:1.0",
"id": "INV-2025-001",
"issueDate": "2025-10-01",
"invoiceTypeCode": "380",
"documentCurrencyCode": "EUR",
"note": ["Sąskaita faktūra išrašyta pagal EN16931"],
"additionalDocumentReference": [
{
"id": "PO-5678",
"documentTypeCode": "50"
}
],
"purchaseOrderReference": {
"id": "PO-5678"
},
"accountingSupplierParty": {
"party": {
"partyName": "UAB Tiekėjas",
"partyIdentification": {
"id": {
"value": "123456789",
"schemeId": "0088"
}
},
"partyTaxScheme": {
"companyId": "LT123456789",
"taxSchemeId": "VAT"
},
"postalAddress": {
"streetName": "Tiekėjo gatvė 1",
"cityName": "Vilnius",
"postalZone": "LT-01100",
"country": {
"identificationCode": "LT",
"name": "Lietuva"
}
},
"contact": {
"name": "Jonas Tiekėjas",
"telephone": "+37061234567",
"electronicMail": "info@tiekejas.lt"
}
}
},
"accountingCustomerParty": {
"party": {
"partyName": "UAB Klientas",
"partyIdentification": {
"id": {
"value": "987654321",
"schemeId": "0088"
}
},
"partyTaxScheme": {
"companyId": "LT987654321",
"taxSchemeId": "VAT"
},
"postalAddress": {
"streetName": "Kliento gatvė 10",
"cityName": "Klaipėda",
"postalZone": "LT-44200",
"country": {
"identificationCode": "LT",
"name": "Lietuva"
}
},
"contact": {
"name": "Petras Klientas",
"telephone": "+37061239876",
"electronicMail": "info@klientas.lt"
}
}
},
"invoiceLine": [
{
"id": "1",
"invoicedQuantity": {
"value": 10,
"unitCode": "C62"
},
"lineExtensionAmount": {
"value": 100,
"currencyId": "EUR"
},
"item": {
"name": "Prekė A",
"description": "Pavyzdinė prekė"
},
"price": {
"priceAmount": {
"value": 10,
"currencyId": "EUR"
}
},
"taxTotal": {
"taxAmount": {
"value": 21,
"currencyId": "EUR"
},
"taxSubtotal": [
{
"taxableAmount": {
"value": 100,
"currencyId": "EUR"
},
"taxAmount": {
"value": 21,
"currencyId": "EUR"
},
"taxCategory": {
"id": "S",
"percent": 21,
"taxScheme": {
"id": "VAT"
}
}
}
]
}
}
],
"legalMonetaryTotal": {
"lineExtensionAmount": {
"value": 100,
"currencyId": "EUR"
},
"taxExclusiveAmount": {
"value": 100,
"currencyId": "EUR"
},
"taxInclusiveAmount": {
"value": 121,
"currencyId": "EUR"
},
"payableAmount": {
"value": 121,
"currencyId": "EUR"
}
},
"taxTotal": [
{
"taxAmount": {
"value": 21,
"currencyId": "EUR"
},
"taxSubtotal": [
{
"taxableAmount": {
"value": 100,
"currencyId": "EUR"
},
"taxAmount": {
"value": 21,
"currencyId": "EUR"
},
"taxCategory": {
"id": "S",
"percent": 21,
"taxScheme": {
"id": "VAT"
}
}
}
]
}
]
}Suminės eilutės
{
"ublVersionId": "2.1",
"customizationId": "urn:cen.eu:en16931:2017",
"profileId": "urn:fdc:peppol.eu:2017:poacc:billing:01:1.1",
"id": "INV-2025-AGG",
"issueDate": "2025-10-01",
"invoiceTypeCode": "380",
"documentCurrencyCode": "EUR",
"accountingSupplierParty": {
"party": {
"partyName": "UAB Tiekėjas",
"partyIdentification": { "id": { "value": "123456789", "schemeId": "0088" } },
"partyTaxScheme": { "companyId": "LT123456789", "taxSchemeId": "VAT" },
"postalAddress": { "streetName": "Tiekėjo gatvė 1", "cityName": "Vilnius", "postalZone": "LT-01100", "country": { "identificationCode": "LT", "name": "Lietuva" } },
"contact": { "name": "Jonas Tiekėjas", "telephone": "+37061234567", "electronicMail": "info@tiekejas.lt" }
}
},
"accountingCustomerParty": {
"party": {
"partyName": "UAB Klientas",
"partyIdentification": { "id": { "value": "987654321", "schemeId": "0088" } },
"partyTaxScheme": { "companyId": "LT987654321", "taxSchemeId": "VAT" },
"postalAddress": { "streetName": "Kliento gatvė 10", "cityName": "Kaunas", "postalZone": "LT-44200", "country": { "identificationCode": "LT", "name": "Lietuva" } },
"contact": { "name": "Petras Klientas", "telephone": "+37061239876", "electronicMail": "info@klientas.lt" }
}
},
"invoiceLine": [
{
"id": "Aggregated-001",
"invoicedQuantity": { "value": 1, "unitCode": "LS" },
"lineExtensionAmount": { "value": 1000, "currencyId": "EUR" },
"item": { "name": "Suminė prekė C", "description": null },
"price": { "priceAmount": { "value": 0, "currencyId": "EUR" } },
"taxTotal": {
"taxAmount": { "value": 210, "currencyId": "EUR" },
"taxSubtotal": [
{
"taxableAmount": { "value": 1000, "currencyId": "EUR" },
"taxAmount": { "value": 210, "currencyId": "EUR" },
"taxCategory": { "id": "S", "percent": 21, "taxScheme": { "id": "VAT" } }
}
]
},
"totalPriceGross": { "value": 1210, "currencyId": "EUR" }
}
],
"legalMonetaryTotal": {
"lineExtensionAmount": { "value": 1000, "currencyId": "EUR" },
"taxExclusiveAmount": { "value": 1000, "currencyId": "EUR" },
"taxInclusiveAmount": { "value": 1210, "currencyId": "EUR" },
"payableAmount": { "value": 1210, "currencyId": "EUR" }
},
"taxTotal": [
{
"taxAmount": { "value": 210, "currencyId": "EUR" },
"taxSubtotal": [
{
"taxableAmount": { "value": 1000, "currencyId": "EUR" },
"taxAmount": { "value": 210, "currencyId": "EUR" },
"taxCategory": { "id": "S", "percent": 21, "taxScheme": { "id": "VAT" } }
}
]
}
]
}1. Pagrindinis sąskaitos faktūros objektas
type En16931Invoice = {
ublVersionId: string
customizationId: string
profileId?: string
id: string
issueDate: string
invoiceTypeCode: string
documentCurrencyCode: string
note?: string[]
additionalDocumentReference?: AdditionalDocumentReference[]
purchaseOrderReference?: PurchaseOrderReference
accountingSupplierParty: Party
accountingCustomerParty: Party
invoiceLine: InvoiceLine[]
legalMonetaryTotal: MonetaryTotal
taxTotal?: TaxTotal[]
}1.1 Semantiniai identifikatoriai
ublVersionId
string
✅
"2.1"
Naudojamos UBL (Universal Business Language) specifikacijos versija
customizationId
string
✅
"urn:cen.eu:en16931:2017"
Identifikuoja UBL specifikacijos pritaikymą (pvz., EN16931, XRechnung, PEPPOL)
profileId
string
❌
"urn:fdc:peppol.eu:2017:poacc:billing:01:1.0"
Identifikuoja verslo proceso profilį
1.2 Sąskaitos faktūros metaduomenys
id
string
✅
"INV-2025-001"
Unikalus sąskaitos faktūros numeris tiekėjo sistemoje
issueDate
string (YYYY-MM-DD)
✅
"2025-10-01"
Data, kada buvo išrašyta sąskaita faktūra
invoiceTypeCode
string
✅
"380" (standartinė sąskaita), "381" (kreditinė), "383" (debetinė), "325"(išankstinė), "393" (kvitas)
Sąskaitos tipas
documentCurrencyCode
string
✅
"EUR", "USD", "GBP"
Sąskaitoje naudojamos valiutos kodas (ISO 4217)
2. Dokumento nuorodos
2.1 Papildomos nuorodos
type AdditionalDocumentReference = {
id: string
documentTypeCode?: string
}id
string
"PO-1234"
Dokumento identifikatorius
documentTypeCode
string
"130", "50"
Dokumento nuorodos tipas
2.2 Pirkimo užsakymo nuoroda
type PurchaseOrderReference = {
id: string
}id
string
"PO-5678"
3. Šalių informacija (Kontrahentai)
Tiekėjo ir kliento struktūra yra vienoda:
type Party = {
partyName: string
partyIdentification?: PartyIdentification
partyTaxScheme?: PartyTaxScheme
postalAddress?: PostalAddress
contact?: Contact
}Svarbiausi laukai:
partyName– juridinis pavadinimaspartyIdentification– PVM ar registracijos numeriaipartyTaxScheme– mokesčių schema (VAT,GST)postalAddress– adresas (miestas, šalis, pašto kodas)contact– telefono nr., el. paštas
4. Sąskaitos faktūros eilutės
Pagrindiniai elementai:
id– eilutės identifikatoriusinvoicedQuantity– kiekis + vienetai (C62,KGM,LTR)lineExtensionAmount– eilutės suma be mokesčiųitem– prekės/paslaugos informacijaprice– vieneto kainaallowanceCharge– nuolaidos ar papildomi mokesčiaitaxTotal– eilutės mokesčių informacija
5. Piniginės sumos (MonetaryTotal)
lineExtensionAmount
Visų eilučių suma be mokesčių
taxExclusiveAmount
Suma be mokesčių
taxInclusiveAmount
Suma su mokesčiais
payableAmount
Mokėtina suma (privaloma)
6. Mokesčių informacija
taxAmount– bendra mokesčių sumataxSubtotal– detalizacija pagal kategorijas:S– standartinis tarifasZ– 0% tarifasE– atleidimas nuo PVMAE– atvirkštinis PVM
7. Papildomi plėtiniai
Mūsų išplėstas standartas leidžia naudoti papildomus laukus:
Eilutės lygmuo
warehouseCode– sandėlio kodasexpensesCode– išlaidų kategorijavatCode– PVM klasifikacija
assetCode- turto klasifikacijos kodasproductCode- produkto kodasgroupCode- produkto grupės kodas
Kainų lygmuo
unitVatAmount– PVM suma už vienetąunitPriceGross– bruto vieneto kainatotalPriceGross– bruto eilutės suma
Bendrųjų duomenų lygmuo
totalVatAmount– bendras PVMtotalAmountGross– bendra bruto sumatotalAmountGrossInWords– suma žodžiaistotalPayAmountInWords– mokėtina suma žodžiais
Last updated