Mit jelenít meg az IMA által generált számlakép a NAV OSA XML-ből?


Tájékoztató arról szól, hogyan készül a HTML alapú számlakép a NAV Online Számla (OSA) XML-adatállományából.

Rövid összefoglaló

Az XSL átalakító a NAV OSA (1.0–3.0) séma szerinti InvoiceData dokumentumot emberi olvasásra alkalmas, nyomtatható HTML számlaképpé alakítja. A számlakép nem könyvelési bizonylat, hanem a benyújtott XML tartalmi „nézete”.

  • Fejléc: számlaszám, kiállítás és teljesítés dátuma, pénznem, fizetési mód.
  • Szállító és vevő adatok (név, adószám, cím).
  • Tételek: megnevezés, mennyiség, mértékegység, egységár, nettó, ÁFA, bruttó.
  • Termékkódok (VTSZ/SZJ/KN stb.) világoszöld badge formában.
  • Fordított adózás (FAD) jelzése: tételszinten és összesítőn világoskék badge.
  • ÁFA bontás és összesítések (nettó, ÁFA, bruttó).
  • Könyvelői információk:
    • kerekítés
    • közvetített szolgáltatás
    • időbeni elhatárolás
    • előleg / vágszámla / módosító számla
    • deviza és árfolyam
    • fizetési és banki adatok
    • vevő adózási státusz
    • különbözet szerinti adózás
    • termékáram (termékdíj)
    • Termékdíj átvállalás (irány és jogalap)
    • kapcsolódó dokumentumok
    • megjegyzések.
    • projekt / költséghely / szerződés

Támogatott OSA séma-verziók és névterek

Az XSL a NAV OSA 1.0–3.0 változatait kezeli. A kód több névtér-előtagot támogat (pl. n1, n2, n3) ugyanazon elemek eléréséhez.

Fejléc: alapadatok

Számlaszám: invoiceNumber
Kiállítás dátuma: invoiceIssueDate
Teljesítés dátuma: invoiceDeliveryDate
Pénznem: currencyCode
Fizetési mód / határidő: paymentMethod, paymentDate
Szállító adatai: név, adószám, cím
Vevő adatai: név, adószám (ha van), cím
Megjegyzések: additionalInvoiceData (ha van)

Tételek: mit és hogyan jelenítünk meg?

Megnevezés után automatikusan megjelenítjük a termékkódokat (productCodes) világoszöld badge-ekben: például vtsz: 7216 vagy kn: 220421.

Alap-mezők és szabályok

MezőForrás az XML-benMegjelenítés
MegnevezéslineDescriptionSzöveg + termékkód badge-ek (VTSZ/SZJ/KN/TESZOR/AHK/CSK/EJ/OWN és egyéb kódok).
MennyiségquantityHa hiányzik/üres → 1 (alapértelmezés).
ME (mértékegység)unitOfMeasure / unitOfMeasureOwnSzabványos kód → magyar felirat (pl. PIECE → Darab, LITER → Liter). OWN esetén a saját megnevezés; ha semmi sincs → „–”.
EgységárunitPrice (vagy számítás: nettó / mennyiség)Ha nincs egységár, a rendszer számolja: nettó / mennyiség (NaN nélkül, robusztus).
Nettó, ÁFA, BruttóElsődlegesen a tételszintű lineNetAmount*, lineVatAmount*, lineGrossAmount*Ha valamelyik hiányzik: számítás a rendelkezésre álló adatokból (pl. nettó + ÁFA = bruttó). ÁFA mértéke százalékból is számolható.
FAD (fordított adózás) jelzéslineVatRate/vatDomesticReverseChargeA megnevezés után: FAD tétel, ha az érték true.

Termékkód-badge-ek (productCodes)

A soron belüli productCodes/productCode elemeket zöld badge-ként jelenítjük meg. Támogatott kiemelt kódok: vtsz, szj, kn, valamint TESZOR/AHK/CSK/EJ/OWN. Minden egyéb kategória is badge-et kap KAT: ÉRTÉK formátumban.

Példa: vtsz: 1751529 OWN: belső-kód-123

ÁFA bontásFAD tételt tartalmaz

A rendszer a NAV szerinti összesítést jeleníti meg adómértékenként (normál, mentes, területen kívüli stb.), a hozzá tartozó nettó, ÁFA és bruttó összegekkel. Ha az összesítő blokkon belül szerepel vatDomesticReverseCharge = true, a cím mellett megjelenik a FAD tételt tartalmaz jelzés.

Összesítés és kerekítés

  • Számla nettó / ÁFA / bruttó a invoiceSummary elemekből érkezik.
  • Ha a soradatokból számítás szükséges, az XSL kereken jelenít meg (forintnál egészre, más pénznemnél a forrás szerinti skálán).
  • Eltérés esetén a NAV XML-ben lévő „összesítő” érték az irányadó, a számlakép ezt tiszteletben tartja.

Hiányzó vagy rendellenes adatok kezelése

Hiányzó mennyiség / mértékegység

  • Mennyiség hiányában: 1-nek vesszük.
  • ME hiányában: „–”.
  • OWN kód esetén a saját megnevezést használjuk, ha nincs, akkor „–”.

Árak és összegek

  • Egységár hiányában: nettó / mennyiség.
  • ÁFA: ha nincs összege, de van százalék, a rendszer számol; mentesség / területen kívül esetén 0.
  • Bruttó: elérhető mezőből, különben nettó + ÁFA.

Mértékegység (ME) kódok magyarítása

A számlakép a NAV kódokat magyar megnevezésre fordítja (részlet a készletből):

KódFelirat
PIECEDarab
LITERLiter
KILOGRAMKilogramm
TONTonna
METERMéter
LINEAR_METERFolyóméter
SQUARE_METERNégyzetméter
CUBIC_METERKöbméter
KILOMETERKilométer
KWHKilowatt óra
HOURÓra
DAYNap
MINUTEPerc
MONTHHónap
KódFelirat
GRAMGramm
MILLILITERMilliliter
CENTIMETERCentiméter
MILLIMETERMilliméter
HECTAREHektár
CUBIC_CENTIMETERKöbcentiméter
CARTONKarton
PACKCsomag
BOTTLEPalack
BOXDoboz
BAGZsák
PALLETRaklap
ROLLTekercs
SHEETLap
PAIRPár
SETKészlet
DOZENTucat
OWNSaját megnevezés (ha megadva), különben „–”

A fenti táblázat nem teljes körű standard – az XSL bővíthető további kódokra is.

GYIK – gyakran ismételt kérdések

Ha a quantity hiányzik vagy üres, a megjelenítéshez 1-et veszünk alapértelmezésnek, hogy az egységár és a tételek összegei értelmezhetőek maradjanak.

Ha nincs unitOfMeasure és nincs unitOfMeasureOwn, akkor „–”. OWN esetén a unitOfMeasureOwn jelenik meg, ha meg van adva.

A tételszintű productCodes (pl. VTSZ/SZJ/KN) jelennek meg zöld badge-ben. A kiemelt kódok mellett bármely más kategória is megjelenik KAT: ÉRTÉK formátumban.

Ha egy sorban vatDomesticReverseCharge=true, a megnevezés után megjelenik a FAD tétel jelzés. Ha az összesítőben van ilyen adómérték, az „ÁFA bontás” cím után látható a FAD tételt tartalmaz badge.

A számlakép NaN-védelemmel számol: ha hiányzik egy összeg, a rendelkezésre álló adatokból pótolja (pl. nettó + ÁFA = bruttó; egységár = nettó / mennyiség), így a megjelenítés konzisztens marad.

Mindig a NAV XML összesítő mezői (invoiceSummary) az irányadók. A számlakép ezeket tiszteletben tartja, a számított értékek csak megjelenítési célú tartalékok.

Igen, a HTML nézet nyomtatható. A tényleges könyvelési bizonylat azonban a kibocsátó rendszeréből származik; a HTML csak a NAV-nak benyújtott XML vizuális vetülete.

Megjegyzések és korlátozások

  • A számlakép a NAV XML tartalmát vizuálisan jeleníti meg; az adatok hitelessége az eredeti XML-től függ.
  • Amennyiben az XML hiányos vagy ellentmondó, a számlakép számított mezői eltérhetnek a kibocsátó rendszere által számolt értékektől.
  • Speciális eseti üzleti mezők (additionalInvoiceData, additionalLineData) megjelenítése a tartalom jellegétől függ.

Könyvelői információk (NAV XML alapján)

Teljesítési időszak & elhatárolás
Periodikus elszámolás
periodicalSettlement: true
Időszak kezdete
invoiceDeliveryPeriodStart: 2025-01-01
Időszak vége
invoiceDeliveryPeriodEnd: 2025-01-31
Időbeli elhatárolás

Előleg / végszámla / módosítás
Előleg jelző
advanceIndicator: false
Végszámla
prepaymentInvoice: false
Módosító számla hivatkozás
invoiceReference: 2025/1234, modificationIndex: 2, modificationIssueDate: 2025-02-10

ÁFA státuszok (összefoglaló)
FAD tételt tartalmazÁfamentes ág (pl. AAM/NAM)Területen kívüli (EUFAD37 stb.)
Adókulcs / jogcímNettóÁFABruttóMegjegyzés
Fordított adózás (FAD)19 102 HUF0 HUF19 102 HUFvatDomesticReverseCharge=true
27%800 HUF216 HUF1 016 HUF

Deviza & árfolyam
Pénznem
currencyCode: HUF
Árfolyam
exchangeRate: 1
Megjegyzés
Devizás számlánál itt jelenik meg az alkalmazott árfolyam és forrása.

Fizetési és banki adatok
Fizetési mód
paymentMethod: TRANSFER
Fizetési határidő
paymentDate: 2025-10-10
Szállító bankszámla
supplierBankAccountNumber: 11748052-20033693-00000000

Vevő adózási státusz
customerVatStatus
DOMESTIC
communityVatNumber
HU24960159
customerTaxNumber
27517592-2-16

Kapcsolódó dokumentumok
TípusAzonosítóDátumMegjegyzés
Szállítólevél2025/62982025-10-09
OSA 3.0: referencesToOtherDocuments

Kerekítés
Kerekítési különbözet: +2 HUF

Közvetített szolgáltatás
intermediatedService: false

Projekt / költséghely / szerződés (tételszintű összegzés)
Tétel #KódLeírásÉrték
1PROJECT_IDProjektP-2025-004
1COST_CENTERKöltséghelyCC-101
Forrás: additionalLineData

Megjegyzések
KódLeírásÉrték
D00001_SZLAMEGJmegjegyzésHivatkozás: 2025/6298 sz. szállítólevél, FAD esetén a vevő az Áfa tv. 142. § alapján fizet!
Forrás: additionalInvoiceData

Heurisztika alapján jelöljük, ha a tételszintű megjegyzések utalnak „közvetített szolgáltatásra”.

Különbözet szerinti adózás

A sorokból (dedikált mező vagy additionalLineData) kigyűjtve. A „Tétel #” oszlopban: sorszám – tétel megnevezése. A kódok magyar magyarázattal jelennek meg (pl. Használt cikkek, Műalkotások).

Termékáram (termékdíj)

Hasonlóan, a „Tétel #” oszlop szintén „sorszám – megnevezés” formájú. A kódok magyar megnevezést kapnak (pl. Akkumulátor, Csomagolószer, stb.).

Termékdíj átvállalás (irány és jogalap)

Az takeoverType vagy a megfelelő additionalLineData alapján. A „Tétel #” oszlop itt is „sorszám – megnevezés”. A kódokhoz magyarított magyarázat tartozik (pl. „Vevő átvállalása – 02/ab”).