A számlázás fejben egy mondat: „a Várda Tanácsadónak tíz óra fejlesztői munka." A képernyőn viszont űrlap: partner, tételsorok, áfakulcs, fizetési mód, kelte, teljesítés. A számla fejben már kész, csak a rendszerben még végig kell kattintani.
A Számlázz.hu és a Billingo elterjedt, sokan használják és szeretik. Nem az a kérdés, van-e igény számlázásra, hanem az, hogy miért kell még mindig kézzel végigvinni ugyanazokat a mezőket. Innen az ötlet: ne űrlapot kelljen kitöltened, hanem elég legyen elmondani egy asszisztensnek, mit számlázol.
Egy bökkenő van. A számla nem egy elküldött üzenet, hanem jogi dokumentum, amit a rendszer jelent a NAV felé, és kiállítás után nincs „mégse", csak sztornó. Egy számlázó AI-nál a bizalom nem utólagos funkció, hanem az alap. Ez szabja meg, mi készül el először.
Mi ez, és mi még nem
A nyitóképernyő egy mondatot ígér. Mögötte ma az alapréteg áll: a Számlázz.hu-integráció, a titkosított kulcskezelés, a számla állapotgépe, a teljes design rendszer. Áll az asszisztens felülete is — az üres állapot, a példamondatok, a beviteli mező —, csak a mondatból számlavázlatot építő generálás csiszolódik még.
Ez a sorrend szándékos. A beszélgetős réteg a látványos rész, de a termék megbízhatósága az alatta lévő rétegen múlik.


A felület, ahogy ma áll
Belépés után egyetlen képernyő fogad: az asszisztens. Egy mondatot kér, és felkínál néhány példát, hogy mit írhatsz. Fent a „teszt mód" jelzés — alapból ebben dolgozol, valódi számla és kockázat nélkül. Nincs menürengeteg, nincs űrlapfül: az egész felület arra az egy mondatra koncentrál, amiből majd a számla lesz.


A nehéz rész az AI alatt van
A Számlázz.hu Agent API XML-t vár, kötött mezősorrendben, XSD-hez igazítva. Az áfa itthon nullától 27%-ig terjed, és ott vannak a szöveges kulcsok (AAM, EUT, TAM és társaik), amelyek mind 0%-ot adnak, de más-más jogcímen. A kerekítés pénznemfüggő: forintnál egész, eurónál és dollárnál két tizedes. A leggyakoribb hibakódok mindegyike le van fordítva egy érthető mondatra, és a lista bővül. Ehhez jön az adózó-lekérdezés a NAV törzsadatából, hogy a partner valóban létezik-e.
Ez a motor nem látványos, de ez az, aminek először működnie kell. Ez a része már kész. Ráadásul nem köti egyetlen szolgáltatóhoz sem: a Számlázz.hu az első kör, a Billingo a következő. Így a felső réteg nem közvetlenül a szolgáltatóval beszél, hanem egy saját belső interfésszel.
A bizalom dizájnja
A design rendszer neve a kódban „éjféli főkönyv": sötét, meleg, csendes. Egy felület, amit nap mint nap használsz, ne harsogjon.
A színek szemantikusan működnek, és fukarul bánok velük. Borostyán a műveletre és a megerősítésre. Zsályazöld a kiállított számlára. Okker a hiányzó adatra. A vörös pedig egyetlen dologra van fenntartva: a visszafordíthatatlanra, vagyis az éles módra és a sztornóra. Ha a vörös mindig csak annyit jelent, hogy „ez nem vonható vissza", a felület komolyan vehető marad.
A számok monospace betűvel állnak, hogy az adószám adószámnak nézzen ki. Az előnézeti kártya minden sor nettóját, áfáját és bruttóját külön kiírja, így semmi nem marad rejtve, mielőtt rábólintasz. Az asszisztens javasol; a kiállítás a te döntésed. A tesztmód az alapértelmezett, hogy valódi számla és kockázat nélkül ki lehessen próbálni.
A mozgás is ezt a hangot viszi tovább. A nyitóképernyőn az asszisztens előtted rakja össze a számlát: meghallgat, leírja a mondatot, kikeresi a partnert, és a vázlatból felépül a kész előnézet — nem dísz, hanem ugyanaz a folyamat, amit majd élesben is látsz. Lejjebb a szekciók egyetlen halk mozdulattal úsznak be; a cél a nyugodt pontosság, nem a látvány.

Ami a felület alatt van
Az Agent kulcs tárolva mindig titkosított (AES-256-GCM), és csak a hívás pillanatában fejti vissza a rendszer; a böngészőhöz és a nyelvi modellhez soha nem jut el. Minden számla vázlatként indul, és állapotgépen halad végig: vázlat → megerősítésre vár → kiállítás alatt → kiállítva vagy sikertelen. Minden átmenet egy hozzáfűzhető naplóba kerül. Egy idempotenciakulcs (fiók és tételazonosító) gondoskodik róla, hogy egy újrapróbálkozás soha ne állítson ki kétszer. Ez az a hiba, amit a NAV felé nem lehet megengedni.
A keretek: Next.js 16, React 19, Postgres és Drizzle, Better Auth. A rendszer Railwayen fut, EU-régióban.
Ami jön
A beszélgetős réteg: a mondatból partner, tételsorok és áfa, majd ugyanaz az előnézet, amit fentebb láttál. Utána partner-memória a felületen, számlatörténet, PDF-generálás és emailküldés, aztán a Billingo.
A nyelvi modell ezért kerül a végére. Csak akkor biztonságos rátenni, amikor minden, amit elronthatna, már védve van.
A láthatatlan rész
Az ígéret egy mondat: mondd ki a számlát, a többit elintézi. A munka java az, hogy ezt a mondatot biztonságos legyen kimondani.
Egy nyelvi modellt rákötni egy számlázó API-ra önmagában nem nehéz. A nehéz az, hogy itt „a többi" egy adóhatóságot is jelent. A cél mégis az, hogy elég legyen kimondani a számlát.
Mindig van következő szint.
Ha tetszik, amit látsz (akár terméket, akár csapatot raksz össze) szívesen beszélek róla.
