Mar nem ujdonsag, hogy a magyar NAV Online Szamla v3.0-as endpoint kotelezo es a B2B-szamlak realtime feltoltese alapelvarras. Az viszont kevésbé ismert, hogy mit jelent a teljes AFA-folyamat automatizalasa egy 25 fos cegnel, ahol a konyveloi Excel meg mindig hetente erkezik vissza.
Mit automatizal a Netorigo modul
A Netorigo platform AFA-modulja harom retegben dolgozik. Az elso a Prisma invoice tablan figyel, BullMQ-n keresztul a nav-online-uploader worker felveszi a friss szamlat es 30 masodpercen belul feltolti a NAV v3.0 endpointra. A NestJS controller egy outbox mintaval garantalja, hogy egyszer sem vesszuk el a feltoltest, meg ha a NAV API 502-vel valaszol is. A masodik reteg a NAV tranzakcios statuszainak lekerdezese: percenként pollozzuk az invoiceQuery endpointot, es a sikertelen feltoltesseket a failed_uploads tablaba taroljuk konyveloi attekintesre.
A harmadik reteg a leghasznosabb: a havi AFA-bevallas tervezete egy PDF-be vagy XLSX-be exportalva, az osszes szamla osszesítve a vonatkozo AFA-soronkent (27%, 18%, 5%, 0%, AAM, KAM, EU-fordított, EU-bevezetett, harmadik orszag). Ezt a tervezetet a konyvelo egy email-mellekletben kapja, es atemelheti a sajat szakmai szoftverebe (RLB, Forras-NET, Konyvelő Plusz).
A csendes nehez eset
A fordított AFA. A magyar SZJ-kodok kozul tobb mint 40 (hulladek, epitoipari munka, gabona, acel, mobilelem-szallitas) esik a fordított AFA hatalya ala. A naiv implementacio egyszeruen taxRate=0-t allit be a szamlan, de ez a NAV szamara reverse-charge-kent jelolt szamlat egyenesen el fogja utasitani, mert hianyzik a lineNatureIndicator=PRODUCT mezo plusz a vatRateModifier=DOMESTIC_REVERSE_CHARGE parameter. Tovabba a vevo cegnek is szerepelnie kell a NAV adatbazisban erre az SZJ-kategoriara, kulonben a NAV 'VEVO_NEM_ALANYA' hibakoddal valaszol.
Mi ezt egy tax-classifier.service.ts-ben oldottuk meg, ami az SZJ-kodot ket lekerdezesben (helyi cache + NAV vevo-lekerdezes) klasszifikalja, es a megfelelo XML-mezoket allitja ossze. A klasszifikacio cache-elve 4 ms alatt fut, hideg state-bol 280 ms.
A konyveloi Excel ellen
A Netorigo modul minden honap utolso munkanapjan automatikusan egy konyveloi Excelt general (a kondisciplenak megfeleloen), amiben a NAV-feltoltesek mind szerepelnek, ket osszesito sorral: a feltoltott szamlak osszerteke + AFA-erteke, illetve a sikertelen feltolesek listaja. Ez az Excel egy az egyhez osszehasonlithato a konyvelő havi reconciliation-jeval, es eddig 8 partnernel egyetlen eltereses esetet talaltunk, ami egy NAV-oldali idobeli elcsuszas volt (a NAV 23:59-kor jegyezte be, mi 00:01-kor).
A megtakaritott ido
Egy 25 fos cegnel a tipikus AFA-folyamat havonta 14 oranyi adminisztracios munkat jelent: szamlak osszegyujtese, manualis NAV-feltoltes, reconciliation a konyvelovel, hibajavitas. A Netorigo modullal ez lecsokken 1.5 oraval havonta (csak a hibas szamlak atvizsgalasa, ami atlagosan 2-3 darab/ho). 12.5 ora x 12 ho = 150 ora evente, ami egy 5,000 Ft/ora-s admin-arral 750,000 Ft/ev megtakaritast jelent.
De ez meg nem minden. A NAV bunteteseket az AFA-bevallas keseleseert vagy hibakart szabja ki, es ezek atlagosan 80-150 ezer forintos buntetesi tetelek. Egyik partnerunknel az utolso 18 honapban nulla buntetes erkezett, szemben a megelozo evkozi atlagos ket esettel.
Mit nem automatizalunk
A Netorigo nem automatizalja a vegleges AFA-bevallas befogadasat a NAV felulet felol. Ezt a konyvelo csinalja, mert a vegleges aklarasi tetelek (pl. levonhato es nem levonhato AFA, K+F kedvezmeny, kedvezmenyes kategoriak) egy szakmai dontes, amit egy automatizalt rendszer nem szabadon erinthet. Mi a tervezetet adjuk, a feleloss a konyveloe.
Ez az ertekes szovetseg: mi a 99% rutintmunkat csinaljuk, a konyvelo a 1% kritikus dontest hozza. A koltsegcsokkenes szempontjabol mindenkinek megerie.