Peppol XML (EN16931): ko tas satur un kā ģenerēt e-rēķinu no rēķina
Ja esi mēģinājis atvērt Peppol XML failu ar Notepad vai pārlūkprogrammu, visticamāk, redzēji biedējošu koda blāķi ar <cac:PartyTaxScheme> un <cbc:EndpointID>.
Daudziem uzņēmējiem šis brīdis rada paniku. Klients prasa e-rēķinu, bet viss, kas Tev ir – skaists PDF fails.
Labā ziņa: Tev nav jāmācās programmēt, lai saprastu vai izveidotu šo failu. Peppol XML (kas balstīts uz Eiropas standartu EN16931) ir vienkārši ļoti pedantisks veids, kā aprakstīt rēķinu, lai datori to saprastu bez pārpratumiem.
Šajā rakstā mēs "uzlauzīsim kodu". Tu uzzināsi, kas tieši atrodas e-rēķina "vēderā", kāpēc Excel tabula nekad nebūs e-rēķins, un kā ģenerēt validu failu ar vienu klikšķi, izmantojot pareizo rīku.
Tev vajag tikai PDF? Sāc bez maksas un izveido standarta rēķinu: https://www.erekini.eu
Kas ir Peppol/EN16931 (ļoti vienkārši)
Iedomājies, ka Tu aizsūti klientam rēķinu, kurā datums ir rakstīts kā "Janvāris 5, '26". Cilvēks to saprot. Bet klienta grāmatvedības programma gaida "2026-01-05". Rezultāts? Kļūda.
Lai visa Eiropa varētu tirgoties savā starpā bez šādām kļūdām, tika radīti divi jēdzieni:
- EN16931 (Standarts): Tā ir "likumu grāmata". Tā pasaka, kādiem datiem obligāti jābūt rēķinā (piemēram, nevar būt rēķins bez pārdevēja nosaukuma).
- Peppol BIS Billing 3.0 (Formāts): Tā ir "valoda". Tā nosaka, ka pārdevēja nosaukums XML failā jāraksta starp birkām <cac:PartyName>.
Tātad, Peppol XML ir fails, kas uzrakstīts Peppol valodā, ievērojot EN16931 likumus. Tas ļauj Latvijas uzņēmuma rēķinam "ieplūst" Zviedrijas vai Vācijas sistēmā bez cilvēka iejaukšanās.
Vairāk par e-rēķinu būtību lasi: https://www.erekini.eu/app/blog/e-rekins-latvija-kas-tas-ir.
Kritiskie lauki: piegādātājs/pircējs, PVN, reģ. nr., adrese, IBAN
Lai e-rēķina XML būtu derīgs, tajā jābūt strukturētiem datiem. Atšķirībā no PDF, kur var rakstīt "brīvā stilā", šeit katram burtam ir nozīme.
1. Identifikatori (Endpoint ID)
Sistēmām ir precīzi jāzina, kas ir kas.
- Latvijā: Mēs izmantojam reģistrācijas numurus.
- Peppol kods: XML failā reģistrācijas numuram priekšā tiek likts prefikss 0208.
- Piemērs: 0208:40003000000. Ja šī prefiksa nav, starptautiskais tīkls nesaprot, kurā valstī šo uzņēmumu meklēt.
2. Adrese (Strukturēta!)
Šī ir biežākā kļūda. PDF rēķinā mēs bieži rakstām: "Rīga, Brīvības 1-20, LV-1010". XML failā tas ir aizliegts. Adresei jābūt sadalītai:
- <cbc:StreetName> Brīvības iela
- <cbc:BuildingNumber> 1
- <cbc:CityName> Rīga
- <cbc:PostalZone> LV-1010
- <cbc:Country> LV
Ja Tavā klienta kartītē adrese ir "putrā", XML ģenerēšana neizdosies.
3. PVN Numurs
Tam vienmēr jāsākas ar valsts kodu (LV, EE, LT). Sistēma pārbauda formātu.
4. IBAN (Maksājuma konts)
XML failā ir atsevišķs bloks <cac:PaymentMeans>, kurā tiek norādīts konts. Atstarpes starp cipariem (piem., LV00 HABA ...) nav atļautas. Datoriem patīk nepārtrauktas virknes.
Sīkāk par uzņēmuma datu sagatavošanu lasi: https://www.erekini.eu/app/blog/peppol-xml-dati-uznemumam.
Rindas/pozīcijas un PVN loģika
Šī ir "sāpīgākā" daļa, mēģinot ģenerēt XML manuāli vai no Excel. Strukturēts rēķins pieprasa matemātisku precizitāti un kodu sistēmu.
Mērvienību kodi (UN/ECE Rec 20)
Tu nevari rakstīt "gab." vai "paka". Jālieto starptautiskie kodi:
- Gabali (Units) -> C62 vai H87
- Stundas -> HUR
- Kilogrami -> KGM
- Litri -> LTR
Profesionāls rēķinu ģenerators šos kodus piešķir fonā, kad Tu izvēlies "gab." no saraksta.
PVN Kategoriju kodi
Katrai rēķina rindai ir jābūt piesaistītai konkrētai nodokļu kategorijai. XML fails nesaprot "21%". Tas saprot kodus:
- S (Standard): 21% (vai cita pamatlikme).
- Z (Zero): 0% (preču eksports).
- AE (Reverse Charge): Apgrieztā maksāšana (būvniecība, elektronika).
- O (Outside Scope): Ārpus PVN (mazajiem uzņēmējiem).
Ja Tu sajauc kodus (piemēram, norādi likmi 21%, bet kodu "Z"), fails tiks noraidīts kā kļūdains.
Validācija: kāpēc tā “glābj” no kļūdām
Pirms XML fails tiek nosūtīts vai saglabāts, tas iziet cauri XML validācijai.
Kas tas ir? Tā ir automātiska pārbaude pret noteikumu kopumu (Schematron).
- Vai summas sakrīt? (Cena x Skaits = Rindas summa).
- Vai ir norādīts rēķina numurs?
- Vai PVN summa sakrīt ar likmi?
Kāpēc tas ir labi?
Iedomājies, ka Tu nosūti PDF rēķinu ar kļūdu aprēķinos. Grāmatvedis to pamana pēc 2 nedēļām. Tev jātaisa kredītrēķins, jālabo, jāsūta atkal. Apmaksa kavējas mēnesi.
Ar Peppol XML, validācija notiek ģenerēšanas brīdī. Ja ir kļūda, sistēma Tev neļauj izveidot failu.
- "Kļūda: Trūkst pircēja pasta indeksa." -> Tu izlabo uzreiz -> Klients saņem perfektu rēķinu -> Apmaksa notiek ātrāk.
Par biežākajām validācijas kļūdām un kā tās lasīt: https://www.erekini.eu/app/blog/peppol-xml-kludas-validacija.



