Ugrás a tartalomra
kassza

Napi összesítő

A kassza/reports modul a már kiállított nyugtákból számolja ki azt, amit a NAV napi összesítőként vár. Nem hív hálózatot: a nyugtákat a saját adatbázisodból, a pénzügyi adatkapcsolatból vagy a receipts.get() válaszaiból adod át.

import { describeNavReport, navDailyReports } from 'kassza/reports'

const jelentesek = navDailyReports(nyugtak)

for (const jelentes of jelentesek) console.log(describeNavReport(jelentes))
Tárgynap: 2026-10-02
Kezdő nyugtasorszám: NYGT-2026-118
Pénznem: HUF
5%: értékesítés 12 400, módosító/érvénytelenítő 0
27%: értékesítés 48 260, módosító/érvénytelenítő -2 540
Végösszeg: 58 120
Nyugták száma: 31, módosító/érvénytelenítő bizonylatok száma: 1

A függvény tárgynap, nyugtasorozat, pénznem és árfolyam szerint csoportosít, így egy jelentés pontosan egy NAV-adatszolgáltatásnak felel meg.

MezőJelentés
applicableDateTárgynap, a nyugta kelte
seriesA nyugtasorozat, alapból a nyugtaszám utolsó kötőjel előtti része (NYGT-2026)
serialNumberA nap első nyugtaszáma a sorozatban
currency, exchangeRatePénznem és árfolyam (forintnál null)
vatCategoriesÁfakategóriánként az értékesítés (saleDocument) és a sztornók előjeles összege (modifyingDocument)
totalA kettő algebrai összege
numberOfSaleDocument, numberOfModifyingDocumentAz eladások és a sztornók száma, külön
receiptNumbersA jelentésbe számolt nyugták, sorrendben

A szabályok, amelyeket a függvény betart:

  • A sztornónyugta módosító bizonylat: az összege negatívként a modifyingDocument mezőbe kerül, és külön darabszámot kap. Egy eladás és a sztornója két bizonylat, nem nullázzák ki egymást.
  • Az áfakulcs alapból így képződik le: 0, 5, 18 és 27 a saját kategóriájába, AAM az „Alanyi adómentes” kategóriába, minden más (például TAM vagy egy uniós kulcs) az „Egyéb” kategóriába. Ettől eltérni a vatCategory opcióval lehet.
  • A tesztfiókban kiállított nyugtákat kihagyja, hacsak nem adod meg az includeTest: true opciót.
  • Egy nyugtaszámot csak egyszer számol, akkor is, ha kétszer szerepel a listában.
  • Devizás nyugtánál árfolyam nélkül hibát ad, mert az összesítőben kötelező.
OpcióJelentés
includeTestA tesztfiókos nyugtákat is összesíti.
vatCategory(tétel, nyugta)Saját áfakategória-hozzárendelés, ha a könyvelőd mást mond.
series(nyugtaszám)Saját sorozatképzés, ha a nyugtaszámaid más formátumúak.

A jelentés közvetlenül átadható a NAV kliens submitReport() metódusának, vagy az egyeztetés helyi oldalának.

Napi pénztárzárás#

A dailyClose() ugyanazokból a nyugtákból napi zárást készít: a nap eladásait és sztornóit, fizetési módonként (kifizetésenként) és áfakulcsonként. Ez a saját könyvelésedhez és a pénztár egyeztetéséhez való, nem a NAV-nak.

import { dailyClose } from 'kassza/reports'

for (const zaras of dailyClose(nyugtak)) {
  console.log(zaras.date, zaras.currency, zaras.grossTotal)
  for (const fizetes of zaras.byPaymentMethod) console.log(fizetes.method, fizetes.amount)
}
MezőJelentés
date, currencyNap és pénznem
receiptCount, reversalCountEladások és sztornók száma
salesGross, reversalsGross, grossTotalEladások, sztornók (negatív) és az egyenleg
byPaymentMethodÖsszeg fizetési módonként; több kifizetéses nyugtánál a kifizetések szerint bontva
byVatNettó, áfa és bruttó áfakulcsonként
receiptNumbersA napba számolt nyugták

Kapcsolódó#

Oldal szerkesztéseUtoljára frissítve: