Ugrás a tartalomra
kassza

Kérés

kassza.invoices.create(input: CreateInvoiceInput, options?: { signal?: AbortSignal }): Promise<CreatedInvoice>

A kassza a bemenetből xmlszamla XML-t épít, és multipart/form-data POST kérésben, az action-xmlagentxmlfile form mezőben küldi el a https://www.szamlazz.hu/szamla/ címre. A mellékletek az attachfile1attachfile5 mezőkbe kerülnek.

Kötelező csak a vevő (buyer) és legalább egy tétel (items). Minden más mezőnek van alapértéke, vagy elhagyható.

Fejléc#

MezőXML elemAlapértékLeírás
typeelolegszamla, vegszamla, helyesbitoszamla, dijbekero, szallitolevel'invoice'A bizonylat típusa, lásd Bizonylattípusok.
advanceInvoiceNumberelolegSzamlaszamVégszámlánál az előlegszámla száma.
correctedInvoiceNumberhelyesbitettSzamlaszamHelyesbítő számlánál kötelező.
issueDatekeltDatummaA számla kelte. Date vagy 'YYYY-MM-DD'.
fulfillmentDateteljesitesDatuma kelteA teljesítés dátuma.
dueDatefizetesiHataridoDatumkelte + paymentDueInDaysA fizetési határidő.
paymentDueInDays0Határidő napokban a keltétől. A dueDate-tel együtt nem adható meg.
paymentMethodfizmod'Átutalás'Fizetési mód, szabad szöveg, például 'bankkártya'.
paidfizetvetrue esetén a számla kifizetettként jelenik meg.
currencypenznem'HUF'Pénznem, lásd Támogatott devizanemek.
exchangeRatearfolyamDevizás számla árfolyama. MNB árfolyamnál elhagyható.
exchangeBankarfolyamBank'MNB' devizánálAz árfolyamot jegyző bank.
languageszamlaNyelve'hu'A számla nyelve, lásd Számlasablon és nyelvek.
commentmegjegyzesA számla megjegyzése.
orderNumberrendelesSzamA saját rendelésazonosítód. Mindig add meg, lásd Rendelésszám.
proformaNumberdijbekeroSzamlaszamA díjbekérő száma, amelyből a számla készül.
externalIdszamlaKulsoAzonKülső azonosító, amellyel később lekérdezheted a számlát.
prefixszamlaszamElotagSzámlaszám előtag. Csak a fiókban rögzített előtag használható (202-es hiba).
templateszamlaSablonfiók alapértelmezésSzámlakép, például 'SzlaMost'.
eInvoiceeszamlafalsetrue esetén e-számla készül.
downloadPdfszamlaLetoltestrueKérje-e a PDF-et a válaszban.

Vevő (buyer)#

MezőXML elemLeírás
namenevKötelező. A vevő neve.
zipirszKötelező. Irányítószám.
citytelepulesKötelező. Település.
addresscimKötelező. Utca, házszám.
countryorszagOrszág, külföldi vevőnél.
emailemailE-mail cím. Ha megadod, a Számlázz.hu elküldi a számlát. Több címet vesszővel választhatsz el.
sendEmailsendEmailfalse esetén nem megy értesítő. Alapból true, ha van e-mail cím.
taxpayerTypeadoalany'hungarianTaxNumber', 'euBusiness', 'nonEuBusiness', 'noTaxNumber' vagy 'unknown'.
taxNumberadoszamMagyar adószám, például '12345678-1-42'.
groupTaxNumbercsoportazonositoCsoportos adószám (csoportazonosító).
euTaxNumberadoszamEUKözösségi adószám, például 'DE123456789'.
postalpostazasiNev, postazasiOrszag, postazasiIrsz, postazasiTelepules, postazasiCimPostázási cím, ha eltér a számlázási címtől.
ledgervevoFokonyvKönyvelési adatok, lásd lent.
identifierazonositoPartner azonosító a fiók partnertörzsében.
signatoryNamealairoNeveA vevő aláírójának neve.
phonetelefonszamTelefonszám.
commentmegjegyzesMegjegyzés a vevőhöz.

Tételek (items)#

Minden tételnél a name, a vat és pontosan egy ár kell: netUnitPrice vagy grossUnitPrice. A nettó, áfa és bruttó értéket a kassza számolja ki a kerekítési szabályok szerint.

MezőXML elemAlapértékLeírás
namemegnevezesKötelező. A tétel megnevezése.
vatafakulcsKötelező. Áfakulcs, például 27 vagy 'AAM', lásd Áfakulcsok.
netUnitPricenettoEgysegarNettó egységár, nettó alapú (B2B) számításhoz.
grossUnitPriceBruttó egységár, bruttó alapú (B2C) számításhoz. A kassza ebből számolja a nettó egységárat.
quantitymennyiseg1Mennyiség. Nem lehet 0, végszámlán és helyesbítőn negatív is lehet.
unitmennyisegiEgyseg'db'Mennyiségi egység.
netAmount, vatAmount, grossAmountnettoErtek, afaErtek, bruttoErtekszámoltCsak akkor add meg, ha pontosan tudod, mit csinálsz. Mindhármat egyszerre kell megadni.
identifierazonositoCikkszám vagy termékazonosító.
commentmegjegyzesA tétel megjegyzése.
ledgertetelFokonyvKönyvelési adatok, lásd lent.
dataDeletionCodetorloKodAdattörlő kód, lásd Adattörlő kód.
marginVatBasearresAfaAlapKülönbözeti adózásnál az árrés áfa alapja.
items: [
  { name: 'Webfejlesztés', quantity: 10, unit: 'óra', netUnitPrice: 15_000, vat: 27 },
  { name: 'Szakácskönyv', grossUnitPrice: 3_500, vat: 5 },
  { name: 'Kedvezmény', netUnitPrice: -5_000, vat: 27 },
]

Eladó (seller)#

Az eladó cégadatai a Számlázz.hu fiókból jönnek, a kérésben csak az alábbiakat írhatod felül. Ha minden számlán ugyanaz, tedd a defaults.invoice.seller-be.

MezőXML elemLeírás
bankbankA bank neve.
bankAccountbankszamlaszamBankszámlaszám.
emailReplyToemailReplytoAz értesítő e-mail válaszcíme.
emailSubjectemailTargyAz értesítő e-mail tárgya.
emailTextemailSzovegAz értesítő e-mail szövege, lásd Számlaértesítő.
signatoryNamealairoNeveAz eladó aláírójának neve.

Mellékletek (attachments)#

Az értesítő e-mailhez legfeljebb 5 fájlt csatolhatsz, fájlonként legfeljebb 2 MB-ot. A mellékletek csak e-mailben mennek ki, ezért a vevőnek kell e-mail cím, és a sendEmail nem lehet false.

attachments: [
  { filename: 'aszf.pdf', content: aszfPdf, contentType: 'application/pdf' },
  { filename: 'garancia.txt', content: 'A termékre 2 év garancia vonatkozik.' },
]

A content lehet Uint8Array, ArrayBuffer, Blob vagy szöveg.

Fuvarlevél (waybill)#

Szállítólevélnél vagy fuvarleveles számlaképnél (template: 'SzlaFuvarlevelesAlap') a waybill mező a fuvarlevel blokkot tölti ki.

MezőXML elemLeírás
courierfutarSzolgalat'TOF', 'PPP', 'SPRINTER', 'FOXPOST', 'MPL', 'GLS' vagy 'EMPTY'.
barcodevonalkodÁltalános vonalkód, ha a futárszolgálat saját adatai hiányoznak.
commentmegjegyzesMegjegyzés a fuvarlevélen.
transOFlextofTrans-o-flex adatok: id, shipmentId, packageCount, countryCode, zip, service.
pickPackPointpppPick Pack Pont: barcodePrefix, barcodePostfix.
sprintersprinterSprinter: id, senderCode, directionCode, packageCount, barcodePostfix, deliveryTime.
mplmplMPL: customerCode, barcode, weight kötelező, services, declaredValue opcionális.

Könyvelési adatok (ledger)#

A könyvelő programba exportált számlákhoz a vevőnél és a tételeknél főkönyvi adatokat is megadhatsz.

MezőXML elemLeírás
buyer.ledger.bookingDatekonyvelesDatumKönyvelés dátuma.
buyer.ledger.buyerIdvevoAzonositoVevő azonosító a könyvelésben.
buyer.ledger.ledgerAccountvevoFokonyviSzamVevő főkönyvi száma.
buyer.ledger.continuousFulfillmentfolyamatosTeljFolyamatos teljesítés.
buyer.ledger.settlementPeriodStart, settlementPeriodEndelszDatumTol, elszDatumIgElszámolási időszak.
items[].ledger.economicEventgazdasagiEsemGazdasági esemény.
items[].ledger.vatEconomicEventgazdasagiEsemAfaÁfa gazdasági esemény.
items[].ledger.revenueLedgerAccountarbevetelFokonyviSzamÁrbevétel főkönyvi szám.
items[].ledger.vatLedgerAccountafaFokonyviSzamÁfa főkönyvi szám.
items[].ledger.settlementPeriodStart, settlementPeriodEndelszDatumTol, elszDatumIgA tétel elszámolási időszaka.

Speciális mezők#

Ezekre a legtöbb integrációnak nincs szüksége. Csak akkor használd őket, ha a könyvelőd vagy a Számlázz.hu ügyfélszolgálata kifejezetten kéri.

MezőXML elemLeírás
simpleItemssimpleItemsEgyszerűsített számlakép utazásszervezőknek, lásd Utazásszervezők.
euVateusAfaA számla nem tartalmaz magyar áfát, lásd Áfakulcsok.
marginVatarresAfaÁrrés alapú (különbözeti) áfa jelölése.
paymentCorrectionfizetendoKorrekcioA fizetendő végösszeg korrekciója.
logoExtralogoExtraA fiókba feltöltött további logó neve.
aggregatoraggregatorKözvetítő (aggregátor) partner azonosítója.
guardianguardianPartneri integrációkhoz használt jelző.
articleIdentifierInvoicecikkazoninvoiceCikkazonosító alapú számlázás jelzője.

Amit a kassza a küldés előtt ellenőriz#

Ezeknél a hibáknál validation kategóriájú SzamlazzError jön, és kérés nem megy a Számlázz.hu-hoz:

  • hiányzik a vevő neve, irányítószáma, települése vagy címe,
  • nincs tétel, egy tételnek nincs neve vagy mennyiségi egysége, vagy a mennyisége 0,
  • ismeretlen áfakulcs, vagy a netUnitPrice és a grossUnitPrice egyszerre, vagy egyik sincs megadva,
  • a dueDate és a paymentDueInDays egyszerre szerepel, vagy egy dátum érvénytelen,
  • forintos számlán árfolyam, devizás számlán árfolyam nélkül nem MNB bank,
  • helyesbítő számla a helyesbített számla száma nélkül, végszámla előlegszámla-szám és rendelésszám nélkül,
  • ismeretlen típus, nyelv vagy számlasablon,
  • sendEmail: true e-mail cím nélkül, melléklet e-mail értesítő nélkül, 5-nél több vagy 2 MB-nál nagyobb melléklet,
  • az egyszerűsített számlakép (simpleItems) szabályainak megsértése,
  • hiányos MPL fuvarlevél adatok.

Alapértékek a kliensben#

A gyakran ismétlődő mezőket nem kell minden hívásnál megadni. A createKassza({ defaults: { invoice } }) alapértékei akkor érvényesülnek, ha a hívásban az adott mező hiányzik:

const kassza = createKassza({
  defaults: {
    invoice: {
      prefix: 'WEB',
      paymentDueInDays: 8,
      language: 'hu',
      seller: { bankAccount: '11773016-11111018-00000000', emailReplyTo: 'penzugy@example.hu' },
    },
  },
})

Az összes alapértelmezhető mezőt a Kliens beállítása oldal sorolja fel.

Oldal szerkesztéseUtoljára frissítve: