Ugrás a tartalomra
kassza

Válasz

Sikeres sztornó után a reverse() egy Receipt objektumot ad vissza, ugyanazt a típust, mint a nyugta létrehozás. A mezők a Számlázz.hu xmlnyugtavalasz válaszából jönnek, és a sztornó nyugtát írják le, nem az eredetit.

MezőTípusForrásLeírás
numberstringalap/nyugtaszamA sztornó nyugta száma.
type'receipt' | 'reversal'alap/tipusSztornónál 'reversal' (SN).
reversedReceiptNumberstring | undefinedalap/stornozottNyugtaszamAz eredeti, sztornózott nyugta száma.
isReversedbooleanalap/stornozottA sztornó nyugtán false.
callIdstring | undefinedalap/hivasAzonositoA sztornó kérés hívásazonosítója.
idnumberalap/idA sztornó nyugta belső azonosítója.
issueDatestringalap/keltA sztornó kelte, YYYY-MM-DD formában.
itemsReceiptItem[]tetelek/tetelAz eredeti tételek, negatív mennyiséggel és összegekkel.
totalsReceiptTotalsosszegekA sztornó nettó, áfa és bruttó végösszege, negatív értékekkel.
pdfUint8Array | undefinednyugtaPdfA sztornó nyugta PDF-je, ha a downloadPdf nem false.

A többi mező (paymentMethod, currency, payments, comment, orderNumber, isTest és a többi) ugyanazt jelenti, mint a nyugta létrehozásánál.

const sztorno = await kassza.receipts.reverse({
  receiptNumber: 'NYGT-2026-107',
  callId: 'PENZTAR-107-STORNO',
})

console.log(sztorno.reversedReceiptNumber, sztorno.totals.grossAmount)

if (sztorno.pdf) await writeFile(`nyugtak/${sztorno.number}.pdf`, sztorno.pdf)

Hogy az eredeti nyugta sztornózva van-e, a Nyugta lekérdezés válaszának isReversed mezője mutatja.

Hibák#

KódKategóriaMikor fordul elő?
validationÜres nyugtaszám vagy ismeretlen PDF sablon. A kérés el sem indul.
3authHibás Agent kulcs.
7, 339not_foundA Számlázz.hu nem sztornózza a nyugtát: nincs ilyen nyugtaszám, a nyugtát már sztornózták, vagy maga is sztornó nyugta. Az okot a message tartalmazza.
338duplicateA callId már létezik. Lehet, hogy egy korábbi próbálkozás már elkészítette a sztornót.
1maintenanceKarbantartás. callId megadásával a kassza újrapróbálja.
network, timeoutNem tudni, elkészült-e a sztornó. callId megadásával a kassza újrapróbálja, nélküle vagy az utolsó próbálkozás után ellenőrizd az eredeti nyugtát.

A not_found itt nem mindig jelenti, hogy a nyugta nem létezik. Ha a sztornó hibát ad, kérdezd le az eredeti nyugtát, és nézd meg, sztornózva van-e már:

import { isSzamlazzError } from 'kassza'

try {
  await kassza.receipts.reverse({ receiptNumber: nyugtaszam, callId: `${nyugtaszam}-STORNO` })
} catch (error) {
  if (
    isSzamlazzError(error) &&
    (error.isNotFound ||
      error.isDuplicate ||
      error.category === 'network' ||
      error.category === 'timeout')
  ) {
    const eredeti = await kassza.receipts.find(nyugtaszam)
    if (eredeti?.isReversed) return
  }
  throw error
}
Oldal szerkesztéseUtoljára frissítve: