Minta A példa a kassza/validators modullal ellenőrzi a beírt adószámot, lekérdezi a NAV-tól, és a válaszból összerakott vevővel számlát állít ki. Utána egy ismeretlen törzsszámot is lekérdez, amelyre valid: false jön. Az Elküldött XML fülön mindkét xmltaxpayer kérést és a számla kérését is látod, a Válasz fülön a QueryTaxpayerResponse XML-t.
Kód Elküldött XML Válasz
adoszam.ts import { createKassza , type InvoiceBuyer } from 'kassza'
import { parseHungarianTaxNumber } from 'kassza/validators'
const kassza = createKassza ()
const bevitt = '12345676-2-41'
if ( ! parseHungarianTaxNumber ( bevitt )) throw new Error ( 'Érvénytelen adószám' )
const ceg = await kassza . taxpayer . query ( bevitt )
if ( ceg . valid && ceg . address ) {
const vevo : InvoiceBuyer = {
name : ceg . shortName ?? ceg . name ?? '' ,
zip : ceg . address . postalCode ,
city : ceg . address . city ,
address : ceg . address . formatted . split ( ', ' ) . slice ( 1 ) . join ( ', ' ) ,
taxNumber : ceg . taxNumber ?. formatted ,
}
await kassza . invoices . create ({
buyer : vevo ,
items : [{ name : 'Tanácsadás' , netUnitPrice : 40_000 , vat : 27 }] ,
})
}
await kassza . taxpayer . query ( '87654321' ) 1. Adószám lekérdezés · action-szamla_agent_taxpayer <? xml version = "1.0" encoding = "UTF-8" ?>
< xmltaxpayer xmlns = "http://www.szamlazz.hu/xmltaxpayer" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = "http://www.szamlazz.hu/xmltaxpayer http://www.szamlazz.hu/docs/xsds/agent/xmltaxpayer.xsd" >
< beallitasok >
< szamlaagentkulcs >••••••••</ szamlaagentkulcs >
</ beallitasok >
< torzsszam >12345676</ torzsszam >
</ xmltaxpayer >
2. Számla létrehozás · action-xmlagentxmlfile <? xml version = "1.0" encoding = "UTF-8" ?>
< xmlszamla xmlns = "http://www.szamlazz.hu/xmlszamla" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = "http://www.szamlazz.hu/xmlszamla https://www.szamlazz.hu/szamla/docs/xsds/agent/xmlszamla.xsd" >
< beallitasok >
< szamlaagentkulcs >••••••••</ szamlaagentkulcs >
< eszamla >false</ eszamla >
< szamlaLetoltes >true</ szamlaLetoltes >
< valaszVerzio >2</ valaszVerzio >
</ beallitasok >
< fejlec >
< keltDatum >2026-10-02</ keltDatum >
< teljesitesDatum >2026-10-02</ teljesitesDatum >
< fizetesiHataridoDatum >2026-10-02</ fizetesiHataridoDatum >
< fizmod >Átutalás</ fizmod >
< penznem >HUF</ penznem >
< szamlaNyelve >hu</ szamlaNyelve >
</ fejlec >
< elado ></ elado >
< vevo >
< nev >MINTA KERESKEDELMI KFT.</ nev >
< irsz >1111</ irsz >
< telepules >Budapest</ telepules >
< cim >Minta utca 1.</ cim >
< sendEmail >false</ sendEmail >
< adoszam >12345676-2-41</ adoszam >
</ vevo >
< tetelek >
< tetel >
< megnevezes >Tanácsadás</ megnevezes >
< mennyiseg >1</ mennyiseg >
< mennyisegiEgyseg >db</ mennyisegiEgyseg >
< nettoEgysegar >40000</ nettoEgysegar >
< afakulcs >27</ afakulcs >
< nettoErtek >40000</ nettoErtek >
< afaErtek >10800</ afaErtek >
< bruttoErtek >50800</ bruttoErtek >
</ tetel >
</ tetelek >
</ xmlszamla >
3. Adószám lekérdezés · action-szamla_agent_taxpayer <? xml version = "1.0" encoding = "UTF-8" ?>
< xmltaxpayer xmlns = "http://www.szamlazz.hu/xmltaxpayer" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = "http://www.szamlazz.hu/xmltaxpayer http://www.szamlazz.hu/docs/xsds/agent/xmltaxpayer.xsd" >
< beallitasok >
< szamlaagentkulcs >••••••••</ szamlaagentkulcs >
</ beallitasok >
< torzsszam >87654321</ torzsszam >
</ xmltaxpayer >
1. Adószám lekérdezés · válasz, HTTP 200 content-type: application/xml; charset=UTF-8
set-cookie: JSESSIONID=89F993A08905A5318851946E; Path=/szamla; Secure; HttpOnly
<? xml version = "1.0" encoding = "UTF-8" ?>
< QueryTaxpayerResponse xmlns = "http://schemas.nav.gov.hu/OSA/3.0/api" xmlns : common = "http://schemas.nav.gov.hu/NTCA/1.0/common" xmlns : base = "http://schemas.nav.gov.hu/OSA/3.0/base" >
< common : header >
< common : requestId >KASSZAMUQM27IC</ common : requestId >
< common : timestamp >2026-10-02T06:57:35.364Z</ common : timestamp >
< common : requestVersion >3.0</ common : requestVersion >
< common : headerVersion >1.0</ common : headerVersion >
</ common : header >
< common : result >
< common : funcCode >OK</ common : funcCode >
</ common : result >
< infoDate >2026-10-02T06:57:35.364Z</ infoDate >
< taxpayerValidity >true</ taxpayerValidity >
< taxpayerData >
< taxpayerName >MINTA KERESKEDELMI KORLÁTOLT FELELŐSSÉGŰ TÁRSASÁG</ taxpayerName >
< taxpayerShortName >MINTA KERESKEDELMI KFT.</ taxpayerShortName >
< taxNumberDetail >< base : taxpayerId >12345676</ base : taxpayerId >< base : vatCode >2</ base : vatCode >< base : countyCode >41</ base : countyCode ></ taxNumberDetail >
< incorporation >ORGANIZATION</ incorporation >
< taxpayerAddressList >
< taxpayerAddressItem >
< taxpayerAddressType >HQ</ taxpayerAddressType >
< taxpayerAddress >< base : countryCode >HU</ base : countryCode >< base : postalCode >1111</ base : postalCode >< base : city >BUDAPEST</ base : city >< base : streetName >MINTA</ base : streetName >< base : publicPlaceCategory >UTCA</ base : publicPlaceCategory >< base : number >1</ base : number ></ taxpayerAddress >
</ taxpayerAddressItem >
</ taxpayerAddressList >
</ taxpayerData >
</ QueryTaxpayerResponse >
2. Számla létrehozás · válasz, HTTP 200 content-type: application/xml; charset=UTF-8
szlahu_szamlaszam: KASSZA-2026-1
szlahu_nettovegosszeg: 40000
szlahu_bruttovegosszeg: 50800
szlahu_kintlevoseg: 50800
<? xml version = "1.0" encoding = "UTF-8" ?>
< xmlszamlavalasz xmlns = "http://www.szamlazz.hu/xmlszamlavalasz" >
< sikeres >true</ sikeres >
< szamlaszam >KASSZA-2026-1</ szamlaszam >
< szamlanetto >40000</ szamlanetto >
< szamlabrutto >50800</ szamlabrutto >
< kintlevoseg >50800</ kintlevoseg >
< pdf >JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgPj4KZW5k… (base64 PDF, rövidítve)</ pdf >
</ xmlszamlavalasz >
3. Adószám lekérdezés · válasz, HTTP 200 content-type: application/xml; charset=UTF-8
<? xml version = "1.0" encoding = "UTF-8" ?>
< QueryTaxpayerResponse xmlns = "http://schemas.nav.gov.hu/OSA/3.0/api" xmlns : common = "http://schemas.nav.gov.hu/NTCA/1.0/common" xmlns : base = "http://schemas.nav.gov.hu/OSA/3.0/base" >
< common : header >
< common : requestId >KASSZAMUQM27IG</ common : requestId >
< common : timestamp >2026-10-02T06:57:35.368Z</ common : timestamp >
< common : requestVersion >3.0</ common : requestVersion >
< common : headerVersion >1.0</ common : headerVersion >
</ common : header >
< common : result >
< common : funcCode >OK</ common : funcCode >
</ common : result >
< infoDate >2026-10-02T06:57:35.368Z</ infoDate >
< taxpayerValidity >false</ taxpayerValidity >
</ QueryTaxpayerResponse >
Kitalált adózók a sandboxban#
A sandbox nem hívja a NAV-ot. Ezt a három kitalált törzsszámot ismeri, minden más 8 jegyű törzsszámra valid: false választ ad:
Adószám shortNameincorporation12345676-2-41MINTA KERESKEDELMI KFT.'ORGANIZATION'23456787-2-13MINTA WEBÁRUHÁZ KFT.'ORGANIZATION'11111111-1-06TESZT ELEK E.V.'SELF_EMPLOYED'
Mindhárom átmegy a parseHungarianTaxNumber ellenőrzésén, így a sandboxban a bevitt számot bármelyikre átírhatod.
XSD séma#
A kérés sémája:
http://www.szamlazz.hu/docs/xsds/agent/xmltaxpayer.xsd
A válasz a NAV Online Számla QueryTaxpayerResponse szerkezetét követi, ennek sémáját a NAV Online Számla interfész dokumentációja tartalmazza.