kassza 0.10.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +103 -103
- package/dist/client-CL3fuH6A.js +1596 -0
- package/dist/{client-zv4enyq7.d.ts → client-CickRRFr.d.ts} +307 -217
- package/dist/client-CsmGIFRS.cjs +1637 -0
- package/dist/{client-B9kbKKBf.d.cts → client-DvWZoX_E.d.cts} +307 -217
- package/dist/create-once-CqdYmQD8.js +330 -0
- package/dist/create-once-D0pwuenl.cjs +389 -0
- package/dist/crypto-B8lERvR1.cjs +56 -0
- package/dist/crypto-DK_osBVy.js +33 -0
- package/dist/{dates-DtHzwNU6.d.cts → dates-9zvESP0i.d.cts} +2 -1
- package/dist/{dates-DtHzwNU6.d.ts → dates-9zvESP0i.d.ts} +2 -1
- package/dist/{dates-PPxH0n5H.cjs → dates-CPgBodkP.cjs} +44 -1
- package/dist/{dates-D2XebOIg.js → dates-CXyj7Azy.js} +39 -2
- package/dist/delegation/index.cjs +395 -0
- package/dist/delegation/index.d.cts +99 -0
- package/dist/delegation/index.d.ts +99 -0
- package/dist/delegation/index.js +377 -0
- package/dist/{errors-DapdV5DK.js → errors-DLrb0g64.js} +122 -5
- package/dist/{errors-B0QJhUW1.cjs → errors-DxeuTslP.cjs} +127 -4
- package/dist/index.cjs +21 -1410
- package/dist/index.d.cts +18 -3
- package/dist/index.d.ts +18 -3
- package/dist/index.js +8 -1409
- package/dist/ipn/index.cjs +1 -1
- package/dist/ipn/index.js +1 -1
- package/dist/{create-DZsl3Z4m.cjs → issue-BsyYdrIG.cjs} +664 -311
- package/dist/{create-5YkUcJSe.js → issue-C6Fcjvln.js} +589 -272
- package/dist/json-4y4E2xxS.cjs +61 -0
- package/dist/json-B70TwoX1.d.cts +4 -0
- package/dist/json-B70TwoX1.d.ts +4 -0
- package/dist/json-DjnqnaJK.js +32 -0
- package/dist/money/index.cjs +12 -10
- package/dist/money/index.js +3 -1
- package/dist/{money-C9j7nBNP.js → money-DAA7OwiO.js} +4 -101
- package/dist/{money-DkiGukAw.cjs → money-DrhGkWHW.cjs} +19 -170
- package/dist/payments/barion.cjs +208 -0
- package/dist/payments/barion.d.cts +28 -0
- package/dist/payments/barion.d.ts +28 -0
- package/dist/payments/barion.js +199 -0
- package/dist/payments/index.cjs +16 -0
- package/dist/payments/index.d.cts +31 -0
- package/dist/payments/index.d.ts +31 -0
- package/dist/payments/index.js +3 -0
- package/dist/payments/paypal.cjs +351 -0
- package/dist/payments/paypal.d.cts +59 -0
- package/dist/payments/paypal.d.ts +59 -0
- package/dist/payments/paypal.js +337 -0
- package/dist/payments/revolut.cjs +261 -0
- package/dist/payments/revolut.d.cts +48 -0
- package/dist/payments/revolut.d.ts +48 -0
- package/dist/payments/revolut.js +249 -0
- package/dist/payments/simplepay.cjs +313 -0
- package/dist/payments/simplepay.d.cts +86 -0
- package/dist/payments/simplepay.d.ts +86 -0
- package/dist/payments/simplepay.js +299 -0
- package/dist/payments/stripe.cjs +315 -0
- package/dist/payments/stripe.d.cts +49 -0
- package/dist/payments/stripe.d.ts +49 -0
- package/dist/payments/stripe.js +303 -0
- package/dist/reports/index.cjs +256 -0
- package/dist/reports/index.d.cts +70 -0
- package/dist/reports/index.d.ts +70 -0
- package/dist/reports/index.js +247 -0
- package/dist/rounding-BLyHjjI5.js +20 -0
- package/dist/rounding-TxoWy2ww.cjs +37 -0
- package/dist/storage/fs.cjs +1 -1
- package/dist/storage/fs.js +1 -1
- package/dist/storage/index.cjs +2 -2
- package/dist/storage/index.d.cts +1 -1
- package/dist/storage/index.d.ts +1 -1
- package/dist/storage/index.js +2 -2
- package/dist/tax-number-BYFkBp4A.cjs +141 -0
- package/dist/tax-number-BdqKsxNR.js +76 -0
- package/dist/testing/index.cjs +183 -84
- package/dist/testing/index.d.cts +10 -2
- package/dist/testing/index.d.ts +10 -2
- package/dist/testing/index.js +181 -82
- package/dist/types-COf1LAD-.d.cts +56 -0
- package/dist/types-COf1LAD-.d.ts +56 -0
- package/dist/types-DH8QoNZK.d.cts +135 -0
- package/dist/types-k--zHf4l.d.ts +135 -0
- package/dist/validators/index.cjs +14 -88
- package/dist/validators/index.js +1 -75
- package/dist/vat-g35srbNG.cjs +116 -0
- package/dist/vat-v_dcWCto.js +81 -0
- package/dist/webhook-C76bV-4R.cjs +245 -0
- package/dist/webhook-CfaDgcL0.d.cts +6 -0
- package/dist/webhook-D4lvtex1.js +174 -0
- package/dist/webhook-q2OzNwd7.d.ts +6 -0
- package/package.json +106 -2
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!-- Ezt a fájlt a readme/build.mjs generálja a readme/template.md alapján. Ne szerkeszd kézzel: írd át a sablont, és futtasd az npm run readme parancsot. -->
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
|
-
<a href="https://
|
|
4
|
+
<a href="https://kasszajs.hu"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/hero-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/hero-light.svg" alt="kassza: Számlázz.hu, TypeScriptben. Telepítés: npm i kassza" width="100%"></picture></a>
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
@@ -10,18 +10,18 @@
|
|
|
10
10
|
</p>
|
|
11
11
|
|
|
12
12
|
<p align="center">
|
|
13
|
-
<a href="https://www.npmjs.com/package/kassza"><img src="https://img.shields.io/npm/v/kassza?label=npm&style=flat-square&labelColor=
|
|
14
|
-
<a href="https://www.npmjs.com/package/kassza"><img src="https://img.shields.io/npm/dm/kassza?label=let%C3%B6lt%C3%A9s&style=flat-square&labelColor=
|
|
15
|
-
<a href="https://github.com/futozs/kassza/blob/main/package.json"><img src="https://img.shields.io/badge/f%C3%BCgg%C5%91s%C3%A9g-0-
|
|
16
|
-
<a href="https://github.com/futozs/kassza/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/kassza?label=licenc&style=flat-square&labelColor=
|
|
13
|
+
<a href="https://www.npmjs.com/package/kassza"><img src="https://img.shields.io/npm/v/kassza?label=npm&style=flat-square&labelColor=28313d&color=c2501a" alt="npm verzió"></a>
|
|
14
|
+
<a href="https://www.npmjs.com/package/kassza"><img src="https://img.shields.io/npm/dm/kassza?label=let%C3%B6lt%C3%A9s&style=flat-square&labelColor=28313d&color=c2501a" alt="havi letöltés"></a>
|
|
15
|
+
<a href="https://github.com/futozs/kassza/blob/main/package.json"><img src="https://img.shields.io/badge/f%C3%BCgg%C5%91s%C3%A9g-0-c2501a?style=flat-square&labelColor=28313d" alt="0 futásidejű függőség"></a>
|
|
16
|
+
<a href="https://github.com/futozs/kassza/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/kassza?label=licenc&style=flat-square&labelColor=28313d&color=c2501a" alt="MIT licenc"></a>
|
|
17
17
|
</p>
|
|
18
18
|
|
|
19
19
|
<p align="center">
|
|
20
|
-
<a href="https://
|
|
21
|
-
<a href="https://
|
|
20
|
+
<a href="https://kasszajs.hu"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/nav-web-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/nav-web-light.svg" alt="Weboldal: kasszajs.hu" width="428"></picture></a>
|
|
21
|
+
<a href="https://kasszajs.hu/docs"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/nav-docs-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/nav-docs-light.svg" alt="Dokumentáció: 92 oldal, magyarul" width="428"></picture></a>
|
|
22
22
|
<br>
|
|
23
|
-
<a href="https://
|
|
24
|
-
<a href="https://
|
|
23
|
+
<a href="https://kasszajs.hu/sandbox"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/nav-sandbox-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/nav-sandbox-light.svg" alt="Sandbox: 27 futtatható példa" width="428"></picture></a>
|
|
24
|
+
<a href="https://kasszajs.hu/docs/receptek"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/nav-recipes-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/nav-recipes-light.svg" alt="Receptek: 11 kész integráció" width="428"></picture></a>
|
|
25
25
|
</p>
|
|
26
26
|
|
|
27
27
|
```bash
|
|
@@ -44,8 +44,8 @@ console.log(szamla.number, szamla.grossTotal)
|
|
|
44
44
|
Ennyi. A kerekítést, a magyar dátumot, az XML-t, a session cookie-t és a hibakezelést a kassza intézi, a vevő pedig e-mailben megkapja a számlát.
|
|
45
45
|
|
|
46
46
|
<p>
|
|
47
|
-
<a href="https://
|
|
48
|
-
<a href="https://
|
|
47
|
+
<a href="https://kasszajs.hu/docs/alapok/telepites"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-light.svg" alt="Dokumentáció: Telepítés" height="44"></picture></a>
|
|
48
|
+
<a href="https://kasszajs.hu/sandbox?pelda=szamla"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-light.svg" alt="Futtasd a sandboxban: Számla kiállítása" height="44"></picture></a>
|
|
49
49
|
</p>
|
|
50
50
|
|
|
51
51
|
## Miért kassza?
|
|
@@ -83,7 +83,7 @@ Ennyi. A kerekítést, a magyar dátumot, az XML-t, a session cookie-t és a hib
|
|
|
83
83
|
</details>
|
|
84
84
|
|
|
85
85
|
<p>
|
|
86
|
-
<a href="https://
|
|
86
|
+
<a href="https://kasszajs.hu/docs/alapok/mi-a-kassza"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-light.svg" alt="Dokumentáció: Mi a kassza?" height="44"></picture></a>
|
|
87
87
|
</p>
|
|
88
88
|
|
|
89
89
|
## Tartalom
|
|
@@ -98,47 +98,47 @@ Ennyi. A kerekítést, a magyar dátumot, az XML-t, a session cookie-t és a hib
|
|
|
98
98
|
|
|
99
99
|
## Weboldal, sandbox és receptek
|
|
100
100
|
|
|
101
|
-
A teljes magyar dokumentáció, a sandbox és a receptek a **[
|
|
101
|
+
A teljes magyar dokumentáció, a sandbox és a receptek a **[kasszajs.hu](https://kasszajs.hu)** oldalon vannak.
|
|
102
102
|
|
|
103
103
|
<p align="center">
|
|
104
|
-
<a href="https://
|
|
104
|
+
<a href="https://kasszajs.hu/sandbox?pelda=szamla"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/showcase-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/showcase-light.svg" alt="A kassza sandbox: futtatható példák, TypeScript kód és a ténylegesen elküldött XML" width="100%"></picture></a>
|
|
105
105
|
</p>
|
|
106
106
|
|
|
107
|
-
- 📖 **[Dokumentáció](https://
|
|
108
|
-
- ▶️ **[Sandbox](https://
|
|
109
|
-
- 🍳 **[Receptek](https://
|
|
110
|
-
- 🤖 **[llms.txt](https://
|
|
107
|
+
- 📖 **[Dokumentáció](https://kasszajs.hu/docs)**: 92 oldal magyarul. Minden Agent művelethez kérés, válasz és futtatható minta, a beállítások, a szabályok és az összes ismert hibakód.
|
|
108
|
+
- ▶️ **[Sandbox](https://kasszajs.hu/sandbox)**: 27 példa, amit a böngészőben futtathatsz Agent kulcs nélkül, szimulált Számlázz.hu ellen, a ténylegesen elküldött XML-lel. A saját kódodat linkként meg is oszthatod.
|
|
109
|
+
- 🍳 **[Receptek](https://kasszajs.hu/docs/receptek)**: 11 teljes, bemásolható integráció webshophoz, Stripe és IPN webhookhoz, díjbekérőhöz, pénztári nyugtához, PDF tárhelyhez, Cloudflare Workershez és tesztekhez.
|
|
110
|
+
- 🤖 **[llms.txt](https://kasszajs.hu/llms.txt)**: a dokumentáció tartalomjegyzéke AI asszisztenseknek, a teljes szöveg egy fájlban: [llms-full.txt](https://kasszajs.hu/llms-full.txt).
|
|
111
111
|
- 📦 **[npm csomag](https://www.npmjs.com/package/kassza)** · 🏛️ **[Hivatalos Számlázz.hu Agent dokumentáció](https://docs.szamlazz.hu/hu/agent/)**
|
|
112
112
|
|
|
113
113
|
<details>
|
|
114
114
|
<summary>🍳 <b>Mind a 11 recept</b></summary>
|
|
115
115
|
|
|
116
|
-
- **[Közös kliens](https://
|
|
117
|
-
- **[Fizetett rendelés számlája](https://
|
|
118
|
-
- **[Stripe webhook](https://
|
|
119
|
-
- **[Nevezés díjbekérővel](https://
|
|
120
|
-
- **[IPN webhook](https://
|
|
121
|
-
- **[Pénztári nyugta](https://
|
|
122
|
-
- **[PDF mentése S3-ba vagy R2-be](https://
|
|
123
|
-
- **[Adószám alapú kitöltés](https://
|
|
124
|
-
- **[Devizás számla EU-s cégnek](https://
|
|
125
|
-
- **[Cloudflare Workers](https://
|
|
126
|
-
- **[Egységtesztek](https://
|
|
116
|
+
- **[Közös kliens](https://kasszajs.hu/docs/receptek/kozos-kliens)**: Egyetlen szerveroldali kassza kliens alapbeállításokkal, hibanaplózással és közös munkamenettel, amelyet a többi recept importál.
|
|
117
|
+
- **[Fizetett rendelés számlája](https://kasszajs.hu/docs/receptek/fizetett-rendeles-szamla)**: Idempotens számlázás rendelésszámmal.
|
|
118
|
+
- **[Stripe webhook](https://kasszajs.hu/docs/receptek/stripe-webhook)**: Számla a Stripe Checkout checkout.session.completed eseményéből.
|
|
119
|
+
- **[Nevezés díjbekérővel](https://kasszajs.hu/docs/receptek/nevezes-dijbekerovel)**: Versenynevezés vagy rendezvényjelentkezés átutalásos fizetéssel.
|
|
120
|
+
- **[IPN webhook](https://kasszajs.hu/docs/receptek/ipn-webhook)**: A Számlázz.hu fizetési értesítésének (IPN) fogadása Next.js route handlerben, IP-ellenőrzéssel, a számla állapotának visszaellenőrzésével és idempotens mentéssel.
|
|
121
|
+
- **[Pénztári nyugta](https://kasszajs.hu/docs/receptek/penztari-nyugta)**: Nyugta egy pénztári eladásról hívásazonosítóval, a dupla nyugta kezelésével és e-mail kiküldéssel, Next.js route handlerben.
|
|
122
|
+
- **[PDF mentése S3-ba vagy R2-be](https://kasszajs.hu/docs/receptek/pdf-mentes-s3-r2)**: A számla PDF-jének mentése saját Amazon S3 vagy Cloudflare R2 tárhelyre AWS SDK nélkül, stabil kulccsal és rövid ideig érvényes letöltési linkkel.
|
|
123
|
+
- **[Adószám alapú kitöltés](https://kasszajs.hu/docs/receptek/adoszam-urlap)**: Számlázási űrlap, amely a beírt adószám alapján a NAV adataiból tölti ki a cégnevet és a székhely címét.
|
|
124
|
+
- **[Devizás számla EU-s cégnek](https://kasszajs.hu/docs/receptek/devizas-eu-szamla)**: Euróban kiállított, angol nyelvű számla másik tagállambeli cégnek, közösségi adószámmal, MNB árfolyammal és angol értesítő e-maillel.
|
|
125
|
+
- **[Cloudflare Workers](https://kasszajs.hu/docs/receptek/cloudflare-workers)**: Cloudflare Worker, amely a kasszával lekérdezi a számlákat, a munkamenetet KV-ben tartja, a számla PDF-eket pedig R2-ben gyorsítótárazza.
|
|
126
|
+
- **[Egységtesztek](https://kasszajs.hu/docs/receptek/egysegtesztek)**: Vitest tesztek a receptek kódjához mock klienssel.
|
|
127
127
|
|
|
128
128
|
</details>
|
|
129
129
|
|
|
130
130
|
<details>
|
|
131
131
|
<summary>▶️ <b>Mind a 27 sandbox példa</b></summary>
|
|
132
132
|
|
|
133
|
-
**Számlák:** [Számla kiállítása](https://
|
|
133
|
+
**Számlák:** [Számla kiállítása](https://kasszajs.hu/sandbox?pelda=szamla) · [Webshop számla bruttó árakkal](https://kasszajs.hu/sandbox?pelda=szamla-brutto) · [Díjbekérő, majd számla](https://kasszajs.hu/sandbox?pelda=dijbekero-szamla) · [Előleg- és végszámla](https://kasszajs.hu/sandbox?pelda=eloleg-vegszamla) · [Helyesbítő számla](https://kasszajs.hu/sandbox?pelda=helyesbito-szamla) · [Devizás számla EU-s vevőnek](https://kasszajs.hu/sandbox?pelda=devizas-szamla) · [Számlaelőnézet](https://kasszajs.hu/sandbox?pelda=elonezet) · [Számla sztornózása](https://kasszajs.hu/sandbox?pelda=sztorno) · [Befizetések rögzítése](https://kasszajs.hu/sandbox?pelda=befizetes) · [PDF lekérése utólag](https://kasszajs.hu/sandbox?pelda=pdf-lekeres) · [Számla adatainak lekérése](https://kasszajs.hu/sandbox?pelda=szamla-adatai) · [Díjbekérő törlése](https://kasszajs.hu/sandbox?pelda=dijbekero-torlese)
|
|
134
134
|
|
|
135
|
-
**Nyugták:** [Nyugta kiállítása](https://
|
|
135
|
+
**Nyugták:** [Nyugta kiállítása](https://kasszajs.hu/sandbox?pelda=nyugta) · [Nyugta sztornózása](https://kasszajs.hu/sandbox?pelda=nyugta-sztorno) · [Nyugta lekérdezése](https://kasszajs.hu/sandbox?pelda=nyugta-lekerdezes) · [Nyugta kiküldése e-mailben](https://kasszajs.hu/sandbox?pelda=nyugta-kikuldes)
|
|
136
136
|
|
|
137
|
-
**NAV:** [Adószám lekérdezése](https://
|
|
137
|
+
**NAV:** [Adószám lekérdezése](https://kasszajs.hu/sandbox?pelda=adoszam)
|
|
138
138
|
|
|
139
|
-
**Hibakezelés:** [Idempotens számlázás hiba után](https://
|
|
139
|
+
**Hibakezelés:** [Idempotens számlázás hiba után](https://kasszajs.hu/sandbox?pelda=hibakezeles-idempotens) · [Validációs hibák](https://kasszajs.hu/sandbox?pelda=hibakezeles-validacio) · [Agent kulcs ellenőrzése](https://kasszajs.hu/sandbox?pelda=kulcs-ellenorzes) · [Hookok és újrapróbálás](https://kasszajs.hu/sandbox?pelda=hookok)
|
|
140
140
|
|
|
141
|
-
**Eszközök:** [Közös session több kliens között](https://
|
|
141
|
+
**Eszközök:** [Közös session több kliens között](https://kasszajs.hu/sandbox?pelda=munkamenet) · [Mock kliens tesztekhez](https://kasszajs.hu/sandbox?pelda=mock-kliens) · [Kerekítés és összegzés](https://kasszajs.hu/sandbox?pelda=kerekites) · [Validátorok](https://kasszajs.hu/sandbox?pelda=validatorok) · [IPN fizetési értesítés](https://kasszajs.hu/sandbox?pelda=ipn) · [PDF mentése tárhelyre](https://kasszajs.hu/sandbox?pelda=pdf-tarhely)
|
|
142
142
|
|
|
143
143
|
</details>
|
|
144
144
|
|
|
@@ -179,14 +179,14 @@ await kassza.verifyCredentials()
|
|
|
179
179
|
|
|
180
180
|
A `verifyCredentials()` visszatérési értéke `true`, ha a kulcs jó.
|
|
181
181
|
|
|
182
|
-
📖 **Dokumentáció:** [Hitelesítés (Agent kulcs)](https://
|
|
182
|
+
📖 **Dokumentáció:** [Hitelesítés (Agent kulcs)](https://kasszajs.hu/docs/alapok/hitelesites) · ▶️ **Sandbox:** [Agent kulcs ellenőrzése](https://kasszajs.hu/sandbox?pelda=kulcs-ellenorzes)
|
|
183
183
|
|
|
184
184
|
</details>
|
|
185
185
|
|
|
186
186
|
<p>
|
|
187
|
-
<a href="https://
|
|
188
|
-
<a href="https://
|
|
189
|
-
<a href="https://
|
|
187
|
+
<a href="https://kasszajs.hu/docs/alapok/kliens-beallitasa"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-light.svg" alt="Dokumentáció: Kliens beállítása" height="44"></picture></a>
|
|
188
|
+
<a href="https://kasszajs.hu/sandbox?pelda=kulcs-ellenorzes"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-light.svg" alt="Futtasd a sandboxban: Agent kulcs ellenőrzése" height="44"></picture></a>
|
|
189
|
+
<a href="https://kasszajs.hu/docs/receptek/kozos-kliens"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-recipe-kozos-kliens-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-recipe-kozos-kliens-light.svg" alt="Recept: Közös kliens" height="44"></picture></a>
|
|
190
190
|
</p>
|
|
191
191
|
|
|
192
192
|
## Számlák
|
|
@@ -224,7 +224,7 @@ szamla.pdf
|
|
|
224
224
|
- Az `orderNumber` a saját azonosítód, ezzel később vissza is keresheted a számlát.
|
|
225
225
|
- A `szamla.pdf` egy `Uint8Array`.
|
|
226
226
|
|
|
227
|
-
📖 **Dokumentáció:** [Számla létrehozás › Kérés](https://
|
|
227
|
+
📖 **Dokumentáció:** [Számla létrehozás › Kérés](https://kasszajs.hu/docs/szamla-letrehozas/keres) · ▶️ **Sandbox:** [Számla kiállítása](https://kasszajs.hu/sandbox?pelda=szamla)
|
|
228
228
|
|
|
229
229
|
</details>
|
|
230
230
|
|
|
@@ -240,9 +240,9 @@ Az ár megadható nettóban vagy bruttóban, a kerekítés a hivatalos szabályo
|
|
|
240
240
|
{ name: 'Oktatás', netUnitPrice: 50_000, vat: 'AAM' }
|
|
241
241
|
```
|
|
242
242
|
|
|
243
|
-
A nettó ár a B2B számlákhoz, a bruttó ár a B2C számlákhoz való. Az `'AAM'` alanyi adómentes tételt jelöl, a többi áfakódot a [Áfakulcsok](https://
|
|
243
|
+
A nettó ár a B2B számlákhoz, a bruttó ár a B2C számlákhoz való. Az `'AAM'` alanyi adómentes tételt jelöl, a többi áfakódot a [Áfakulcsok](https://kasszajs.hu/docs/szamla-letrehozas/beallitasok-es-szabalyok/afakulcsok) oldal sorolja fel.
|
|
244
244
|
|
|
245
|
-
📖 **Dokumentáció:** [Kerekítés](https://
|
|
245
|
+
📖 **Dokumentáció:** [Kerekítés](https://kasszajs.hu/docs/szamla-letrehozas/beallitasok-es-szabalyok/kerekites) · ▶️ **Sandbox:** [Webshop számla bruttó árakkal](https://kasszajs.hu/sandbox?pelda=szamla-brutto)
|
|
246
246
|
|
|
247
247
|
</details>
|
|
248
248
|
|
|
@@ -266,7 +266,7 @@ const szamla = await kassza.invoices.create({
|
|
|
266
266
|
})
|
|
267
267
|
```
|
|
268
268
|
|
|
269
|
-
📖 **Dokumentáció:** [Bizonylattípusok](https://
|
|
269
|
+
📖 **Dokumentáció:** [Bizonylattípusok](https://kasszajs.hu/docs/szamla-letrehozas/beallitasok-es-szabalyok/bizonylattipusok) · ▶️ **Sandbox:** [Díjbekérő, majd számla](https://kasszajs.hu/sandbox?pelda=dijbekero-szamla)
|
|
270
270
|
|
|
271
271
|
</details>
|
|
272
272
|
|
|
@@ -277,7 +277,7 @@ const szamla = await kassza.invoices.create({
|
|
|
277
277
|
await kassza.invoices.deleteProforma({ orderNumber: 'NEV-42' })
|
|
278
278
|
```
|
|
279
279
|
|
|
280
|
-
📖 **Dokumentáció:** [Díjbekérő törlése](https://
|
|
280
|
+
📖 **Dokumentáció:** [Díjbekérő törlése](https://kasszajs.hu/docs/dijbekero-torlese) · ▶️ **Sandbox:** [Díjbekérő törlése](https://kasszajs.hu/sandbox?pelda=dijbekero-torlese)
|
|
281
281
|
|
|
282
282
|
</details>
|
|
283
283
|
|
|
@@ -304,7 +304,7 @@ await kassza.invoices.create({
|
|
|
304
304
|
})
|
|
305
305
|
```
|
|
306
306
|
|
|
307
|
-
📖 **Dokumentáció:** [Bizonylattípusok](https://
|
|
307
|
+
📖 **Dokumentáció:** [Bizonylattípusok](https://kasszajs.hu/docs/szamla-letrehozas/beallitasok-es-szabalyok/bizonylattipusok) · ▶️ **Sandbox:** [Előleg- és végszámla](https://kasszajs.hu/sandbox?pelda=eloleg-vegszamla)
|
|
308
308
|
|
|
309
309
|
</details>
|
|
310
310
|
|
|
@@ -320,7 +320,7 @@ await kassza.invoices.create({
|
|
|
320
320
|
})
|
|
321
321
|
```
|
|
322
322
|
|
|
323
|
-
📖 **Dokumentáció:** [Bizonylattípusok](https://
|
|
323
|
+
📖 **Dokumentáció:** [Bizonylattípusok](https://kasszajs.hu/docs/szamla-letrehozas/beallitasok-es-szabalyok/bizonylattipusok) · ▶️ **Sandbox:** [Helyesbítő számla](https://kasszajs.hu/sandbox?pelda=helyesbito-szamla)
|
|
324
324
|
|
|
325
325
|
</details>
|
|
326
326
|
|
|
@@ -331,7 +331,7 @@ await kassza.invoices.create({
|
|
|
331
331
|
await kassza.invoices.create({ type: 'deliveryNote', buyer, items })
|
|
332
332
|
```
|
|
333
333
|
|
|
334
|
-
📖 **Dokumentáció:** [Bizonylattípusok](https://
|
|
334
|
+
📖 **Dokumentáció:** [Bizonylattípusok](https://kasszajs.hu/docs/szamla-letrehozas/beallitasok-es-szabalyok/bizonylattipusok)
|
|
335
335
|
|
|
336
336
|
</details>
|
|
337
337
|
|
|
@@ -355,9 +355,9 @@ await kassza.invoices.create({
|
|
|
355
355
|
})
|
|
356
356
|
```
|
|
357
357
|
|
|
358
|
-
Az árfolyam, ha nem adod meg, automatikusan az MNB aktuális árfolyama. Kész minta: [Devizás számla EU-s cégnek](https://
|
|
358
|
+
Az árfolyam, ha nem adod meg, automatikusan az MNB aktuális árfolyama. Kész minta: [Devizás számla EU-s cégnek](https://kasszajs.hu/docs/receptek/devizas-eu-szamla).
|
|
359
359
|
|
|
360
|
-
📖 **Dokumentáció:** [Támogatott devizanemek](https://
|
|
360
|
+
📖 **Dokumentáció:** [Támogatott devizanemek](https://kasszajs.hu/docs/szamla-letrehozas/beallitasok-es-szabalyok/penznemek) · ▶️ **Sandbox:** [Devizás számla EU-s vevőnek](https://kasszajs.hu/sandbox?pelda=devizas-szamla)
|
|
361
361
|
|
|
362
362
|
</details>
|
|
363
363
|
|
|
@@ -368,7 +368,7 @@ Az árfolyam, ha nem adod meg, automatikusan az MNB aktuális árfolyama. Kész
|
|
|
368
368
|
const { pdf, grossTotal } = await kassza.invoices.preview({ buyer, items })
|
|
369
369
|
```
|
|
370
370
|
|
|
371
|
-
📖 **Dokumentáció:** [Előnézet](https://
|
|
371
|
+
📖 **Dokumentáció:** [Előnézet](https://kasszajs.hu/docs/szamla-letrehozas/beallitasok-es-szabalyok/elonezet) · ▶️ **Sandbox:** [Számlaelőnézet](https://kasszajs.hu/sandbox?pelda=elonezet)
|
|
372
372
|
|
|
373
373
|
</details>
|
|
374
374
|
|
|
@@ -385,7 +385,7 @@ await kassza.invoices.create({
|
|
|
385
385
|
|
|
386
386
|
Legfeljebb 5 melléklet adható meg, darabonként 2 MB.
|
|
387
387
|
|
|
388
|
-
📖 **Dokumentáció:** [Számlaértesítő küldés](https://
|
|
388
|
+
📖 **Dokumentáció:** [Számlaértesítő küldés](https://kasszajs.hu/docs/szamla-letrehozas/beallitasok-es-szabalyok/ertesito-email)
|
|
389
389
|
|
|
390
390
|
</details>
|
|
391
391
|
|
|
@@ -396,7 +396,7 @@ Legfeljebb 5 melléklet adható meg, darabonként 2 MB.
|
|
|
396
396
|
const sztorno = await kassza.invoices.reverse('E-WEB-2026-12')
|
|
397
397
|
```
|
|
398
398
|
|
|
399
|
-
📖 **Dokumentáció:** [Számla sztornó](https://
|
|
399
|
+
📖 **Dokumentáció:** [Számla sztornó](https://kasszajs.hu/docs/szamla-sztorno) · ▶️ **Sandbox:** [Számla sztornózása](https://kasszajs.hu/sandbox?pelda=sztorno)
|
|
400
400
|
|
|
401
401
|
</details>
|
|
402
402
|
|
|
@@ -419,7 +419,7 @@ await kassza.invoices.clearPayments('E-WEB-2026-12')
|
|
|
419
419
|
|
|
420
420
|
A `registerPayment` egyetlen befizetést és több részletet is fogad. A `clearPayments` az összes befizetést törli a számláról.
|
|
421
421
|
|
|
422
|
-
📖 **Dokumentáció:** [Befizetés rögzítése](https://
|
|
422
|
+
📖 **Dokumentáció:** [Befizetés rögzítése](https://kasszajs.hu/docs/befizetes-rogzitese) · ▶️ **Sandbox:** [Befizetések rögzítése](https://kasszajs.hu/sandbox?pelda=befizetes)
|
|
423
423
|
|
|
424
424
|
</details>
|
|
425
425
|
|
|
@@ -435,7 +435,7 @@ await writeFile('szamla.pdf', pdf)
|
|
|
435
435
|
|
|
436
436
|
Rendelésszám vagy külső azonosító alapján is működik: `getPdf({ orderNumber: 'REND-1001' })`, `getPdf({ externalId: 'a1b2' })`.
|
|
437
437
|
|
|
438
|
-
📖 **Dokumentáció:** [Bizonylat lekérése PDF-ben](https://
|
|
438
|
+
📖 **Dokumentáció:** [Bizonylat lekérése PDF-ben](https://kasszajs.hu/docs/bizonylat-pdf) · ▶️ **Sandbox:** [PDF lekérése utólag](https://kasszajs.hu/sandbox?pelda=pdf-lekeres)
|
|
439
439
|
|
|
440
440
|
</details>
|
|
441
441
|
|
|
@@ -454,14 +454,14 @@ const talan = await kassza.invoices.find({ orderNumber: 'REND-9999' })
|
|
|
454
454
|
|
|
455
455
|
A `find` `null`-t ad, ha nincs ilyen számla, a `get` ilyenkor hibát dob.
|
|
456
456
|
|
|
457
|
-
📖 **Dokumentáció:** [Számla adatainak lekérése](https://
|
|
457
|
+
📖 **Dokumentáció:** [Számla adatainak lekérése](https://kasszajs.hu/docs/szamla-adatai) · ▶️ **Sandbox:** [Számla adatainak lekérése](https://kasszajs.hu/sandbox?pelda=szamla-adatai)
|
|
458
458
|
|
|
459
459
|
</details>
|
|
460
460
|
|
|
461
461
|
<p>
|
|
462
|
-
<a href="https://
|
|
463
|
-
<a href="https://
|
|
464
|
-
<a href="https://
|
|
462
|
+
<a href="https://kasszajs.hu/docs/szamla-letrehozas"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-light.svg" alt="Dokumentáció: Számla létrehozás" height="44"></picture></a>
|
|
463
|
+
<a href="https://kasszajs.hu/sandbox?pelda=szamla"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-light.svg" alt="Futtasd a sandboxban: Számla kiállítása" height="44"></picture></a>
|
|
464
|
+
<a href="https://kasszajs.hu/docs/receptek/fizetett-rendeles-szamla"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-recipe-fizetett-rendeles-szamla-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-recipe-fizetett-rendeles-szamla-light.svg" alt="Recept: Fizetett rendelés számlája" height="44"></picture></a>
|
|
465
465
|
</p>
|
|
466
466
|
|
|
467
467
|
## Nyugták
|
|
@@ -489,7 +489,7 @@ nyugta.pdf
|
|
|
489
489
|
|
|
490
490
|
A `callId` véd a dupla nyugta ellen.
|
|
491
491
|
|
|
492
|
-
📖 **Dokumentáció:** [Nyugta létrehozás](https://
|
|
492
|
+
📖 **Dokumentáció:** [Nyugta létrehozás](https://kasszajs.hu/docs/nyugta-letrehozas) · ▶️ **Sandbox:** [Nyugta kiállítása](https://kasszajs.hu/sandbox?pelda=nyugta)
|
|
493
493
|
|
|
494
494
|
</details>
|
|
495
495
|
|
|
@@ -500,7 +500,7 @@ A `callId` véd a dupla nyugta ellen.
|
|
|
500
500
|
await kassza.receipts.send({ receiptNumber: nyugta.number, emails: 'vevo@ceg.hu' })
|
|
501
501
|
```
|
|
502
502
|
|
|
503
|
-
📖 **Dokumentáció:** [Nyugta kiküldés](https://
|
|
503
|
+
📖 **Dokumentáció:** [Nyugta kiküldés](https://kasszajs.hu/docs/nyugta-kikuldes) · ▶️ **Sandbox:** [Nyugta kiküldése e-mailben](https://kasszajs.hu/sandbox?pelda=nyugta-kikuldes)
|
|
504
504
|
|
|
505
505
|
</details>
|
|
506
506
|
|
|
@@ -512,7 +512,7 @@ const ugyanaz = await kassza.receipts.get(nyugta.number)
|
|
|
512
512
|
const rendelesbol = await kassza.receipts.find({ orderNumber: 'REND-1001' })
|
|
513
513
|
```
|
|
514
514
|
|
|
515
|
-
📖 **Dokumentáció:** [Nyugta lekérdezés](https://
|
|
515
|
+
📖 **Dokumentáció:** [Nyugta lekérdezés](https://kasszajs.hu/docs/nyugta-lekerdezes) · ▶️ **Sandbox:** [Nyugta lekérdezése](https://kasszajs.hu/sandbox?pelda=nyugta-lekerdezes)
|
|
516
516
|
|
|
517
517
|
</details>
|
|
518
518
|
|
|
@@ -523,14 +523,14 @@ const rendelesbol = await kassza.receipts.find({ orderNumber: 'REND-1001' })
|
|
|
523
523
|
await kassza.receipts.reverse(nyugta.number)
|
|
524
524
|
```
|
|
525
525
|
|
|
526
|
-
📖 **Dokumentáció:** [Nyugta sztornó](https://
|
|
526
|
+
📖 **Dokumentáció:** [Nyugta sztornó](https://kasszajs.hu/docs/nyugta-sztorno) · ▶️ **Sandbox:** [Nyugta sztornózása](https://kasszajs.hu/sandbox?pelda=nyugta-sztorno)
|
|
527
527
|
|
|
528
528
|
</details>
|
|
529
529
|
|
|
530
530
|
<p>
|
|
531
|
-
<a href="https://
|
|
532
|
-
<a href="https://
|
|
533
|
-
<a href="https://
|
|
531
|
+
<a href="https://kasszajs.hu/docs/nyugta-letrehozas"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-light.svg" alt="Dokumentáció: Nyugta létrehozás" height="44"></picture></a>
|
|
532
|
+
<a href="https://kasszajs.hu/sandbox?pelda=nyugta"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-light.svg" alt="Futtasd a sandboxban: Nyugta kiállítása" height="44"></picture></a>
|
|
533
|
+
<a href="https://kasszajs.hu/docs/receptek/penztari-nyugta"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-recipe-penztari-nyugta-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-recipe-penztari-nyugta-light.svg" alt="Recept: Pénztári nyugta" height="44"></picture></a>
|
|
534
534
|
</p>
|
|
535
535
|
|
|
536
536
|
## Adószám lekérdezés
|
|
@@ -552,14 +552,14 @@ if (ceg.valid) {
|
|
|
552
552
|
|
|
553
553
|
A cégadatok a NAV-tól jönnek, a cím formázva, például `1031 Budapest, Záhony utca 7.`
|
|
554
554
|
|
|
555
|
-
📖 **Dokumentáció:** [Adószám lekérdezés](https://
|
|
555
|
+
📖 **Dokumentáció:** [Adószám lekérdezés](https://kasszajs.hu/docs/adoszam-lekerdezes) · ▶️ **Sandbox:** [Adószám lekérdezése](https://kasszajs.hu/sandbox?pelda=adoszam)
|
|
556
556
|
|
|
557
557
|
</details>
|
|
558
558
|
|
|
559
559
|
<p>
|
|
560
|
-
<a href="https://
|
|
561
|
-
<a href="https://
|
|
562
|
-
<a href="https://
|
|
560
|
+
<a href="https://kasszajs.hu/docs/adoszam-lekerdezes"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-light.svg" alt="Dokumentáció: Adószám lekérdezés" height="44"></picture></a>
|
|
561
|
+
<a href="https://kasszajs.hu/sandbox?pelda=adoszam"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-light.svg" alt="Futtasd a sandboxban: Adószám lekérdezése" height="44"></picture></a>
|
|
562
|
+
<a href="https://kasszajs.hu/docs/receptek/adoszam-urlap"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-recipe-adoszam-urlap-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-recipe-adoszam-urlap-light.svg" alt="Recept: Adószám alapú kitöltés" height="44"></picture></a>
|
|
563
563
|
</p>
|
|
564
564
|
|
|
565
565
|
## Hibakezelés
|
|
@@ -586,7 +586,7 @@ try {
|
|
|
586
586
|
- `error.code`: a Számlázz.hu hibakódja, például `57`.
|
|
587
587
|
- `error.hint`: magyar javítási tipp.
|
|
588
588
|
|
|
589
|
-
📖 **Dokumentáció:** [Hibakezelés, hibakódok](https://
|
|
589
|
+
📖 **Dokumentáció:** [Hibakezelés, hibakódok](https://kasszajs.hu/docs/alapok/hibakezeles) · ▶️ **Sandbox:** [Idempotens számlázás hiba után](https://kasszajs.hu/sandbox?pelda=hibakezeles-idempotens)
|
|
590
590
|
|
|
591
591
|
</details>
|
|
592
592
|
|
|
@@ -602,16 +602,16 @@ try {
|
|
|
602
602
|
| `auth` / `account` | Rossz kulcs, lejárt előfizetés |
|
|
603
603
|
| `network` / `timeout` / `maintenance` | Átmeneti hiba |
|
|
604
604
|
|
|
605
|
-
📖 **Dokumentáció:** [Hibakezelés, hibakódok](https://
|
|
605
|
+
📖 **Dokumentáció:** [Hibakezelés, hibakódok](https://kasszajs.hu/docs/alapok/hibakezeles) · ▶️ **Sandbox:** [Validációs hibák](https://kasszajs.hu/sandbox?pelda=hibakezeles-validacio)
|
|
606
606
|
|
|
607
607
|
</details>
|
|
608
608
|
|
|
609
609
|
> **Számlát a kassza soha nem küld újra.** Újraküldés csak ott történik magától, ahol biztonságos: lekérdezéseknél, hálózati hibánál, legfeljebb 5-ször. A Számlázz.hu kitiltja azt, aki ciklusban próbálkozik. Bizonytalan hiba után a `find({ orderNumber })` megmondja, elkészült-e a számla.
|
|
610
610
|
|
|
611
611
|
<p>
|
|
612
|
-
<a href="https://
|
|
613
|
-
<a href="https://
|
|
614
|
-
<a href="https://
|
|
612
|
+
<a href="https://kasszajs.hu/docs/alapok/hibakezeles"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-light.svg" alt="Dokumentáció: Hibakezelés, hibakódok" height="44"></picture></a>
|
|
613
|
+
<a href="https://kasszajs.hu/sandbox?pelda=hibakezeles-idempotens"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-light.svg" alt="Futtasd a sandboxban: Idempotens számlázás hiba után" height="44"></picture></a>
|
|
614
|
+
<a href="https://kasszajs.hu/docs/receptek/fizetett-rendeles-szamla"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-recipe-fizetett-rendeles-szamla-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-recipe-fizetett-rendeles-szamla-light.svg" alt="Recept: Fizetett rendelés számlája" height="44"></picture></a>
|
|
615
615
|
</p>
|
|
616
616
|
|
|
617
617
|
## Fizetési értesítés (IPN)
|
|
@@ -633,7 +633,7 @@ export async function POST(request: Request) {
|
|
|
633
633
|
}
|
|
634
634
|
```
|
|
635
635
|
|
|
636
|
-
📖 **Dokumentáció:** [IPN fizetési értesítés](https://
|
|
636
|
+
📖 **Dokumentáció:** [IPN fizetési értesítés](https://kasszajs.hu/docs/befizetes-rogzitese/ipn) · ▶️ **Sandbox:** [IPN fizetési értesítés](https://kasszajs.hu/sandbox?pelda=ipn)
|
|
637
637
|
|
|
638
638
|
</details>
|
|
639
639
|
|
|
@@ -650,14 +650,14 @@ isSzamlazzIp(request.headers.get('x-forwarded-for'))
|
|
|
650
650
|
|
|
651
651
|
Az `x-forwarded-for` fejlécből a **jobb szélső** címet vizsgálja, vagyis azt, amit a hozzád legközelebbi proxy látott, mert a fejléc bal oldalát a kliens is írhatja. Ha több megbízható proxy van előtted, add meg a számukat: `isSzamlazzIp(fejlec, { trustedProxies: 1 })`.
|
|
652
652
|
|
|
653
|
-
📖 **Dokumentáció:** [IPN fizetési értesítés](https://
|
|
653
|
+
📖 **Dokumentáció:** [IPN fizetési értesítés](https://kasszajs.hu/docs/befizetes-rogzitese/ipn)
|
|
654
654
|
|
|
655
655
|
</details>
|
|
656
656
|
|
|
657
657
|
<p>
|
|
658
|
-
<a href="https://
|
|
659
|
-
<a href="https://
|
|
660
|
-
<a href="https://
|
|
658
|
+
<a href="https://kasszajs.hu/docs/befizetes-rogzitese/ipn"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-light.svg" alt="Dokumentáció: IPN fizetési értesítés" height="44"></picture></a>
|
|
659
|
+
<a href="https://kasszajs.hu/sandbox?pelda=ipn"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-light.svg" alt="Futtasd a sandboxban: IPN fizetési értesítés" height="44"></picture></a>
|
|
660
|
+
<a href="https://kasszajs.hu/docs/receptek/ipn-webhook"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-recipe-ipn-webhook-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-recipe-ipn-webhook-light.svg" alt="Recept: IPN webhook" height="44"></picture></a>
|
|
661
661
|
</p>
|
|
662
662
|
|
|
663
663
|
## PDF mentése tárhelyre
|
|
@@ -686,7 +686,7 @@ fajl.key
|
|
|
686
686
|
|
|
687
687
|
A kulcs például `szamlak/2026/09/E-WEB-2026-12.pdf` lesz.
|
|
688
688
|
|
|
689
|
-
📖 **Dokumentáció:** [PDF tárhely](https://
|
|
689
|
+
📖 **Dokumentáció:** [PDF tárhely](https://kasszajs.hu/docs/kiegeszitok/pdf-tarhely) · ▶️ **Sandbox:** [PDF mentése tárhelyre](https://kasszajs.hu/sandbox?pelda=pdf-tarhely)
|
|
690
690
|
|
|
691
691
|
</details>
|
|
692
692
|
|
|
@@ -699,16 +699,16 @@ import { fsStorage } from 'kassza/storage/fs'
|
|
|
699
699
|
const tarhely = fsStorage({ directory: './szamlak' })
|
|
700
700
|
```
|
|
701
701
|
|
|
702
|
-
📖 **Dokumentáció:** [PDF tárhely](https://
|
|
702
|
+
📖 **Dokumentáció:** [PDF tárhely](https://kasszajs.hu/docs/kiegeszitok/pdf-tarhely)
|
|
703
703
|
|
|
704
704
|
</details>
|
|
705
705
|
|
|
706
706
|
További adapterek: `s3Storage` (AWS SDK), `r2BindingStorage`, `vercelBlobStorage`, `uploadthingStorage`, `supabaseStorage`, `memoryStorage`.
|
|
707
707
|
|
|
708
708
|
<p>
|
|
709
|
-
<a href="https://
|
|
710
|
-
<a href="https://
|
|
711
|
-
<a href="https://
|
|
709
|
+
<a href="https://kasszajs.hu/docs/kiegeszitok/pdf-tarhely"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-light.svg" alt="Dokumentáció: PDF tárhely" height="44"></picture></a>
|
|
710
|
+
<a href="https://kasszajs.hu/sandbox?pelda=pdf-tarhely"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-light.svg" alt="Futtasd a sandboxban: PDF mentése tárhelyre" height="44"></picture></a>
|
|
711
|
+
<a href="https://kasszajs.hu/docs/receptek/pdf-mentes-s3-r2"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-recipe-pdf-mentes-s3-r2-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-recipe-pdf-mentes-s3-r2-light.svg" alt="Recept: PDF mentése S3-ba vagy R2-be" height="44"></picture></a>
|
|
712
712
|
</p>
|
|
713
713
|
|
|
714
714
|
## Serverless és edge
|
|
@@ -725,7 +725,7 @@ import { upstashRedisCookieStore } from 'kassza/cookie-stores'
|
|
|
725
725
|
const kassza = createKassza({ cookieStore: upstashRedisCookieStore(Redis.fromEnv()) })
|
|
726
726
|
```
|
|
727
727
|
|
|
728
|
-
📖 **Dokumentáció:** [Munkamenet (session cookie)](https://
|
|
728
|
+
📖 **Dokumentáció:** [Munkamenet (session cookie)](https://kasszajs.hu/docs/alapok/munkamenet) · ▶️ **Sandbox:** [Közös session több kliens között](https://kasszajs.hu/sandbox?pelda=munkamenet)
|
|
729
729
|
|
|
730
730
|
</details>
|
|
731
731
|
|
|
@@ -738,16 +738,16 @@ import { cloudflareKvCookieStore } from 'kassza/cookie-stores'
|
|
|
738
738
|
const kassza = createKassza({ agentKey: env.SZAMLAZZ_AGENT_KEY, cookieStore: cloudflareKvCookieStore(env.KASSZA_KV) })
|
|
739
739
|
```
|
|
740
740
|
|
|
741
|
-
📖 **Dokumentáció:** [Serverless és edge](https://
|
|
741
|
+
📖 **Dokumentáció:** [Serverless és edge](https://kasszajs.hu/docs/kiegeszitok/serverless-es-edge)
|
|
742
742
|
|
|
743
743
|
</details>
|
|
744
744
|
|
|
745
745
|
Van még `ioredisCookieStore`, `nodeRedisCookieStore` és `customCookieStore` is. Ha a tároló elérhetetlen, a számlázás attól még működik.
|
|
746
746
|
|
|
747
747
|
<p>
|
|
748
|
-
<a href="https://
|
|
749
|
-
<a href="https://
|
|
750
|
-
<a href="https://
|
|
748
|
+
<a href="https://kasszajs.hu/docs/kiegeszitok/serverless-es-edge"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-light.svg" alt="Dokumentáció: Serverless és edge" height="44"></picture></a>
|
|
749
|
+
<a href="https://kasszajs.hu/sandbox?pelda=munkamenet"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-light.svg" alt="Futtasd a sandboxban: Közös session több kliens között" height="44"></picture></a>
|
|
750
|
+
<a href="https://kasszajs.hu/docs/receptek/cloudflare-workers"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-recipe-cloudflare-workers-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-recipe-cloudflare-workers-light.svg" alt="Recept: Cloudflare Workers" height="44"></picture></a>
|
|
751
751
|
</p>
|
|
752
752
|
|
|
753
753
|
## Tesztelés
|
|
@@ -777,14 +777,14 @@ test('hálózati hibánál nem számláz kétszer', async () => {
|
|
|
777
777
|
})
|
|
778
778
|
```
|
|
779
779
|
|
|
780
|
-
📖 **Dokumentáció:** [Tesztelés](https://
|
|
780
|
+
📖 **Dokumentáció:** [Tesztelés](https://kasszajs.hu/docs/kiegeszitok/teszteles) · ▶️ **Sandbox:** [Mock kliens tesztekhez](https://kasszajs.hu/sandbox?pelda=mock-kliens)
|
|
781
781
|
|
|
782
782
|
</details>
|
|
783
783
|
|
|
784
784
|
<p>
|
|
785
|
-
<a href="https://
|
|
786
|
-
<a href="https://
|
|
787
|
-
<a href="https://
|
|
785
|
+
<a href="https://kasszajs.hu/docs/kiegeszitok/teszteles"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-light.svg" alt="Dokumentáció: Tesztelés" height="44"></picture></a>
|
|
786
|
+
<a href="https://kasszajs.hu/sandbox?pelda=mock-kliens"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-light.svg" alt="Futtasd a sandboxban: Mock kliens tesztekhez" height="44"></picture></a>
|
|
787
|
+
<a href="https://kasszajs.hu/docs/receptek/egysegtesztek"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-recipe-egysegtesztek-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-recipe-egysegtesztek-light.svg" alt="Recept: Egységtesztek" height="44"></picture></a>
|
|
788
788
|
</p>
|
|
789
789
|
|
|
790
790
|
## Validátorok és pénzszámítás
|
|
@@ -808,7 +808,7 @@ parseHungarianAddress('1031 Budapest, Záhony utca 7.')
|
|
|
808
808
|
|
|
809
809
|
A `parseHungarianAddress` eredménye `{ zip: '1031', city: 'Budapest', address: 'Záhony utca 7.' }`. Ezen kívül van `isValidHungarianIban`, `isValidHungarianZipCode`, `isValidEuVatNumber` és `isValidEmail` is.
|
|
810
810
|
|
|
811
|
-
📖 **Dokumentáció:** [Validátorok](https://
|
|
811
|
+
📖 **Dokumentáció:** [Validátorok](https://kasszajs.hu/docs/kiegeszitok/validatorok) · ▶️ **Sandbox:** [Validátorok](https://kasszajs.hu/sandbox?pelda=validatorok)
|
|
812
812
|
|
|
813
813
|
</details>
|
|
814
814
|
|
|
@@ -824,13 +824,13 @@ calculateReceiptItem({ grossUnitPrice: 1_000, vat: 27 })
|
|
|
824
824
|
|
|
825
825
|
Az első eredménye `{ netAmount: 1181, vatAmount: 319, grossAmount: 1500, ... }`, a másodiké `{ netAmount: 787.4, vatAmount: 212.6, grossAmount: 1000, ... }`.
|
|
826
826
|
|
|
827
|
-
📖 **Dokumentáció:** [Pénzszámítás](https://
|
|
827
|
+
📖 **Dokumentáció:** [Pénzszámítás](https://kasszajs.hu/docs/kiegeszitok/penzszamitas) · ▶️ **Sandbox:** [Kerekítés és összegzés](https://kasszajs.hu/sandbox?pelda=kerekites)
|
|
828
828
|
|
|
829
829
|
</details>
|
|
830
830
|
|
|
831
831
|
<p>
|
|
832
|
-
<a href="https://
|
|
833
|
-
<a href="https://
|
|
832
|
+
<a href="https://kasszajs.hu/docs/kiegeszitok"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-light.svg" alt="Dokumentáció: Kiegészítők" height="44"></picture></a>
|
|
833
|
+
<a href="https://kasszajs.hu/sandbox?pelda=validatorok"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-light.svg" alt="Futtasd a sandboxban: Validátorok" height="44"></picture></a>
|
|
834
834
|
</p>
|
|
835
835
|
|
|
836
836
|
## Haladó beállítások
|
|
@@ -857,7 +857,7 @@ await kassza.invoices.getPdf('E-WEB-2026-12', { signal: AbortSignal.timeout(5_00
|
|
|
857
857
|
- A hookok soha nem kapják meg az Agent kulcsot.
|
|
858
858
|
- Minden metódus fogad `AbortSignal`-t.
|
|
859
859
|
|
|
860
|
-
📖 **Dokumentáció:** [Hálózat és biztonság](https://
|
|
860
|
+
📖 **Dokumentáció:** [Hálózat és biztonság](https://kasszajs.hu/docs/alapok/halozat-es-biztonsag) · ▶️ **Sandbox:** [Hookok és újrapróbálás](https://kasszajs.hu/sandbox?pelda=hookok)
|
|
861
861
|
|
|
862
862
|
</details>
|
|
863
863
|
|
|
@@ -870,13 +870,13 @@ A `resetSession()` új sessiont kér. Hívd meg, ha a Számlázz.hu fiókban meg
|
|
|
870
870
|
await kassza.resetSession()
|
|
871
871
|
```
|
|
872
872
|
|
|
873
|
-
📖 **Dokumentáció:** [Munkamenet (session cookie)](https://
|
|
873
|
+
📖 **Dokumentáció:** [Munkamenet (session cookie)](https://kasszajs.hu/docs/alapok/munkamenet) · ▶️ **Sandbox:** [Közös session több kliens között](https://kasszajs.hu/sandbox?pelda=munkamenet)
|
|
874
874
|
|
|
875
875
|
</details>
|
|
876
876
|
|
|
877
877
|
<p>
|
|
878
|
-
<a href="https://
|
|
879
|
-
<a href="https://
|
|
878
|
+
<a href="https://kasszajs.hu/docs/alapok/halozat-es-biztonsag"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-light.svg" alt="Dokumentáció: Hálózat és biztonság" height="44"></picture></a>
|
|
879
|
+
<a href="https://kasszajs.hu/sandbox?pelda=hookok"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-sandbox-light.svg" alt="Futtasd a sandboxban: Hookok és újrapróbálás" height="44"></picture></a>
|
|
880
880
|
</p>
|
|
881
881
|
|
|
882
882
|
## AI-val kódolsz?
|
|
@@ -887,16 +887,16 @@ A csomagban van egy `agents/` mappa. Ebből a Claude Code, a Cursor, a Copilot
|
|
|
887
887
|
|
|
888
888
|
Claude Code-hoz kész skill is van: másold a `node_modules/kassza/agents/skills/kassza` mappát a projekted `.claude/skills/` mappájába.
|
|
889
889
|
|
|
890
|
-
A weboldal is AI-barát: az [llms.txt](https://
|
|
890
|
+
A weboldal is AI-barát: az [llms.txt](https://kasszajs.hu/llms.txt) a dokumentáció tartalomjegyzéke, az [llms-full.txt](https://kasszajs.hu/llms-full.txt) a teljes dokumentáció egy fájlban, és minden oldal Markdownként is elérhető, ha az URL végére `.md` kerül.
|
|
891
891
|
|
|
892
892
|
<p>
|
|
893
|
-
<a href="https://
|
|
893
|
+
<a href="https://kasszajs.hu/docs/kiegeszitok/ai-asszisztensek"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-dark.svg"><img src="https://raw.githubusercontent.com/futozs/kassza/main/readme/assets/button-docs-light.svg" alt="Dokumentáció: AI asszisztensek" height="44"></picture></a>
|
|
894
894
|
</p>
|
|
895
895
|
|
|
896
896
|
---
|
|
897
897
|
|
|
898
898
|
<p align="center">
|
|
899
|
-
<a href="https://
|
|
899
|
+
<a href="https://kasszajs.hu">Weboldal</a> · <a href="https://kasszajs.hu/docs">Dokumentáció</a> · <a href="https://kasszajs.hu/sandbox">Sandbox</a> · <a href="https://kasszajs.hu/docs/receptek">Receptek</a> · <a href="https://www.npmjs.com/package/kassza">npm</a> · <a href="https://github.com/futozs/kassza/blob/main/CHANGELOG.md">Változásnapló</a>
|
|
900
900
|
</p>
|
|
901
901
|
|
|
902
902
|
<sub>Nem hivatalos csomag, nem kapcsolódik a KBOSS.hu Kft.-hez (Számlázz.hu). A hivatalos dokumentáció a <a href="https://docs.szamlazz.hu/hu/agent/">docs.szamlazz.hu</a> oldalon érhető el. MIT licenc.</sub>
|