Vissza a Journal-hoz
financehu

Tobb deviza reconciliation: HUF + EUR + USD egy hatekony folyamatban

1,800 havi tranzakcio negy devizaval, 11 masodperc reconciliation (volt 38 perc), es a 2025 karaczonyi 'zero rate' bug.

A magyar KKV-k tobb mint feleben legalabb harom deviza (HUF + EUR + USD) szerepel a havi konyvelesben. Egy szoftverceg EUR-ban szamlaz nyugat felé, USD-ben fizet AWS-nek, es HUF-ban tartja a beres-fizteseket. Egy importor HUF-ban szamlaz vegyfehasznalonak, EUR-ban fizet a szallitonak, USD-ben fedezi a logisztikat. Mindegyik mozgas egy reconciliation-tetel, es mindegyik az MNB kozeparfolyamtol fugg.

Mit kezel a Netorigo Finance modul

Napi szinten lehivjuk az MNB hivatalos arfolyamait (kozeparfolyam, 32 fobb deviza). A hivatkozas a fx_rate tablan tarolodik, datum + deviza + kozeparfolyam + rogzites-timestamp kulcsokkal. Minden szamla, banki tranzakcio, vagy belso konyvelesi tetel keletkezesekor megkapja a vonatkozo napi arfolyamot. Ha a felhasznalo egy specifikus arfolyamot szeretne (pl. bankkartya-tranzakcionak hasznalt arfolyam), kezzel felulirhatja, es ezt audit-trail-be naplozzuk.

Ho vegen automatikus reertekeles fut. A devizas egyenlegek (foleg a kovetelesek es kotelezetsegek) ujraertekelodnek a honap utolso munkanapjanak arfolyamaval, es a kelekezo nem-realizalt arfolyam-nyereseg vagy -veszteseg a megfelelo konyvelesi szamlara kerul (911 - Arfolyam-nyereseg, 871 - Arfolyam-veszteseg).

A 2025 vegi bug

2025 december utolso heten egy ker-partnerunknel egy 4 devizas folyamatban szazezer forintnyi tetel kerult tevesen 'zero rate' kategoriaba. A bug oka: a karaczonyi munkaszuneti napokban (dec 24-26) az MNB nem ad ki arfolyamot, igy a fx_rate tabla harom napon at nem kapott uj bejegyzest. A naiv kod a findFirst({ where: { date: tx.date } }) lekerdezest hasznalta, ami null-t adott vissza, es a kovetkezo retegben a null-t mint 0-t kezelte az osszegezes.

A fix: minden arfolyam-lekerdezesnek 'forward-fill' szabalyt kell kovetnie: ha az adott napra nincs arfolyam, az utolso elerheto korabbi arfolyamot hasznaljuk, es egy rate_source mezovel jeloljuk, hogy 'inherited' (oroklott). A migration retroaktivan kijavitotta a december 24-26 tetelek, es egy fx_rate_audit tablaba beirta az eredeti es a javitott osszeget. Osszesen 87 tetelt erintett, 1,247,000 Ft-ot.

A 4 devizas partner

Egy IT-szolgaltato partnerunk negy devizaval dolgozik (HUF, EUR, USD, GBP), havonta 1,800 tranzakciot konyvel. A reconciliation regen 38 percig tartott manuiluan (Excel-mester atfedeses sheet-jei), most 11 masodpercig fut a Netorigo modulban.

A kulcs: a reconciliation egyetlen SQL-lekerdezesben fut le, ami a tranzakciokat csoportositja partner + deviza + datum-vegre szerint, lekerdezi az adott MNB arfolyamot, atszamol HUF-ra es osszegezi. Az output egy CSV vagy XLSX, amit a fokonyvi alkalmazas (a partnernel SAP B1) atvesz.

Mit nem teszunk

Nem hasznalunk 'real-time' arfolyamokat (Bloomberg, Reuters, Open Exchange Rates). Csak az MNB-t. Magyar partnernek a hatosagi arfolyam a kozos nyelv, es a MNB napi kozeparfolyam az auditra alkalmas referencia. A bankkartya-tranzakcionak hasznalt bank-specifikus arfolyamot a felhasznalo manualisan rogzitheti, es ez a felulbiralas auditalt.

Nem keszitunk advanced hedge-szamitast (FX forward, swap, opcio). Ez egy specialista terulet, amit a tipikus KKV nem hasznal, es nem akarjuk a Finance modult treasury-rendszerre kifuttatni.

Osszessegben

A tobb deviza reconciliation nem nehez feladat, de tele van apro csapdakkal: hianyzo arfolyamok, munkaszuneti napok, ho vegi reertekeles, manualis felulbiralas, audit-trail. Ezeket kell jol megoldani, es akkor egy 1,800-tranzakcios honap reconciliation-ja 11 masodperc lesz.

Egyeb tapasztalati elemek

Egy gyakran felmerulo kerdes a fix-arfolyamos szerződes. Egy nemet anyacég havi keret-szerződest kot egy magyar leanyvallalattal, fix EUR/HUF arfolyamon (pl. 410.00) egy egesz negyedevre. Ezt a partner szinten lehet felulirni: a partner.fixed_fx_rate mezo a partnerre vonatkozo minden tranzakciora felulirja az MNB-arfolyamot. A reconciliation-folyamat a fix arfolyamot hasznalja az osszehasonlitashoz, es csak az ev vegi reertekelesnel terunk vissza az MNB-arfolyamhoz a kotelezo szakmai felulvizsgalat erdekeben.

Egy masik tapasztalati elem: a banki bekuldemeny FX-konverzionak (pl. egy EUR-tranzakcio HUF-banki szamlara erkezik, a bank kozben atvaltja) gyakran nem az MNB-kozeparfolyammal szamolnak. A bank sajat arfolyamhasznal, ami 1-2%-kal eltehet. A modul ezt egy actual_bank_rate mezovel rogziti, es a kulonboseget egy bank_fx_margin szamlara konyveli (a 919 - egyeb arfolyam-koltseg konyvelesi szamlan). Igy a teljes reconciliation cent-pontos marad.