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
invoiceNumberinvoiceIssueDateinvoiceDeliveryDatecurrencyCodepaymentMethod, paymentDateadditionalInvoiceData (ha van)Tételek: mit és hogyan jelenítünk meg?
Alap-mezők és szabályok
| Mező | Forrás az XML-ben | Megjelenítés |
|---|---|---|
| Megnevezés | lineDescription | Szöveg + termékkód badge-ek (VTSZ/SZJ/KN/TESZOR/AHK/CSK/EJ/OWN és egyéb kódok). |
| Mennyiség | quantity | Ha hiányzik/üres → 1 (alapértelmezés). |
| ME (mértékegység) | unitOfMeasure / unitOfMeasureOwn | Szabványos kód → magyar felirat (pl. PIECE → Darab, LITER → Liter). OWN esetén a saját megnevezés; ha semmi sincs → „–”. |
| Egységár | unitPrice (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és | lineVatRate/vatDomesticReverseCharge | A 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
invoiceSummaryelemekbő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ód | Felirat |
|---|---|
| PIECE | Darab |
| LITER | Liter |
| KILOGRAM | Kilogramm |
| TON | Tonna |
| METER | Méter |
| LINEAR_METER | Folyóméter |
| SQUARE_METER | Négyzetméter |
| CUBIC_METER | Köbméter |
| KILOMETER | Kilométer |
| KWH | Kilowatt óra |
| HOUR | Óra |
| DAY | Nap |
| MINUTE | Perc |
| MONTH | Hónap |
| Kód | Felirat |
|---|---|
| GRAM | Gramm |
| MILLILITER | Milliliter |
| CENTIMETER | Centiméter |
| MILLIMETER | Milliméter |
| HECTARE | Hektár |
| CUBIC_CENTIMETER | Köbcentiméter |
| CARTON | Karton |
| PACK | Csomag |
| BOTTLE | Palack |
| BOX | Doboz |
| BAG | Zsák |
| PALLET | Raklap |
| ROLL | Tekercs |
| SHEET | Lap |
| PAIR | Pár |
| SET | Készlet |
| DOZEN | Tucat |
| OWN | Sajá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
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.unitOfMeasure és nincs unitOfMeasureOwn, akkor „–”. OWN esetén a unitOfMeasureOwn jelenik meg, ha meg van adva.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.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.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.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)
| Adókulcs / jogcím | Nettó | ÁFA | Bruttó | Megjegyzés |
|---|---|---|---|---|
| Fordított adózás (FAD) | 19 102 HUF | 0 HUF | 19 102 HUF | vatDomesticReverseCharge=true |
| 27% | 800 HUF | 216 HUF | 1 016 HUF | — |
| Típus | Azonosító | Dátum | Megjegyzés |
|---|---|---|---|
| Szállítólevél | 2025/6298 | 2025-10-09 | — |
referencesToOtherDocuments| Tétel # | Kód | Leírás | Érték |
|---|---|---|---|
| 1 | PROJECT_ID | Projekt | P-2025-004 |
| 1 | COST_CENTER | Költséghely | CC-101 |
additionalLineData| Kód | Leírás | Érték |
|---|---|---|
| D00001_SZLAMEGJ | megjegyzés | Hivatkozás: 2025/6298 sz. szállítólevél, FAD esetén a vevő az Áfa tv. 142. § alapján fizet! |
additionalInvoiceDataHeurisztika alapján jelöljük, ha a tételszintű megjegyzések utalnak „közvetített szolgáltatásra”.
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).
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.).
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”).


