e-Invoicing Centre/ Knowledge/ Required fields of an issued XML invoice
Client technical overview

Required fields of an issued XML invoice

Slovak e-Invoice · Peppol BIS Billing 3.0 · UBL 2.1

Version 1.10 · updated 16 July 2026
Scope
Standard issued invoice (InvoiceTypeCode 380), SK → SK
Source
Slovak Financial Administration: 2026.06.25_Peppol_Bis3_v1_10.xlsx
Intended for
Clients, accounting, ERP teams and integration vendors
Document status
16 July 2026 · practical implementation aid
Most important: there is no single flat list of fields that applies to every situation. You must distinguish the core of every invoice, fields required on every line, technical values generated by the system and fields that become mandatory only when a condition is met.

1. How to read field obligations

Cardinality 1..1 does not automatically mean that a field exists in every invoice. It often means that the field is mandatory inside a group that may itself be optional. This document therefore uses the following modes:

ModeMeaningExample
AlwaysThe field is part of the standard invoice core.BT-1 invoice number
LineThe field repeats and is mandatory for every InvoiceLine.BT-126 line identifier
ConditionThe field is mandatory only in a specific tax or business scenario.BT-120 for an exemption
SystemThe generator or integration should supply the value, not the user.BT-23 ProfileID
AlternativeAt least one of the stated options must be present.BT-10 or BT-13

2. Minimum core of a standard issued invoice

The following tables describe a common type 380 invoice. A credit note, corrective invoice, advance payment, reverse charge, exemption or intra-EU supply activates additional conditions.

2.1 Header and Peppol routing

Technical identifiers should be a fixed generator configuration.

Mode BT / field Field XML path and rule
System BT-24 Specification identifier /Invoice/cbc:CustomizationID
Use the profile required by the target SK/Peppol rule pack; the generator already uses the Peppol BIS Billing 3.0 value.
System BT-23 Process identifier /Invoice/cbc:ProfileID
Peppol requires a business process. Common value: urn:fdc:peppol.eu:2017:poacc:billing:01:1.0.
Always BT-1 Invoice number /Invoice/cbc:ID
Unique sequential invoice number.
Always BT-2 Issue date /Invoice/cbc:IssueDate
Format YYYY-MM-DD.
Always BT-3 Invoice type code /Invoice/cbc:InvoiceTypeCode
Use 380 for a standard invoice; the Slovak profile also supports corrective types according to its rules.
Always BT-5 Invoice currency /Invoice/cbc:DocumentCurrencyCode
ISO 4217, typically EUR.
Alternative BT-10 / BT-13 Buyer reference or purchase order /Invoice/cbc:BuyerReference or /Invoice/cac:OrderReference/cbc:ID
Peppol rule R003 requires at least one of these references.
Condition BT-9 / BT-20 Due date or payment terms /Invoice/cbc:DueDate or /Invoice/cac:PaymentTerms/cbc:Note
If payable amount BT-115 is greater than zero, at least one option must be present.
Condition BT-7 VAT point date /Invoice/cbc:TaxPointDate
State it when known and different from the issue date.

2.2 Seller

Do not mix Slovak identifiers: IČO, IČ DPH and DIČ/EndpointID belong to different XML fields.

Mode BT / field Field XML path and rule
Always BT-27 Seller name /Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName
Full legal name.
Always BT-34 Seller electronic address /Invoice/cac:AccountingSupplierParty/cac:Party/cbc:EndpointID
For Slovak scheme 0245 use the ten-digit DIČ without the SK prefix.
System BT-34-1 Electronic address scheme .../cbc:EndpointID/@schemeID
For a Slovak DIČ use schemeID="0245".
Always BT-35 Street and number .../cac:PostalAddress/cbc:StreetName
Mandatory element of a Slovak invoice.
Always BT-37 City .../cac:PostalAddress/cbc:CityName
Mandatory element of a Slovak invoice.
Always BT-38 Postcode .../cac:PostalAddress/cbc:PostalZone
Mandatory element of a Slovak invoice.
Always BT-40 Country code .../cac:PostalAddress/cac:Country/cbc:IdentificationCode
ISO 3166-1 alpha-2, for example SK.
Condition BT-30 Seller company number (IČO) .../cac:PartyLegalEntity/cbc:CompanyID
State it if assigned; use schemeID="0158" for IČO.
Condition BT-31 Seller VAT identifier (IČ DPH) .../cac:PartyTaxScheme/cbc:CompanyID
State it for a VAT-registered seller or when the VAT category requires it.
Condition BT-33 Legal form and register .../cac:PartyLegalEntity/cbc:CompanyLegalForm
According to Section 3a of the Slovak Commercial Code where applicable.

2.3 Buyer

The same separation of IČO, IČ DPH and Peppol EndpointID applies to a Slovak buyer.

Mode BT / field Field XML path and rule
Always BT-44 Buyer name /Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName
Full legal name or personal name.
Always BT-49 Buyer electronic address /Invoice/cac:AccountingCustomerParty/cac:Party/cbc:EndpointID
Peppol routing address; for scheme 0245 use the ten-digit DIČ without SK.
System BT-49-1 Electronic address scheme .../cbc:EndpointID/@schemeID
For a Slovak DIČ use schemeID="0245".
Always BT-50 Street and number .../cac:PostalAddress/cbc:StreetName
Mandatory element of a Slovak invoice.
Always BT-52 City .../cac:PostalAddress/cbc:CityName
Mandatory element of a Slovak invoice.
Always BT-53 Postcode .../cac:PostalAddress/cbc:PostalZone
Mandatory element of a Slovak invoice.
Always BT-55 Country code .../cac:PostalAddress/cac:Country/cbc:IdentificationCode
ISO 3166-1 alpha-2.
Condition BT-47 Buyer company number (IČO) .../cac:PartyLegalEntity/cbc:CompanyID
State it if assigned; schemeID="0158".
Condition BT-48 Buyer VAT identifier (IČ DPH) .../cac:PartyTaxScheme/cbc:CompanyID
State it if assigned or required by the VAT treatment.

2.4 Payment

For an ordinary bank transfer, keep all three principal fields in the ERP data model.

Mode BT / field Field XML path and rule
Condition BT-81 Payment means code /Invoice/cac:PaymentMeans/cbc:PaymentMeansCode
Required when payment instructions are supplied. Code 30 is typically used for a bank transfer.
Condition BT-83 Payment reference /Invoice/cac:PaymentMeans/cbc:PaymentID
Variable symbol or another payment reference.
Condition BT-84 IBAN / account identifier /Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount/cbc:ID
Mandatory for a transfer when the bank account group is used.
Condition BT-86 BIC /Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cbc:ID
Optional depending on the payment scenario and bank.

2.5 Every invoice line

These fields repeat for every cac:InvoiceLine element.

Mode BT / field Field XML path and rule
Line BT-126 Line identifier /Invoice/cac:InvoiceLine/cbc:ID
Unique within the invoice.
Line BT-129 Invoiced quantity .../cbc:InvoicedQuantity
Numeric value; the Slovak FA allows at most four decimal places.
Line BT-130 Unit of measure code .../cbc:InvoicedQuantity/@unitCode
UN/ECE Rec20/21, for example C62.
Line BT-131 Invoice line net amount .../cbc:LineExtensionAmount
Excluding VAT, after line allowances and charges.
Line BT-146 Item net price .../cac:Price/cbc:PriceAmount
Price per unit excluding VAT after discount.
Line BT-153 Item name .../cac:Item/cbc:Name
Type of goods or services.
Line BT-151 Item VAT category .../cac:Item/cac:ClassifiedTaxCategory/cbc:ID
For example S, Z, E, AE, IC, G or O depending on the scenario.
Condition BT-152 Item VAT rate .../cac:Item/cac:ClassifiedTaxCategory/cbc:Percent
Greater than zero for a standard rate, zero for certain 0% treatments and omitted for O.
System atribút / attribute Currency of amount fields .../cbc:*Amount/@currencyID
Must match BT-5, typically EUR.

2.6 Totals and VAT breakdown

Totals must reconcile mathematically with lines, allowances, charges, paid amounts and rounding.

Mode BT / field Field XML path and rule
Always BT-106 Sum of invoice line net amounts /Invoice/cac:LegalMonetaryTotal/cbc:LineExtensionAmount
Sum of all BT-131 values.
Condition BT-107 Sum of document-level allowances .../cbc:AllowanceTotalAmount
State it when document-level allowances exist.
Condition BT-108 Sum of document-level charges .../cbc:ChargeTotalAmount
State it when document-level charges exist.
Always BT-109 Invoice total excluding VAT .../cbc:TaxExclusiveAmount
BT-106 minus BT-107 plus BT-108.
Always BT-110 Invoice total VAT amount /Invoice/cac:TaxTotal/cbc:TaxAmount
Sum of VAT amounts from all BT-117 breakdowns.
Always BT-112 Invoice total including VAT .../cbc:TaxInclusiveAmount
BT-109 plus BT-110.
Condition BT-113 Paid amount .../cbc:PrepaidAmount
When an advance or another paid amount is deducted.
Condition BT-114 Rounding amount .../cbc:PayableRoundingAmount
When rounding of the payable amount is used.
Always BT-115 Amount due for payment .../cbc:PayableAmount
BT-112 minus BT-113 plus BT-114.
Always BT-116 VAT category taxable amount /Invoice/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount
One breakdown for every category and rate combination.
Always BT-117 VAT category tax amount .../cac:TaxSubtotal/cbc:TaxAmount
Usually zero for an exemption or reverse charge.
Always BT-118 VAT category code .../cac:TaxSubtotal/cac:TaxCategory/cbc:ID
Must match the categories used on invoice lines.
Condition BT-119 VAT category rate .../cac:TaxSubtotal/cac:TaxCategory/cbc:Percent
Required except when the invoice is outside the scope of VAT.
Condition BT-120 / BT-121 Exemption reason or code .../cac:TaxCategory/cbc:TaxExemptionReason or TaxExemptionReasonCode
Mandatory for exemptions, reverse charge and other 0% treatments as required by the rules.

3. Fields that become mandatory depending on the scenario

3.1 Business and tax triggers

These are the most frequent business and tax scenarios that change the minimum XML scope.

Mode BT / field Field XML path and rule
Condition BT-6 + BT-111 VAT accounting currency /Invoice/cbc:TaxCurrencyCode + second cac:TaxTotal/cbc:TaxAmount
When the VAT accounting currency differs from the invoice currency.
Condition BT-25 / BT-26 Reference to the preceding invoice /Invoice/cac:BillingReference/cac:InvoiceDocumentReference/...
For a corrective document, credit note or debit note.
Condition BT-59 Payee name /Invoice/cac:PayeeParty/cac:PartyName/cbc:Name
When the payee differs from the seller.
Condition BT-62 – BT-69 Seller tax representative /Invoice/cac:TaxRepresentativeParty/...
When a foreign seller is represented by a tax representative; name, VAT ID and country are mandatory, with the Slovak address required by the source.
Condition BT-72 / BG-14 Delivery date or invoicing period /Invoice/cac:Delivery/cbc:ActualDeliveryDate or /Invoice/cac:InvoicePeriod
Especially for intra-EU supplies, metered services or period invoicing.
Condition BT-75 – BT-80 Deliver-to address /Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/...
When a delivery location is stated; the country code is mandatory within the group.
Condition BT-92 – BT-98 Document-level allowance /Invoice/cac:AllowanceCharge[cbc:ChargeIndicator='false']/...
If an allowance exists: amount, VAT category and reason or reason code.
Condition BT-99 – BT-105 Document-level charge /Invoice/cac:AllowanceCharge[cbc:ChargeIndicator='true']/...
If a charge exists: amount, VAT category and reason or reason code.
Condition BT-136 – BT-140 Invoice line allowance /Invoice/cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator='false']/...
When the discount was not applied directly in the unit price.
Condition BT-141 – BT-145 Invoice line charge /Invoice/cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator='true']/...
When a charge is applied to a specific invoice line.
Condition BT-122 – BT-125 Supporting document / attachment /Invoice/cac:AdditionalDocumentReference/...
When a reference or binary attachment is added; the reference is mandatory and an embedded file needs a MIME type and filename.
Condition BT-157 / BT-158 Item identifier scheme .../cac:Item/.../@schemeID
Mandatory only when a standard or classification identifier is provided.
Condition BT-160 / BT-161 Item attribute .../cac:Item/cac:AdditionalItemProperty/...
If an item property is used, it must have both a name and a value.

3.2 Most common VAT treatments

ScenarioKey codesAdditional checks
Standard rateBT-151/118 = SSeller BT-31; BT-152 and BT-119 > 0; VAT is calculated from the taxable amount.
Reverse chargeAESeller and buyer identifiers, zero rate, zero VAT and BT-120 or BT-121 with a reverse-charge reason.
VAT exemptionEZero VAT and a mandatory exemption reason or code.
Intra-EU supplyICVAT IDs of both parties, delivery date or period, destination country and exemption reason.
ExportGZero VAT and the relevant reason or code; check delivery data.
Outside scope of VAT / non-taxable personOExactly one O breakdown; omit VAT IDs and rates where rules prohibit them; the reason must be consistent.

4. Slovak identifiers: what belongs where

Slovak identifiers have different meanings and must not be mapped into one universal field.

IdentifierSellerBuyerUBL path / scheme
IČO — Slovak company numberBT-30BT-47cac:PartyLegalEntity/cbc:CompanyID, schemeID="0158"
IČ DPH — Slovak VAT IDBT-31BT-48cac:PartyTaxScheme/cbc:CompanyID, value SK + 10 digits
DIČ as the Peppol addressBT-34BT-49cbc:EndpointID, schemeID="0245", 10 digits without the SK prefix
Warning: the Slovak company number (IČO) is not a Peppol EndpointID. Do not add the UBL element cbc:UUID either. Any transport or internal UUID is technical metadata outside the business content of the invoice.

5. Shortened XML skeleton of a standard invoice

The skeleton is deliberately shortened. It shows where the principal data belongs; a production document must pass XSD, EN 16931, Peppol and SK CIUS rules.

UBL 2.1 · shortened skeleton
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
  xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
  xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2">
  <cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
  <cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
  <cbc:ID>{{invoice_number}}</cbc:ID>
  <cbc:IssueDate>{{YYYY-MM-DD}}</cbc:IssueDate>
  <cbc:DueDate>{{YYYY-MM-DD}}</cbc:DueDate>
  <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
  <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
  <cbc:BuyerReference>{{buyer_reference}}</cbc:BuyerReference>

  <cac:AccountingSupplierParty>
    <cac:Party>
      <cbc:EndpointID schemeID="0245">{{seller_DIC_without_SK}}</cbc:EndpointID>
      <cac:PostalAddress>
        <cbc:StreetName>{{street}}</cbc:StreetName>
        <cbc:CityName>{{city}}</cbc:CityName>
        <cbc:PostalZone>{{postal_code}}</cbc:PostalZone>
        <cac:Country><cbc:IdentificationCode>SK</cbc:IdentificationCode></cac:Country>
      </cac:PostalAddress>
      <cac:PartyTaxScheme>
        <cbc:CompanyID>{{seller_IC_DPH}}</cbc:CompanyID>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:PartyTaxScheme>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>{{seller_name}}</cbc:RegistrationName>
        <cbc:CompanyID schemeID="0158">{{seller_ICO}}</cbc:CompanyID>
      </cac:PartyLegalEntity>
    </cac:Party>
  </cac:AccountingSupplierParty>

  <cac:AccountingCustomerParty>
    <cac:Party>
      <cbc:EndpointID schemeID="0245">{{buyer_DIC_without_SK}}</cbc:EndpointID>
      <!-- address, VAT ID and PartyLegalEntity follow the same pattern as for the supplier -->
    </cac:Party>
  </cac:AccountingCustomerParty>

  <cac:PaymentMeans>
    <cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
    <cbc:PaymentID>{{payment_reference}}</cbc:PaymentID>
    <cac:PayeeFinancialAccount><cbc:ID>{{IBAN}}</cbc:ID></cac:PayeeFinancialAccount>
  </cac:PaymentMeans>

  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="EUR">{{VAT_total}}</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="EUR">{{tax_base}}</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="EUR">{{VAT_amount}}</cbc:TaxAmount>
      <cac:TaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>23</cbc:Percent>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>

  <cac:LegalMonetaryTotal>
    <cbc:LineExtensionAmount currencyID="EUR">{{BT-106}}</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="EUR">{{BT-109}}</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="EUR">{{BT-112}}</cbc:TaxInclusiveAmount>
    <cbc:PayableAmount currencyID="EUR">{{BT-115}}</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>

  <cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="C62">{{quantity}}</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">{{line_net}}</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Name>{{item_name}}</cbc:Name>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>S</cbc:ID><cbc:Percent>23</cbc:Percent>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
    </cac:Item>
    <cac:Price><cbc:PriceAmount currencyID="EUR">{{unit_net_price}}</cbc:PriceAmount></cac:Price>
  </cac:InvoiceLine>
</Invoice>

6. Fields marked by the Financial Administration as conditionally required

The following list comes from the v1.10 column “Mandatory invoice requirement under Slovak legislation”. The trigger is summarised for implementation; detailed validator rules always take precedence.

BTFieldPractical triggerSource note
BT-6VAT accounting currency codeWhen the VAT accounting currency differs from the invoice currency.According to the rule and business-group context.
BT-7VAT point dateWhen known and different from the issue date.§ 74 ods. 1 písm. d)
BT-30Seller legal registration identifierIf the seller has been assigned an IČO.Required if the entity was assigned an IČO.
BT-30-1Scheme identifierWhen BT-30 is present; identifies its scheme.Required if the entity was assigned an IČO.
BT-31Seller VAT identifierIf a VAT ID was assigned or the VAT treatment requires it.Required if a VAT identifier was assigned.
BT-33Additional seller legal information — legal formWhen legal-form or register information applies to the business.Section 3a of the Slovak Commercial Code: a business states the legally required registration information on business documents.
BT-47Buyer legal registration identifierIf the buyer has been assigned an IČO.Required if the entity was assigned an IČO.
BT-47-1Scheme identifierWhen BT-47 is present; identifies its scheme.Required if the entity was assigned an IČO.
BT-48Buyer VAT identifierIf a VAT ID was assigned or the VAT treatment requires it.Required if a VAT identifier was assigned.
BT-64Tax representative address line 1When a tax representative participates in the transaction.Tax representative address under Slovak legislative requirements.
BT-66Tax representative cityWhen a tax representative participates in the transaction.Tax representative address under Slovak legislative requirements.
BT-67Tax representative postcodeWhen a tax representative participates in the transaction.Tax representative address under Slovak legislative requirements.
BT-119VAT category rateWhen the VAT category requires a rate, except where the invoice is outside the scope of VAT.§ 74 ods. 1 písm. h)
BT-120VAT exemption reason textFor an exemption, reverse charge or another treatment requiring a textual reason.§ 74 ods. 1 písm. h)
BT-148Item gross priceWhen a gross price is used and the discounted net price is derived from it.If the net price is not provided directly, the gross price and discount are required.

7. Delivery checklist for the client or ERP vendor

CheckAcceptance criterionOwner
IdentifiersIČO, IČ DPH and DIČ/EndpointID are three separate fields mapped to the correct BTs.ERP master data
HeaderThe generator supplies BT-23, BT-24, BT-1, BT-2, BT-3, BT-5 and BT-10 or BT-13.ERP / integration
PartiesSupplier and customer both have an EndpointID with schemeID and a complete postal address.Master data
LinesEvery line contains BT-126, 129, 130, 131, 146, 151, 153 and the correct rate for the treatment.Invoicing
VAT and totalsBT-106/109/110/112/115 and every VAT breakdown reconcile mathematically with the lines.ERP / accounting
ConditionsReverse charge, exemptions, intra-EU supplies, allowances, charges and attachments activate the relevant fields.Tax / integration
ValidationXML passes XSD, EN 16931, Peppol BIS and SK CIUS; production sending is fail-closed.Integration

8. Sources and document boundaries

Primary local source
2026.06.25_Peppol_Bis3_v1_10.xlsx
Slovak Financial Administration
financnasprava.sk · eFaktúra · InfoSW
Peppol BIS Billing 3.0
docs.peppol.eu/poacc/billing/3.0/
Internal alignment
peppol-issued-invoice-atomic-bt-map.md · efaktura-bt-human-fields.md · VerifyEU production validation rules
This document is an implementation aid, not a legal opinion. After any change in legislation or the rule pack, re-check the current source version and validation.

Verify that your XML actually meets these rules

The validator checks UBL XSD, EN 16931, Peppol BIS and Slovak SK CIUS rules and explains errors in plain language.