Rendelésszám és hívásazonosító Az orderNumber (XML-ben a fejléc rendelesSzam eleme) a saját rendszered rendelésazonosítója. Opcionális, ha kihagyod, a nyugtán nem jelenik meg rendelésszám. Érdemes mégis megadni, mert ezzel kérdezheted le később a nyugtát.
const nyugta = await kassza . receipts .create ({
callId : 'PENZTAR-2026-0212' ,
orderNumber : 'PENZTAR-2026-0212' ,
items : [{ name : 'Napijegy' , grossUnitPrice : 4_500 , vat : 27 }] ,
})
const ugyanaz = await kassza . receipts .get ({ orderNumber : 'PENZTAR-2026-0212' })
A válaszban a rendelésszám változatlanul visszajön, a kasszában a nyugta orderNumber mezőjében.
Nyugta lekérdezése
Lekérdezés nyugtaszám és rendelésszám alapján, find nem létező nyugtára.
Futtatás a sandboxbanKód Elküldött XML Válasz Konzol
nyugta-lekerdezes.ts import { createKassza } from 'kassza'
const kassza = createKassza ({
defaults : { receipt : { prefix : 'NYGT' , paymentMethod : 'készpénz' } } ,
})
const nyugta = await kassza . receipts . create ({
callId : 'PENZTAR-2026-0212' ,
orderNumber : 'PENZTAR-2026-0212' ,
items : [{ name : 'Napijegy' , grossUnitPrice : 4_500 , vat : 27 }] ,
})
const szamAlapjan = await kassza . receipts . get ( nyugta . number )
const rendelesAlapjan = await kassza . receipts . get ({
orderNumber : 'PENZTAR-2026-0212' ,
downloadPdf : false ,
})
console . log ( szamAlapjan . number === rendelesAlapjan . number )
console . log ( rendelesAlapjan . totals , rendelesAlapjan . pdf )
const nincs = await kassza . receipts . find ({ receiptNumber : 'NYGT-2026-999' })
console . log ( 'Nem létező nyugta:' , nincs ) 1. Nyugta létrehozás · action-szamla_agent_nyugta_create <? xml version = "1.0" encoding = "UTF-8" ?>
< xmlnyugtacreate xmlns = "http://www.szamlazz.hu/xmlnyugtacreate" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = "http://www.szamlazz.hu/xmlnyugtacreate https://www.szamlazz.hu/szamla/docs/xsds/nyugtacreate/xmlnyugtacreate.xsd" >
< beallitasok >
< szamlaagentkulcs >••••••••</ szamlaagentkulcs >
< pdfLetoltes >true</ pdfLetoltes >
</ beallitasok >
< fejlec >
< hivasAzonosito >PENZTAR-2026-0212</ hivasAzonosito >
< elotag >NYGT</ elotag >
< fizmod >készpénz</ fizmod >
< penznem >HUF</ penznem >
< rendelesSzam >PENZTAR-2026-0212</ rendelesSzam >
</ fejlec >
< tetelek >
< tetel >
< megnevezes >Napijegy</ megnevezes >
< mennyiseg >1</ mennyiseg >
< mennyisegiEgyseg >db</ mennyisegiEgyseg >
< nettoEgysegar >3543.31</ nettoEgysegar >
< afakulcs >27</ afakulcs >
< netto >3543.31</ netto >
< afa >956.69</ afa >
< brutto >4500</ brutto >
</ tetel >
</ tetelek >
</ xmlnyugtacreate >
2. Nyugta lekérdezés · action-szamla_agent_nyugta_get <? xml version = "1.0" encoding = "UTF-8" ?>
< xmlnyugtaget xmlns = "http://www.szamlazz.hu/xmlnyugtaget" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = "http://www.szamlazz.hu/xmlnyugtaget https://www.szamlazz.hu/szamla/docs/xsds/nyugtaget/xmlnyugtaget.xsd" >
< beallitasok >
< szamlaagentkulcs >••••••••</ szamlaagentkulcs >
< pdfLetoltes >true</ pdfLetoltes >
</ beallitasok >
< fejlec >
< nyugtaszam >NYGT-2026-1</ nyugtaszam >
</ fejlec >
</ xmlnyugtaget >
3. Nyugta lekérdezés · action-szamla_agent_nyugta_get <? xml version = "1.0" encoding = "UTF-8" ?>
< xmlnyugtaget xmlns = "http://www.szamlazz.hu/xmlnyugtaget" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = "http://www.szamlazz.hu/xmlnyugtaget https://www.szamlazz.hu/szamla/docs/xsds/nyugtaget/xmlnyugtaget.xsd" >
< beallitasok >
< szamlaagentkulcs >••••••••</ szamlaagentkulcs >
< pdfLetoltes >false</ pdfLetoltes >
</ beallitasok >
< fejlec >
< rendelesSzam >PENZTAR-2026-0212</ rendelesSzam >
</ fejlec >
</ xmlnyugtaget >
4. Nyugta lekérdezés · action-szamla_agent_nyugta_get <? xml version = "1.0" encoding = "UTF-8" ?>
< xmlnyugtaget xmlns = "http://www.szamlazz.hu/xmlnyugtaget" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = "http://www.szamlazz.hu/xmlnyugtaget https://www.szamlazz.hu/szamla/docs/xsds/nyugtaget/xmlnyugtaget.xsd" >
< beallitasok >
< szamlaagentkulcs >••••••••</ szamlaagentkulcs >
< pdfLetoltes >true</ pdfLetoltes >
</ beallitasok >
< fejlec >
< nyugtaszam >NYGT-2026-999</ nyugtaszam >
</ fejlec >
</ xmlnyugtaget >
1. Nyugta létrehozás · válasz, HTTP 200 content-type: application/xml; charset=UTF-8
set-cookie: JSESSIONID=E1D16377288BA53295586A95; Path=/szamla; Secure; HttpOnly
<? xml version = "1.0" encoding = "UTF-8" ?>
< xmlnyugtavalasz xmlns = "http://www.szamlazz.hu/xmlnyugtavalasz" >
< sikeres >true</ sikeres >
< hibakod ></ hibakod >
< hibauzenet ></ hibauzenet >
< nyugtaPdf >JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgPj4KZW5k… (base64 PDF, rövidítve)</ nyugtaPdf >
< nyugta >
< alap >
< id >1001</ id >
< hivasAzonosito >PENZTAR-2026-0212</ hivasAzonosito >
< nyugtaszam >NYGT-2026-1</ nyugtaszam >
< tipus >NY</ tipus >
< stornozott >false</ stornozott >
< kelt >2026-09-19</ kelt >
< fizmod >készpénz</ fizmod >
< penznem >HUF</ penznem >
< teszt >true</ teszt >
< rendelesSzam >PENZTAR-2026-0212</ rendelesSzam >
</ alap >
< tetelek >
< tetel >
< megnevezes >Napijegy</ megnevezes >
< mennyiseg >1</ mennyiseg >
< mennyisegiEgyseg >db</ mennyisegiEgyseg >
< nettoEgysegar >3543.31</ nettoEgysegar >
< netto >3543.31</ netto >
< afakulcs >27</ afakulcs >
< afa >956.69</ afa >
< brutto >4500</ brutto >
</ tetel >
</ tetelek >
< osszegek >
< afakulcsossz >
< afakulcs >27</ afakulcs >
< netto >3543.31</ netto >
< afa >956.69</ afa >
< brutto >4500</ brutto >
</ afakulcsossz >
< totalossz >
< netto >3543.31</ netto >
< afa >956.69</ afa >
< brutto >4500</ brutto >
</ totalossz >
</ osszegek >
</ nyugta >
</ xmlnyugtavalasz >
2. Nyugta lekérdezés · válasz, HTTP 200 content-type: application/xml; charset=UTF-8
<? xml version = "1.0" encoding = "UTF-8" ?>
< xmlnyugtavalasz xmlns = "http://www.szamlazz.hu/xmlnyugtavalasz" >
< sikeres >true</ sikeres >
< hibakod ></ hibakod >
< hibauzenet ></ hibauzenet >
< nyugtaPdf >JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgPj4KZW5k… (base64 PDF, rövidítve)</ nyugtaPdf >
< nyugta >
< alap >
< id >1001</ id >
< hivasAzonosito >PENZTAR-2026-0212</ hivasAzonosito >
< nyugtaszam >NYGT-2026-1</ nyugtaszam >
< tipus >NY</ tipus >
< stornozott >false</ stornozott >
< kelt >2026-09-19</ kelt >
< fizmod >készpénz</ fizmod >
< penznem >HUF</ penznem >
< teszt >true</ teszt >
< rendelesSzam >PENZTAR-2026-0212</ rendelesSzam >
</ alap >
< tetelek >
< tetel >
< megnevezes >Napijegy</ megnevezes >
< mennyiseg >1</ mennyiseg >
< mennyisegiEgyseg >db</ mennyisegiEgyseg >
< nettoEgysegar >3543.31</ nettoEgysegar >
< netto >3543.31</ netto >
< afakulcs >27</ afakulcs >
< afa >956.69</ afa >
< brutto >4500</ brutto >
</ tetel >
</ tetelek >
< osszegek >
< afakulcsossz >
< afakulcs >27</ afakulcs >
< netto >3543.31</ netto >
< afa >956.69</ afa >
< brutto >4500</ brutto >
</ afakulcsossz >
< totalossz >
< netto >3543.31</ netto >
< afa >956.69</ afa >
< brutto >4500</ brutto >
</ totalossz >
</ osszegek >
</ nyugta >
</ xmlnyugtavalasz >
3. Nyugta lekérdezés · válasz, HTTP 200 content-type: application/xml; charset=UTF-8
<? xml version = "1.0" encoding = "UTF-8" ?>
< xmlnyugtavalasz xmlns = "http://www.szamlazz.hu/xmlnyugtavalasz" >
< sikeres >true</ sikeres >
< hibakod ></ hibakod >
< hibauzenet ></ hibauzenet >
< nyugta >
< alap >
< id >1001</ id >
< hivasAzonosito >PENZTAR-2026-0212</ hivasAzonosito >
< nyugtaszam >NYGT-2026-1</ nyugtaszam >
< tipus >NY</ tipus >
< stornozott >false</ stornozott >
< kelt >2026-09-19</ kelt >
< fizmod >készpénz</ fizmod >
< penznem >HUF</ penznem >
< teszt >true</ teszt >
< rendelesSzam >PENZTAR-2026-0212</ rendelesSzam >
</ alap >
< tetelek >
< tetel >
< megnevezes >Napijegy</ megnevezes >
< mennyiseg >1</ mennyiseg >
< mennyisegiEgyseg >db</ mennyisegiEgyseg >
< nettoEgysegar >3543.31</ nettoEgysegar >
< netto >3543.31</ netto >
< afakulcs >27</ afakulcs >
< afa >956.69</ afa >
< brutto >4500</ brutto >
</ tetel >
</ tetelek >
< osszegek >
< afakulcsossz >
< afakulcs >27</ afakulcs >
< netto >3543.31</ netto >
< afa >956.69</ afa >
< brutto >4500</ brutto >
</ afakulcsossz >
< totalossz >
< netto >3543.31</ netto >
< afa >956.69</ afa >
< brutto >4500</ brutto >
</ totalossz >
</ osszegek >
</ nyugta >
</ xmlnyugtavalasz >
4. Nyugta lekérdezés · válasz, HTTP 200 content-type: application/xml; charset=UTF-8
szlahu_error: A%20nyugtasz%C3%A1m%20nem%20l%C3%A9tezik.
szlahu_error_code: 339
<? xml version = "1.0" encoding = "UTF-8" ?>
< xmlnyugtavalasz xmlns = "http://www.szamlazz.hu/xmlnyugtavalasz" >
< sikeres >false</ sikeres >
< hibakod >339</ hibakod >
< hibauzenet >A nyugtaszám nem létezik.</ hibauzenet >
</ xmlnyugtavalasz >
Konzol true
{
netAmount: 3543.31,
vatAmount: 956.69,
grossAmount: 4500,
byVat: [
{
vat: 27,
vatPercentage: 27,
netAmount: 3543.31,
vatAmount: 956.69,
grossAmount: 4500
}
]
} undefined
Nem létező nyugta: null
Rendelésszám ismétlődés tiltása#
A Számlázz.hu fiókban beállíthatod, hogy egy rendelésszám csak egy nyugtán szerepelhessen. A kapcsoló helye: Beállítások → Fiók beállításai → Számlázás beállítások, a Nyugtaszerkesztő beállítások szekcióban, „Rendelésszám ismétlődés tiltása” néven.
Bekapcsolva: korábban már használt rendelésszámmal nem készíthető új nyugta, a kérés hibával elbukik.
Kikapcsolva: ugyanazzal a rendelésszámmal több nyugta is kiállítható, például ha egy rendelést több részletben nyugtázol.
A nyugtákra ez a kapcsoló vonatkozik, a számlák azonos nevű beállításától függetlenül, amely a Számlaszerkesztő beállítások szekcióban van. Az ellenőrzés bizonylattípusonként történik, így egy nyugtán és egy számlán szerepelhet ugyanaz a rendelésszám. A számlák szabályait a Rendelésszám és duplikáció oldal írja le.
Tanács
Ha rendelésszám alapján kérdezed le a nyugtákat, kapcsold be a tiltást. Csak így biztos, hogy egy
rendelésszám pontosan egy nyugtát azonosít.
Hívásazonosító és idempotencia#
A dupla nyugta ellen a fiókbeállítástól függetlenül a callId (XML-ben hivasAzonosito) véd. Ha megadod, egyedinek kell lennie: ugyanazzal a callId-val ismételt kérés nem hoz létre második nyugtát, hanem 338-as, duplicate kategóriájú hibát ad.
A kassza erre építve csak callId mellett próbálja újra a nyugtakészítést, és csak network, timeout vagy maintenance hibánál. Hívásazonosító nélkül a kérés egyszer megy ki, és egy időtúllépés után nem tudhatod, elkészült-e a nyugta.
A Számla Agent hívásazonosító alapján nem kérdez le, rendelésszám alapján igen. Ezért a bevált minta: a callId és az orderNumber legyen ugyanaz a saját rendelésazonosítódból képzett érték, és duplicate hibánál rendelésszám alapján kérd le a már elkészült nyugtát.
import { type CreateReceiptInput , isSzamlazzError , type Receipt } from 'kassza'
async function nyugtaz (rendelesId : string , items : CreateReceiptInput [ 'items' ]) : Promise < Receipt > {
const azonosito = `PENZTAR- ${ rendelesId } `
try {
return await kassza . receipts .create ({ callId : azonosito , orderNumber : azonosito , items })
} catch (error) {
if ( isSzamlazzError (error) && error .isDuplicate) {
const meglevo = await kassza . receipts .find ({ orderNumber : azonosito })
if (meglevo) return meglevo
}
throw error
}
}
Ne küldd újra ciklusban
A nyugtakészítést ne csomagold saját újrapróbáló ciklusba. A Számlázz.hu kitilthatja a fiókot az
ismételten beküldött kérések miatt, az újrapróbálást a kassza biztonságosan elvégzi helyetted.
A teljes leírást az újrapróbálás részleteivel a Kérés oldal hívásazonosítóról szóló része tartalmazza.