PromNET

2026. május 2. · #stripe #nav #szamlazas #magyar #compliance

Stripe + NAV Online Számla — automatikus magyar számlázás SaaS-en

A magyar SaaS-eknél eddig megoldatlan probléma: Stripe-fizetés után automatikus NAV-online-számla. Hogy oldottuk meg saját kezűleg, miért NEM Billingo, és milyen webhook-flow áll mögötte.

Stripe + NAV Online Számla — automatikus magyar számlázás SaaS-en

A magyar SaaS-piacon az egyik legbosszantóbb integrációs feladat: Stripe-fizetés után automatikusan kiállítani egy NAV-online-számlát. A nemzetközi SaaS-szolgáltatók (Stripe, Paddle, LemonSqueezy) fizetésre alkalmasak, de magyar NAV-számla-kiállításra nem. A magyar számlázó-szoftverek (Számlázz.hu, Billingo, Szamla.hu) viszont NEM jól integrálódnak modern SaaS-flow-kba.

A PromNET-en saját kezűleg fejlesztettük ki a Stripe-NAV-bridge-etNEM Billingo-előfizetésre alapozva, hanem a NAV Online Számla API-t közvetlenül használva. Ebben a posztban arról, miért így, milyen webhook-flow áll mögötte, és mit tanultunk a megvalósításból.

A probléma

Egy magyar SaaS-vállalkozónak a Stripe-előfizetés után minden hónapban kötelező kiállítani egy NAV-online-számlát a felhasználónak. A NAV szabályozása szerint:

A klasszikus magyar megoldás:

  1. Stripe webhook → email-megy a vállalkozónak
  2. A vállalkozó kézzel beíratja a Számlázz.hu-ba
  3. Számlázz.hu kiállítja a számlát + NAV-ra beküldi
  4. PDF emailben → felhasználó

Ez manuális, lassú, hibázható. Egy SaaS-en havi 100+ ügyfél után napi 4-5 számla-kiállítást jelent, ami napi 1-2 órás sec-cleanup-munka.

A nemzetközi megoldás miért nem jó

A Stripe-nak van saját számla-funkciója (“Stripe Invoicing”). Magyar piacon NEM használható:

Tehát: a Stripe-számla a magyar NAV-felé semmit nem ér. Külön kell megoldani.

A Billingo / Számlázz.hu integráció miért nem jó

Felmerülhet: “kösd be a Billingo API-ját, és kész”. A probléma:

A NAV Online Számla maga ingyenes — a NAV-rendszerhez közvetlenül beküldhető. Nem kell köztes szolgáltató.

A saját megvalósítás

A flow:

  1. Stripe webhook beérkezik (checkout.session.completed vagy invoice.paid)
  2. A webhook-handler D1-be ír egy invoices rekordot (Stripe-id, summer, vásárlás-szám)
  3. Háttérben (Cloudflare Worker queue) NAV Online Számla XML generálódik
  4. A NAV API-ra POST-oljuk a számla-XML-t (Bearer-token auth)
  5. NAV visszaigazolja → számla-azonosítót kap a felhasználó
  6. PDF-renderelés (saját PDF-generátor — pdf-lib JavaScript-en)
  7. Email-küldés a felhasználónak (Resend)

A teljes flow átlag 15-30 másodperc Stripe-fizetéstől email- megérkezésig. A NAV API-call 2-3 sec, a többi a saját infrastruktúránk.

A kihívások

1. NAV Online Számla XML-formátum

A NAV-szabvány XML 3.0nem JSON, régi-iskola. A séma 500+ sornyi XSD, bonyolult constraint-ekkel. Saját kezűleg megírni a builder-t 3 hét munka volt.

2. Hibakezelés

Mi van ha a NAV API leáll? Mi van ha a számla-XML hibás? Mi van ha a felhasználó adószáma rossz?

A megoldás:

3. Jogi formátum

Egy magyar számlán kötelező rekordok:

Ezeket mind ellenőrzi a NAV beküldéskor. Ha hibázunk, rejectedés a felhasználó számla-nélkül marad.

4. PDF-rendering

A NAV-számla-XML nem ember-olvasható. Kell egy PDF, amit emailbe tudunk csatolni. Saját PDF-generátor (pdf-lib) ki-renderel egy A4-magyar-számla-formátumot, logóval, aláírás-helyivel. NEM Billingo-stílus, a saját designunk.

5. Stripe webhook-megbízhatóság

A Stripe webhook általában megérkezik 1 másodpercen belül, de hálózati hiba vagy CF-Worker-leállás esetén eltörhet. A Stripe maga retry-zi 3 napig, de nálunk is van második védvonal: óránkénti polling-cron a Stripe API-n hogy nem maradt-e bent egy paid invoice ami nem ment át a webhook-on.

A működés

A Stripe-NAV-bridge élesben fut. Az átlag-folyamat-idő alig 20 másodperc, és a hibakezelés több retry-réteggel védett: a NAV-rejection esetén az admin-felület manuálisan közbeavatkozhat. A leggyakoribb hibaforrás a rossz adószám — itt a felhasználó adatát kell javítani, nem a kódot.

Mire NEM jó

A nyílt-forráskódosítás kérdése

Néha kérdezik: “nyílt-forrás-kódosíthatnád a NAV-bridge-et, hasznos lenne más magyar SaaS-eknek”. A válasz: valószínűleg igen, de még nem most.

Az ok: a kód jelenleg PromNET-specifikus (D1 séma, Stripe-webhook- handler, saját adat-struktúra). Egy nyílt-forráskódú-csomaghoz absztrakciós-réteg kellene. Q4 2026 vagy 2027 lehet realisztikus terv.

Addig: ha érdekel a megvalósítás, megnézheted a /sugo/nav-szamla- integracio sugó-cikkben a publikus dokumentációt és a diagram-átnézetét.

Pozícionálás

A Stripe-NAV-bridge megoldja a magyar SaaS-számlázás-problémát a PromNET-felhasználók számára. NEM általános-célú számlázó-eszköz, NEM Billingo-versenytárs.

Annyit tesz: automatizálja azt, ami eddig manuális volt. Egy kevesebb fájdalmat ad a magyar SaaS-vállalkozónak (nekem), és a felhasználóid azonnal megkapják a hivatalos számlát emailben.

A funkció élesben fut minden Stripe-fizetés után automatikusan. A felhasználónak nem kell semmit beállítani — a NAV-számla magától megérkezik 1-2 perc múlva.


© 2026 PromNET — Polyák Csaba. ← Vissza a blog-ra

Hozzászólások

Betöltés…