@kreiseck/kasseneck-api 0.27.1 → 0.27.3

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/CHANGELOG.md CHANGED
@@ -4,6 +4,37 @@ Was vor 0.7.0 geschah, steht in der Commit-Historie (`git log`); ab hier wird
4
4
  es hier geführt. Ein Eintrag nennt die Änderung **und ihren Grund** —
5
5
  nur der Grund überlebt den nächsten Umbau.
6
6
 
7
+ ## 0.27.3
8
+
9
+ - **`rechnungSummen` ist als veraltet markiert** (`@deprecated`), das Rechenergebnis bleibt
10
+ unverändert. Grund: seit dem 23.09.2026, 17:05 Uhr stellt der Server jede neue Rechnung über den
11
+ exakten Kern (`rechnungRechnen`) aus; `rechnungSummen` rechnet nach Weg 2 und liegt an
12
+ Halbcent-Grenzen einen Cent je Satz daneben (21,35 € netto zu 10 %: 23,48 € statt 23,49 €). Auf
13
+ den Kern umgestellt wird bewusst nicht: der Server schaltet ihn je Konto über `ganzzahlPflicht`,
14
+ Entwürfe außerhalb des Ausstellens rechnet er teils weiter nach Weg 2, und
15
+ `fixtures/rechnung-summen.json` prüfen Backend und Dart-Zwilling. Der Kopfkommentar behauptete
16
+ noch, die Funktion rechne „genau so wie der Server“; das ist berichtigt, README ebenso.
17
+ - **`HpsRefundOptions`, `HpsCancelOptions`, `HpsConnectRefundOptions` und
18
+ `HpsConnectCancelOptions` werden unter `…/payments` exportiert** (nur hinzugefügt). Die Aufrufe
19
+ `refund`/`cancel` gab es dort schon, ihre Optionstypen nicht. Der Kopfkommentar von
20
+ `src/payments/index.ts` sagte noch, Gutschrift und Storno gingen nur über die Flutter-App; das
21
+ gilt seit Connect `/v1/terminal/refund` bzw. `/cancel` nicht mehr.
22
+ - § 131b Abs. 1 Z 3 steht in der **BAO**, nicht im UStG: an `INVOICE_PAYMENT_METHODS` und
23
+ `PaymentInput.onSite` berichtigt (Wortlaut gegen das RIS geprüft). Ein Test hält künftig jede
24
+ Zuordnung von § 131 ff. zum UStG in `src/` fest.
25
+
26
+ ## 0.27.2
27
+
28
+ - **README auf Englisch** und jede Angabe gegen den Code geprüft. Anfragen kommen inzwischen auch
29
+ aus dem Ausland, und auf npm ist Englisch die Erwartung. RKSV-Begriffe bleiben deutsch und
30
+ werden beim ersten Vorkommen erklärt; ein Glossar am Ende nennt dieselben Begriffe wie der
31
+ Dart-Zwilling. Eine kurze deutsche Einstiegsseite liegt als `README.de.md` im Repo.
32
+ - Dabei berichtigt: Beispiele, die nicht kompilierten (`business` statt `betrieb`, `automatic`
33
+ statt `automatisch`, Einheit `'Std'`, optionale `logoUrl`), die Option `regelwerk` statt
34
+ `layoutRegeln`, die Druckwege (WebUSB, ePOS, Druckaufträge gehören zum Paket), `refund` und
35
+ `cancel` am HPS-Terminal, sechs statt drei anmeldungsfreie Aufrufe und § 131b **BAO**.
36
+ - `package.json`: Beschreibung englisch zuerst, weitere englische Schlagwörter.
37
+
7
38
  ## 0.27.1
8
39
 
9
40
  - Drei Beispiele zum Mikropreis in `fixtures/rechnung-api-beispiele/`: der Sub-Cent-Fall
package/README.de.md ADDED
@@ -0,0 +1,77 @@
1
+ # @kreiseck/kasseneck-api (Deutsch)
2
+
3
+ **Registrierkasse nach RKSV für JavaScript und TypeScript.** Kasseneck ist eine
4
+ österreichische Registrierkasse; dieses Paket ist der Client dafür. Ihr Code
5
+ stellt Belege aus, das Kasseneck-Backend signiert und verkettet sie, und das
6
+ Paket liefert das Ergebnis als typisierte Objekte. Dazu kommen Storno,
7
+ Kartenzahlung, Beleg-Layout und Bondruck (ESC/POS, Epson ePOS, WebUSB), die
8
+ Partner-API und die Rechnungs-API.
9
+
10
+ Die vollständige Dokumentation steht auf Englisch in der
11
+ [README.md](https://github.com/kreiseck-at/kasseneck-api/blob/main/README.md).
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ npm install @kreiseck/kasseneck-api
17
+ ```
18
+
19
+ Node ab 20.18, läuft auch im Browser; keine Laufzeitabhängigkeiten. React ist
20
+ optional und nur für `@kreiseck/kasseneck-api/react` nötig.
21
+
22
+ ## Ein Beleg in wenigen Zeilen
23
+
24
+ ```ts
25
+ import { createKasseneckApi, apiKeyAuth, KeckPaymentMethod, VatRate } from '@kreiseck/kasseneck-api';
26
+ import { buildReceiptLayout, escPosLayoutBytes } from '@kreiseck/kasseneck-api/receipt';
27
+
28
+ const api = createKasseneckApi({
29
+ auth: apiKeyAuth({ apiKey: 'kr_live_…', cashregisterToken: 'cb_live_…' }),
30
+ });
31
+
32
+ const { receipt, company, testKasse, testSignatur, pruefangaben } = await api.sellReceiptWithCompany({
33
+ paymentMethod: KeckPaymentMethod.cash,
34
+ items: [{ name: 'Café Latte', quantity: 2, vat: VatRate.vat20, priceCents: 390 }],
35
+ });
36
+
37
+ const layout = buildReceiptLayout(receipt, company, { paperSize: 'mm58', testKasse, testSignatur, pruefangaben });
38
+ const bytes = escPosLayoutBytes(layout); // für den Bondrucker
39
+ ```
40
+
41
+ Beträge sind immer ganze Cent (`priceCents`), Mengen am Beleg ganze Zahlen.
42
+ Fehler kommen als geworfene Ausnahme; fachliche Fehler tragen einen stabilen
43
+ `code`, an dem man entscheidet, nicht am Text.
44
+
45
+ ## Welche RKSV-Pflichten die Software abdeckt
46
+
47
+ | Aufgabe | Wo sie erledigt wird |
48
+ | --- | --- |
49
+ | [Signaturerstellungseinheit](https://kasseneck.at/wissen/signaturerstellungseinheit) | Kasseneck, nichts zu installieren |
50
+ | [Verkettung und DEP](https://kasseneck.at/wissen/dep), Umsatzzähler | Kasseneck-Backend |
51
+ | [Startbeleg, Monatsbeleg, Jahresbeleg](https://kasseneck.at/wissen/startbeleg-monatsbeleg-jahresbeleg) | Kasseneck, automatisch |
52
+ | [Meldungen an FinanzOnline](https://kasseneck.at/wissen/finanzonline): Anmeldung, Ausfall, Außerbetriebnahme | Kasseneck-Backend übermittelt sie |
53
+ | [Belegerteilungspflicht](https://kasseneck.at/wissen/belegerteilungspflicht) | **dieses Paket**: Bon, PDF, Bildschirm oder Link |
54
+ | [Ausfall der Signatureinheit](https://kasseneck.at/wissen/ausfall) | Kasseneck, automatisch |
55
+ | [Kassennachschau](https://kasseneck.at/wissen/kassennachschau): DEP-Export | Kasseneck |
56
+ | Anmeldepflicht der Kasse, Aufbewahrung, steuerliche Würdigung | **beim Unternehmer** |
57
+
58
+ > **Kein Rechts- oder Steuerrat.** Die Tabelle beschreibt, was die Software
59
+ > tut. Sie ersetzt keine Beratung und sichert nicht zu, dass ein bestimmter
60
+ > Betrieb damit alle Pflichten erfüllt. Verbindlich sind BAO, RKSV und die
61
+ > Erlässe des BMF; Anmeldung, Betrieb und Aufbewahrung bleiben Sache des
62
+ > Unternehmers, auch wo die Software die Meldungen übermittelt. Ausführlich
63
+ > und mit Quellen: [kasseneck.at/wissen](https://kasseneck.at/wissen).
64
+ > Stand: September 2026.
65
+
66
+ ## Weiter
67
+
68
+ - Vollständige Dokumentation (Englisch):
69
+ [README.md](https://github.com/kreiseck-at/kasseneck-api/blob/main/README.md)
70
+ - Schnittstelle: [kasseneck.at/api-doku](https://kasseneck.at/api-doku)
71
+ - Fertige Registrierkasse ohne Programmieren: [kasseneck.at](https://kasseneck.at)
72
+ - Kontakt für Integrationen und Partnerschaften:
73
+ [kasseneck.at/kontakt](https://kasseneck.at/kontakt)
74
+
75
+ **Kasseneck** ist ein Produkt von
76
+ [Kreiseck Software Solutions](https://kreiseck.com) aus Salzburg.
77
+ Lizenz: Apache-2.0.