Tételösszegek és kerekítés
Forintos nyugtán szigorúbbak a tételösszegek szabályai, mint a számlán. Forintosnak számít a nyugta, ha a currency üres (ez az alapérték), 'HUF' vagy 'Ft'. Ilyenkor:
- a bruttó érték egész szám, mert a nyugtát egész forintban fizetik ki,
- a nettó és az áfa értéke legfeljebb 2 tizedesjegy lehet,
- a nettó és az áfa összegének tűrés nélkül ki kell adnia a bruttót, a Számlázz.hu kerekítés nélkül hasonlít,
- a nettó egységár × mennyiség legfeljebb 2 Ft-tal térhet el a nettó értéktől, a nettó × áfakulcs / 100 pedig az áfa értéktől.
Ezt nem kell kézzel kiszámolnod. Megadod a grossUnitPrice vagy a netUnitPrice mezőt és az áfakulcsot, a kassza pedig a nyugtára érvényes szabályokkal számolja ki a nettó, az áfa és a bruttó értéket.
- Nettó egységár
- 4716,67 Ft
- Nettó érték
- 14 150 Ft
- Áfa
- 3820 Ft
- Bruttó érték
- 17 970 Ft
calculateInvoiceItem({ quantity: 3, grossUnitPrice: 5990, vat: 27 })
A kalkulátorban a Bizonylat kapcsolót állítsd Nyugtára, így ugyanazt látod, ami a nyugtára kerül.
Bruttó alapon#
Nyugtánál ez a gyakoribb eset, mert a vevő bruttó árat fizet.
- bruttó érték = bruttó egységár × mennyiség, egészre kerekítve,
- áfa érték = bruttó érték × áfakulcs / (100 + áfakulcs), 2 tizedesre kerekítve,
- nettó érték = bruttó érték − áfa érték,
- a nettó egységárat a kassza visszaszámolja: a legkevesebb tizedesjegyű (legfeljebb 6) értéket választja, amely a mennyiséggel szorozva kiadja a nettó értéket.
Például 3 darab 890 Ft-os kávé 27%-os áfával: bruttó 2 670 Ft, áfa 567,64 Ft, nettó 2 102,36 Ft, nettó egységár 700,787 Ft. Ugyanez számlán 568 Ft áfa és 2 102 Ft nettó lenne, mert ott a nettó és az áfa is egész.
Tört bruttó egységárnál a bruttó érték egészre kerekedik: 199,50 Ft-ból 200 Ft lesz, 42,52 Ft áfával és 157,48 Ft nettóval.
Nyugta kiállítása
Pénztári nyugta hívásazonosítóval, két áfakulccsal, alapbeállításokkal.
Nettó alapon#
Mivel a bruttónak nettó alapon is egésznek kell lennie, a sorrend más, mint a számlán:
- nettó érték = nettó egységár × mennyiség, 2 tizedesre kerekítve,
- bruttó érték = nettó érték × (1 + áfakulcs / 100), egészre kerekítve,
- áfa érték = bruttó érték − nettó érték.
Például 3 darab 99,99 Ft nettó egységárú tétel 27%-os áfával: nettó 299,97 Ft, bruttó 380,9619 helyett 381 Ft, áfa 81,03 Ft. Az áfa így nem pontosan a nettó 27%-a (80,99 Ft), de a 2 Ft-os tűrésen belül marad, és a nettó és az áfa összege pontosan 381.
Devizás nyugta#
A fenti forintos szabályok devizás nyugtára nem vonatkoznak. Devizában a kassza a nettó, az áfa és a bruttó értéket is legfeljebb 2 tizedesre kerekíti, ugyanúgy, mint a devizás számlán.
Ellenőrzés küldés előtt#
Forintos nyugtánál a kassza a kérés elküldése előtt ellenőrzi a tételösszegeket. Ha valami nem stimmel, validation kategóriájú SzamlazzError-t dob, a kérés el sem jut a Számlázz.hu-hoz. A hibaüzenet megnevezi a tételt, és zárójelben a megfelelő hibakódot:
| Kód az üzenetben | Mi a hiba |
|---|---|
| 261 | A nettó és az áfa összege nem pontosan a bruttó |
| 363 | A bruttó nem egész szám |
| 364 | A nettó 2-nél több tizedesjegyet tartalmaz |
| 365 | Az áfa 2-nél több tizedesjegyet tartalmaz |
| 259 | A nettó egységár × mennyiség 2 Ft-nál többel eltér a nettótól |
| 260 | Az áfa 2 Ft-nál többel eltér a nettó × áfakulcs / 100 értéktől |
A Számlázz.hu a 261-es és a 363–365-ös kódot adja vissza, ha ilyen tétel mégis eljut hozzá. Lásd még: Hibakezelés.
Saját összegek#
Ha a tételösszegeket máshonnan kapod, a netAmount, vatAmount és grossAmount mezővel felülírhatod a számolást. Mindhármat meg kell adnod. A számlával ellentétben forintos nyugtán a kassza ezeket is ellenőrzi, ezért már kerekített értékeket adj át:
Egy másik rendszerből változtatás nélkül átvett, kerekítetlen érték, például a netAmount: 787.40157480315, 364-es hivatkozású validation hibát ad, mert a nettó 2-nél több tizedesjegyet tartalmaz.
Áfakulcsok nyugtán#
Nyugtán a számlánál használható összes áfakulcs megadható, lásd Áfakulcsok. Ezeken felül a kassza négy olyan kódot is elfogad, amely csak nyugtán használható:
vat | Számolás |
|---|---|
'ÁKK' | 0%-os kulcsként |
'MAA' | 0%-os kulcsként |
'EU' | 0%-os kulcsként |
'EUK' | 0%-os kulcsként |
A kód változatlanul kerül a kérés afakulcs mezőjébe. TypeScriptben a nyugtatételek vat mezőjének típusa a ReceiptVatRate, amely ezt a négy kódot is tartalmazza.
Számolás a kassza nélkül#
A nyugta kerekítése külön is elérhető a kassza/money modulból, például ha a pénztárfelületen ugyanazt az összeget akarod mutatni, ami a nyugtára kerül:
Itt a grossAmount 2 030, a byVat pedig áfakulcsonként bontja a nettó, az áfa és a bruttó értéket. Devizás nyugtához a pénznemet második paraméterként add át: calculateReceiptItem(tetel, 'EUR').
Lásd még: Kerekítés számlán és Pénzszámítás.