@kreiseck/kasseneck-api 0.26.0 → 0.27.2

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,44 @@ 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.2
8
+
9
+ - **README auf Englisch** und jede Angabe gegen den Code geprüft. Anfragen kommen inzwischen auch
10
+ aus dem Ausland, und auf npm ist Englisch die Erwartung. RKSV-Begriffe bleiben deutsch und
11
+ werden beim ersten Vorkommen erklärt; ein Glossar am Ende nennt dieselben Begriffe wie der
12
+ Dart-Zwilling. Eine kurze deutsche Einstiegsseite liegt als `README.de.md` im Repo.
13
+ - Dabei berichtigt: Beispiele, die nicht kompilierten (`business` statt `betrieb`, `automatic`
14
+ statt `automatisch`, Einheit `'Std'`, optionale `logoUrl`), die Option `regelwerk` statt
15
+ `layoutRegeln`, die Druckwege (WebUSB, ePOS, Druckaufträge gehören zum Paket), `refund` und
16
+ `cancel` am HPS-Terminal, sechs statt drei anmeldungsfreie Aufrufe und § 131b **BAO**.
17
+ - `package.json`: Beschreibung englisch zuerst, weitere englische Schlagwörter.
18
+
19
+ ## 0.27.1
20
+
21
+ - Drei Beispiele zum Mikropreis in `fixtures/rechnung-api-beispiele/`: der Sub-Cent-Fall
22
+ (3.500.000 × 0,000004 € = 14,00 € netto), beide Preise gesetzt und kein Preis gesetzt. Sie sind
23
+ zugleich die Prüfvektoren, die Server und Dart-Zwilling gegen ihre eigene Prüfung fahren — ein
24
+ Beispiel, das nur in der Doku steht, veraltet unbemerkt.
25
+
26
+ ## 0.27.0
27
+
28
+ - **Rechnungs-API: der Einzelpreis einer Position darf in Mikro-Euro stehen** (`unitPriceMicros`,
29
+ 10⁻⁶ €). Genau eines von `unitPriceCents` und `unitPriceMicros` — beide Felder sind dafür
30
+ optional, und die neue Genau-eins-Regel am Positions-Objekt wird im JSON Schema zu
31
+ `oneOf: [{required:['unitPriceCents']}, {required:['unitPriceMicros']}]`. Grund: Preise unterhalb
32
+ eines Cents (Verbrauchsabrechnung, Stückpreise im Zehntelcent) mussten bisher schon beim
33
+ Einreichen gerundet werden; der Rundungsfehler steckte danach in jeder Zeile.
34
+ **Bricht die Form:** wer den Typ `IssueInvoiceItem` selbst baut, bekommt `unitPriceCents` jetzt
35
+ als optionales Feld. Anfragen, die es setzen, bleiben unverändert gültig.
36
+ - Der Mikropreis deckt denselben Betragsbereich wie die Cent-Angabe (10¹² Mikro-Euro = 10⁸ Cent =
37
+ 10.000.000,00 €). Eine eigene Obergrenze wäre eine stille Bereichsänderung, je nachdem welches
38
+ Feld ein Aufrufer benutzt.
39
+ - Die Menge reicht bis 10⁹ statt 10⁶, passend zu `quantityMilli` der gespeicherten Form.
40
+ - **Noch nicht enthalten:** `rechnungSummen` rechnet weiterhin wie bisher, nicht über den exakten
41
+ Kern. Das gehört zum Stichtag der Umstellung (Schalter `ganzzahlPflicht`): solange der Server
42
+ eine Rechnung nach dem alten Weg ausstellt, darf eine Vorschau im Aufrufer nicht schon exakt
43
+ runden — sie zeigte sonst an Halbcent-Grenzen einen anderen Cent als die Rechnung.
44
+
7
45
  ## 0.26.0
8
46
 
9
47
  - Beleg: Am Ende steht das Kasseneck-Logo als Bild statt der Zeile „erstellt mit Kasseneck".
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.