Kérés
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 attachfile1 … attachfile5 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 elem | Alapérték | Leírás |
|---|---|---|---|
type | elolegszamla, vegszamla, helyesbitoszamla, dijbekero, szallitolevel | 'invoice' | A bizonylat típusa, lásd Bizonylattípusok. |
advanceInvoiceNumber | elolegSzamlaszam | – | Végszámlánál az előlegszámla száma. |
correctedInvoiceNumber | helyesbitettSzamlaszam | – | Helyesbítő számlánál kötelező. |
issueDate | keltDatum | ma | A számla kelte. Date vagy 'YYYY-MM-DD'. |
fulfillmentDate | teljesitesDatum | a kelte | A teljesítés dátuma. |
dueDate | fizetesiHataridoDatum | kelte + paymentDueInDays | A fizetési határidő. |
paymentDueInDays | – | 0 | Határidő napokban a keltétől. A dueDate-tel együtt nem adható meg. |
paymentMethod | fizmod | 'Átutalás' | Fizetési mód, szabad szöveg, például 'bankkártya'. |
paid | fizetve | – | true esetén a számla kifizetettként jelenik meg. |
currency | penznem | 'HUF' | Pénznem, lásd Támogatott devizanemek. |
exchangeRate | arfolyam | – | Devizás számla árfolyama. MNB árfolyamnál elhagyható. |
exchangeBank | arfolyamBank | 'MNB' devizánál | Az árfolyamot jegyző bank. |
language | szamlaNyelve | 'hu' | A számla nyelve, lásd Számlasablon és nyelvek. |
comment | megjegyzes | – | A számla megjegyzése. |
orderNumber | rendelesSzam | – | A saját rendelésazonosítód. Mindig add meg, lásd Rendelésszám. |
proformaNumber | dijbekeroSzamlaszam | – | A díjbekérő száma, amelyből a számla készül. |
externalId | szamlaKulsoAzon | – | Külső azonosító, amellyel később lekérdezheted a számlát. |
prefix | szamlaszamElotag | – | Számlaszám előtag. Csak a fiókban rögzített előtag használható (202-es hiba). |
template | szamlaSablon | fiók alapértelmezés | Számlakép, például 'SzlaMost'. |
eInvoice | eszamla | false | true esetén e-számla készül. |
downloadPdf | szamlaLetoltes | true | Kérje-e a PDF-et a válaszban. |
Vevő (buyer)#
| Mező | XML elem | Leírás |
|---|---|---|
name | nev | Kötelező. A vevő neve. |
zip | irsz | Kötelező. Irányítószám. |
city | telepules | Kötelező. Település. |
address | cim | Kötelező. Utca, házszám. |
country | orszag | Ország, külföldi vevőnél. |
email | email | E-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. |
sendEmail | sendEmail | false esetén nem megy értesítő. Alapból true, ha van e-mail cím. |
taxpayerType | adoalany | 'hungarianTaxNumber', 'euBusiness', 'nonEuBusiness', 'noTaxNumber' vagy 'unknown'. |
taxNumber | adoszam | Magyar adószám, például '12345678-1-42'. |
groupTaxNumber | csoportazonosito | Csoportos adószám (csoportazonosító). |
euTaxNumber | adoszamEU | Közösségi adószám, például 'DE123456789'. |
postal | postazasiNev, postazasiOrszag, postazasiIrsz, postazasiTelepules, postazasiCim | Postázási cím, ha eltér a számlázási címtől. |
ledger | vevoFokonyv | Könyvelési adatok, lásd lent. |
identifier | azonosito | Partner azonosító a fiók partnertörzsében. |
signatoryName | alairoNeve | A vevő aláírójának neve. |
phone | telefonszam | Telefonszám. |
comment | megjegyzes | Megjegyzé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 elem | Alapérték | Leírás |
|---|---|---|---|
name | megnevezes | – | Kötelező. A tétel megnevezése. |
vat | afakulcs | – | Kötelező. Áfakulcs, például 27 vagy 'AAM', lásd Áfakulcsok. |
netUnitPrice | nettoEgysegar | – | Nettó egységár, nettó alapú (B2B) számításhoz. |
grossUnitPrice | – | – | Bruttó egységár, bruttó alapú (B2C) számításhoz. A kassza ebből számolja a nettó egységárat. |
quantity | mennyiseg | 1 | Mennyiség. Nem lehet 0, végszámlán és helyesbítőn negatív is lehet. |
unit | mennyisegiEgyseg | 'db' | Mennyiségi egység. |
netAmount, vatAmount, grossAmount | nettoErtek, afaErtek, bruttoErtek | számolt | Csak akkor add meg, ha pontosan tudod, mit csinálsz. Mindhármat egyszerre kell megadni. |
identifier | azonosito | – | Cikkszám vagy termékazonosító. |
comment | megjegyzes | – | A tétel megjegyzése. |
ledger | tetelFokonyv | – | Könyvelési adatok, lásd lent. |
dataDeletionCode | torloKod | – | Adattörlő kód, lásd Adattörlő kód. |
marginVatBase | arresAfaAlap | – | Különbözeti adózásnál az árrés áfa alapja. |
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 elem | Leírás |
|---|---|---|
bank | bank | A bank neve. |
bankAccount | bankszamlaszam | Bankszámlaszám. |
emailReplyTo | emailReplyto | Az értesítő e-mail válaszcíme. |
emailSubject | emailTargy | Az értesítő e-mail tárgya. |
emailText | emailSzoveg | Az értesítő e-mail szövege, lásd Számlaértesítő. |
signatoryName | alairoNeve | Az 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.
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 elem | Leírás |
|---|---|---|
courier | futarSzolgalat | 'TOF', 'PPP', 'SPRINTER', 'FOXPOST', 'MPL', 'GLS' vagy 'EMPTY'. |
barcode | vonalkod | Általános vonalkód, ha a futárszolgálat saját adatai hiányoznak. |
comment | megjegyzes | Megjegyzés a fuvarlevélen. |
transOFlex | tof | Trans-o-flex adatok: id, shipmentId, packageCount, countryCode, zip, service. |
pickPackPoint | ppp | Pick Pack Pont: barcodePrefix, barcodePostfix. |
sprinter | sprinter | Sprinter: id, senderCode, directionCode, packageCount, barcodePostfix, deliveryTime. |
mpl | mpl | MPL: 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 elem | Leírás |
|---|---|---|
buyer.ledger.bookingDate | konyvelesDatum | Könyvelés dátuma. |
buyer.ledger.buyerId | vevoAzonosito | Vevő azonosító a könyvelésben. |
buyer.ledger.ledgerAccount | vevoFokonyviSzam | Vevő főkönyvi száma. |
buyer.ledger.continuousFulfillment | folyamatosTelj | Folyamatos teljesítés. |
buyer.ledger.settlementPeriodStart, settlementPeriodEnd | elszDatumTol, elszDatumIg | Elszámolási időszak. |
items[].ledger.economicEvent | gazdasagiEsem | Gazdasági esemény. |
items[].ledger.vatEconomicEvent | gazdasagiEsemAfa | Áfa gazdasági esemény. |
items[].ledger.revenueLedgerAccount | arbevetelFokonyviSzam | Árbevétel főkönyvi szám. |
items[].ledger.vatLedgerAccount | afaFokonyviSzam | Áfa főkönyvi szám. |
items[].ledger.settlementPeriodStart, settlementPeriodEnd | elszDatumTol, elszDatumIg | A 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 elem | Leírás |
|---|---|---|
simpleItems | simpleItems | Egyszerűsített számlakép utazásszervezőknek, lásd Utazásszervezők. |
euVat | eusAfa | A számla nem tartalmaz magyar áfát, lásd Áfakulcsok. |
marginVat | arresAfa | Árrés alapú (különbözeti) áfa jelölése. |
paymentCorrection | fizetendoKorrekcio | A fizetendő végösszeg korrekciója. |
logoExtra | logoExtra | A fiókba feltöltött további logó neve. |
aggregator | aggregator | Közvetítő (aggregátor) partner azonosítója. |
guardian | guardian | Partneri integrációkhoz használt jelző. |
articleIdentifierInvoice | cikkazoninvoice | Cikkazonosí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 agrossUnitPriceegyszerre, vagy egyik sincs megadva, - a
dueDateés apaymentDueInDaysegyszerre 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: truee-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:
Az összes alapértelmezhető mezőt a Kliens beállítása oldal sorolja fel.