Rýchla odpoveď

UBL XML faktúra je dátový dokument, nie vizuálny PDF súbor. Obsahuje presné elementy pre číslo faktúry, dátum, menu, dodávateľa, odberateľa, položky, DPH a sumy. Peppol BIS Billing 3.0 používa UBL syntax a dopĺňa ju o obchodné pravidlá.

Nižšie je zámerne neúplný vzdelávací fragment, ktorý má slúžiť na orientáciu, nie ako kopírovateľná produkčná šablóna. K 12. septembru 2026 je povinný Peppol BIS Billing release 3.0.21 a slovenská transpozícia má verziu 1.11. Kompletný dokument validujte voči obom vrstvám.

Hodnoty strán sú syntetické. Sadzba 19 % je prevzatá z referenčného výpočtového príkladu; článok neurčuje daňové zatriedenie uvedeného ilustračného produktu.

Zjednodušený príklad

<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
         xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
         xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
  <cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:peppol.eu:poacc:billing:3.0</cbc:CustomizationID>
  <cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
  <cbc:ID>2027-001</cbc:ID>
  <cbc:IssueDate>2027-01-10</cbc:IssueDate>
  <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
  <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
  <cbc:BuyerReference>OBJ-1001</cbc:BuyerReference>

  <cac:AccountingSupplierParty>
    <cac:Party>
      <cbc:EndpointID schemeID="0245">1234567890</cbc:EndpointID>
      <cac:PartyName><cbc:Name>Dodávateľ s.r.o.</cbc:Name></cac:PartyName>
      <cac:PostalAddress>
        <cbc:StreetName>Hlavná 1</cbc:StreetName>
        <cbc:CityName>Bratislava</cbc:CityName>
        <cbc:PostalZone>81101</cbc:PostalZone>
        <cac:Country><cbc:IdentificationCode>SK</cbc:IdentificationCode></cac:Country>
      </cac:PostalAddress>
    </cac:Party>
  </cac:AccountingSupplierParty>

  <cac:AccountingCustomerParty>
    <cac:Party>
      <cbc:EndpointID schemeID="0245">0987654321</cbc:EndpointID>
      <cac:PartyName><cbc:Name>Odberateľ s.r.o.</cbc:Name></cac:PartyName>
    </cac:Party>
  </cac:AccountingCustomerParty>

  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="EUR">27.90</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="EUR">146.85</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="EUR">27.90</cbc:TaxAmount>
      <cac:TaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>19</cbc:Percent>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>

  <cac:LegalMonetaryTotal>
    <cbc:LineExtensionAmount currencyID="EUR">146.85</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="EUR">146.85</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="EUR">174.75</cbc:TaxInclusiveAmount>
    <cbc:PayableAmount currencyID="EUR">174.75</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>

  <cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="C62">25</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">146.85</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Name>Isolation plate 60x100</cbc:Name>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>19</cbc:Percent>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
    </cac:Item>
    <cac:Price>
      <cbc:PriceAmount currencyID="EUR">5.8739495798</cbc:PriceAmount>
    </cac:Price>
  </cac:InvoiceLine>
</Invoice>

Čo tento príklad ukazuje

Príklad ukazuje základnú štruktúru. Nie je to kompletná šablóna pre všetky slovenské faktúry. Produkčná faktúra musí zohľadniť konkrétny obchodný scenár, identifikátory, daňovú kategóriu, prípadné zľavy, poplatky, platobné údaje a slovenské pravidlá.

Fragment zámerne neobsahuje všetky údaje, ktoré môžu byť povinné podľa konkrétneho scenára, napríklad právnu a daňovú identifikáciu strán, splatnosť, platobný účet či úplnú adresu kupujúceho. Preto ho samostatne nepovažujte za validnú slovenskú faktúru.

Hodnota CustomizationID stále obsahuje reťazec en16931:2017, pretože ho používa aktuálny profil Peppol BIS Billing 3.0.21. Vydanie EN 16931-1:2026 v máji 2026 tento identifikátor automaticky nezmenilo; Európska komisia uvádza pre verziu 2017 migračné obdobie.

Najdôležitejšie bloky

BlokÚloha
CustomizationIDurčuje profil a kompatibilitu s EN 16931 / Peppol BIS
ProfileIDurčuje obchodný proces
AccountingSupplierPartypredávajúci
AccountingCustomerPartykupujúci
TaxTotalcelková DPH a rozpis dane
LegalMonetaryTotalsúhrn peňažných súm
InvoiceLinepoložky faktúry

Prečo je XML lepšie ako PDF pre automatizáciu

PDF faktúra vyzerá dobre človeku. XML faktúra je čitateľná pre systém. Účtovný softvér vie z XML priamo načítať dodávateľa, odberateľa, sumu, DPH, položky a dátumy. To umožňuje automatické zaúčtovanie, schvaľovanie a kontrolu.

Čo treba testovať

Pri implementácii netestujte iba jednu jednoduchú faktúru. Otestujte aj:

  • dobropis,
  • zľavu na položke,
  • zľavu na dokumente,
  • viac sadzieb DPH,
  • oslobodené plnenie,
  • prenesenie daňovej povinnosti,
  • prílohy,
  • zaokrúhlenie,
  • faktúru bez objednávky, ale s buyer reference.

Testy spúšťajte v určenom testovacom prostredí so syntetickými subjektmi a dokladmi. Po validácii uložte verziu pravidiel aj úplný výsledok; samotný úspech v testbede nepreukazuje produkčný zápis účastníka ani aktivovaný reporting.

Zhrnutie

UBL XML faktúra je jadro elektronickej fakturácie. Ak je správne vytvorená a validovaná, CPDS ju vie doručiť a odberateľský systém spracovať. Najväčšou chybou je brať XML ako prílohu k PDF. V novom modeli je XML hlavný dokument a PDF je len voliteľný náhľad.

Praktická kontrola XML

Syntetický príklad môžete overiť vo verejnom validátore ePošťáka, služby z rovnakej skupiny ako CPDS.sk. Výsledok vždy čítajte spolu s rozsahom a verziou použitých pravidiel. Úspešná kontrola XML nepotvrdzuje dostupnosť príjemcu, doručenie ani prijatie faktúry odberateľom.