KÖZLEMÉNY az online pénztárgépekkel kapcsolatos egyes műszaki követelményekről A pénztárgépek és taxaméterek műszaki követelményeiről, a nyugtakibocsátásra szolgáló pénztárgépek és taxaméterek forgalmazásáról, használatáról és szervizeléséről, valamint a pénztárgéppel rögzített adatok adóhatóság felé történő szolgáltatásáról szóló 3/2013. (II. 15.) NGM rendelet (a továbbiakban: Rendelet) módosított 4. melléklet 1. pontja értelmében az AEEnek a pénztárgépben keletkezett adatokat UTF-8-as kódlap szerinti karakterkódolású, XML típusú naplóállományokban kell tárolnia. Az állomány struktúrájának leírását és a séma ellenőrző állományt (XSD állomány) a NAV közleményben teszi közzé. A Rendelet 3. melléklet I. rész FD) alcím 19. pontja értelmében az AEE a NAV szerverével titkosított kapcsolatot alakít ki, amelynek privát kulcsát a NAV szolgáltatja. A titkosított kapcsolat kialakításához szükséges privát kulcs rendelkezésre bocsátásának rendjét a NAV hivatalos holnapján közleményben teszi közzé. Jelen közlemény célja az XML állomány struktúrájának és a séma ellenőrző állomány meghatározása (I.), továbbá a titkosított kapcsolat kialakításához szükséges privát kulcs pénztárgép üzembe helyezése során történő rendelkezésre bocsátásához szükséges adatszolgáltatás meghatározása (II.), valamint ezekhez kapcsolódóan Rendelet műszaki tartalmát érintő gyakorlati kérdésekhez történő útmutatás megadása (III.). I. A naplófájlok és regisztrációs fájlok szerkezetét leíró validációs fájlok kapcsolódó anyagként letölthetőek. II. Az AEE gyártók adatszolgáltatása Az AEE egységekbe letöltendő autentikációs tanúsítvány előállítása, valamint az AEE-ben a napló állományok digitális aláírásához használt aláíró tanúsítványok műszaki kezelhetősége érdekében az AEE gyártók a NAV részére adatszolgáltatást teljesítenek. Legyártott AEE egységekre vonatkozó információk Az AEE gyártók az AEE legyártását követően, az adott gyártási ciklusban legyártott AEE-k vonatkozásában a gyártást köve tő 5 napon belül a NAV részére átadják az alábbi adatokat. Az adatokat az alábbi sorrendben feltüntetve, pontosvesszővel delimitált CSV állományban kell a NAV részére eljuttatni. - AEE-be épített GSM egység IMEI szám - AEE-be épített SIM kártya IMSI szám - Gyártó megnevezés - AEE gyártói típusnév - AEE hardver verzió
- AEE egyedi gyártási szám - AEE szoftver megnevezés - AEE szoftver verziója - GSM szolgáltatást nyújtó szolgáltató NAV által az AEE gyártók részére definiált, és Internetes honlapján publikált sorszáma (akivel a NAV megállapodást kötött az AEE egység kommunikációjára és a nyújtandó API-ra vonatkozóan) Aláíró tanúsítvány ROOT CA Az AEE modulban használt X.509 aláíró tanúsítványt AEE gyártónként egy ROOT CA-val kell kibocsátani. A tanúsítványt PEM formátumban,.crt kiterjesztésű állományban kell a NAV részére átadni. A fenti két állományt a gyártóknak egy közös CD adathordozón kell a NAV Informatikai Intézete részére benyújtani. III. Adóügyi tartalomra vonatkozó előírások Fizetési mód Az AEE-ben vezetett XML naplófájlban a fizetési mód (PMD) alatt a nyugta/egyszerűsített számla összege megbontható a különböző fizetési módok között. A készpénzzel fizetett összeget az FM1 tag-ben, a bankkártyával fizetett összeget az FM2 tag-ben, az egyéb módon fizetett összeget az FM3 tag-ben kell feltüntetni. A bankkártyán kívüli, készpénz helyettesítő eszközzel (pl. Erzsébet kártya, SZÉP kártya, stb.) fizetett összeget az <FM3> alatt kell megjeleníteni. Törölt tételek A nyugta/egyszerűsített számla készítése közben törölt tételsorokat kizárólag a törölt tételsorok között kell és lehet a naplófájlban feltüntetni. A nem törölt tételek között pedig csak azoknak kell szerepelni, amelyek a gazdasági eseménynek végül ténylegesen tárgyai voltak. Egyes bizonylatok sorszámozása az AEE naplófájljában: (1234 minden esetben az adónapot jelöli négy számjegyen, 12345 pedig az adott napon kiadott, adott típusú bizonylat sorszámát 5 számjegyen) A nyugtákat és egyszerűsített számlákat 1234/12345 alakban kell sorszámozni, a rendelet előírásainak megfelelően együtt, azaz ugyanazon sorszámmal nem adható ki nyugta és egyszerűsített számla is. A napi forgalmi jelentés esetén a napi zárás sorszámát kell feltüntetni. Sztornó bizonylat sorszáma: S/1234/12345, a többi bizonylattól elkülönülten sorszámozandó. Visszáru bizonylat sorszáma: V/1234/12345, a többi bizonylattól elkülönülten sorszámozandó. Egészségkártyás értékesítési bizonylat sorszáma: EK/1234/12345, a többi bizonylattól elkülönülten sorszámozandó. Üzemanyagkártyás értékesítési bizonylat sorszáma: UK/1234/12345, a többi bizonylattól elkülönülten sorszámozandó.
A többi bizonylatot (pénztárjelentés, pénztári ki- és befizetés, egyéb bizonylatok) nem kell sorszámozni. A gyakorló módban kiadott bizonylatok sorszámában minden számjegy helyén 0-t kell feltüntetni (0000/00000) A visszavont bizonylat (azaz olyan bizonylat, amit elkezdtek összeállítani, de kiadása nem történt meg) sorszámát az AEE naplófájljában azzal a sorszámmal kell eltárolni, ami soron következett volna, ám a számlálót nem szabad léptetni. A sztornó és visszáruzó bizonylatok bővítése SBS: Az SZN tétel típusnál a sztornózó bizonylat száma mező: VBS: A VBN tétel típusnál a visszáruzó bizonylat száma mező Felár és kedvezmény rögzítése az AEE naplófájlban Az egyes vásárlások során alkalmazott, árba be nem épített felárat, illetve kedvezményt a nyugtán és egyszerűsített számlán külön tételsorként kell feltüntetni. A felárat pozitív, a kedvezményt negatív előjelű összegként kell szerepeltetni. Az AEE-ben vezetett naplófájl DCN mezőjében az adott nyugta vagy egyszerűsített számla összes kedvezményét kell feltüntetni pozitív számként. A DCN mező tartalmát az esetlegesen alkalmazott felár nem érinti. Egyéb kiállított dokumentum (nem adóügyi bizonylat) Bejegyzés azonosító: EDN (gyakorló változatban EDT) Bejegyzés mezői A B C D 1. Mező Mező tartalmának leírása formátum azonosító 2. a. RAZ Bejegyzés azonosító: END 3 karakteres szöveg 3. b. RSR Naplón belüli folyamatos rekordsorszám 1-től max 5 hosszú numerikus 4. c BSR Egy számláló értéke, amelynek kezdeti értéke 1 10 karakteres numerikus és minden bizonylat AEE-ben való eltárolását követően 1-gyel nő, a kiadott bizonylat típusától függetlenül. 5. d DTS Időbélyeg, a bizonylat nyitásának kiadásának szabványos dátum és idõ adat pontos ideje az AEE órája szerint másodperc pontossággal 6. e TSZ A bizonylatot kiállító adóalany adó törzsszáma 8 db számjegy szting formátumban 7. f EAT Egyéb dokumentum típusa 20 hosszú szöveg 8. g EIL Egyéb dokumentum tipus leírás 20 hosszú szöveg 9. h EDA Egyéb dokumentumon szereplő adatok ENM: Egyéb dokumentumon adat megnevezés (20) EVL: Egyéb dokumentumon adat érték (200) 10. i CNC Bizonylat megszakítása esetén a megszakítás tényének jelzése 11. j HSH Ellenőrző kód 64 HEXA karakter Időformátum, a pontos idő beállítása
A rendelet alapján az AEE pontos idejét hetente egyszer szinkronizálni kell a GSM szolgáltatás idejéhez. Ennek megvalósulását és az idő átállítását a napló állományban rögzíteni kell. Az idő átállítására, csak napi zárást követően kerülhet sor. Bejegyzés azonosító: TUD Bejegyzés mezői A B C D 1. Mező Mező tartalmának leírása formátum azonosító 2. a. RAZ Bejegyzés azonosító: TUD 3 karakteres szöveg 3. b. RSR Rekord sorszám max 5 hosszú numerikus 4. c OLD Azaz idő, amikor az átállítás régi idő szerint 2013-07-19T08:59:59+02:00 bekövetkezik. 5. d NEW Beállított új idő 2013-07-19T08:56:12+02:00 6. e CHT ha a rendszer nem diszkréten változtatja az időt, hanem egy időtávon gyorsítja vagy lassítja az 10 karakteres numerikus időt, akkor az átmenet ideje másodpercben 7. f CAS az időállítás módja: 1 vagy 2 vagy 3 1-GSM szinkronizáció, 2-Szervizes beavatkozás, 3-Üzemeltető által módosítva 8. g HSH Ellenőrző kód 64 HEXA karakter A naplófájlban minden dátum/időt az XML 1.0 szerinti éééé-hh-nntóó:pp:mm+óó:pp formátumban kell feltüntetni, ahol az év, hónap, nap, óra, perc, másodperc minden esetben a helyi (magyar) idő szerint értendő. Téli időszámítás esetén az időzóna jelölésére a +01:00, nyári időszámítás esetén a +02:00 jelölés használandó. Egyértelműsítő példák: 2013. augusztus 20. magyar idő szerinti déli 12 óra: "2013-08-20T12:00:00+02:00" 2013 október 27. nyári időszámítás szerinti hajnali 3 óra (a téli időszámításra való visszatérés) előtti utolsó másodperc: "2013-10-27T02:59:59+02:00" A visszaállítás után egy másodperccel az idő jelzése (téli időszámítás szerinti 2 óra 1 másodperc): "2013-10-27T02:00:01+01:00" Hibás NAV üzenet kezelése Abban az esetben, ha a pénztárgép NAV szervere részére elküldött üzenetére nem a megfelelő, a kommunikációs protokoll szerint definiált válaszok valamelyikét kapja, vagy a kapott utasítást nem tudja végrehajtani, akkor a pénztárgép az ANS~XXXXXXXXX~00~HHHHHHHHHH választ adja. Erre válaszul a NAV az ACK~04~HHHHHHHHHH üzenetet küldi, melynek hatására az AEE bontja az SSL kapcsolatot. Kétvállalkozós pénztárgépek Az NGM rendelet előírja, hogy a kétvállalkozós pénztárgép esetén adóalanyonként kell érvényesülnie a rendelet valamennyi előírásának, különös tekintettel arra, hogy egymástól függetlenül kell vezetni a naplóállományokat.
A kétvállalkozós pénztárgépek használatakor, a naplófájlok küldése esetén, minden körülmények között mindkét vállalkozás naplófájlját azonos küldési eljárásban kell elküldeni a NAV szerverére. A naplófájlok sorszámát a két vállalkozás esetén szigorúan együtt kell tartani. Azaz ha az egyik vállalkozás, nyitási, zárási, küldési metódust hajt végre, akkor azt a másik vállalkozás naplófájlja esetében is végre kell hajtani. A TRMRDY üzenet esetében a magasabb bejegyzés-sorszám értéket kell elküldeni (az N el jelölt paraméter). A NAV szerverének elérhetősége napi rendszeres funkciók URL 1 Üzenetek küldése https://opg.nav.gov.hu/msg 2 Naplófájlok küldése https://opg.nav.gov.hu/nfl 3 Szoftver frissítés https://opg.nav.gov.hu/swu regisztráció és szoftver update funkció URL 1 Üzenetek küldése https://opgreg.nav.gov.hu//msg 2 Regisztrációs eljárás https://opgreg.nav.gov.hu/ reg AEE NAV http kommunikáció 1. A kiadott NGM rendelet előírása szerint a pénztárgépekbe szerelt AEE-k, a NAV szerverével, HTTP protokoll szerinti, POST metódusú, üzenetekkel kommunikálnak. A kommunikáció során végrehajtott üzenetváltások és fájl küldések esetében az alábbi követelmények szerint kell eljárni. Ez a fejezet részletesen tartalmazza, a POST metóduson (http request) belül az üzenet, illetve a csatolt fájl(ok) paraméter neveit, valamint, hogy a NAV felől az AEE-k részére küldött üzenetek (http response) milyen formátumban érkeznek a AEE-hez. Mindkét irányban a klasszikus, böngésző kompatibilis formátum alkalmazandó 2. AEE NAV irányú kommunikáció során, az önálló üzenet https://opg.nav.gov.hu/msg címre küldése esetén, a tartalom típusa text/plain, az üzenet sztringet tartalmazó form paraméter neve: MSG. A regisztráció során küldött üzeneteket a https://opgreg.nav.gov.hu/msg címre kell küldeni. Request példa a TRMRDY~XXXXXXXXX~S~N~T üzenetre: POST HTTP/1.1 Content-Type:text/plain MSG=TRMRDY~XXXXXXXXX~S~N~T
3. NAV AEE irányú kommunikáció során, a küldött üzenetre kapott válasz esetén, a tartalom típusa text/plain, az érkezett üzenet paraméternevet nem tartalmaz. Response példa a TRMNOW~F~HHHHHHHHH üzenetre: HTTP/1.1 200 Ok TRMNOW~F~HHHHHHHHH 4. AEE NAV irányban a regisztráció során a regisztrációs fájlt a https://opgreg.nav.gov.hu/reg címre content type= multipart/form-data tartalomtípussal kell elküldeni, a fájlt azonosító elem neve: REG. Ekkor egy pkcs#7 formátumú fájl kerül továbbításra mely tartalmazza a naplófájlt, annak aláírását és a tanúsítványt. Request példa napló fájl és az aláírás fájl beküldésre: POST /cgi-bin/akarmi.cgi HTTP/1.1 Content-Type: multipart/form-data; boundary=------7dd1a1211048a --------7dd1a1211048a Content-Disposition:formdata;name="REG";filename="AAAAAAAAA_BBBBBBBB_ééééhhnnóóppmm_s.p7b" Content-Type: application/octet-stream --------7dd1a1211048a-- 5. AEE NAV irányban a naplófájl(oka)t a https://opg.nav.gov.hu/nfl címre content type= multipart/form-data tartalomtípussal kell elküldeni, a fájlt azonosító elem neve: NFL. Ekkor egy pkcs#7 formátumú fájl kerül továbbításra mely tartalmazza a naplófájlt és annak aláírását. Kétvállalkozós pénztárgép esetén a második fájlt NFL2 néven kell azonosítani és egy másik boundary-ba kell elhelyezni. Request példa napló fájl és az aláírás fájl beküldésre: POST /cgi-bin/akarmi.cgi HTTP/1.1 Content-Type: multipart/form-data; boundary=------7dd1a1211048a --------7dd1a1211048a Content-Disposition:form-data;name="NFL"; filename="aaaaaaaaa_bbbbbbbb_ééééhhnnóóppmm_s.p7b~hhhhhhhhhh" Content-Type: application/octet-stream
--------7dd1a1211048a-- 6. NAV AEE irányában, megszemélyesítéskor leküldésre kerül az authentikációs tanúsítvány. A tartalom típusa content type=application/octet-stream, a leküldendő fájl tartalma közvetlen beleírásra kerül. Content-Type: application/octet-stream 7. NAV AEE irányban, firmware frissítéskor leküldésre kerül(nek) a firmware bináris fájl(ok). A tartalom típusa content type=application/octet-stream, a leküldendő firmware fájl tartalma közvetlen beleírásra kerül. Content-Type: application/octet-stream
Pénztárgép szoftver frissítés folyamata: esemény, küldendő üzenet lerása üzenet tartalom URL ahová az üzenet küldendő NAV AEE 30 perces jelzés TRMRDY~XXXXXXXXX~S~N~T https://opg.nav.gov.hu/msg Firmware update fogadásra felszólítás FRWUPD~ééééhhnnóóppmm~HHHHHHHHHH Firmware update fogadásra kész (YY:05) ANS~XXXXXXXXX~YY~HHHHHHHHHH https://opg.nav.gov.hu/swu szoftver update UPDDTL~NN~CCCC szoftver update darabok UPDREQ~NN~XXXXXXXXX https://opg.nav.gov.hu/swu Firmware részlet update küldése firmware fájl darab Firmware update letöltve ( YY:06) ANS~XXXXXXXXX~YY~HHHHHHHHHH https://opg.nav.gov.hu/swu nyugta (YY:04) ACK~YY~HHHHHHHHHH Firmware update végrehajtva ( YY:07) ANS~XXXXXXXXX~YY~HHHHHHHHHH https://opg.nav.gov.hu/swu nyugta (YY:04) ACK~YY~HHHHHHHHHH Az UPDDTL~NN~CCCC : üzenetben az ~NN a küldendő összes üzenet száma, ezt követi a ~CCCC ami a firmware-fájl minden szeletére számított CRC értékek sorozata az első szelettel kezdődően folytonosan, ahol egy-egy szelet CRC ellenőrző összege 32 bit hossz, végül a teljes firmware SHA256 algoritmussal készített ellenőrző kódja 64 karakteren. Ezt követően az AEE egység a szeletek számának ismeretében folyamatosan elkéri a NAV szerverétől a UPDREQ üzenettel a soron következő szoftverszelet darabot. Az utolsó szelet megérkezését követően ANS ( YY:06) választ küldi a NAV szerverének a sikeres fogadást követően. Firmware letöltéskor az AEE-k az alábbi ANS YY=xx hibaüzeneteket adhatják egy-egy firmware darab újbóli letöltése után: ANS YY=50 A firmware darab letöltése és ellenőrzése (32 bites CRC check) második alkalommal is integritási hibát mutat. Válaszul a NAV az ACK YY=04 üzenettel bontja a kapcsolatot. A firmware letöltési folyamatot 4 órán belül újra meg kell kísérelni. Firmware letöltéskor az AEE-k az alábbi ANS YY=xx hibaüzenet adhatják az utolsó firmware darab letöltése után, amennyiben már másodszor is végrehajtották a teljes letöltési folyamatot: ANS YY=51 - A teljes firmware letöltése és ellenőrzése (SHA256 check) második alkalommal is integritási hibát mutat. Válaszul a NAV az ACK YY=04 üzenettel bontja a kapcsolatot. A firmware letöltési folyamatot 4 órán belül újra meg kell kísérelni. A tényleges firmware frissítés végrehajtásakor az AEE-k az alábbi ANS YY=xx hibaüzenet adhatják hiba esetén: ANS YY=52 Sikertelen firmware frissítés, az AEE visszaáll az előző firmware verzióra. Válaszul a NAV az ACK YY=04 üzenettel bontja a kapcsolatot. A frissítésre átadott firmware fájl csak egy fájlból állhat. A firmware fájl nevének az alábbiak szerint kell összeállnia. A999_T9_V9999.BIN ahol, A999 megegyezik a pénztárgép AP számának első négy
karakterével, ami egy betűből és a forgalmazási engedély számából áll. T9 a firmware típusa ami jelen szabályok szerint, csak egy lehet így T1, a V9999 a firmware szigorúan növekvő verziószáma. példa egy valós fájlnévre: A001_T1_V0001.BIN A NAV a AEE irányába küldött firmware szeleteket A001_T1_V0001.BIN_S01-től A001_T1_V0001.BIN_S99-ig azonosítja.
Pénztárgép üzembehelyezési folyamata: esemény, küldendő üzenet lerása üzenet tartalom URL ahová az üzenet küldendő NAV AEE Regisztrációs fájl küldése ( nem authentikáltan) (fájlnév benne üzembehelyezési kód) https://opgreg.nav.gov.hu/ reg válasz elutasítás esetén (YY: értékeit lásd táblázat alatt) válaszok befogadás esetében: 1.adózói törzsadatok (P1n, n =1) ACK~YY~HHHHHHHHHH DEFUPD~XXXXXXXXX~P1n~P2n~P3n~P4n~ P5n~P6n~P7n~P8n~HHHHHHHHHH Adózói törzsadat frissítve (YY:08) ANS~XXXXXXXXX~YY~HHHHHHHHHH https://opgreg.nav.gov.hu//msg válaszok befogadás esetében: 2.üzemeltetési telephely adatok (P1n, n =3) DEFUPD~XXXXXXXXX~P1n~P2n~P3n~P4n~ P5n~P6n~P7n~P8n~HHHHHHHHHH Adózói törzsadat frissítve (YY:08) ANS~XXXXXXXXX~YY~HHHHHHHHHH https://opgreg.nav.gov.hu//msg authentikációs tanusítvány letöltése privát kulcs (prv fájl) Tanúsítványok frissítve (YY:09) ANS~XXXXXXXXX~YY~HHHHHHHHHH https://opgreg.nav.gov.hu//msg authentikációs tanusítvány letöltése tanúsítvány (cer fájl) Tanúsítványok frissítve (YY:09) ANS~XXXXXXXXX~YY~HHHHHHHHHH https://opgreg.nav.gov.hu//msg válaszok befogadás esetében: 4. kétvállalkozós adózói törzsadat (P1n, n =2) DEFUPD~XXXXXXXXX~P1n~P2n~P3n~P4n~ P5n~P6n~P7n~P8n~HHHHHHHHHH Adózói törzsadat frissítve (YY:08) ANS~XXXXXXXXX~YY~HHHHHHHHHH https://opgreg.nav.gov.hu//msg 3. vagy 4. küldés ANS válasz után nyugta (YY:04) ACK~YY~HHHHHHHHHH Visszajelentkezés már authentikáltan TRM RDY~XXXXXXXXX~S~N~T https://opg.nav.gov.hu/msg Nyugta (ACK~YY~HHHHHHHHHH) A megszemélyesítés során az autentikációs kulcsok két külön fájlban kerülnek továbbításra az AEE irányába. A rendelet 5 melléklet 15 pontjának c) alpontjában előírt tanúsítvány letöltési folyamat az alábbiak szerint valósul meg: - harmadikként a NAV elküldi a az AEE autentikációs tanúsítványát két külön fájlban, melyből az első a privátkulcsot, a második a tanúsítványt fogja magába foglalni. Az AEE-nek külön mindkettőt ANS-09-es üzenettel kell nyugtáznia Rendelet 5 melléklet 11pontjának i) alpontjában jelölt válaszüzenet jelentése YY=09 autentikációs kulcs letöltve Hibás regisztrációs fájl beérkezéskor a NAV szervere az alábbi ACK YY=xx válaszokat küldi az AEE felé: ACK YY=50 - Nem érvényes üzembe helyezési kód.
ACK YY=51 - Az üzembe helyezési kódot már felhasználták. ACK YY=52 - Nem nyilvántartott AEE. ACK YY=53 - Az AP már regisztrálva másik AEE-hez. ACK YY=54 - Az AEE már regisztrált másik AP számmal. ACK YY=55 - Az AEE már regisztrált másik üzembe helyezési kóddal. Hiba esetén, az AEE-k a NAV felé a DEFUPD üzenetre az alábbi ANS~XXXXXXXXX~YY~HHHHHHHHH választ adhatják, ahol az YY a következő értékeket veheti fel: YY=56 Adózói törzsadat frissítés sikertelen. Válaszul a NAV első alkalommal újra küldi a DEFUPD választ, másodszorra az ACK YY=04 üzenettel bontja a kapcsolatot. Az autentikációs tanúsítvány leküldés üzenetre (SENDCERT) az AEE-k hiba esetén az alábbi ANS~XXXXXXXXX~YY~HHHHHHHHH választ adhatják, ahol YY a következő értékeket veheti fel: YY=57 autentikációs tanúsítvány letöltése sikertelen. Válaszul a NAV első alkalommal újra küldi az autentikációs tanúsítványt, másodszorra az ACK YY=04 üzenettel bontja a kapcsolatot. Amennyiben a megszemélyesítési folyamat sikertelenül zárul, akkor az megismételhető. A folyamat akkor zárul, ha az AEE egység már autentikáltan visszajelentkezik és egy TRMRDY üzenetet küld a NAV irányába és erről megkapta az elfogadó ACK nyugtát. STA bejegyzés SSG mezőjének tartalma Az AEE-ben működő modem által mért hálózati térerőt dbm mérve előjeles egész számmal ábrázolva. pl. 63