UBL 2.1 XML formāts
Tehniskais formāts aiz PEPPOL rēķiniem. Saprotiet, kā jūsu rēķina dati ir strukturēti mašīnu savstarpējai komunikācijai.
Kas ir UBL?
UBL (Universal Business Language) ir starptautisks standarts biznesa dokumentu, piemēram, rēķinu, strukturēšanai. Domājiet par to kā par precīzu veidni, kas pasaka datoriem precīzi, kur atrast katru informācijas daļu — rēķina numuru, summas, PVN, pārdevēja detaļas un tā tālāk.
Kad jūs veidojat rēķinu aiDoks, mēs automātiski konvertējam jūsu datus šajā UBL XML formātā. Tas nodrošina, ka jebkura sistēma, kas saņem jūsu rēķinu, var to pareizi nolasīt, neatkarīgi no izmantotās programmatūras.
aiDoks automātiski ģenerē perfektu UBL XML no jūsu ievades. Šī lapa ir tiem, kas vēlas saprast, kas notiek aizkulisēs, vai tiem, kas strādā ar nepilnīgiem failiem.
Rēķina struktūra īsumā
Katrs PEPPOL rēķins satur šīs galvenās sadaļas šādā secībā:
Galveno elementu skaidrojums
Lūk, vissvarīgākās UBL rēķina daļas un kas tās satur:
<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>Šie identifikatori paziņo saņemošajām sistēmām, ka šis ir PEPPOL BIS 3.0 atbilstošs rēķins. Tie ir vienmēr vienādi standarta rēķiniem — aiDoks tos pievieno automātiski.
<cbc:ID>INV-2025-001</cbc:ID>
<cbc:IssueDate>2025-01-29</cbc:IssueDate>
<cbc:DueDate>2025-02-28</cbc:DueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>Jūsu rēķina numurs, izsniegšanas datums, termiņš, tips (380 = standarta rēķins) un valūta. Datumiem jābūt YYYY-MM-DD formātā.
<cac:AccountingSupplierParty> <cac:Party> <cbc:EndpointID schemeID="0191">EE123456789</cbc:EndpointID> <cac:PartyName> <cbc:Name>Your Company OÜ</cbc:Name> </cac:PartyName> <!-- Address, VAT number, registration... --> </cac:Party>
</cac:AccountingSupplierParty>Jūsu uzņēmuma detaļas. EndpointID ar schemeID ir jūsu PEPPOL dalībnieka identifikators — tā tīkls zina, kur piegādāt atbildes.
<cac:InvoiceLine> <cbc:ID>1</cbc:ID> <cbc:InvoicedQuantity unitCode="HUR">40</cbc:InvoicedQuantity> <cbc:LineExtensionAmount currencyID="EUR">3000.00</cbc:LineExtensionAmount> <cac:Item> <cbc:Name>Web Development Services</cbc:Name> </cac:Item> <cac:Price> <cbc:PriceAmount currencyID="EUR">75.00</cbc:PriceAmount> </cac:Price>
</cac:InvoiceLine>Katra prece, par ko jūs izrakstāt rēķinu. Ietver pozīcijas numuru, daudzumu (ar vienības kodu, piemēram, HUR stundām), pozīcijas kopsummu, preces aprakstu un vienības cenu. Var būt vairāki InvoiceLine elementi.
Bieži kodu atsauce
PEPPOL dalībnieka ID shēmas
| Shēmas ID | Valsts | Apraksts |
|---|---|---|
0191 | Igaunija | PVN numurs (EE + 9 cipari) |
0192 | Igaunija | Biznesa reģistra kods (8 cipari) |
0193 | Latvija | PVN numurs (LV + 11 cipari) |
0200 | Lietuva | PVN numurs (LT + 9-12 cipari) |
9915 | Austrija | PVN numurs |
9930 | Itālija | PVN numurs |
Maksājuma metodes kodi
30Bankas pārskaitījums (visbiežākais)58SEPA kredīta pārskaitījums49Tiešā debeta48KredītkarteKā darbojas validācija
Pirms rēķinu var nosūtīt caur PEPPOL, tam jāizietur vairākas validācijas pārbaudes:
Pārbauda, vai XML struktūra ir pareiza — visi nepieciešamie elementi ir klātesoši, pareizi ligzdoti un izmanto pareizos datu tipus.
Validē biznesa noteikumus — piemēram, ka PVN summas atbilst aprēķinātajām vērtībām, nepieciešamie lauki ir aizpildīti pamatojoties uz kontekstu, un kodu vērtības ir derīgas.
Pārbauda, vai visi kodi (valūta, valsts, vienība, PVN kategorija) ir no oficiālajiem PEPPOL apstiprinātajiem sarakstiem.
Apstiprina, ka pozīciju kopsummas saskaitās pareizi, PVN tiek aprēķināts pareizi un galīgā maksājamā summa ir precīza.
aiDoks palaiž visas šīs validācijas pirms nosūtīšanas. Ja ir kļūdas, jūs redzēsiet konkrētus ziņojumus, kas izskaidro, kas jālabo — parasti trūkstošs lauks vai nepareiza vērtība.
Parauga rēķina fails
Vai vēlaties redzēt pilnu piemēru? Lūk, minimāls derīgs PEPPOL rēķins:
<?xml version="1.0" encoding="UTF-8"?>
<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: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>INV-2025-001</cbc:ID>
<cbc:IssueDate>2025-01-29</cbc:IssueDate>
<cbc:DueDate>2025-02-28</cbc:DueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="0191">EE123456789</cbc:EndpointID>
<cac:PartyName><cbc:Name>Seller Company OÜ</cbc:Name></cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>Main Street 1</cbc:StreetName>
<cbc:CityName>Tallinn</cbc:CityName>
<cbc:PostalZone>10001</cbc:PostalZone>
<cac:Country><cbc:IdentificationCode>EE</cbc:IdentificationCode></cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>EE123456789</cbc:CompanyID>
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Seller Company OÜ</cbc:RegistrationName>
<cbc:CompanyID>12345678</cbc:CompanyID>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cbc:EndpointID schemeID="0192">87654321</cbc:EndpointID>
<cac:PartyName><cbc:Name>Buyer Company AS</cbc:Name></cac:PartyName>
<cac:PostalAddress>
<cbc:CityName>Tallinn</cbc:CityName>
<cac:Country><cbc:IdentificationCode>EE</cbc:IdentificationCode></cac:Country>
</cac:PostalAddress>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Buyer Company AS</cbc:RegistrationName>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">220.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">1000.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">220.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>22</cbc:Percent>
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">1000.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">1000.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">1220.00</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="EUR">1220.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">1000.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Consulting Services</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>22</cbc:Percent>
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
</Invoice>