@kreiseck/kasseneck-api 1.17.0 → 1.18.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.
Files changed (204) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/cjs/client/list-receipts.d.ts +3 -0
  3. package/dist/cjs/client/list-receipts.js +6 -0
  4. package/dist/cjs/client/receipts.d.ts +6 -0
  5. package/dist/cjs/client/receipts.js +6 -0
  6. package/dist/cjs/client/reports.d.ts +10 -9
  7. package/dist/cjs/client/reports.js +10 -9
  8. package/dist/cjs/models/index.d.ts +1 -0
  9. package/dist/cjs/models/index.js +6 -1
  10. package/dist/cjs/models/manual-receipt.d.ts +45 -0
  11. package/dist/cjs/models/manual-receipt.js +58 -0
  12. package/dist/cjs/models/receipt-summary.d.ts +4 -0
  13. package/dist/cjs/models/receipt-summary.js +6 -0
  14. package/dist/cjs/models/receipt.d.ts +4 -0
  15. package/dist/cjs/models/receipt.js +6 -0
  16. package/dist/cjs/receipt/layout.js +57 -0
  17. package/dist/cjs/stored/vokabular.d.ts +1 -1
  18. package/dist/cjs/stored/vokabular.js +23 -2
  19. package/dist/cjs/version.d.ts +1 -1
  20. package/dist/cjs/version.js +1 -1
  21. package/dist/esm/client/list-receipts.d.ts +3 -0
  22. package/dist/esm/client/list-receipts.js +6 -0
  23. package/dist/esm/client/receipts.d.ts +6 -0
  24. package/dist/esm/client/receipts.js +6 -0
  25. package/dist/esm/client/reports.d.ts +10 -9
  26. package/dist/esm/client/reports.js +10 -9
  27. package/dist/esm/models/index.d.ts +1 -0
  28. package/dist/esm/models/index.js +1 -0
  29. package/dist/esm/models/manual-receipt.d.ts +45 -0
  30. package/dist/esm/models/manual-receipt.js +53 -0
  31. package/dist/esm/models/receipt-summary.d.ts +4 -0
  32. package/dist/esm/models/receipt-summary.js +6 -0
  33. package/dist/esm/models/receipt.d.ts +4 -0
  34. package/dist/esm/models/receipt.js +6 -0
  35. package/dist/esm/receipt/layout.js +57 -0
  36. package/dist/esm/stored/vokabular.d.ts +1 -1
  37. package/dist/esm/stored/vokabular.js +23 -2
  38. package/dist/esm/version.d.ts +1 -1
  39. package/dist/esm/version.js +1 -1
  40. package/fixtures/expected/manual-receipt-range-device-failure-count.grid32.txt +36 -0
  41. package/fixtures/expected/manual-receipt-range-device-failure-count.grid48.txt +36 -0
  42. package/fixtures/expected/manual-receipt-range-device-failure-count.lines.json +299 -0
  43. package/fixtures/expected/manual-receipt-range-device-failure-count.sheet32.json +242 -0
  44. package/fixtures/expected/manual-receipt-range-device-failure-count.sheet48.json +242 -0
  45. package/fixtures/expected/manual-receipt-range-device-failure-no-count.grid32.txt +36 -0
  46. package/fixtures/expected/manual-receipt-range-device-failure-no-count.grid48.txt +36 -0
  47. package/fixtures/expected/manual-receipt-range-device-failure-no-count.lines.json +299 -0
  48. package/fixtures/expected/manual-receipt-range-device-failure-no-count.sheet32.json +242 -0
  49. package/fixtures/expected/manual-receipt-range-device-failure-no-count.sheet48.json +242 -0
  50. package/fixtures/expected/manual-receipt-range-network-outage-count.grid32.txt +33 -0
  51. package/fixtures/expected/manual-receipt-range-network-outage-count.grid48.txt +33 -0
  52. package/fixtures/expected/manual-receipt-range-network-outage-count.lines.json +259 -0
  53. package/fixtures/expected/manual-receipt-range-network-outage-count.sheet32.json +224 -0
  54. package/fixtures/expected/manual-receipt-range-network-outage-count.sheet48.json +224 -0
  55. package/fixtures/expected/manual-receipt-range-network-outage-no-count.grid32.txt +33 -0
  56. package/fixtures/expected/manual-receipt-range-network-outage-no-count.grid48.txt +33 -0
  57. package/fixtures/expected/manual-receipt-range-network-outage-no-count.lines.json +259 -0
  58. package/fixtures/expected/manual-receipt-range-network-outage-no-count.sheet32.json +224 -0
  59. package/fixtures/expected/manual-receipt-range-network-outage-no-count.sheet48.json +224 -0
  60. package/fixtures/expected/manual-receipt-range-other-count.grid32.txt +36 -0
  61. package/fixtures/expected/manual-receipt-range-other-count.grid48.txt +36 -0
  62. package/fixtures/expected/manual-receipt-range-other-count.lines.json +299 -0
  63. package/fixtures/expected/manual-receipt-range-other-count.sheet32.json +242 -0
  64. package/fixtures/expected/manual-receipt-range-other-count.sheet48.json +242 -0
  65. package/fixtures/expected/manual-receipt-range-other-no-count.grid32.txt +36 -0
  66. package/fixtures/expected/manual-receipt-range-other-no-count.grid48.txt +36 -0
  67. package/fixtures/expected/manual-receipt-range-other-no-count.lines.json +299 -0
  68. package/fixtures/expected/manual-receipt-range-other-no-count.sheet32.json +242 -0
  69. package/fixtures/expected/manual-receipt-range-other-no-count.sheet48.json +242 -0
  70. package/fixtures/expected/manual-receipt-range-power-outage-count.grid32.txt +37 -0
  71. package/fixtures/expected/manual-receipt-range-power-outage-count.grid48.txt +37 -0
  72. package/fixtures/expected/manual-receipt-range-power-outage-count.lines.json +305 -0
  73. package/fixtures/expected/manual-receipt-range-power-outage-count.sheet32.json +248 -0
  74. package/fixtures/expected/manual-receipt-range-power-outage-count.sheet48.json +248 -0
  75. package/fixtures/expected/manual-receipt-range-power-outage-no-count.grid32.txt +37 -0
  76. package/fixtures/expected/manual-receipt-range-power-outage-no-count.grid48.txt +37 -0
  77. package/fixtures/expected/manual-receipt-range-power-outage-no-count.lines.json +305 -0
  78. package/fixtures/expected/manual-receipt-range-power-outage-no-count.sheet32.json +248 -0
  79. package/fixtures/expected/manual-receipt-range-power-outage-no-count.sheet48.json +248 -0
  80. package/fixtures/expected/manual-receipt-range-system-outage-count.grid32.txt +33 -0
  81. package/fixtures/expected/manual-receipt-range-system-outage-count.grid48.txt +33 -0
  82. package/fixtures/expected/manual-receipt-range-system-outage-count.lines.json +259 -0
  83. package/fixtures/expected/manual-receipt-range-system-outage-count.sheet32.json +224 -0
  84. package/fixtures/expected/manual-receipt-range-system-outage-count.sheet48.json +224 -0
  85. package/fixtures/expected/manual-receipt-range-system-outage-no-count.grid32.txt +33 -0
  86. package/fixtures/expected/manual-receipt-range-system-outage-no-count.grid48.txt +33 -0
  87. package/fixtures/expected/manual-receipt-range-system-outage-no-count.lines.json +259 -0
  88. package/fixtures/expected/manual-receipt-range-system-outage-no-count.sheet32.json +224 -0
  89. package/fixtures/expected/manual-receipt-range-system-outage-no-count.sheet48.json +224 -0
  90. package/fixtures/expected/manual-receipt-single-device-failure-no-time.grid32.txt +31 -0
  91. package/fixtures/expected/manual-receipt-single-device-failure-no-time.grid48.txt +31 -0
  92. package/fixtures/expected/manual-receipt-single-device-failure-no-time.lines.json +253 -0
  93. package/fixtures/expected/manual-receipt-single-device-failure-no-time.sheet32.json +212 -0
  94. package/fixtures/expected/manual-receipt-single-device-failure-no-time.sheet48.json +212 -0
  95. package/fixtures/expected/manual-receipt-single-device-failure-time.grid32.txt +31 -0
  96. package/fixtures/expected/manual-receipt-single-device-failure-time.grid48.txt +31 -0
  97. package/fixtures/expected/manual-receipt-single-device-failure-time.lines.json +253 -0
  98. package/fixtures/expected/manual-receipt-single-device-failure-time.sheet32.json +212 -0
  99. package/fixtures/expected/manual-receipt-single-device-failure-time.sheet48.json +212 -0
  100. package/fixtures/expected/manual-receipt-single-network-outage-no-time.grid32.txt +32 -0
  101. package/fixtures/expected/manual-receipt-single-network-outage-no-time.grid48.txt +31 -0
  102. package/fixtures/expected/manual-receipt-single-network-outage-no-time.lines.json +253 -0
  103. package/fixtures/expected/manual-receipt-single-network-outage-no-time.sheet32.json +218 -0
  104. package/fixtures/expected/manual-receipt-single-network-outage-no-time.sheet48.json +212 -0
  105. package/fixtures/expected/manual-receipt-single-network-outage-time.grid32.txt +32 -0
  106. package/fixtures/expected/manual-receipt-single-network-outage-time.grid48.txt +31 -0
  107. package/fixtures/expected/manual-receipt-single-network-outage-time.lines.json +253 -0
  108. package/fixtures/expected/manual-receipt-single-network-outage-time.sheet32.json +218 -0
  109. package/fixtures/expected/manual-receipt-single-network-outage-time.sheet48.json +212 -0
  110. package/fixtures/expected/manual-receipt-single-other-no-time.grid32.txt +35 -0
  111. package/fixtures/expected/manual-receipt-single-other-no-time.grid48.txt +34 -0
  112. package/fixtures/expected/manual-receipt-single-other-no-time.lines.json +299 -0
  113. package/fixtures/expected/manual-receipt-single-other-no-time.sheet32.json +236 -0
  114. package/fixtures/expected/manual-receipt-single-other-no-time.sheet48.json +230 -0
  115. package/fixtures/expected/manual-receipt-single-other-time.grid32.txt +35 -0
  116. package/fixtures/expected/manual-receipt-single-other-time.grid48.txt +34 -0
  117. package/fixtures/expected/manual-receipt-single-other-time.lines.json +299 -0
  118. package/fixtures/expected/manual-receipt-single-other-time.sheet32.json +236 -0
  119. package/fixtures/expected/manual-receipt-single-other-time.sheet48.json +230 -0
  120. package/fixtures/expected/manual-receipt-single-outside-premises-no-time.grid32.txt +31 -0
  121. package/fixtures/expected/manual-receipt-single-outside-premises-no-time.grid48.txt +31 -0
  122. package/fixtures/expected/manual-receipt-single-outside-premises-no-time.lines.json +247 -0
  123. package/fixtures/expected/manual-receipt-single-outside-premises-no-time.sheet32.json +212 -0
  124. package/fixtures/expected/manual-receipt-single-outside-premises-no-time.sheet48.json +212 -0
  125. package/fixtures/expected/manual-receipt-single-outside-premises-time.grid32.txt +31 -0
  126. package/fixtures/expected/manual-receipt-single-outside-premises-time.grid48.txt +31 -0
  127. package/fixtures/expected/manual-receipt-single-outside-premises-time.lines.json +247 -0
  128. package/fixtures/expected/manual-receipt-single-outside-premises-time.sheet32.json +212 -0
  129. package/fixtures/expected/manual-receipt-single-outside-premises-time.sheet48.json +212 -0
  130. package/fixtures/expected/manual-receipt-single-power-outage-no-time.grid32.txt +35 -0
  131. package/fixtures/expected/manual-receipt-single-power-outage-no-time.grid48.txt +34 -0
  132. package/fixtures/expected/manual-receipt-single-power-outage-no-time.lines.json +299 -0
  133. package/fixtures/expected/manual-receipt-single-power-outage-no-time.sheet32.json +236 -0
  134. package/fixtures/expected/manual-receipt-single-power-outage-no-time.sheet48.json +230 -0
  135. package/fixtures/expected/manual-receipt-single-power-outage-time.grid32.txt +35 -0
  136. package/fixtures/expected/manual-receipt-single-power-outage-time.grid48.txt +34 -0
  137. package/fixtures/expected/manual-receipt-single-power-outage-time.lines.json +299 -0
  138. package/fixtures/expected/manual-receipt-single-power-outage-time.sheet32.json +236 -0
  139. package/fixtures/expected/manual-receipt-single-power-outage-time.sheet48.json +230 -0
  140. package/fixtures/expected/manual-receipt-single-small-business.grid32.txt +34 -0
  141. package/fixtures/expected/manual-receipt-single-small-business.grid48.txt +33 -0
  142. package/fixtures/expected/manual-receipt-single-small-business.lines.json +257 -0
  143. package/fixtures/expected/manual-receipt-single-small-business.sheet32.json +230 -0
  144. package/fixtures/expected/manual-receipt-single-small-business.sheet48.json +224 -0
  145. package/fixtures/expected/manual-receipt-single-system-outage-no-time.grid32.txt +32 -0
  146. package/fixtures/expected/manual-receipt-single-system-outage-no-time.grid48.txt +31 -0
  147. package/fixtures/expected/manual-receipt-single-system-outage-no-time.lines.json +253 -0
  148. package/fixtures/expected/manual-receipt-single-system-outage-no-time.sheet32.json +218 -0
  149. package/fixtures/expected/manual-receipt-single-system-outage-no-time.sheet48.json +212 -0
  150. package/fixtures/expected/manual-receipt-single-system-outage-time.grid32.txt +32 -0
  151. package/fixtures/expected/manual-receipt-single-system-outage-time.grid48.txt +31 -0
  152. package/fixtures/expected/manual-receipt-single-system-outage-time.lines.json +253 -0
  153. package/fixtures/expected/manual-receipt-single-system-outage-time.sheet32.json +218 -0
  154. package/fixtures/expected/manual-receipt-single-system-outage-time.sheet48.json +212 -0
  155. package/fixtures/expected/zero-outage-end-period.grid32.txt +35 -0
  156. package/fixtures/expected/zero-outage-end-period.grid48.txt +31 -0
  157. package/fixtures/expected/zero-outage-end-period.lines.json +230 -0
  158. package/fixtures/expected/zero-outage-end-period.sheet32.json +236 -0
  159. package/fixtures/expected/zero-outage-end-period.sheet48.json +212 -0
  160. package/fixtures/hobex-hps-codes.json +1 -1
  161. package/fixtures/invoice-api.schema.json +1 -1
  162. package/fixtures/invoice-texts.json +1 -1
  163. package/fixtures/manifest.json +192 -0
  164. package/fixtures/pos-texts.json +1 -1
  165. package/fixtures/receipts/manual-receipt-range-device-failure-count.json +56 -0
  166. package/fixtures/receipts/manual-receipt-range-device-failure-no-count.json +55 -0
  167. package/fixtures/receipts/manual-receipt-range-network-outage-count.json +50 -0
  168. package/fixtures/receipts/manual-receipt-range-network-outage-no-count.json +49 -0
  169. package/fixtures/receipts/manual-receipt-range-other-count.json +57 -0
  170. package/fixtures/receipts/manual-receipt-range-other-no-count.json +56 -0
  171. package/fixtures/receipts/manual-receipt-range-power-outage-count.json +56 -0
  172. package/fixtures/receipts/manual-receipt-range-power-outage-no-count.json +55 -0
  173. package/fixtures/receipts/manual-receipt-range-system-outage-count.json +50 -0
  174. package/fixtures/receipts/manual-receipt-range-system-outage-no-count.json +49 -0
  175. package/fixtures/receipts/manual-receipt-single-device-failure-no-time.json +48 -0
  176. package/fixtures/receipts/manual-receipt-single-device-failure-time.json +49 -0
  177. package/fixtures/receipts/manual-receipt-single-network-outage-no-time.json +49 -0
  178. package/fixtures/receipts/manual-receipt-single-network-outage-time.json +50 -0
  179. package/fixtures/receipts/manual-receipt-single-other-no-time.json +55 -0
  180. package/fixtures/receipts/manual-receipt-single-other-time.json +56 -0
  181. package/fixtures/receipts/manual-receipt-single-outside-premises-no-time.json +48 -0
  182. package/fixtures/receipts/manual-receipt-single-outside-premises-time.json +49 -0
  183. package/fixtures/receipts/manual-receipt-single-power-outage-no-time.json +54 -0
  184. package/fixtures/receipts/manual-receipt-single-power-outage-time.json +55 -0
  185. package/fixtures/receipts/manual-receipt-single-small-business.json +48 -0
  186. package/fixtures/receipts/manual-receipt-single-system-outage-no-time.json +49 -0
  187. package/fixtures/receipts/manual-receipt-single-system-outage-time.json +50 -0
  188. package/fixtures/receipts/zero-outage-end-period.json +43 -0
  189. package/fixtures/surface.json +1 -1
  190. package/fixtures/v3/README.md +8 -1
  191. package/fixtures/v3/antworten/belege.json +484 -3
  192. package/fixtures/v3/antworten/belegmail.json +5 -2
  193. package/fixtures/v3/antworten/berichte.json +151 -0
  194. package/fixtures/v3/antworten/kasse-belege.json +436 -3
  195. package/fixtures/v3/antworten/kasse.json +3 -3
  196. package/fixtures/v3/antworten/lager.json +1 -1
  197. package/fixtures/v3/antworten/rechnungen.json +5 -2
  198. package/fixtures/v3/antworten/storno.json +5 -2
  199. package/fixtures/v3/stored/belege.json +60 -3
  200. package/fixtures/v3/stored/kasse.json +3 -3
  201. package/fixtures/v3/stored/rechnungen.json +5 -2
  202. package/fixtures/v3/v3-vokabular.json +178 -9
  203. package/fixtures/v3/zahlbetrag-faelle.json +5 -2
  204. package/package.json +1 -1
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "_hinweis": "Vertrags-Export /v3, erzeugt aus den echten Handlern (npm run vertrag:v3 in functions/ und functions-kasse/). Nicht von Hand pflegen.",
3
3
  "_quelle": {
4
- "sha256": "34ee7654a5df2ecf75982d65af731b9a501d978b4ef7fae041817cb2d4915343",
5
- "inputsSha256": "2fc82d7d936fbb7e239ae5ce0eb3166a12034a6dc6f3d94482b33ef92068be26",
6
- "backendPackage": "@kreiseck/kasseneck-api@0.35.0",
4
+ "sha256": "cbdd9be8f1e2707811ce8138f05820a9268ec21a1a9e644d7e537418ca7cede4",
5
+ "inputsSha256": "f7f7091faee9c671b006237afa8c7dbba340d0120105259fce69ddad3bf10d93",
6
+ "backendPackage": "@kreiseck/kasseneck-api@0.36.0",
7
7
  "inputs": [
8
8
  "docs/api/fehlercodes.json",
9
9
  "functions-kasse/test/unit/fixtures/kassen-codes-v3.js",
10
10
  "functions/aktivierung-api-core.js",
11
11
  "functions/beleg-mail-core.js",
12
+ "functions/bericht-v2-liefern.js",
12
13
  "functions/gemeinsam/api-rand.js",
13
14
  "functions/gemeinsam/api-vokabular-v3.js",
14
15
  "functions/gemeinsam/beleg-toepfe.js",
@@ -19,6 +20,8 @@
19
20
  "functions/gemeinsam/zahlungen-core.js",
20
21
  "functions/invoice-api-core.js",
21
22
  "functions/invoice-api-endpoints.js",
23
+ "functions/report-endpoints.js",
24
+ "functions/report-v2.js",
22
25
  "functions/test/unit/fixtures/v3-belege/beleg-welt.js",
23
26
  "functions/test/unit/fixtures/v3-rechnungen/rechnungs-welt.js",
24
27
  "functions/test/unit/fixtures/vertrag-v3/ablage.js",
@@ -4665,6 +4668,434 @@
4665
4668
  "code": "receipt_not_found"
4666
4669
  }
4667
4670
  },
4671
+ {
4672
+ "name": "sale_manual_receipt",
4673
+ "endpoint": "createReceipt",
4674
+ "path": "/v3/createReceipt",
4675
+ "params": {
4676
+ "receiptType": "standard",
4677
+ "items": [
4678
+ {
4679
+ "name": "Behandlung",
4680
+ "amount": 1,
4681
+ "priceOneCents": 12000,
4682
+ "vat": 0
4683
+ }
4684
+ ],
4685
+ "payments": [
4686
+ {
4687
+ "method": "cash",
4688
+ "amountCents": 12000
4689
+ }
4690
+ ],
4691
+ "manualReceipt": {
4692
+ "number": "H-17",
4693
+ "date": "2026-09-25",
4694
+ "time": "14:30",
4695
+ "reason": "network_outage"
4696
+ }
4697
+ },
4698
+ "httpStatus": 200,
4699
+ "headers": {
4700
+ "Kasseneck-Api-Version": "v3",
4701
+ "Access-Control-Expose-Headers": "Kasseneck-Api-Version"
4702
+ },
4703
+ "response": {
4704
+ "status": "success",
4705
+ "message": "",
4706
+ "data": {
4707
+ "is_small_business": false,
4708
+ "company": "Bäckerei Kornblum",
4709
+ "phone": "+43 1 234",
4710
+ "street": "Hauptplatz 1",
4711
+ "zip": "1010",
4712
+ "city": "Wien",
4713
+ "footer1": "Danke",
4714
+ "footer2": null,
4715
+ "footer3": null,
4716
+ "footer4": null,
4717
+ "logo_url": null,
4718
+ "kreiseck_logo": false,
4719
+ "thanks_message": "Bis bald",
4720
+ "receipt": {
4721
+ "counter": 9,
4722
+ "receiptType": "standard",
4723
+ "zeroKind": null,
4724
+ "receiptId": "KECK-1-ID-9",
4725
+ "cashregisterId": "KECK-1",
4726
+ "timeStamp": "2026-09-26T10:00:00",
4727
+ "vouchers": [],
4728
+ "paymentMethod": "cash",
4729
+ "customerDetails": null,
4730
+ "legalMessage": null,
4731
+ "customProjectId": null,
4732
+ "creditCardProvider": null,
4733
+ "amountRateStandard": 0,
4734
+ "amountRateReduced1": 0,
4735
+ "amountRateReduced2": 0,
4736
+ "amountRateZero": 120,
4737
+ "amountRateSpecial": 0,
4738
+ "turnoverCounterAES256ICM": "TBYB9m2bWcnljmcjdebbLQ==",
4739
+ "signaturePreviousReceipt": "rXWdCT1GHhM=",
4740
+ "certificateSerialNumber": "ABC123",
4741
+ "fullReceiptId": "00000000000000000000000000000000.00000000000000000000000000000000000000000000000000000000f34182c3",
4742
+ "payments": [
4743
+ {
4744
+ "id": "p1",
4745
+ "method": "cash",
4746
+ "amountCents": 12000
4747
+ }
4748
+ ],
4749
+ "sig": "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMTAwX0tFQ0stMV9LRUNLLTEtSUQtOV8yMDI2LTA5LTI2VDEwOjAwOjAwXzAsMDBfMCwwMF8wLDAwXzEyMCwwMF8wLDAwX1RCWUI5bTJiX0FCQzEyM19yWFdkQ1QxR0hoTT0.DdN3NqCojZl5CNuTYbwOhBxNNvWenBgTVe34mpFO6iwVkzmTnaMfXWzix7th-fQ9x2mRqf4FPKSkiKON_zrCKA",
4750
+ "signatureSuccess": true,
4751
+ "qr": "_R1-AT100_KECK-1_KECK-1-ID-9_2026-09-26T10:00:00_0,00_0,00_0,00_120,00_0,00_TBYB9m2b_ABC123_rXWdCT1GHhM=_DdN3NqCojZl5CNuTYbwOhBxNNvWenBgTVe34mpFO6iwVkzmTnaMfXWzix7th+fQ9x2mRqf4FPKSkiKON/zrCKA==",
4752
+ "headerVersionId": "auto1",
4753
+ "layoutRuleset": 2,
4754
+ "items": [
4755
+ {
4756
+ "name": "Behandlung",
4757
+ "amount": 1,
4758
+ "priceOneCents": 12000,
4759
+ "vat": 0,
4760
+ "priceOne": 120
4761
+ }
4762
+ ],
4763
+ "manualReceipt": {
4764
+ "number": "H-17",
4765
+ "date": "2026-09-25",
4766
+ "time": "14:30",
4767
+ "reason": "network_outage"
4768
+ }
4769
+ },
4770
+ "taxNumber": "91-123/4565",
4771
+ "vatId": "ATU12345675",
4772
+ "headerVersionId": "auto1",
4773
+ "registrationInfo": null,
4774
+ "testCashregister": true,
4775
+ "testSignature": false,
4776
+ "logo_scale": "M",
4777
+ "layout": {
4778
+ "paperSize": "mm80",
4779
+ "ruleset": 2,
4780
+ "lines": [
4781
+ {
4782
+ "kind": "banner",
4783
+ "text": "TESTKASSE — kein gültiger Beleg",
4784
+ "tone": "warning"
4785
+ },
4786
+ {
4787
+ "kind": "text",
4788
+ "text": "Bäckerei Kornblum",
4789
+ "align": "center",
4790
+ "bold": true
4791
+ },
4792
+ {
4793
+ "kind": "text",
4794
+ "text": "Hauptplatz 1",
4795
+ "align": "center",
4796
+ "bold": false
4797
+ },
4798
+ {
4799
+ "kind": "text",
4800
+ "text": "1010 Wien",
4801
+ "align": "center",
4802
+ "bold": false
4803
+ },
4804
+ {
4805
+ "kind": "text",
4806
+ "text": "ATU12345675",
4807
+ "align": "center",
4808
+ "bold": false
4809
+ },
4810
+ {
4811
+ "kind": "text",
4812
+ "text": "+43 1 234",
4813
+ "align": "center",
4814
+ "bold": false
4815
+ },
4816
+ {
4817
+ "kind": "space",
4818
+ "lines": 1
4819
+ },
4820
+ {
4821
+ "kind": "banner",
4822
+ "text": "NACHERFASSUNG",
4823
+ "tone": "receipt_type"
4824
+ },
4825
+ {
4826
+ "kind": "text",
4827
+ "text": "nach Ausfall der Kasse",
4828
+ "align": "center",
4829
+ "bold": false
4830
+ },
4831
+ {
4832
+ "kind": "text",
4833
+ "text": "Grund: Internet",
4834
+ "align": "center",
4835
+ "bold": false
4836
+ },
4837
+ {
4838
+ "kind": "space",
4839
+ "lines": 1
4840
+ },
4841
+ {
4842
+ "kind": "text",
4843
+ "text": "Handbeleg Nr. H-17",
4844
+ "align": "center",
4845
+ "bold": false
4846
+ },
4847
+ {
4848
+ "kind": "text",
4849
+ "text": "vom 25.09.2026, 14:30 Uhr",
4850
+ "align": "center",
4851
+ "bold": false
4852
+ },
4853
+ {
4854
+ "kind": "text",
4855
+ "text": "USt: Duplikat des Handbelegs",
4856
+ "align": "center",
4857
+ "bold": false
4858
+ },
4859
+ {
4860
+ "kind": "space",
4861
+ "lines": 1
4862
+ },
4863
+ {
4864
+ "kind": "columns",
4865
+ "columns": [
4866
+ {
4867
+ "text": "Datum:",
4868
+ "width": 4,
4869
+ "align": "left"
4870
+ },
4871
+ {
4872
+ "text": "26.09.2026 10:00:00",
4873
+ "width": 8,
4874
+ "align": "right"
4875
+ }
4876
+ ]
4877
+ },
4878
+ {
4879
+ "kind": "columns",
4880
+ "columns": [
4881
+ {
4882
+ "text": "Kassen-ID:",
4883
+ "width": 6,
4884
+ "align": "left"
4885
+ },
4886
+ {
4887
+ "text": "KECK-1",
4888
+ "width": 6,
4889
+ "align": "right"
4890
+ }
4891
+ ]
4892
+ },
4893
+ {
4894
+ "kind": "columns",
4895
+ "columns": [
4896
+ {
4897
+ "text": "Beleg-ID:",
4898
+ "width": 6,
4899
+ "align": "left"
4900
+ },
4901
+ {
4902
+ "text": "KECK-1-ID-9",
4903
+ "width": 6,
4904
+ "align": "right"
4905
+ }
4906
+ ]
4907
+ },
4908
+ {
4909
+ "kind": "space",
4910
+ "lines": 1
4911
+ },
4912
+ {
4913
+ "kind": "columns",
4914
+ "columns": [
4915
+ {
4916
+ "text": "1 x Behandlung",
4917
+ "width": 7,
4918
+ "align": "left"
4919
+ },
4920
+ {
4921
+ "text": "120,00 D",
4922
+ "width": 5,
4923
+ "align": "right"
4924
+ }
4925
+ ]
4926
+ },
4927
+ {
4928
+ "kind": "space",
4929
+ "lines": 1
4930
+ },
4931
+ {
4932
+ "kind": "columns",
4933
+ "columns": [
4934
+ {
4935
+ "text": "MwSt%",
4936
+ "width": 3,
4937
+ "align": "left"
4938
+ },
4939
+ {
4940
+ "text": "MwSt",
4941
+ "width": 4,
4942
+ "align": "left"
4943
+ },
4944
+ {
4945
+ "text": "Netto",
4946
+ "width": 3,
4947
+ "align": "left"
4948
+ },
4949
+ {
4950
+ "text": "Brutto",
4951
+ "width": 2,
4952
+ "align": "right"
4953
+ }
4954
+ ]
4955
+ },
4956
+ {
4957
+ "kind": "columns",
4958
+ "columns": [
4959
+ {
4960
+ "text": "D 0%",
4961
+ "width": 3,
4962
+ "align": "left"
4963
+ },
4964
+ {
4965
+ "text": "0,00",
4966
+ "width": 4,
4967
+ "align": "left"
4968
+ },
4969
+ {
4970
+ "text": "120,00",
4971
+ "width": 3,
4972
+ "align": "left"
4973
+ },
4974
+ {
4975
+ "text": "120,00",
4976
+ "width": 2,
4977
+ "align": "right"
4978
+ }
4979
+ ]
4980
+ },
4981
+ {
4982
+ "kind": "rule",
4983
+ "char": "-"
4984
+ },
4985
+ {
4986
+ "kind": "columns",
4987
+ "columns": [
4988
+ {
4989
+ "text": "Gesamt:",
4990
+ "width": 6,
4991
+ "align": "left"
4992
+ },
4993
+ {
4994
+ "text": "120,00 €",
4995
+ "width": 6,
4996
+ "align": "right"
4997
+ }
4998
+ ]
4999
+ },
5000
+ {
5001
+ "kind": "columns",
5002
+ "columns": [
5003
+ {
5004
+ "text": "Zahlungsart:",
5005
+ "width": 6,
5006
+ "align": "left"
5007
+ },
5008
+ {
5009
+ "text": "Barzahlung",
5010
+ "width": 6,
5011
+ "align": "right"
5012
+ }
5013
+ ]
5014
+ },
5015
+ {
5016
+ "kind": "space",
5017
+ "lines": 1
5018
+ },
5019
+ {
5020
+ "kind": "qr",
5021
+ "data": "_R1-AT100_KECK-1_KECK-1-ID-9_2026-09-26T10:00:00_0,00_0,00_0,00_120,00_0,00_TBYB9m2b_ABC123_rXWdCT1GHhM=_DdN3NqCojZl5CNuTYbwOhBxNNvWenBgTVe34mpFO6iwVkzmTnaMfXWzix7th+fQ9x2mRqf4FPKSkiKON/zrCKA=="
5022
+ },
5023
+ {
5024
+ "kind": "space",
5025
+ "lines": 1
5026
+ },
5027
+ {
5028
+ "kind": "space",
5029
+ "lines": 1
5030
+ },
5031
+ {
5032
+ "kind": "text",
5033
+ "text": "Bis bald",
5034
+ "align": "center",
5035
+ "bold": false
5036
+ },
5037
+ {
5038
+ "kind": "text",
5039
+ "text": "Danke",
5040
+ "align": "center",
5041
+ "bold": false
5042
+ },
5043
+ {
5044
+ "kind": "space",
5045
+ "lines": 1
5046
+ },
5047
+ {
5048
+ "kind": "banner",
5049
+ "text": "TESTKASSE — kein gültiger Beleg",
5050
+ "tone": "warning"
5051
+ }
5052
+ ]
5053
+ }
5054
+ }
5055
+ }
5056
+ },
5057
+ {
5058
+ "name": "error_manual_receipt_duplicate",
5059
+ "endpoint": "createReceipt",
5060
+ "path": "/v3/createReceipt",
5061
+ "params": {
5062
+ "receiptType": "standard",
5063
+ "items": [
5064
+ {
5065
+ "name": "Behandlung",
5066
+ "amount": 1,
5067
+ "priceOneCents": 12000,
5068
+ "vat": 0
5069
+ }
5070
+ ],
5071
+ "payments": [
5072
+ {
5073
+ "method": "cash",
5074
+ "amountCents": 12000
5075
+ }
5076
+ ],
5077
+ "manualReceipt": {
5078
+ "number": "H-17",
5079
+ "date": "2026-09-25",
5080
+ "time": "14:30",
5081
+ "reason": "network_outage"
5082
+ }
5083
+ },
5084
+ "httpStatus": 200,
5085
+ "headers": {
5086
+ "Kasseneck-Api-Version": "v3",
5087
+ "Access-Control-Expose-Headers": "Kasseneck-Api-Version"
5088
+ },
5089
+ "response": {
5090
+ "status": "error",
5091
+ "message": "Dieser Handbeleg ist auf dieser Kasse für diesen Tag schon nacherfasst.",
5092
+ "data": {
5093
+ "code": "manual_receipt_duplicate",
5094
+ "receiptId": "KECK-1-ID-9"
5095
+ },
5096
+ "code": "manual_receipt_duplicate"
5097
+ }
5098
+ },
4668
5099
  {
4669
5100
  "name": "report",
4670
5101
  "endpoint": "getReportV2",
@@ -5120,6 +5551,56 @@
5120
5551
  "priceOne": -0.79
5121
5552
  }
5122
5553
  ]
5554
+ },
5555
+ {
5556
+ "counter": 9,
5557
+ "receiptType": "standard",
5558
+ "zeroKind": null,
5559
+ "receiptId": "KECK-1-ID-9",
5560
+ "cashregisterId": "KECK-1",
5561
+ "timeStamp": "2026-09-26T10:00:00",
5562
+ "vouchers": [],
5563
+ "paymentMethod": "cash",
5564
+ "customerDetails": null,
5565
+ "legalMessage": null,
5566
+ "customProjectId": null,
5567
+ "creditCardProvider": null,
5568
+ "amountRateStandard": 0,
5569
+ "amountRateReduced1": 0,
5570
+ "amountRateReduced2": 0,
5571
+ "amountRateZero": 120,
5572
+ "amountRateSpecial": 0,
5573
+ "turnoverCounterAES256ICM": "TBYB9m2bWcnljmcjdebbLQ==",
5574
+ "signaturePreviousReceipt": "rXWdCT1GHhM=",
5575
+ "certificateSerialNumber": "ABC123",
5576
+ "fullReceiptId": "00000000000000000000000000000000.00000000000000000000000000000000000000000000000000000000f34182c3",
5577
+ "payments": [
5578
+ {
5579
+ "id": "p1",
5580
+ "method": "cash",
5581
+ "amountCents": 12000
5582
+ }
5583
+ ],
5584
+ "sig": "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMTAwX0tFQ0stMV9LRUNLLTEtSUQtOV8yMDI2LTA5LTI2VDEwOjAwOjAwXzAsMDBfMCwwMF8wLDAwXzEyMCwwMF8wLDAwX1RCWUI5bTJiX0FCQzEyM19yWFdkQ1QxR0hoTT0.DdN3NqCojZl5CNuTYbwOhBxNNvWenBgTVe34mpFO6iwVkzmTnaMfXWzix7th-fQ9x2mRqf4FPKSkiKON_zrCKA",
5585
+ "signatureSuccess": true,
5586
+ "qr": "_R1-AT100_KECK-1_KECK-1-ID-9_2026-09-26T10:00:00_0,00_0,00_0,00_120,00_0,00_TBYB9m2b_ABC123_rXWdCT1GHhM=_DdN3NqCojZl5CNuTYbwOhBxNNvWenBgTVe34mpFO6iwVkzmTnaMfXWzix7th+fQ9x2mRqf4FPKSkiKON/zrCKA==",
5587
+ "headerVersionId": "auto1",
5588
+ "layoutRuleset": 2,
5589
+ "items": [
5590
+ {
5591
+ "name": "Behandlung",
5592
+ "amount": 1,
5593
+ "priceOneCents": 12000,
5594
+ "vat": 0,
5595
+ "priceOne": 120
5596
+ }
5597
+ ],
5598
+ "manualReceipt": {
5599
+ "number": "H-17",
5600
+ "date": "2026-09-25",
5601
+ "time": "14:30",
5602
+ "reason": "network_outage"
5603
+ }
5123
5604
  }
5124
5605
  ],
5125
5606
  "metadata": {
@@ -2,13 +2,14 @@
2
2
  "_hinweis": "Vertrags-Export /v3, erzeugt aus den echten Handlern (npm run vertrag:v3 in functions/ und functions-kasse/). Nicht von Hand pflegen.",
3
3
  "_quelle": {
4
4
  "sha256": "265bcf3e14cdea33ec3c4df399eb487d40c0d7793ee23d2ee12bcf664bcad550",
5
- "inputsSha256": "2fc82d7d936fbb7e239ae5ce0eb3166a12034a6dc6f3d94482b33ef92068be26",
6
- "backendPackage": "@kreiseck/kasseneck-api@0.35.0",
5
+ "inputsSha256": "f7f7091faee9c671b006237afa8c7dbba340d0120105259fce69ddad3bf10d93",
6
+ "backendPackage": "@kreiseck/kasseneck-api@0.36.0",
7
7
  "inputs": [
8
8
  "docs/api/fehlercodes.json",
9
9
  "functions-kasse/test/unit/fixtures/kassen-codes-v3.js",
10
10
  "functions/aktivierung-api-core.js",
11
11
  "functions/beleg-mail-core.js",
12
+ "functions/bericht-v2-liefern.js",
12
13
  "functions/gemeinsam/api-rand.js",
13
14
  "functions/gemeinsam/api-vokabular-v3.js",
14
15
  "functions/gemeinsam/beleg-toepfe.js",
@@ -19,6 +20,8 @@
19
20
  "functions/gemeinsam/zahlungen-core.js",
20
21
  "functions/invoice-api-core.js",
21
22
  "functions/invoice-api-endpoints.js",
23
+ "functions/report-endpoints.js",
24
+ "functions/report-v2.js",
22
25
  "functions/test/unit/fixtures/v3-belege/beleg-welt.js",
23
26
  "functions/test/unit/fixtures/v3-rechnungen/rechnungs-welt.js",
24
27
  "functions/test/unit/fixtures/vertrag-v3/ablage.js",