A területet szabályozó 23/2014. (VI. 30.) NGM rendelet[1] szerint valamennyi számlázó programnak rendelkeznie kell egy úgynevezett „adóhatósági ellenőrzési adatszolgáltatás” funkcióval, vagyis egy olyan adatexport-funkcióval, amellyel biztosítható, hogy az adózó az elektronikus adathordozón tárolt adatait a NAV rendelkezésére tudja bocsátani egy esetleges ellenőrzés alkalmával.
Az adatszolgáltatásra kötelezett adózó választhat, hogy az adatexportot az NGM rendelet 2. és 3. mellékleteiben meghatározott, vagy a 13/A. § (1) bekezdése szerinti, az online számlaadat-szolgáltatáshoz kapcsolódóan közzétett adatszerkezetben teljesíti. A jellemző hibák magyarázatához célszerű megvizsgálni az adatszolgáltatás, és a mellékletben, illetve a 13/A. § (1) bekezdésben meghatározott adatszerkezet összefüggéseit.
- Az xml-sémadokumentum (xsd) és funkciója
Kezdetnek célszerű az adóhatósági ellenőrzési adatszolgáltatás során létrehozott adat-xml és a sémadokumentum összefüggéseit áttekinteni.
Ha két partner egymás között adatokat kíván cserélni, el kell dönteniük az adatcsere módját és annak tartalmát. Azt is meg kell határozniuk, hogy mely adatokra tartanak mindenképpen igényt, illetve melyek lehetnek opcionálisak. A döntés eredményeként létrehozhatnak például a kívánt adatokat tartalmazó űrlapot, amelyhez egy részletes útmutatóban meghatározzák az űrlap kötelezően kitöltendő, valamint üresen hagyható mezőit. Beleírják az értelmezést segítő információkat is. Például, hogyha az adatszolgáltató rendelkezik az egyébként nem kötelező adattal, akkor azt is rá kell vezetni az űrlapra.
Az NGM rendeletre, illetve az adózók által használt számlázó programokra vetítve, az űrlap az az xml-állomány, amelyet a számlázó program „Adóhatósági ellenőrzési adatszolgáltatás” menüpontja előállít. A kitöltési útmutatója pedig a választott xml-sémadokumentum (xsd) az NGM rendelet 3. mellékletét képező szamla.xsd, vagy az online számlaadat-szolgáltatás kapcsán közzétett invoiceData.xsd, amely biztosítja az átadott adatok azonos értelmezését és feldolgozhatóságát.
Az online számlaadat-szolgáltatás sémája, az invoiceData.xsd egyetlen számlára vonatkoztatva írja le az adatszerkezetet. Ezért az ellenőrzés során kért idő-, vagy számlaintervallumra kétféleképpen lehetséges azt teljesíteni. Vagy minden számla külön xml-fájlba kerül, vagy az xml-nyelv szabályainak megfelelően, valamilyen csoportosító tagbe lehet foglalni az egyes számla xml-eket. A NAV Online Számlázó program erre az <Invoices> taget használja.
A sémadokumentum tartalmazza különösen az adatok nevét, típusát (szöveg, különböző számértékek, dátum), kötelező vagy opcionális voltát, továbbá a kitöltést segítő megjegyzéseket. Például, hogy bizonyos adatokat csak meghatározott számlatípus esetében kell kitölteni. Az xml és xsd összekapcsolásával, informatikai eszközökkel azonnal ellenőrizhető, hogy az űrlapot szabályosan töltötték-e ki, vagyis az adatszolgáltatás megfelel‑e az NGM rendeletben, illetve az online számlaadat-szolgáltatás interfészspecifikációjában közzétett szabályoknak.
- Minek kell szerepelnie az adatexportban?
Ha az adott tény vagy adat a számla kötelező tartalmi eleme, akkor a sémadokumentumban van megfelelő elem az adat tárolására. Ilyenkor kötelező az adat rögzítése az xml-fájlban (illetve nyilván a számlán is). Ha az adott tény, adat nem a számla kötelező tartalmi eleme, akkor az xml-állományban csak akkor kell szerepelnie, ha a kiadott számlán szerepel, és az xsd-ben van megfelelő elem. Ha valamilyen adat nem szerepel a számlán és egyébként nem is kötelező tartalmi eleme annak, akkor azt az xml-állományban sem kell feltüntetni. Az alábbi folyamatábra segíthet annak az eldöntésében, hogy az egyes, konkrét adatokat szükséges-e az xml-állományban szerepeltetni vagy sem.
adatexport.jpg
A fenti szabályok mindkét xsd esetében érvényesek. Az online számlaadat-szolgáltatás szerinti adatexportnál is szerepelnie kell az adatexportban minden, a kibocsátott számlán az Áfa tv.[2] előírásai alapján kötelezően feltüntetendő adatnak akkor is, ha az az online számlaadat-szolgáltatásban nem szerepeltethető. Ez utóbbi esetre példa, hogy a természetes személy vevő neve és címe az adatszolgáltatásban nem szerepelhet, az adatexportban viszont szerepelnie kell.
- Jellemző hibák
A hibák két alapvető csoportba sorolhatók:
- az egyik, amikor az adatszolgáltatást tartalmazó xml érvénytelen (invalid), vagyis nem felel meg az xsd-ben rögzített szabályoknak,
- a másik, amikor az érvényes xml tartalmaz helytelen adatokat.
3.1. Érvénytelenséget eredményező hibák
3.1.1. A sémadokumentum figyelmen kívül hagyása
A számlázó program olyan ellenőrzési adatszolgáltatást (xml) állít elő, amelyben az adatok nem a sémadokumentumban meghatározott néven, és/vagy szerkezetben szerepelnek. Az így készült állomány a feldolgozó program számára értelmezhetetlen.
3.1.2. A sémadokumentum szabályainak megsértése
Hiányzó adatok
Az adatszolgáltatásban használt adatnevek megfelelnek az xsd-nek, azonban hiányoznak belőle kötelező adatok. Például a címadatok három kötelező adata (irányítószám, település neve, közterület neve) valamelyikének hiánya.
Hibás adattípusok
A sémadokumentum tartalmazza a beírható számértékek formátumát és a beírható szöveg hosszát is. Hibás, ha az adat eltér a meghatározott formátumtól, például a 10 egész és 2 tizedes jegyet tartalmazó decimal típusú adat 4 tizedes karaktert tartalmaz, vagy ha az irányítószám szöveges adata 10 karakternél többet tartalmaz.
Hibás tizedesjel
Az xml-formátum a „ . ” jelet használja tizedeshatárolóként. Hibát eredményez, ha a tizedesjelként „ , ” karakter kerül a számformátumokba.
A fent hibák kiküszöbölésére az elkészült xml-állományokat érvényesíteni (validálni) kell, vagyis össze kell vetni az xsd-vel. Erre léteznek speciális informatikai fejlesztő eszközök, de az interneten is találhatók olyan oldalak, ahol ezek az ellenőrzések elvégezhetők.
3.2. Hibás adatszolgáltatás érvényes (valid) xml-ben
Ahogy azt a fenti ábra is tartalmazza, az adatszolgáltatásban szerepelnie kell a számlák kötelező adatainak, illetve azon nem kötelező adatoknak, amelyeket a kiállított számlán feltüntettek, és az xsd meghatároz rá adatnevet. A számla egyes rovataihoz kapcsolódó adatnevekhez pedig az abban szereplő adatot kell feltüntetni az adatszolgáltatásban.
Adathiány
Hibás, ha a kibocsátott számlán feltüntetett adat hiányzik az adatszolgáltatásból. Például a sémadokumentum opcionális elemként határozza meg a fizetési határidőt, ha azonban a kibocsátott számlán a fizetési határidő fel van tüntetve, azt az adatszolgáltatásban is szerepeltetni kell.
Szemantikai hiba, adattévesztés
Hibás, ha az adatszolgáltatásban egy adatnévhez másik adatnév adata kapcsolódik, például a közterület neve szerepel az irányítószám adatnév alatt. Ez a hiba a 10 karakternél hosszabb közterületnevek esetében már érvényességi hibát is okoz.
Az előírttól eltérő karakterkészlet
Az emberi nyelvek leírásához használt karakterek sokkal változatosabbak, mint amennyire a számítógépek formális nyelve azt eleinte kezelni tudta. Az informatika fejlődésével a – kezdetben csak az angol ábécé írásjeleit tartalmazó – karakterkészlet folyamatosan változott. A különféle speciális írásjeleket kezelni képes készletek különböző neveket kaptak (ANSI, ASCII, OEM852 stb.). Végül elkészült egy univerzális, minden írásjelet „ismerő” karakterkészlet UTF-8 néven.
Az adatszolgáltatás elkészítésekor ezt a karakterkészletet kell használni. Más karakterkészlet használata esetén az adattartalomban furcsa, értelmezhetetlen írásjelek jelenhetnek meg. Azért csak ott, mert az adatnevekhez az xml-szabvány csak az angol ábécé betűit engedélyezi. Viszont némely esetben – például magyar ékezetes karaktereknél – az eredetileg egy karakternyi írásjel helyett két karakter jelenik meg. Ez akár érvényességi hibához is vezethet, ha a szöveg éppen a nem várt plusz karakterrel lépi túl az engedélyezett hosszúságot.
Az érvényes xml-ben jelentkező hibák kiküszöbölése a bevezetés előtti körültekintő teszteléssel biztosítható.
Nemzeti Adó- és Vámhivatal
[1] A számla és a nyugta adóigazgatási azonosításáról, valamint az elektronikus formában megőrzött számlák adóhatósági ellenőrzéséről szóló 23/2014. (VI. 30.) NGM rendelet (továbbiakban: NGM rendelet).
[2] Az általános forgalmi adóról szóló 2007. évi CXXVII. törvény.