@kreiseck/kasseneck-api 1.17.1 → 1.19.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 (208) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +20 -8
  3. package/dist/cjs/client/index.d.ts +1 -1
  4. package/dist/cjs/client/index.js +3 -2
  5. package/dist/cjs/client/list-receipts.d.ts +48 -5
  6. package/dist/cjs/client/list-receipts.js +68 -3
  7. package/dist/cjs/client/receipts.d.ts +6 -0
  8. package/dist/cjs/client/receipts.js +8 -2
  9. package/dist/cjs/index.d.ts +1 -1
  10. package/dist/cjs/index.js +3 -2
  11. package/dist/cjs/models/index.d.ts +1 -0
  12. package/dist/cjs/models/index.js +6 -1
  13. package/dist/cjs/models/manual-receipt.d.ts +45 -0
  14. package/dist/cjs/models/manual-receipt.js +58 -0
  15. package/dist/cjs/models/receipt-summary.d.ts +4 -0
  16. package/dist/cjs/models/receipt-summary.js +6 -0
  17. package/dist/cjs/models/receipt.d.ts +9 -3
  18. package/dist/cjs/models/receipt.js +6 -0
  19. package/dist/cjs/receipt/layout.js +57 -0
  20. package/dist/cjs/stored/vokabular.d.ts +1 -1
  21. package/dist/cjs/stored/vokabular.js +23 -2
  22. package/dist/cjs/version.d.ts +1 -1
  23. package/dist/cjs/version.js +1 -1
  24. package/dist/esm/client/index.d.ts +1 -1
  25. package/dist/esm/client/index.js +1 -1
  26. package/dist/esm/client/list-receipts.d.ts +48 -5
  27. package/dist/esm/client/list-receipts.js +67 -3
  28. package/dist/esm/client/receipts.d.ts +6 -0
  29. package/dist/esm/client/receipts.js +8 -2
  30. package/dist/esm/index.d.ts +1 -1
  31. package/dist/esm/index.js +1 -1
  32. package/dist/esm/models/index.d.ts +1 -0
  33. package/dist/esm/models/index.js +1 -0
  34. package/dist/esm/models/manual-receipt.d.ts +45 -0
  35. package/dist/esm/models/manual-receipt.js +53 -0
  36. package/dist/esm/models/receipt-summary.d.ts +4 -0
  37. package/dist/esm/models/receipt-summary.js +6 -0
  38. package/dist/esm/models/receipt.d.ts +9 -3
  39. package/dist/esm/models/receipt.js +6 -0
  40. package/dist/esm/receipt/layout.js +57 -0
  41. package/dist/esm/stored/vokabular.d.ts +1 -1
  42. package/dist/esm/stored/vokabular.js +23 -2
  43. package/dist/esm/version.d.ts +1 -1
  44. package/dist/esm/version.js +1 -1
  45. package/fixtures/expected/manual-receipt-range-device-failure-count.grid32.txt +36 -0
  46. package/fixtures/expected/manual-receipt-range-device-failure-count.grid48.txt +36 -0
  47. package/fixtures/expected/manual-receipt-range-device-failure-count.lines.json +299 -0
  48. package/fixtures/expected/manual-receipt-range-device-failure-count.sheet32.json +242 -0
  49. package/fixtures/expected/manual-receipt-range-device-failure-count.sheet48.json +242 -0
  50. package/fixtures/expected/manual-receipt-range-device-failure-no-count.grid32.txt +36 -0
  51. package/fixtures/expected/manual-receipt-range-device-failure-no-count.grid48.txt +36 -0
  52. package/fixtures/expected/manual-receipt-range-device-failure-no-count.lines.json +299 -0
  53. package/fixtures/expected/manual-receipt-range-device-failure-no-count.sheet32.json +242 -0
  54. package/fixtures/expected/manual-receipt-range-device-failure-no-count.sheet48.json +242 -0
  55. package/fixtures/expected/manual-receipt-range-network-outage-count.grid32.txt +33 -0
  56. package/fixtures/expected/manual-receipt-range-network-outage-count.grid48.txt +33 -0
  57. package/fixtures/expected/manual-receipt-range-network-outage-count.lines.json +259 -0
  58. package/fixtures/expected/manual-receipt-range-network-outage-count.sheet32.json +224 -0
  59. package/fixtures/expected/manual-receipt-range-network-outage-count.sheet48.json +224 -0
  60. package/fixtures/expected/manual-receipt-range-network-outage-no-count.grid32.txt +33 -0
  61. package/fixtures/expected/manual-receipt-range-network-outage-no-count.grid48.txt +33 -0
  62. package/fixtures/expected/manual-receipt-range-network-outage-no-count.lines.json +259 -0
  63. package/fixtures/expected/manual-receipt-range-network-outage-no-count.sheet32.json +224 -0
  64. package/fixtures/expected/manual-receipt-range-network-outage-no-count.sheet48.json +224 -0
  65. package/fixtures/expected/manual-receipt-range-other-count.grid32.txt +36 -0
  66. package/fixtures/expected/manual-receipt-range-other-count.grid48.txt +36 -0
  67. package/fixtures/expected/manual-receipt-range-other-count.lines.json +299 -0
  68. package/fixtures/expected/manual-receipt-range-other-count.sheet32.json +242 -0
  69. package/fixtures/expected/manual-receipt-range-other-count.sheet48.json +242 -0
  70. package/fixtures/expected/manual-receipt-range-other-no-count.grid32.txt +36 -0
  71. package/fixtures/expected/manual-receipt-range-other-no-count.grid48.txt +36 -0
  72. package/fixtures/expected/manual-receipt-range-other-no-count.lines.json +299 -0
  73. package/fixtures/expected/manual-receipt-range-other-no-count.sheet32.json +242 -0
  74. package/fixtures/expected/manual-receipt-range-other-no-count.sheet48.json +242 -0
  75. package/fixtures/expected/manual-receipt-range-power-outage-count.grid32.txt +37 -0
  76. package/fixtures/expected/manual-receipt-range-power-outage-count.grid48.txt +37 -0
  77. package/fixtures/expected/manual-receipt-range-power-outage-count.lines.json +305 -0
  78. package/fixtures/expected/manual-receipt-range-power-outage-count.sheet32.json +248 -0
  79. package/fixtures/expected/manual-receipt-range-power-outage-count.sheet48.json +248 -0
  80. package/fixtures/expected/manual-receipt-range-power-outage-no-count.grid32.txt +37 -0
  81. package/fixtures/expected/manual-receipt-range-power-outage-no-count.grid48.txt +37 -0
  82. package/fixtures/expected/manual-receipt-range-power-outage-no-count.lines.json +305 -0
  83. package/fixtures/expected/manual-receipt-range-power-outage-no-count.sheet32.json +248 -0
  84. package/fixtures/expected/manual-receipt-range-power-outage-no-count.sheet48.json +248 -0
  85. package/fixtures/expected/manual-receipt-range-system-outage-count.grid32.txt +33 -0
  86. package/fixtures/expected/manual-receipt-range-system-outage-count.grid48.txt +33 -0
  87. package/fixtures/expected/manual-receipt-range-system-outage-count.lines.json +259 -0
  88. package/fixtures/expected/manual-receipt-range-system-outage-count.sheet32.json +224 -0
  89. package/fixtures/expected/manual-receipt-range-system-outage-count.sheet48.json +224 -0
  90. package/fixtures/expected/manual-receipt-range-system-outage-no-count.grid32.txt +33 -0
  91. package/fixtures/expected/manual-receipt-range-system-outage-no-count.grid48.txt +33 -0
  92. package/fixtures/expected/manual-receipt-range-system-outage-no-count.lines.json +259 -0
  93. package/fixtures/expected/manual-receipt-range-system-outage-no-count.sheet32.json +224 -0
  94. package/fixtures/expected/manual-receipt-range-system-outage-no-count.sheet48.json +224 -0
  95. package/fixtures/expected/manual-receipt-single-device-failure-no-time.grid32.txt +31 -0
  96. package/fixtures/expected/manual-receipt-single-device-failure-no-time.grid48.txt +31 -0
  97. package/fixtures/expected/manual-receipt-single-device-failure-no-time.lines.json +253 -0
  98. package/fixtures/expected/manual-receipt-single-device-failure-no-time.sheet32.json +212 -0
  99. package/fixtures/expected/manual-receipt-single-device-failure-no-time.sheet48.json +212 -0
  100. package/fixtures/expected/manual-receipt-single-device-failure-time.grid32.txt +31 -0
  101. package/fixtures/expected/manual-receipt-single-device-failure-time.grid48.txt +31 -0
  102. package/fixtures/expected/manual-receipt-single-device-failure-time.lines.json +253 -0
  103. package/fixtures/expected/manual-receipt-single-device-failure-time.sheet32.json +212 -0
  104. package/fixtures/expected/manual-receipt-single-device-failure-time.sheet48.json +212 -0
  105. package/fixtures/expected/manual-receipt-single-network-outage-no-time.grid32.txt +32 -0
  106. package/fixtures/expected/manual-receipt-single-network-outage-no-time.grid48.txt +31 -0
  107. package/fixtures/expected/manual-receipt-single-network-outage-no-time.lines.json +253 -0
  108. package/fixtures/expected/manual-receipt-single-network-outage-no-time.sheet32.json +218 -0
  109. package/fixtures/expected/manual-receipt-single-network-outage-no-time.sheet48.json +212 -0
  110. package/fixtures/expected/manual-receipt-single-network-outage-time.grid32.txt +32 -0
  111. package/fixtures/expected/manual-receipt-single-network-outage-time.grid48.txt +31 -0
  112. package/fixtures/expected/manual-receipt-single-network-outage-time.lines.json +253 -0
  113. package/fixtures/expected/manual-receipt-single-network-outage-time.sheet32.json +218 -0
  114. package/fixtures/expected/manual-receipt-single-network-outage-time.sheet48.json +212 -0
  115. package/fixtures/expected/manual-receipt-single-other-no-time.grid32.txt +35 -0
  116. package/fixtures/expected/manual-receipt-single-other-no-time.grid48.txt +34 -0
  117. package/fixtures/expected/manual-receipt-single-other-no-time.lines.json +299 -0
  118. package/fixtures/expected/manual-receipt-single-other-no-time.sheet32.json +236 -0
  119. package/fixtures/expected/manual-receipt-single-other-no-time.sheet48.json +230 -0
  120. package/fixtures/expected/manual-receipt-single-other-time.grid32.txt +35 -0
  121. package/fixtures/expected/manual-receipt-single-other-time.grid48.txt +34 -0
  122. package/fixtures/expected/manual-receipt-single-other-time.lines.json +299 -0
  123. package/fixtures/expected/manual-receipt-single-other-time.sheet32.json +236 -0
  124. package/fixtures/expected/manual-receipt-single-other-time.sheet48.json +230 -0
  125. package/fixtures/expected/manual-receipt-single-outside-premises-no-time.grid32.txt +31 -0
  126. package/fixtures/expected/manual-receipt-single-outside-premises-no-time.grid48.txt +31 -0
  127. package/fixtures/expected/manual-receipt-single-outside-premises-no-time.lines.json +247 -0
  128. package/fixtures/expected/manual-receipt-single-outside-premises-no-time.sheet32.json +212 -0
  129. package/fixtures/expected/manual-receipt-single-outside-premises-no-time.sheet48.json +212 -0
  130. package/fixtures/expected/manual-receipt-single-outside-premises-time.grid32.txt +31 -0
  131. package/fixtures/expected/manual-receipt-single-outside-premises-time.grid48.txt +31 -0
  132. package/fixtures/expected/manual-receipt-single-outside-premises-time.lines.json +247 -0
  133. package/fixtures/expected/manual-receipt-single-outside-premises-time.sheet32.json +212 -0
  134. package/fixtures/expected/manual-receipt-single-outside-premises-time.sheet48.json +212 -0
  135. package/fixtures/expected/manual-receipt-single-power-outage-no-time.grid32.txt +35 -0
  136. package/fixtures/expected/manual-receipt-single-power-outage-no-time.grid48.txt +34 -0
  137. package/fixtures/expected/manual-receipt-single-power-outage-no-time.lines.json +299 -0
  138. package/fixtures/expected/manual-receipt-single-power-outage-no-time.sheet32.json +236 -0
  139. package/fixtures/expected/manual-receipt-single-power-outage-no-time.sheet48.json +230 -0
  140. package/fixtures/expected/manual-receipt-single-power-outage-time.grid32.txt +35 -0
  141. package/fixtures/expected/manual-receipt-single-power-outage-time.grid48.txt +34 -0
  142. package/fixtures/expected/manual-receipt-single-power-outage-time.lines.json +299 -0
  143. package/fixtures/expected/manual-receipt-single-power-outage-time.sheet32.json +236 -0
  144. package/fixtures/expected/manual-receipt-single-power-outage-time.sheet48.json +230 -0
  145. package/fixtures/expected/manual-receipt-single-small-business.grid32.txt +34 -0
  146. package/fixtures/expected/manual-receipt-single-small-business.grid48.txt +33 -0
  147. package/fixtures/expected/manual-receipt-single-small-business.lines.json +257 -0
  148. package/fixtures/expected/manual-receipt-single-small-business.sheet32.json +230 -0
  149. package/fixtures/expected/manual-receipt-single-small-business.sheet48.json +224 -0
  150. package/fixtures/expected/manual-receipt-single-system-outage-no-time.grid32.txt +32 -0
  151. package/fixtures/expected/manual-receipt-single-system-outage-no-time.grid48.txt +31 -0
  152. package/fixtures/expected/manual-receipt-single-system-outage-no-time.lines.json +253 -0
  153. package/fixtures/expected/manual-receipt-single-system-outage-no-time.sheet32.json +218 -0
  154. package/fixtures/expected/manual-receipt-single-system-outage-no-time.sheet48.json +212 -0
  155. package/fixtures/expected/manual-receipt-single-system-outage-time.grid32.txt +32 -0
  156. package/fixtures/expected/manual-receipt-single-system-outage-time.grid48.txt +31 -0
  157. package/fixtures/expected/manual-receipt-single-system-outage-time.lines.json +253 -0
  158. package/fixtures/expected/manual-receipt-single-system-outage-time.sheet32.json +218 -0
  159. package/fixtures/expected/manual-receipt-single-system-outage-time.sheet48.json +212 -0
  160. package/fixtures/expected/zero-outage-end-period.grid32.txt +35 -0
  161. package/fixtures/expected/zero-outage-end-period.grid48.txt +31 -0
  162. package/fixtures/expected/zero-outage-end-period.lines.json +230 -0
  163. package/fixtures/expected/zero-outage-end-period.sheet32.json +236 -0
  164. package/fixtures/expected/zero-outage-end-period.sheet48.json +212 -0
  165. package/fixtures/hobex-hps-codes.json +1 -1
  166. package/fixtures/invoice-api.schema.json +1 -1
  167. package/fixtures/invoice-texts.json +1 -1
  168. package/fixtures/manifest.json +192 -0
  169. package/fixtures/pos-texts.json +1 -1
  170. package/fixtures/receipts/manual-receipt-range-device-failure-count.json +56 -0
  171. package/fixtures/receipts/manual-receipt-range-device-failure-no-count.json +55 -0
  172. package/fixtures/receipts/manual-receipt-range-network-outage-count.json +50 -0
  173. package/fixtures/receipts/manual-receipt-range-network-outage-no-count.json +49 -0
  174. package/fixtures/receipts/manual-receipt-range-other-count.json +57 -0
  175. package/fixtures/receipts/manual-receipt-range-other-no-count.json +56 -0
  176. package/fixtures/receipts/manual-receipt-range-power-outage-count.json +56 -0
  177. package/fixtures/receipts/manual-receipt-range-power-outage-no-count.json +55 -0
  178. package/fixtures/receipts/manual-receipt-range-system-outage-count.json +50 -0
  179. package/fixtures/receipts/manual-receipt-range-system-outage-no-count.json +49 -0
  180. package/fixtures/receipts/manual-receipt-single-device-failure-no-time.json +48 -0
  181. package/fixtures/receipts/manual-receipt-single-device-failure-time.json +49 -0
  182. package/fixtures/receipts/manual-receipt-single-network-outage-no-time.json +49 -0
  183. package/fixtures/receipts/manual-receipt-single-network-outage-time.json +50 -0
  184. package/fixtures/receipts/manual-receipt-single-other-no-time.json +55 -0
  185. package/fixtures/receipts/manual-receipt-single-other-time.json +56 -0
  186. package/fixtures/receipts/manual-receipt-single-outside-premises-no-time.json +48 -0
  187. package/fixtures/receipts/manual-receipt-single-outside-premises-time.json +49 -0
  188. package/fixtures/receipts/manual-receipt-single-power-outage-no-time.json +54 -0
  189. package/fixtures/receipts/manual-receipt-single-power-outage-time.json +55 -0
  190. package/fixtures/receipts/manual-receipt-single-small-business.json +48 -0
  191. package/fixtures/receipts/manual-receipt-single-system-outage-no-time.json +49 -0
  192. package/fixtures/receipts/manual-receipt-single-system-outage-time.json +50 -0
  193. package/fixtures/receipts/zero-outage-end-period.json +43 -0
  194. package/fixtures/surface.json +1 -1
  195. package/fixtures/v3/antworten/belege.json +585 -9
  196. package/fixtures/v3/antworten/belegmail.json +2 -2
  197. package/fixtures/v3/antworten/berichte.json +2 -2
  198. package/fixtures/v3/antworten/kasse-belege.json +433 -3
  199. package/fixtures/v3/antworten/kasse.json +3 -3
  200. package/fixtures/v3/antworten/lager.json +1 -1
  201. package/fixtures/v3/antworten/rechnungen.json +2 -2
  202. package/fixtures/v3/antworten/storno.json +15 -3
  203. package/fixtures/v3/stored/belege.json +57 -3
  204. package/fixtures/v3/stored/kasse.json +3 -3
  205. package/fixtures/v3/stored/rechnungen.json +2 -2
  206. package/fixtures/v3/v3-vokabular.json +188 -11
  207. package/fixtures/v3/zahlbetrag-faelle.json +2 -2
  208. package/package.json +1 -1
@@ -2,8 +2,8 @@
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": "931df962ad989229c326fa42dbfda9a5535c23bdd9a52425f19d53dfaa2d6abc",
6
- "backendPackage": "@kreiseck/kasseneck-api@0.35.0",
5
+ "inputsSha256": "df1229235f9e3230ca2d6b32ad65c0dfb5ca5a476551e92d1bc92bb2fd5d11bf",
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",
@@ -2,8 +2,8 @@
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": "497fe59db3414bf3143c0102eedfd371e165ad2f1878e74a9e1e31bd9413f1b0",
5
- "inputsSha256": "931df962ad989229c326fa42dbfda9a5535c23bdd9a52425f19d53dfaa2d6abc",
6
- "backendPackage": "@kreiseck/kasseneck-api@0.35.0",
5
+ "inputsSha256": "df1229235f9e3230ca2d6b32ad65c0dfb5ca5a476551e92d1bc92bb2fd5d11bf",
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",
@@ -1,9 +1,9 @@
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": "3c75e607989f9f116b6c93de52fe8b48bc29103422f4bb8698baed64f89cc9b0",
5
- "inputsSha256": "931df962ad989229c326fa42dbfda9a5535c23bdd9a52425f19d53dfaa2d6abc",
6
- "backendPackage": "@kreiseck/kasseneck-api@0.35.0",
4
+ "sha256": "d354e8a1424c465dab37d166dbda8c9a9ed0b4021e0564dfe23f744ecc4f4918",
5
+ "inputsSha256": "df1229235f9e3230ca2d6b32ad65c0dfb5ca5a476551e92d1bc92bb2fd5d11bf",
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",
@@ -4714,6 +4714,436 @@
4714
4714
  "code": "receipt_not_found"
4715
4715
  }
4716
4716
  },
4717
+ {
4718
+ "name": "sale_manual_receipt",
4719
+ "endpoint": "createReceipt",
4720
+ "path": "/api/v3/createReceipt",
4721
+ "params": {
4722
+ "receiptType": "standard",
4723
+ "items": [
4724
+ {
4725
+ "name": "Behandlung",
4726
+ "amount": 1,
4727
+ "priceOneCents": 12000,
4728
+ "vat": 0
4729
+ }
4730
+ ],
4731
+ "payments": [
4732
+ {
4733
+ "method": "cash",
4734
+ "amountCents": 12000
4735
+ }
4736
+ ],
4737
+ "manualReceipt": {
4738
+ "number": "H-17",
4739
+ "date": "2026-09-25",
4740
+ "time": "14:30",
4741
+ "reason": "network_outage"
4742
+ }
4743
+ },
4744
+ "httpStatus": 200,
4745
+ "headers": {
4746
+ "Kasseneck-Api-Version": "v3",
4747
+ "Access-Control-Expose-Headers": "Kasseneck-Api-Version"
4748
+ },
4749
+ "response": {
4750
+ "status": "success",
4751
+ "message": "",
4752
+ "data": {
4753
+ "is_small_business": false,
4754
+ "company": "Bäckerei Kornblum",
4755
+ "phone": "+43 1 234",
4756
+ "street": "Hauptplatz 1",
4757
+ "zip": "1010",
4758
+ "city": "Wien",
4759
+ "footer1": "Danke",
4760
+ "footer2": null,
4761
+ "footer3": null,
4762
+ "footer4": null,
4763
+ "logo_url": null,
4764
+ "kreiseck_logo": false,
4765
+ "thanks_message": "Bis bald",
4766
+ "receipt": {
4767
+ "counter": 9,
4768
+ "receiptType": "standard",
4769
+ "zeroKind": null,
4770
+ "receiptId": "KECK-1-ID-9",
4771
+ "cashregisterId": "KECK-1",
4772
+ "timeStamp": "2026-09-26T10:00:00",
4773
+ "vouchers": [],
4774
+ "paymentMethod": "cash",
4775
+ "customerDetails": null,
4776
+ "legalMessage": null,
4777
+ "customProjectId": null,
4778
+ "creditCardProvider": null,
4779
+ "cardPaymentId": null,
4780
+ "cardPaymentData": null,
4781
+ "amountRateStandard": 0,
4782
+ "amountRateReduced1": 0,
4783
+ "amountRateReduced2": 0,
4784
+ "amountRateZero": 120,
4785
+ "amountRateSpecial": 0,
4786
+ "turnoverCounterAES256ICM": "TBYB9m2bWcnljmcjdebbLQ==",
4787
+ "signaturePreviousReceipt": "rXWdCT1GHhM=",
4788
+ "certificateSerialNumber": "ABC123",
4789
+ "fullReceiptId": "00000000000000000000000000000000.00000000000000000000000000000000000000000000000000000000f34182c3",
4790
+ "payments": [
4791
+ {
4792
+ "id": "p1",
4793
+ "method": "cash",
4794
+ "amountCents": 12000
4795
+ }
4796
+ ],
4797
+ "sig": "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMTAwX0tFQ0stMV9LRUNLLTEtSUQtOV8yMDI2LTA5LTI2VDEwOjAwOjAwXzAsMDBfMCwwMF8wLDAwXzEyMCwwMF8wLDAwX1RCWUI5bTJiX0FCQzEyM19yWFdkQ1QxR0hoTT0.DdN3NqCojZl5CNuTYbwOhBxNNvWenBgTVe34mpFO6iwVkzmTnaMfXWzix7th-fQ9x2mRqf4FPKSkiKON_zrCKA",
4798
+ "signatureSuccess": true,
4799
+ "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==",
4800
+ "headerVersionId": "auto1",
4801
+ "layoutRuleset": 2,
4802
+ "items": [
4803
+ {
4804
+ "name": "Behandlung",
4805
+ "amount": 1,
4806
+ "priceOneCents": 12000,
4807
+ "vat": 0,
4808
+ "priceOne": 120
4809
+ }
4810
+ ],
4811
+ "manualReceipt": {
4812
+ "number": "H-17",
4813
+ "date": "2026-09-25",
4814
+ "time": "14:30",
4815
+ "reason": "network_outage"
4816
+ }
4817
+ },
4818
+ "taxNumber": "91-123/4565",
4819
+ "vatId": "ATU12345675",
4820
+ "headerVersionId": "auto1",
4821
+ "registrationInfo": null,
4822
+ "testCashregister": true,
4823
+ "testSignature": false,
4824
+ "logo_scale": "M",
4825
+ "layout": {
4826
+ "paperSize": "mm80",
4827
+ "ruleset": 2,
4828
+ "lines": [
4829
+ {
4830
+ "kind": "banner",
4831
+ "text": "TESTKASSE — kein gültiger Beleg",
4832
+ "tone": "warning"
4833
+ },
4834
+ {
4835
+ "kind": "text",
4836
+ "text": "Bäckerei Kornblum",
4837
+ "align": "center",
4838
+ "bold": true
4839
+ },
4840
+ {
4841
+ "kind": "text",
4842
+ "text": "Hauptplatz 1",
4843
+ "align": "center",
4844
+ "bold": false
4845
+ },
4846
+ {
4847
+ "kind": "text",
4848
+ "text": "1010 Wien",
4849
+ "align": "center",
4850
+ "bold": false
4851
+ },
4852
+ {
4853
+ "kind": "text",
4854
+ "text": "ATU12345675",
4855
+ "align": "center",
4856
+ "bold": false
4857
+ },
4858
+ {
4859
+ "kind": "text",
4860
+ "text": "+43 1 234",
4861
+ "align": "center",
4862
+ "bold": false
4863
+ },
4864
+ {
4865
+ "kind": "space",
4866
+ "lines": 1
4867
+ },
4868
+ {
4869
+ "kind": "banner",
4870
+ "text": "NACHERFASSUNG",
4871
+ "tone": "receipt_type"
4872
+ },
4873
+ {
4874
+ "kind": "text",
4875
+ "text": "nach Ausfall der Kasse",
4876
+ "align": "center",
4877
+ "bold": false
4878
+ },
4879
+ {
4880
+ "kind": "text",
4881
+ "text": "Grund: Internet",
4882
+ "align": "center",
4883
+ "bold": false
4884
+ },
4885
+ {
4886
+ "kind": "space",
4887
+ "lines": 1
4888
+ },
4889
+ {
4890
+ "kind": "text",
4891
+ "text": "Handbeleg Nr. H-17",
4892
+ "align": "center",
4893
+ "bold": false
4894
+ },
4895
+ {
4896
+ "kind": "text",
4897
+ "text": "vom 25.09.2026, 14:30 Uhr",
4898
+ "align": "center",
4899
+ "bold": false
4900
+ },
4901
+ {
4902
+ "kind": "text",
4903
+ "text": "USt: Duplikat des Handbelegs",
4904
+ "align": "center",
4905
+ "bold": false
4906
+ },
4907
+ {
4908
+ "kind": "space",
4909
+ "lines": 1
4910
+ },
4911
+ {
4912
+ "kind": "columns",
4913
+ "columns": [
4914
+ {
4915
+ "text": "Datum:",
4916
+ "width": 4,
4917
+ "align": "left"
4918
+ },
4919
+ {
4920
+ "text": "26.09.2026 10:00:00",
4921
+ "width": 8,
4922
+ "align": "right"
4923
+ }
4924
+ ]
4925
+ },
4926
+ {
4927
+ "kind": "columns",
4928
+ "columns": [
4929
+ {
4930
+ "text": "Kassen-ID:",
4931
+ "width": 6,
4932
+ "align": "left"
4933
+ },
4934
+ {
4935
+ "text": "KECK-1",
4936
+ "width": 6,
4937
+ "align": "right"
4938
+ }
4939
+ ]
4940
+ },
4941
+ {
4942
+ "kind": "columns",
4943
+ "columns": [
4944
+ {
4945
+ "text": "Beleg-ID:",
4946
+ "width": 6,
4947
+ "align": "left"
4948
+ },
4949
+ {
4950
+ "text": "KECK-1-ID-9",
4951
+ "width": 6,
4952
+ "align": "right"
4953
+ }
4954
+ ]
4955
+ },
4956
+ {
4957
+ "kind": "space",
4958
+ "lines": 1
4959
+ },
4960
+ {
4961
+ "kind": "columns",
4962
+ "columns": [
4963
+ {
4964
+ "text": "1 x Behandlung",
4965
+ "width": 7,
4966
+ "align": "left"
4967
+ },
4968
+ {
4969
+ "text": "120,00 D",
4970
+ "width": 5,
4971
+ "align": "right"
4972
+ }
4973
+ ]
4974
+ },
4975
+ {
4976
+ "kind": "space",
4977
+ "lines": 1
4978
+ },
4979
+ {
4980
+ "kind": "columns",
4981
+ "columns": [
4982
+ {
4983
+ "text": "MwSt%",
4984
+ "width": 3,
4985
+ "align": "left"
4986
+ },
4987
+ {
4988
+ "text": "MwSt",
4989
+ "width": 4,
4990
+ "align": "left"
4991
+ },
4992
+ {
4993
+ "text": "Netto",
4994
+ "width": 3,
4995
+ "align": "left"
4996
+ },
4997
+ {
4998
+ "text": "Brutto",
4999
+ "width": 2,
5000
+ "align": "right"
5001
+ }
5002
+ ]
5003
+ },
5004
+ {
5005
+ "kind": "columns",
5006
+ "columns": [
5007
+ {
5008
+ "text": "D 0%",
5009
+ "width": 3,
5010
+ "align": "left"
5011
+ },
5012
+ {
5013
+ "text": "0,00",
5014
+ "width": 4,
5015
+ "align": "left"
5016
+ },
5017
+ {
5018
+ "text": "120,00",
5019
+ "width": 3,
5020
+ "align": "left"
5021
+ },
5022
+ {
5023
+ "text": "120,00",
5024
+ "width": 2,
5025
+ "align": "right"
5026
+ }
5027
+ ]
5028
+ },
5029
+ {
5030
+ "kind": "rule",
5031
+ "char": "-"
5032
+ },
5033
+ {
5034
+ "kind": "columns",
5035
+ "columns": [
5036
+ {
5037
+ "text": "Gesamt:",
5038
+ "width": 6,
5039
+ "align": "left"
5040
+ },
5041
+ {
5042
+ "text": "120,00 €",
5043
+ "width": 6,
5044
+ "align": "right"
5045
+ }
5046
+ ]
5047
+ },
5048
+ {
5049
+ "kind": "columns",
5050
+ "columns": [
5051
+ {
5052
+ "text": "Zahlungsart:",
5053
+ "width": 6,
5054
+ "align": "left"
5055
+ },
5056
+ {
5057
+ "text": "Barzahlung",
5058
+ "width": 6,
5059
+ "align": "right"
5060
+ }
5061
+ ]
5062
+ },
5063
+ {
5064
+ "kind": "space",
5065
+ "lines": 1
5066
+ },
5067
+ {
5068
+ "kind": "qr",
5069
+ "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=="
5070
+ },
5071
+ {
5072
+ "kind": "space",
5073
+ "lines": 1
5074
+ },
5075
+ {
5076
+ "kind": "space",
5077
+ "lines": 1
5078
+ },
5079
+ {
5080
+ "kind": "text",
5081
+ "text": "Bis bald",
5082
+ "align": "center",
5083
+ "bold": false
5084
+ },
5085
+ {
5086
+ "kind": "text",
5087
+ "text": "Danke",
5088
+ "align": "center",
5089
+ "bold": false
5090
+ },
5091
+ {
5092
+ "kind": "space",
5093
+ "lines": 1
5094
+ },
5095
+ {
5096
+ "kind": "banner",
5097
+ "text": "TESTKASSE — kein gültiger Beleg",
5098
+ "tone": "warning"
5099
+ }
5100
+ ]
5101
+ }
5102
+ }
5103
+ }
5104
+ },
5105
+ {
5106
+ "name": "error_manual_receipt_duplicate",
5107
+ "endpoint": "createReceipt",
5108
+ "path": "/api/v3/createReceipt",
5109
+ "params": {
5110
+ "receiptType": "standard",
5111
+ "items": [
5112
+ {
5113
+ "name": "Behandlung",
5114
+ "amount": 1,
5115
+ "priceOneCents": 12000,
5116
+ "vat": 0
5117
+ }
5118
+ ],
5119
+ "payments": [
5120
+ {
5121
+ "method": "cash",
5122
+ "amountCents": 12000
5123
+ }
5124
+ ],
5125
+ "manualReceipt": {
5126
+ "number": "H-17",
5127
+ "date": "2026-09-25",
5128
+ "time": "14:30",
5129
+ "reason": "network_outage"
5130
+ }
5131
+ },
5132
+ "httpStatus": 200,
5133
+ "headers": {
5134
+ "Kasseneck-Api-Version": "v3",
5135
+ "Access-Control-Expose-Headers": "Kasseneck-Api-Version"
5136
+ },
5137
+ "response": {
5138
+ "status": "error",
5139
+ "message": "Dieser Handbeleg ist auf dieser Kasse für diesen Tag schon nacherfasst.",
5140
+ "data": {
5141
+ "code": "manual_receipt_duplicate",
5142
+ "receiptId": "KECK-1-ID-9"
5143
+ },
5144
+ "code": "manual_receipt_duplicate"
5145
+ }
5146
+ },
4717
5147
  {
4718
5148
  "name": "sale_single_purpose_voucher",
4719
5149
  "endpoint": "createReceipt",
@@ -4,8 +4,8 @@
4
4
  "default": {
5
5
  "sha256": "1c9e54a06b1851753d793301dd351bc9179079bcc53fa4a5205959a34373e172",
6
6
  "head": [],
7
- "inputsSha256": "c18e7adc7420e634394fb1b1e738dc18aeed9d31cc7d2ac5847d3e06b9ca7130",
8
- "backendPackage": "@kreiseck/kasseneck-api@0.35.0",
7
+ "inputsSha256": "80daa29c7825964e28b7d19a1504b2d785e005632bc2b6950ab72990a1771f1f",
8
+ "backendPackage": "@kreiseck/kasseneck-api@0.36.0",
9
9
  "inputs": [
10
10
  "functions-kasse/test/unit/fixtures/kassen-welt.js",
11
11
  "functions/gemeinsam/api-rand.js",
@@ -24,7 +24,7 @@
24
24
  "channel",
25
25
  "note"
26
26
  ],
27
- "inputsSha256": "7567e06f91a415e03ce4c459050006f7b3f4e06644f5731559261d05f0eb23a5",
27
+ "inputsSha256": "d973eb5a20bd7ccdd580a2e11cca76de7716cb484d6c30d29ada239bbf13f54c",
28
28
  "backendPackage": "@kreiseck/kasseneck-api@0.14.0",
29
29
  "inputs": [
30
30
  "functions-kasse/gemeinsam/api-rand.js",
@@ -2,7 +2,7 @@
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": "6d19c6313438a44d5f522bcaf248de293c6e285dd891185a773e05e9eef6f45b",
5
- "inputsSha256": "5e85d2e9034321bb04772561daaa798e26650a1209390ebb4471747aa11d658c",
5
+ "inputsSha256": "cf94c0a3f85f2a0ea932b2c5c87db7e2fa32bd9fdba5559d7e96781f3361891d",
6
6
  "backendPackage": "@kreiseck/kasseneck-api@0.14.0",
7
7
  "inputs": [
8
8
  "functions-kasse/article-endpoints.js",
@@ -2,8 +2,8 @@
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": "a5d2e578f0ee866e539320866624dc9337459479bfcdcb955c8c3b821cd1c689",
5
- "inputsSha256": "931df962ad989229c326fa42dbfda9a5535c23bdd9a52425f19d53dfaa2d6abc",
6
- "backendPackage": "@kreiseck/kasseneck-api@0.35.0",
5
+ "inputsSha256": "df1229235f9e3230ca2d6b32ad65c0dfb5ca5a476551e92d1bc92bb2fd5d11bf",
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",
@@ -1,9 +1,9 @@
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": "53bacb07e03ff6e46d2d78d0aed71daa450dde715a9f79c927f6953f76f81997",
5
- "inputsSha256": "931df962ad989229c326fa42dbfda9a5535c23bdd9a52425f19d53dfaa2d6abc",
6
- "backendPackage": "@kreiseck/kasseneck-api@0.35.0",
4
+ "sha256": "ebac6f488dc946aebb1e7fc6ea9ccdeef3a21bfb60ff07478972b32c229f2183",
5
+ "inputsSha256": "df1229235f9e3230ca2d6b32ad65c0dfb5ca5a476551e92d1bc92bb2fd5d11bf",
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",
@@ -86,6 +86,8 @@
86
86
  "legalMessage": "STORNO zu KECK-1-ID-2 – Fehleingabe",
87
87
  "customProjectId": null,
88
88
  "creditCardProvider": null,
89
+ "cardPaymentId": null,
90
+ "cardPaymentData": null,
89
91
  "amountRateStandard": -6,
90
92
  "amountRateReduced1": 0,
91
93
  "amountRateReduced2": 0,
@@ -101,6 +103,10 @@
101
103
  "method": "creditCard",
102
104
  "amountCents": -700,
103
105
  "provider": "sumup",
106
+ "providerPaymentId": "rf-1",
107
+ "providerData": {
108
+ "refund": "ok"
109
+ },
104
110
  "refundOf": "p1"
105
111
  }
106
112
  ],
@@ -199,6 +205,8 @@
199
205
  "legalMessage": "STORNO zu KECK-1-ID-3 – Kunde hat storniert",
200
206
  "customProjectId": null,
201
207
  "creditCardProvider": null,
208
+ "cardPaymentId": null,
209
+ "cardPaymentData": null,
202
210
  "amountRateStandard": 0,
203
211
  "amountRateReduced1": -0.79,
204
212
  "amountRateReduced2": 0,
@@ -441,6 +449,8 @@
441
449
  "legalMessage": "STORNO zu KECK-1-ID-5 – Fehleingabe",
442
450
  "customProjectId": null,
443
451
  "creditCardProvider": null,
452
+ "cardPaymentId": null,
453
+ "cardPaymentData": null,
444
454
  "amountRateStandard": -22.4,
445
455
  "amountRateReduced1": 0,
446
456
  "amountRateReduced2": 0,
@@ -544,6 +554,8 @@
544
554
  "legalMessage": "STORNO zu KECK-1-ID-9 – Fehleingabe",
545
555
  "customProjectId": null,
546
556
  "creditCardProvider": null,
557
+ "cardPaymentId": null,
558
+ "cardPaymentData": null,
547
559
  "amountRateStandard": 0,
548
560
  "amountRateReduced1": 0,
549
561
  "amountRateReduced2": 0,
@@ -1,9 +1,9 @@
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": "2781c0716b6ba63ef2c14eb5a3e6abab37adf42af72c9aee60bbbb1ebd716cf1",
5
- "inputsSha256": "931df962ad989229c326fa42dbfda9a5535c23bdd9a52425f19d53dfaa2d6abc",
6
- "backendPackage": "@kreiseck/kasseneck-api@0.35.0",
4
+ "sha256": "3ee85fbbb73b268269dbf1a8bb955f3bf84fcf062bd3c3307481d6306676b650",
5
+ "inputsSha256": "df1229235f9e3230ca2d6b32ad65c0dfb5ca5a476551e92d1bc92bb2fd5d11bf",
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",
@@ -515,6 +515,60 @@
515
515
  "cancellationReason": "kunde_storniert",
516
516
  "ladeId": "haupt_KECK-1",
517
517
  "schichtId": null
518
+ },
519
+ "users/test_welt1/cashregisters/KECK-1/receipts/KECK-1-ID-9": {
520
+ "counter": 9,
521
+ "receiptType": "standard",
522
+ "zeroKind": null,
523
+ "receiptId": "KECK-1-ID-9",
524
+ "cashregisterId": "KECK-1",
525
+ "timeStamp": "2026-09-26T10:00:00",
526
+ "items": [
527
+ {
528
+ "name": "Behandlung",
529
+ "amount": 1,
530
+ "priceOneCents": 12000,
531
+ "vat": 0,
532
+ "priceOne": 120
533
+ }
534
+ ],
535
+ "vouchers": [],
536
+ "paymentMethod": "cash",
537
+ "customerDetails": null,
538
+ "legalMessage": null,
539
+ "customProjectId": null,
540
+ "creditCardProvider": null,
541
+ "cardPaymentId": null,
542
+ "cardPaymentData": null,
543
+ "amountRateStandard": 0,
544
+ "amountRateReduced1": 0,
545
+ "amountRateReduced2": 0,
546
+ "amountRateZero": 120,
547
+ "amountRateSpecial": 0,
548
+ "turnoverCounterAES256ICM": "TBYB9m2bWcnljmcjdebbLQ==",
549
+ "signaturePreviousReceipt": "rXWdCT1GHhM=",
550
+ "certificateSerialNumber": "ABC123",
551
+ "fullReceiptId": "00000000000000000000000000000000.00000000000000000000000000000000000000000000000000000000f34182c3",
552
+ "kopfId": "auto1",
553
+ "layoutRegeln": 2,
554
+ "payments": [
555
+ {
556
+ "id": "p1",
557
+ "method": "cash",
558
+ "amountCents": 12000
559
+ }
560
+ ],
561
+ "sig": "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMTAwX0tFQ0stMV9LRUNLLTEtSUQtOV8yMDI2LTA5LTI2VDEwOjAwOjAwXzAsMDBfMCwwMF8wLDAwXzEyMCwwMF8wLDAwX1RCWUI5bTJiX0FCQzEyM19yWFdkQ1QxR0hoTT0.DdN3NqCojZl5CNuTYbwOhBxNNvWenBgTVe34mpFO6iwVkzmTnaMfXWzix7th-fQ9x2mRqf4FPKSkiKON_zrCKA",
562
+ "signatureSuccess": true,
563
+ "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==",
564
+ "handbeleg": {
565
+ "nummer": "H-17",
566
+ "datum": "2026-09-25",
567
+ "uhrzeit": "14:30",
568
+ "grund": "internet"
569
+ },
570
+ "ladeId": "haupt_KECK-1",
571
+ "schichtId": null
518
572
  }
519
573
  }
520
574
  }
@@ -4,8 +4,8 @@
4
4
  "default": {
5
5
  "sha256": "7f93b1458c7d25548321c31eadaf6cc93a804cd1eedf78effa11d5a1110df7aa",
6
6
  "head": [],
7
- "inputsSha256": "c18e7adc7420e634394fb1b1e738dc18aeed9d31cc7d2ac5847d3e06b9ca7130",
8
- "backendPackage": "@kreiseck/kasseneck-api@0.35.0",
7
+ "inputsSha256": "80daa29c7825964e28b7d19a1504b2d785e005632bc2b6950ab72990a1771f1f",
8
+ "backendPackage": "@kreiseck/kasseneck-api@0.36.0",
9
9
  "inputs": [
10
10
  "functions-kasse/test/unit/fixtures/kassen-welt.js",
11
11
  "functions/gemeinsam/api-rand.js",
@@ -24,7 +24,7 @@
24
24
  "note",
25
25
  "baseline"
26
26
  ],
27
- "inputsSha256": "7567e06f91a415e03ce4c459050006f7b3f4e06644f5731559261d05f0eb23a5",
27
+ "inputsSha256": "d973eb5a20bd7ccdd580a2e11cca76de7716cb484d6c30d29ada239bbf13f54c",
28
28
  "backendPackage": "@kreiseck/kasseneck-api@0.14.0",
29
29
  "inputs": [
30
30
  "functions-kasse/gemeinsam/api-rand.js",