Ovaj validator obavezno je koristiti za provjeru kompatibilnosti s fiskalizacijom.
Za uspješno slanje dokumenta XML mora proći UBL 2.1 validaciju koristeći oba tipa validacije:
– Kompatibilnost za slanje fiskalizacije
– HR Porezna uprava validator
Ako validacija vrati greške, one će biti ispisane u odgovoru. Pomoću CTRL + F u službenoj specifikaciji možete pronaći pravilo ili XML element koji je uzrokovao pogrešku.
Ovaj validator koristi se isključivo za korisnike koji šalju račune u HR Invoice formatu (OutgoingInvoicesData).
Ne validira UBL 2.1 dokumente i ne smije se koristiti za UBL eRačune.
Ovo je službena specifikacija Porezne uprave za eRačun i HR ekstenzije. Definira koji XML elementi se koriste, gdje se nalaze i jesu li obavezni ili opcionalni.
Kardinalnost elemenata definirana je rasponima:
0..n – element je opcionalan i može se pojaviti više puta
1..n – mora postojati barem jedan element
1..1 – mora postojati točno jedan element
Ako validator vrati grešku, u ovoj specifikaciji (CTRL + F) potražite pravilo ili XML element koji je uzrokovao problem.
XSD shema definira potpunu tehničku strukturu UBL 2.1 eRačuna.
Najvažnije, definira točan redoslijed elemenata u XML dokumentu.
Ako validator vrati grešku poput:
The element 'Invoice' has invalid child element 'DueDate'.
List of possible elements expected: 'ProfileExecutionID, ID'.
to znači da je redoslijed elemenata pogrešan. Otvorite XSD shemu u XML editoru i provjerite ispravan slijed elemenata.
Ovaj paket sadrži gotove XML primjere za najčešće poslovne scenarije, uključujući različite PDV stope, račune bez PDV-a, maržu, prijenos porezne obveze i kombinirane porezne slučajeve.
Koristite ove primjere za usporedbu strukture i vrijednosti vašeg XML-a s ispravnim dokumentima.
– Preuzmi XML s objašnjenjem svakog polja
Ovaj primjer detaljno objašnjava značenje svakog XML elementa i kako ispravno upisati vrijednosti.
Posebno je koristan kod prve implementacije generiranja XML-a ili prilikom rješavanja validacijskih pogrešaka.
Seller Contact ID mora sadržavati OIB bez prefiksa države, dakle točno 11 znamenki.
OIB može pripadati fizičkoj osobi koja je kreirala račun ili pravnoj osobi (tvrtki),
ovisno o poslovnom slučaju.
Seller Contact Name mora sadržavati naziv osobe ili tvrtke na koju se navedeni OIB odnosi.
Porezna kategorija O koristi se isključivo kada cijeli račun ne podliježe PDV-u.
U tom slučaju u PartyTaxScheme / TaxScheme / ID upisuje se vrijednost FRE.
U svim ostalim slučajevima, kada na računu postoji PDV, TaxScheme ID mora biti VAT.
XML ne smije sadržavati prazne elemente ili polja bez vrijednosti.
Takve elemente je potrebno u potpunosti ukloniti iz XML-a.
Ako element nije obavezan i nema vrijednost, ne smije se uopće generirati,
inače će XML pasti validaciju.
Način popunjavanja ovisi o tome koristi li se OIB ili GLN.
Ako se koristi OIB:
– EndpointID sadrži samo OIB, uz schemeID="9934"
– PartyIdentification ID se upisuje u formatu 9934:OIB
Ako se koristi GLN:
– EndpointID sadrži samo GLN
– PartyIdentification ID se upisuje uz schemeID="0088"
Primjere ispravnog popunjavanja uvijek provjerite u našim XML primjerima.
Stavke poput posebnog poreza u ugostiteljstvu, povratne naknade ili carina iskazuju se kao trošak na razini dokumenta i ne upisuje se KPD šifra.
Ako račun nema drugih stavki (InvoiceLine), tada je takvu stavku potrebno iskazati kao InvoiceLine te upisati KPD šifru koja je najsličnija stvarnoj prirodi stavke.
Dokumenti tipa odobrenje (381) i avansni račun (386) ne trebaju sadržavati KPD šifre.
Ako radite storno avansa, možete koristiti dokument s ID-jem 386
kako biste izbjegli upisivanje KPD šifre.
Kod posebnog postupka oporezivanja marže PDV se ne iskazuje na samom računu, već se iskazuje u posebnom obrascu koji se predaje zasebno (ta obveza i dalje postoji i nije obuhvaćena promjenama).
Sam račun ne podliježe PDV-u temeljem članka 5. Zakona o PDV-u.
Tako treba biti i na eRačunu:
– samo jedna stavka
– napomena o oslobođenju
– porezna kategorija O
– cbc:Name = HR:O
Ako je potrebno iskazati i PPOM, on se iskazuje kao trošak, ali također mora biti u kategoriji O, jer na takvom računu može postojati isključivo kategorija O.
Copy Indicator koristi se samo kada radite korekciju već fiskaliziranog računa
koja ne uključuje izmjene iznosa.
U tom slučaju šalje se novi ispravljeni račun s istim brojem računa.
Ako je potrebno izmijeniti iznos fiskaliziranog računa, tada se mora kreirati storno računa i nakon toga novi račun s istim brojem.
Ne smije.
Numerička polja (iznosi, porezi, količine) ne smiju sadržavati razmake, prazna mjesta ili tekstualne znakove. Vrijednosti moraju biti upisane isključivo kao broj.
U tom slučaju potrebno je provjeriti namespaceove definirane na vrhu XML dokumenta.
Namespaceovi moraju odgovarati UBL 2.1 specifikaciji.
Preporuka je koristiti namespaceove iz naših službenih XML primjera, jer su neispravni namespaceovi čest uzrok skrivenih grešaka.
Ne smije se upisivati proizvoljna KPD šifra.
Potrebno je koristiti jednu od službeno definiranih KPD šifri prema šifrarniku Porezne uprave.
Ako niste sigurni, odaberite šifru koja je najbliža stvarnoj usluzi ili robi.
HR ekstenzija dokumenta kreira se samo kada račun sadrži stavke koje ne podliježu PDV-u (npr. oslobođenja, prolazne stavke, posebni porezi).
Ako račun sadrži isključivo PDV-oporezive stavke, HR ekstenzija se ne kreira.
Uvijek se vodite našim XML primjerima.