Ugrás a tartalomra
kassza

Válasz

Sikeres lekérésnél a Számlázz.hu egy szamla gyökérelemű XML-t küld (séma: szamla.xsd), amelyből a get() és a find() egy InvoiceDetails objektumot épít. Hiba esetén xmlszamlavalasz XML jön, abból SzamlazzError lesz.

A kassza a válaszon néhány egységesítést végez:

  • az üres XML elemekből undefined lesz,
  • a számokat number-ré alakítja, a tizedesvesszőt is kezeli,
  • a true/false és az 1/0 értékekből boolean lesz,
  • a hiányzó listákból (tételek, pénzügyi tételek, címkék, befizetések) üres tömb lesz.
const szamla = await kassza.invoices.get({ orderNumber: 'REND-1001' })

for (const tetel of szamla.items) console.log(tetel.name, tetel.quantity, tetel.grossAmount)
console.log(szamla.totals.grossAmount, szamla.payments.length)

InvoiceDetails#

MezőTípusXML elemLeírás
sellerInvoiceDetailsSellerszallitoAz eladó, vagyis a te céged adatai.
headerInvoiceDetailsHeaderalapSzámlaszám, típus, dátumok, fizetési mód, pénznem, állapot.
buyerInvoiceDetailsBuyervevoA vevő adatai.
itemsInvoiceDetailsItem[]tetelek/tetelA számla tételei.
financialItemsInvoiceDetailsFinancialItem[]qutetek/qutetPénzügyi tételek.
labelsstring[]cimkek/cimkeA számla címkéi. Az üres címkéket a kassza kihagyja.
totalsInvoiceDetailsTotalsosszegekVégösszegek, áfakulcsonként is.
paymentsInvoiceDetailsPayment[]kifizetesek/kifizetesA számlán rögzített befizetések.
pdfUint8Array | undefinedpdfA számla PDF-je Base64-ből dekódolva. Csak includePdf: true esetén van.

Eladó (seller)#

MezőTípusXML elemLeírás
idnumber | undefinedidAz eladó azonosítója a Számlázz.hu-ban.
namestringnevAz eladó neve.
addressInvoiceDetailsAddress | undefinedcimAz eladó címe, lásd Cím.
postalAddressInvoiceDetailsAddress | undefinedpostacimPostázási cím.
taxNumberstring | undefinedadoszamAdószám.
groupTaxNumberstring | undefinedcsoportazonositoCsoportos adószám (csoportazonosító).
euTaxNumberstring | undefinedadoszameuKözösségi adószám.
bank.namestring | undefinedbank/nevA bank neve.
bank.accountNumberstring | undefinedbank/bankszamlaBankszámlaszám.

A bank maga is undefined, ha a válaszban nincs bank elem.

Cím#

Az address és a postalAddress szerkezete az eladónál és a vevőnél is ugyanaz. Minden mezője string | undefined.

MezőXML elemLeírás
namenevNév, jellemzően a postázási címnél.
countryorszagOrszág.
zipirszIrányítószám.
citytelepulesTelepülés.
addresscimUtca, házszám.

Fejléc (header)#

MezőTípusXML elemLeírás
idnumber | undefinedidA bizonylat azonosítója a Számlázz.hu-ban.
numberstringszamlaszamA bizonylat száma.
economicEventIdnumber | undefinedgazdEsemAzonGazdasági esemény azonosító.
sourceSystemnumber | undefinedforrasA bizonylat forrásának kódja.
registrationNumberstring | undefinediktatoszamIktatószám.
typeInvoiceDocumentTypetipusA bizonylat típusa, lásd Bizonylattípus.
typeCodestringtipusA nyers típuskód, például 'SZ'.
eInvoicebooleaneszamlatrue, ha az eszamla kód 2 vagy 3.
appearanceCodenumber | undefinedeszamlaA nyers eszamla kód.
referencedInvoiceNumberstring | undefinedhivszamlaszamA hivatkozott számla száma.
referencedProformaNumberstring | undefinedhivdijbekszamA hivatkozott díjbekérő száma.
issueDatestringkeltA kelte, 'YYYY-MM-DD' formában.
fulfillmentDatestring | undefinedteljA teljesítés dátuma.
dueDatestring | undefinedfizhA fizetési határidő.
paymentMethodstring | undefinedfizmodFizetési mód.
unifiedPaymentMethodstring | undefinedfizmodunifiedEgységesített fizetési mód.
cashboolean | undefinedkeszpenzKészpénzes fizetés jelölése.
orderNumberstring | undefinedrendelesszamRendelésszám.
languagestring | undefinednyelvA számla nyelve, például 'hu'.
currencystring | undefineddevizanemPénznem, például 'HUF'.
exchangeBankstring | undefineddevizabankAz árfolyamot jegyző bank.
exchangeRatenumber | undefineddevizaarfÁrfolyam.
commentstring | undefinedmegjegyzesA számla megjegyzése.
vatTypestring | undefinedafatipusÁfatípus jelölése.
cashAccountingboolean | undefinedpenzforgPénzforgalmi elszámolás.
kataboolean | undefinedkataKATA jelölés.
kataLedgerboolean | undefinedkatafokonyvKATA főkönyvi jelölés.
emailstring | undefinedemailA számlához tartozó e-mail cím.
testboolean | undefinedteszttrue teszt cégnél, false éles cégnél.
reversedboolean | undefinedsztornozotttrue, ha a számlát már sztornózták.

Bizonylattípus#

typetypeCodeBizonylat
'invoice'SZSzámla
'proforma'DDíjbekérő
'advance'ESElőlegszámla
'final'VSVégszámla
'corrective'HSHelyesbítő számla
'reversal'SSSztornó számla
'deliveryNote'SLSzállítólevél
'unknown'bármi másIsmeretlen kód. A nyers értéket a typeCode tartalmazza.
const szamla = await kassza.invoices.get('WEB-2026-128')
const ervenyes = szamla.header.type === 'invoice' && szamla.header.reversed !== true

Vevő (buyer)#

MezőTípusXML elemLeírás
idnumber | undefinedidA vevő azonosítója a Számlázz.hu-ban.
namestringnevA vevő neve.
identifierstring | undefinedazonositoPartner azonosító a fiók partnertörzsében.
addressInvoiceDetailsAddress | undefinedcimSzámlázási cím, lásd Cím.
postalAddressInvoiceDetailsAddress | undefinedpostacimPostázási cím.
emailstring | undefinedemailE-mail cím.
taxNumberstring | undefinedadoszamMagyar adószám.
groupTaxNumberstring | undefinedcsoportazonositoCsoportos adószám (csoportazonosító).
euTaxNumberstring | undefinedadoszameuKözösségi adószám.
locationnumber | undefinedlokacioA vevő lokáció kódja.
privatePersonboolean | undefinedprivatePersonIndicatorMagánszemély jelölése.
ledgerInvoiceDetailsBuyerLedger | undefinedfokonyvKönyvelési adatok, lásd lent.

Vevő könyvelési adatai (buyer.ledger)#

MezőTípusXML elemLeírás
ledgerAccountstring | undefinedvevoVevő főkönyvi száma.
buyerIdstring | undefinedvevoazonVevő azonosító a könyvelésben.
bookingDatestring | undefineddatumKönyvelés dátuma.
continuousFulfillmentboolean | undefinedfolyamatosteljFolyamatos teljesítés.
settlementPeriodStartstring | undefinedelszDatTolElszámolási időszak kezdete.
settlementPeriodEndstring | undefinedelszDatIgElszámolási időszak vége.

Tételek (items)#

MezőTípusXML elemLeírás
namestringnevA tétel megnevezése.
identifierstring | undefinedazonositoCikkszám vagy termékazonosító.
quantitynumbermennyisegMennyiség.
unitstring | undefinedmennyisegiegysegMennyiségi egység.
netUnitPricenumbernettoegysegarNettó egységár.
vatnumberafakulcsÁfakulcs számként, például 27.
vatCodestring | undefinedafatipusSzöveges áfatípus.
netAmountnumbernettoNettó érték.
marginVatBasenumber | undefinedarresafaalapKülönbözeti adózásnál az árrés áfa alapja.
vatAmountnumberafaÁfa érték.
grossAmountnumberbruttoBruttó érték.
commentstring | undefinedmegjegyzesA tétel megjegyzése.
positionnumber | undefinedsztetorderingA tétel sorrendje a számlán.
ledgerInvoiceDetailsItemLedger | undefinedfokonyvKönyvelési adatok, lásd lent.

Tétel könyvelési adatai (items[].ledger)#

MezőTípusXML elemLeírás
revenueLedgerAccountstring | undefinedarbevetelÁrbevétel főkönyvi szám.
vatLedgerAccountstring | undefinedafaÁfa főkönyvi szám.
economicEventstring | undefinedgazdasagiesemenyGazdasági esemény.
vatEconomicEventstring | undefinedgazdasagiesemenyafaÁfa gazdasági esemény.
settlementPeriodStartstring | undefinedelszdattolElszámolási időszak kezdete.
settlementPeriodEndstring | undefinedelszdatigElszámolási időszak vége.

Pénzügyi tételek (financialItems)#

MezőTípusXML elemLeírás
namestringnevA tétel megnevezése.
vatnumberafakulcsÁfakulcs számként.
vatCodestring | undefinedafatipusSzöveges áfatípus.
netAmountnumbernettoNettó érték.
vatAmountnumberafaÁfa érték.
grossAmountnumberbruttoBruttó érték.
settlementPeriodStartstring | undefinedelszdattolElszámolási időszak kezdete.
settlementPeriodEndstring | undefinedelszdatigElszámolási időszak vége.
vatDeductionnumber | undefinedafalevonÁfalevonás jelölése.
labelsstring[]cimkek/cimkeA tétel címkéi.

Összegek (totals)#

MezőTípusXML elemLeírás
netAmountnumbertotalossz/nettoNettó végösszeg.
vatAmountnumbertotalossz/afaÁfa végösszeg.
grossAmountnumbertotalossz/bruttoBruttó végösszeg.
byVatInvoiceDetailsVatTotal[]afakulcsosszÖsszesítés áfakulcsonként, lásd lent.

Áfakulcsonkénti összesítés (totals.byVat)#

MezőTípusXML elemLeírás
vatnumberafakulcsÁfakulcs számként.
vatCodestring | undefinedafatipusSzöveges áfatípus.
netAmountnumbernettoNettó összeg ezzel a kulccsal.
vatAmountnumberafaÁfa összeg ezzel a kulccsal.
grossAmountnumberbruttoBruttó összeg ezzel a kulccsal.

Befizetések (payments)#

MezőTípusXML elemLeírás
datestringdatumA befizetés dátuma.
methodstringjogcimA befizetés módja, ugyanaz, mint a Befizetés rögzítése method mezője.
amountnumberosszegA befizetett összeg.
commentstring | undefinedmegjegyzesMegjegyzés.
bankAccountNumberstring | undefinedbankszamlaszamBankszámlaszám.
bankTransactionIdnumber | undefinedbanktranzidBanki tranzakció azonosító.
exchangeRatenumber | undefineddevizaarfÁrfolyam.

Kötelező elemek#

A táblázatokban a nem undefined típusú mezőkre számíthatsz. A kassza ezeket az elemeket kötelezőnek veszi:

  • szallito/nev, alap/szamlaszam, alap/tipus, alap/kelt, vevo/nev,
  • osszegek/totalossz és benne a netto, afa, brutto,
  • minden tételnél, pénzügyi tételnél és áfakulcsonkénti összesítésnél a nev (ahol van), az afakulcs, a netto, az afa és a brutto, a tételeknél a mennyiseg és a nettoegysegar is,
  • minden befizetésnél a datum, a jogcim és az osszeg.

Ha ezek közül valamelyik hiányzik, vagy a gyökérelem nem szamla, a kassza nem ad vissza félkész objektumot, hanem unexpected_response hibát dob, amelynek az üzenete megnevezi a hiányzó elemet.

Hibák#

KódKategóriaMikor fordul elő?
validationÜres hivatkozás, vagy nem pontosan egy kulcs a hivatkozásban. Kérés nem megy ki.
1maintenanceKarbantartás. A kassza magától újrapróbálja.
3authHibás Agent kulcs.
7not_foundNincs ilyen számlaszám, rendelésszám vagy külső azonosító. A find() ilyenkor null-t ad.
network, timeoutHálózati hiba vagy időtúllépés. A kassza magától újrapróbálja, és csak az utolsó sikertelen próbálkozás után dob.
unexpected_responseA válasz nem szamla XML, hiányzik belőle egy kötelező elem, vagy a PDF nem érvényes Base64.
import { isSzamlazzError } from 'kassza'

try {
  const szamla = await kassza.invoices.get(szamlaszam)
  console.log(szamla.header.reversed)
} catch (error) {
  if (isSzamlazzError(error) && error.isNotFound) console.warn(`Nincs ilyen számla: ${szamlaszam}`)
  else throw error
}

Az összes kódot a Hibakezelés, hibakódok oldal sorolja fel.

Oldal szerkesztéseUtoljára frissítve: