@kreiseck/kasseneck-api 1.11.1 → 1.13.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 (187) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +2 -1
  3. package/dist/cjs/client/aufrufe.d.ts +4 -4
  4. package/dist/cjs/client/aufrufe.js +15 -0
  5. package/dist/cjs/client/receipts.d.ts +5 -0
  6. package/dist/cjs/client/receipts.js +65 -6
  7. package/dist/cjs/enums/voucher-action.d.ts +2 -0
  8. package/dist/cjs/enums/voucher-action.js +2 -0
  9. package/dist/cjs/enums/voucher-type.d.ts +10 -0
  10. package/dist/cjs/enums/voucher-type.js +10 -0
  11. package/dist/cjs/index.d.ts +3 -3
  12. package/dist/cjs/index.js +8 -3
  13. package/dist/cjs/models/index.d.ts +2 -2
  14. package/dist/cjs/models/index.js +6 -2
  15. package/dist/cjs/models/receipt-errors.d.ts +1 -1
  16. package/dist/cjs/models/receipt-errors.js +2 -0
  17. package/dist/cjs/models/receipt-item.d.ts +11 -3
  18. package/dist/cjs/models/receipt-item.js +22 -1
  19. package/dist/cjs/models/receipt.d.ts +13 -1
  20. package/dist/cjs/models/receipt.js +18 -2
  21. package/dist/cjs/models/voucher.d.ts +57 -4
  22. package/dist/cjs/models/voucher.js +111 -3
  23. package/dist/cjs/partner/fehler.d.ts +1 -1
  24. package/dist/cjs/partner/fehler.js +2 -0
  25. package/dist/cjs/partner/index.d.ts +1 -1
  26. package/dist/cjs/partner/typen.d.ts +7 -1
  27. package/dist/cjs/partner/typen.js +3 -0
  28. package/dist/cjs/pos/client.d.ts +2 -1
  29. package/dist/cjs/pos/client.js +3 -1
  30. package/dist/cjs/pos/gutschein.d.ts +90 -0
  31. package/dist/cjs/pos/gutschein.js +164 -0
  32. package/dist/cjs/pos/index.d.ts +3 -2
  33. package/dist/cjs/pos/index.js +13 -2
  34. package/dist/cjs/pos/settings.d.ts +3 -0
  35. package/dist/cjs/pos/settings.js +12 -10
  36. package/dist/cjs/pos/texte.d.ts +229 -0
  37. package/dist/cjs/pos/texte.js +96 -1
  38. package/dist/cjs/react/index.js +8 -2
  39. package/dist/cjs/receipt/due.d.ts +83 -2
  40. package/dist/cjs/receipt/due.js +202 -36
  41. package/dist/cjs/receipt/grid.js +13 -1
  42. package/dist/cjs/receipt/gutschein-plan.d.ts +104 -0
  43. package/dist/cjs/receipt/gutschein-plan.js +360 -0
  44. package/dist/cjs/receipt/index.d.ts +1 -1
  45. package/dist/cjs/receipt/index.js +3 -0
  46. package/dist/cjs/receipt/layout.js +175 -8
  47. package/dist/cjs/register/pairing.d.ts +21 -1
  48. package/dist/cjs/register/pairing.js +17 -0
  49. package/dist/cjs/stored/bon-layout.d.ts +8 -0
  50. package/dist/cjs/stored/bon-layout.js +23 -0
  51. package/dist/cjs/stored/draht.d.ts +3 -1
  52. package/dist/cjs/stored/draht.js +53 -6
  53. package/dist/cjs/stored/einstellungen.js +2 -1
  54. package/dist/cjs/stored/gutscheine.d.ts +3 -0
  55. package/dist/cjs/stored/gutscheine.js +60 -0
  56. package/dist/cjs/stored/index.js +2 -17
  57. package/dist/cjs/stored/vokabular.d.ts +6 -4
  58. package/dist/cjs/stored/vokabular.js +48 -2
  59. package/dist/cjs/version.d.ts +1 -1
  60. package/dist/cjs/version.js +1 -1
  61. package/dist/esm/client/aufrufe.d.ts +4 -4
  62. package/dist/esm/client/aufrufe.js +15 -0
  63. package/dist/esm/client/receipts.d.ts +5 -0
  64. package/dist/esm/client/receipts.js +66 -8
  65. package/dist/esm/enums/voucher-action.d.ts +2 -0
  66. package/dist/esm/enums/voucher-action.js +2 -0
  67. package/dist/esm/enums/voucher-type.d.ts +10 -0
  68. package/dist/esm/enums/voucher-type.js +10 -0
  69. package/dist/esm/index.d.ts +3 -3
  70. package/dist/esm/index.js +3 -3
  71. package/dist/esm/models/index.d.ts +2 -2
  72. package/dist/esm/models/index.js +2 -2
  73. package/dist/esm/models/receipt-errors.d.ts +1 -1
  74. package/dist/esm/models/receipt-errors.js +2 -0
  75. package/dist/esm/models/receipt-item.d.ts +11 -3
  76. package/dist/esm/models/receipt-item.js +20 -1
  77. package/dist/esm/models/receipt.d.ts +13 -1
  78. package/dist/esm/models/receipt.js +18 -2
  79. package/dist/esm/models/voucher.d.ts +57 -4
  80. package/dist/esm/models/voucher.js +108 -3
  81. package/dist/esm/partner/fehler.d.ts +1 -1
  82. package/dist/esm/partner/fehler.js +2 -0
  83. package/dist/esm/partner/index.d.ts +1 -1
  84. package/dist/esm/partner/typen.d.ts +7 -1
  85. package/dist/esm/partner/typen.js +3 -0
  86. package/dist/esm/pos/client.d.ts +2 -1
  87. package/dist/esm/pos/client.js +3 -1
  88. package/dist/esm/pos/gutschein.d.ts +90 -0
  89. package/dist/esm/pos/gutschein.js +158 -0
  90. package/dist/esm/pos/index.d.ts +3 -2
  91. package/dist/esm/pos/index.js +4 -2
  92. package/dist/esm/pos/settings.d.ts +3 -0
  93. package/dist/esm/pos/settings.js +2 -0
  94. package/dist/esm/pos/texte.d.ts +229 -0
  95. package/dist/esm/pos/texte.js +94 -0
  96. package/dist/esm/react/index.js +8 -2
  97. package/dist/esm/receipt/due.d.ts +83 -2
  98. package/dist/esm/receipt/due.js +198 -34
  99. package/dist/esm/receipt/grid.js +13 -1
  100. package/dist/esm/receipt/gutschein-plan.d.ts +104 -0
  101. package/dist/esm/receipt/gutschein-plan.js +352 -0
  102. package/dist/esm/receipt/index.d.ts +1 -1
  103. package/dist/esm/receipt/index.js +1 -1
  104. package/dist/esm/receipt/layout.js +175 -8
  105. package/dist/esm/register/pairing.d.ts +21 -1
  106. package/dist/esm/register/pairing.js +16 -0
  107. package/dist/esm/stored/bon-layout.d.ts +8 -0
  108. package/dist/esm/stored/bon-layout.js +20 -0
  109. package/dist/esm/stored/draht.d.ts +3 -1
  110. package/dist/esm/stored/draht.js +52 -6
  111. package/dist/esm/stored/einstellungen.js +3 -2
  112. package/dist/esm/stored/gutscheine.d.ts +3 -0
  113. package/dist/esm/stored/gutscheine.js +56 -0
  114. package/dist/esm/stored/index.js +2 -17
  115. package/dist/esm/stored/vokabular.d.ts +6 -4
  116. package/dist/esm/stored/vokabular.js +48 -2
  117. package/dist/esm/version.d.ts +1 -1
  118. package/dist/esm/version.js +1 -1
  119. package/fixtures/expected/voucher-cancellation.grid32.txt +30 -0
  120. package/fixtures/expected/voucher-cancellation.grid48.txt +29 -0
  121. package/fixtures/expected/voucher-cancellation.lines.json +252 -0
  122. package/fixtures/expected/voucher-cancellation.sheet32.json +206 -0
  123. package/fixtures/expected/voucher-cancellation.sheet48.json +200 -0
  124. package/fixtures/expected/voucher-multi-purpose-redeem.grid32.txt +25 -0
  125. package/fixtures/expected/voucher-multi-purpose-redeem.grid48.txt +25 -0
  126. package/fixtures/expected/voucher-multi-purpose-redeem.lines.json +259 -0
  127. package/fixtures/expected/voucher-multi-purpose-redeem.sheet32.json +176 -0
  128. package/fixtures/expected/voucher-multi-purpose-redeem.sheet48.json +176 -0
  129. package/fixtures/expected/voucher-multi-purpose-sale.grid32.txt +24 -0
  130. package/fixtures/expected/voucher-multi-purpose-sale.grid48.txt +23 -0
  131. package/fixtures/expected/voucher-multi-purpose-sale.lines.json +216 -0
  132. package/fixtures/expected/voucher-multi-purpose-sale.sheet32.json +170 -0
  133. package/fixtures/expected/voucher-multi-purpose-sale.sheet48.json +164 -0
  134. package/fixtures/expected/voucher-payout.grid32.txt +23 -0
  135. package/fixtures/expected/voucher-payout.grid48.txt +22 -0
  136. package/fixtures/expected/voucher-payout.lines.json +216 -0
  137. package/fixtures/expected/voucher-payout.sheet32.json +164 -0
  138. package/fixtures/expected/voucher-payout.sheet48.json +158 -0
  139. package/fixtures/expected/voucher-service-redeem.grid32.txt +26 -0
  140. package/fixtures/expected/voucher-service-redeem.grid48.txt +25 -0
  141. package/fixtures/expected/voucher-service-redeem.lines.json +261 -0
  142. package/fixtures/expected/voucher-service-redeem.sheet32.json +182 -0
  143. package/fixtures/expected/voucher-service-redeem.sheet48.json +176 -0
  144. package/fixtures/expected/voucher-single-purpose-redeem-exempt.grid32.txt +30 -0
  145. package/fixtures/expected/voucher-single-purpose-redeem-exempt.grid48.txt +29 -0
  146. package/fixtures/expected/voucher-single-purpose-redeem-exempt.lines.json +331 -0
  147. package/fixtures/expected/voucher-single-purpose-redeem-exempt.sheet32.json +206 -0
  148. package/fixtures/expected/voucher-single-purpose-redeem-exempt.sheet48.json +200 -0
  149. package/fixtures/expected/voucher-single-purpose-redeem.grid32.txt +25 -0
  150. package/fixtures/expected/voucher-single-purpose-redeem.grid48.txt +24 -0
  151. package/fixtures/expected/voucher-single-purpose-redeem.lines.json +246 -0
  152. package/fixtures/expected/voucher-single-purpose-redeem.sheet32.json +176 -0
  153. package/fixtures/expected/voucher-single-purpose-redeem.sheet48.json +170 -0
  154. package/fixtures/expected/voucher-single-purpose-sale.grid32.txt +26 -0
  155. package/fixtures/expected/voucher-single-purpose-sale.grid48.txt +24 -0
  156. package/fixtures/expected/voucher-single-purpose-sale.lines.json +225 -0
  157. package/fixtures/expected/voucher-single-purpose-sale.sheet32.json +182 -0
  158. package/fixtures/expected/voucher-single-purpose-sale.sheet48.json +170 -0
  159. package/fixtures/hobex-hps-codes.json +1 -1
  160. package/fixtures/invoice-api.schema.json +1 -1
  161. package/fixtures/invoice-texts.json +1 -1
  162. package/fixtures/manifest.json +64 -0
  163. package/fixtures/pos-texts.json +257 -1
  164. package/fixtures/receipt-due-generated.json +1 -1
  165. package/fixtures/receipt-due-voucher-generated.json +494 -0
  166. package/fixtures/receipts/voucher-cancellation.json +76 -0
  167. package/fixtures/receipts/voucher-multi-purpose-redeem.json +62 -0
  168. package/fixtures/receipts/voucher-multi-purpose-sale.json +63 -0
  169. package/fixtures/receipts/voucher-payout.json +65 -0
  170. package/fixtures/receipts/voucher-service-redeem.json +82 -0
  171. package/fixtures/receipts/voucher-single-purpose-redeem-exempt.json +86 -0
  172. package/fixtures/receipts/voucher-single-purpose-redeem.json +71 -0
  173. package/fixtures/receipts/voucher-single-purpose-sale.json +88 -0
  174. package/fixtures/surface.json +35 -5
  175. package/fixtures/v3/antworten/belege.json +3405 -3
  176. package/fixtures/v3/antworten/belegmail.json +5 -2
  177. package/fixtures/v3/antworten/kasse-belege.json +3423 -3
  178. package/fixtures/v3/antworten/kasse.json +621 -14
  179. package/fixtures/v3/antworten/lager.json +1 -1
  180. package/fixtures/v3/antworten/rechnungen.json +5 -2
  181. package/fixtures/v3/antworten/storno.json +214 -3
  182. package/fixtures/v3/stored/belege.json +5 -2
  183. package/fixtures/v3/stored/kasse.json +225 -4
  184. package/fixtures/v3/stored/rechnungen.json +5 -2
  185. package/fixtures/v3/v3-vokabular.json +1375 -23
  186. package/fixtures/v3/zahlbetrag-faelle.json +293 -3
  187. package/package.json +4 -1
@@ -1,16 +1,18 @@
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": "61892b91e6a8a0f273dcfdeb63809d92d98fb837a3c0baa782f03b29dd3b8b7a",
5
- "inputsSha256": "95fd7b1f3704811d3a3f79b1dbb6aea668e8c0e3a663e5b0ca9c07f2e11e37b5",
6
- "backendPackage": "@kreiseck/kasseneck-api@0.33.0",
4
+ "sha256": "e5d3e79e46c2bc3ecb54473069a6bb7de96aa91573a25f26a36c805a027f0210",
5
+ "inputsSha256": "29f295ee139942d79758255d7b6284e2810477e4e22249d9b703c0110129e78b",
6
+ "backendPackage": "@kreiseck/kasseneck-api@0.33.1",
7
7
  "inputs": [
8
8
  "docs/api/fehlercodes.json",
9
9
  "functions-kasse/test/unit/fixtures/kassen-codes-v3.js",
10
+ "functions/aktivierung-api-core.js",
10
11
  "functions/beleg-mail-core.js",
11
12
  "functions/gemeinsam/api-rand.js",
12
13
  "functions/gemeinsam/api-vokabular-v3.js",
13
14
  "functions/gemeinsam/beleg-toepfe.js",
15
+ "functions/gemeinsam/gutschein-beleg.js",
14
16
  "functions/gemeinsam/storno-core.js",
15
17
  "functions/gemeinsam/tip-core.js",
16
18
  "functions/gemeinsam/vat-buckets.js",
@@ -20,6 +22,7 @@
20
22
  "functions/test/unit/fixtures/v3-belege/beleg-welt.js",
21
23
  "functions/test/unit/fixtures/v3-rechnungen/rechnungs-welt.js",
22
24
  "functions/test/unit/fixtures/vertrag-v3/ablage.js",
25
+ "functions/test/unit/fixtures/vertrag-v3/gutschein-belege.js",
23
26
  "functions/test/unit/fixtures/vertrag-v3/vokabular.js",
24
27
  "functions/test/unit/fixtures/vertrag-v3/zahlbetrag.js",
25
28
  "functions/test/unit/helpers/kassen-fehlerstellen.js",
@@ -4733,6 +4736,3405 @@
4733
4736
  }
4734
4737
  }
4735
4738
  }
4739
+ },
4740
+ {
4741
+ "name": "sale_single_purpose_voucher",
4742
+ "endpoint": "createReceipt",
4743
+ "path": "/v3/createReceipt",
4744
+ "params": {
4745
+ "receiptType": "standard",
4746
+ "items": [],
4747
+ "vouchers": [
4748
+ {
4749
+ "action": "sell",
4750
+ "type": "single_purpose",
4751
+ "amountCents": 5000
4752
+ }
4753
+ ],
4754
+ "payments": [
4755
+ {
4756
+ "method": "cash",
4757
+ "amountCents": 5000
4758
+ }
4759
+ ]
4760
+ },
4761
+ "httpStatus": 200,
4762
+ "headers": {
4763
+ "Kasseneck-Api-Version": "v3",
4764
+ "Access-Control-Expose-Headers": "Kasseneck-Api-Version"
4765
+ },
4766
+ "response": {
4767
+ "status": "success",
4768
+ "message": "",
4769
+ "data": {
4770
+ "is_small_business": false,
4771
+ "company": "Bäckerei Welt",
4772
+ "phone": "+43 1 234",
4773
+ "street": "Hauptplatz 1",
4774
+ "zip": "1010",
4775
+ "city": "Wien",
4776
+ "footer1": "Danke",
4777
+ "footer2": null,
4778
+ "footer3": null,
4779
+ "footer4": null,
4780
+ "logo_url": null,
4781
+ "kreiseck_logo": false,
4782
+ "thanks_message": "Bis bald",
4783
+ "receipt": {
4784
+ "counter": 2,
4785
+ "receiptType": "standard",
4786
+ "zeroKind": null,
4787
+ "receiptId": "KECK-1-ID-2",
4788
+ "cashregisterId": "KECK-1",
4789
+ "timeStamp": "2026-09-26T10:00:00",
4790
+ "vouchers": [
4791
+ {
4792
+ "action": "sell",
4793
+ "type": "single_purpose",
4794
+ "voucherType": "single_purpose",
4795
+ "amountCents": 5000,
4796
+ "vatRateBp": 2000,
4797
+ "name": "Einzweckgutschein 20 %",
4798
+ "code": "····-····-JJJ2",
4799
+ "codeSuffix": "JJJ2",
4800
+ "voucherId": "auto2"
4801
+ }
4802
+ ],
4803
+ "paymentMethod": "cash",
4804
+ "customerDetails": null,
4805
+ "legalMessage": null,
4806
+ "customProjectId": null,
4807
+ "creditCardProvider": null,
4808
+ "amountRateStandard": 50,
4809
+ "amountRateReduced1": 0,
4810
+ "amountRateReduced2": 0,
4811
+ "amountRateZero": 0,
4812
+ "amountRateSpecial": 0,
4813
+ "turnoverCounterAES256ICM": "girlnnGhSdImcB9LEr65jQ==",
4814
+ "signaturePreviousReceipt": "6Mn4bx4N/M8=",
4815
+ "certificateSerialNumber": "ABC123",
4816
+ "fullReceiptId": "00000000000000000000000000000000.0000000000000000000000000000000000000000000000000000000014c32cfb",
4817
+ "payments": [
4818
+ {
4819
+ "id": "p1",
4820
+ "method": "cash",
4821
+ "amountCents": 5000
4822
+ }
4823
+ ],
4824
+ "sig": "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMTAwX0tFQ0stMV9LRUNLLTEtSUQtMl8yMDI2LTA5LTI2VDEwOjAwOjAwXzUwLDAwXzAsMDBfMCwwMF8wLDAwXzAsMDBfZ2lybG5uR2hfQUJDMTIzXzZNbjRieDROL004PQ.luLGr48WW9JRFAz58ZFJtmBH2i9jCWmie0KQZE3JaDgC1wgIm-Kb4LpTxSnPm4OfhYRKsrAMYMmYHUOi3-XGaQ",
4825
+ "signatureSuccess": true,
4826
+ "qr": "_R1-AT100_KECK-1_KECK-1-ID-2_2026-09-26T10:00:00_50,00_0,00_0,00_0,00_0,00_girlnnGh_ABC123_6Mn4bx4N/M8=_luLGr48WW9JRFAz58ZFJtmBH2i9jCWmie0KQZE3JaDgC1wgIm+Kb4LpTxSnPm4OfhYRKsrAMYMmYHUOi3+XGaQ==",
4827
+ "headerVersionId": "auto1",
4828
+ "layoutRuleset": 2,
4829
+ "items": [
4830
+ {
4831
+ "name": "Einzweckgutschein 20 %",
4832
+ "vat": 20,
4833
+ "vatRate": 20,
4834
+ "priceOne": 50,
4835
+ "priceOneCents": 5000,
4836
+ "unitPriceCents": 5000,
4837
+ "amount": 1,
4838
+ "quantity": 1,
4839
+ "kind": "voucher"
4840
+ }
4841
+ ]
4842
+ },
4843
+ "taxNumber": "12-345/6789",
4844
+ "vatId": "ATU12345678",
4845
+ "headerVersionId": "auto1",
4846
+ "registrationInfo": null,
4847
+ "testCashregister": true,
4848
+ "testSignature": false,
4849
+ "logo_scale": "M",
4850
+ "layout": {
4851
+ "paperSize": "mm80",
4852
+ "ruleset": 2,
4853
+ "lines": [
4854
+ {
4855
+ "kind": "banner",
4856
+ "text": "TESTKASSE — kein gültiger Beleg",
4857
+ "tone": "warning"
4858
+ },
4859
+ {
4860
+ "kind": "text",
4861
+ "text": "Bäckerei Welt",
4862
+ "align": "center",
4863
+ "bold": true
4864
+ },
4865
+ {
4866
+ "kind": "text",
4867
+ "text": "Hauptplatz 1",
4868
+ "align": "center",
4869
+ "bold": false
4870
+ },
4871
+ {
4872
+ "kind": "text",
4873
+ "text": "1010 Wien",
4874
+ "align": "center",
4875
+ "bold": false
4876
+ },
4877
+ {
4878
+ "kind": "text",
4879
+ "text": "ATU12345678",
4880
+ "align": "center",
4881
+ "bold": false
4882
+ },
4883
+ {
4884
+ "kind": "text",
4885
+ "text": "+43 1 234",
4886
+ "align": "center",
4887
+ "bold": false
4888
+ },
4889
+ {
4890
+ "kind": "space",
4891
+ "lines": 1
4892
+ },
4893
+ {
4894
+ "kind": "columns",
4895
+ "columns": [
4896
+ {
4897
+ "text": "Datum:",
4898
+ "width": 4,
4899
+ "align": "left"
4900
+ },
4901
+ {
4902
+ "text": "26.09.2026 10:00:00",
4903
+ "width": 8,
4904
+ "align": "right"
4905
+ }
4906
+ ]
4907
+ },
4908
+ {
4909
+ "kind": "columns",
4910
+ "columns": [
4911
+ {
4912
+ "text": "Kassen-ID:",
4913
+ "width": 6,
4914
+ "align": "left"
4915
+ },
4916
+ {
4917
+ "text": "KECK-1",
4918
+ "width": 6,
4919
+ "align": "right"
4920
+ }
4921
+ ]
4922
+ },
4923
+ {
4924
+ "kind": "columns",
4925
+ "columns": [
4926
+ {
4927
+ "text": "Beleg-ID:",
4928
+ "width": 6,
4929
+ "align": "left"
4930
+ },
4931
+ {
4932
+ "text": "KECK-1-ID-2",
4933
+ "width": 6,
4934
+ "align": "right"
4935
+ }
4936
+ ]
4937
+ },
4938
+ {
4939
+ "kind": "space",
4940
+ "lines": 1
4941
+ },
4942
+ {
4943
+ "kind": "columns",
4944
+ "columns": [
4945
+ {
4946
+ "text": "1 x Einzweckgutschein 20 % ····-····-JJJ2",
4947
+ "width": 7,
4948
+ "align": "left"
4949
+ },
4950
+ {
4951
+ "text": "50,00 A",
4952
+ "width": 5,
4953
+ "align": "right"
4954
+ }
4955
+ ]
4956
+ },
4957
+ {
4958
+ "kind": "space",
4959
+ "lines": 1
4960
+ },
4961
+ {
4962
+ "kind": "columns",
4963
+ "columns": [
4964
+ {
4965
+ "text": "MwSt%",
4966
+ "width": 3,
4967
+ "align": "left"
4968
+ },
4969
+ {
4970
+ "text": "MwSt",
4971
+ "width": 4,
4972
+ "align": "left"
4973
+ },
4974
+ {
4975
+ "text": "Netto",
4976
+ "width": 3,
4977
+ "align": "left"
4978
+ },
4979
+ {
4980
+ "text": "Brutto",
4981
+ "width": 2,
4982
+ "align": "right"
4983
+ }
4984
+ ]
4985
+ },
4986
+ {
4987
+ "kind": "columns",
4988
+ "columns": [
4989
+ {
4990
+ "text": "A 20%",
4991
+ "width": 3,
4992
+ "align": "left"
4993
+ },
4994
+ {
4995
+ "text": "8,33",
4996
+ "width": 4,
4997
+ "align": "left"
4998
+ },
4999
+ {
5000
+ "text": "41,67",
5001
+ "width": 3,
5002
+ "align": "left"
5003
+ },
5004
+ {
5005
+ "text": "50,00",
5006
+ "width": 2,
5007
+ "align": "right"
5008
+ }
5009
+ ]
5010
+ },
5011
+ {
5012
+ "kind": "rule",
5013
+ "char": "-"
5014
+ },
5015
+ {
5016
+ "kind": "columns",
5017
+ "columns": [
5018
+ {
5019
+ "text": "Gesamt:",
5020
+ "width": 6,
5021
+ "align": "left"
5022
+ },
5023
+ {
5024
+ "text": "50,00 €",
5025
+ "width": 6,
5026
+ "align": "right"
5027
+ }
5028
+ ]
5029
+ },
5030
+ {
5031
+ "kind": "columns",
5032
+ "columns": [
5033
+ {
5034
+ "text": "Zahlungsart:",
5035
+ "width": 6,
5036
+ "align": "left"
5037
+ },
5038
+ {
5039
+ "text": "Barzahlung",
5040
+ "width": 6,
5041
+ "align": "right"
5042
+ }
5043
+ ]
5044
+ },
5045
+ {
5046
+ "kind": "space",
5047
+ "lines": 1
5048
+ },
5049
+ {
5050
+ "kind": "qr",
5051
+ "data": "_R1-AT100_KECK-1_KECK-1-ID-2_2026-09-26T10:00:00_50,00_0,00_0,00_0,00_0,00_girlnnGh_ABC123_6Mn4bx4N/M8=_luLGr48WW9JRFAz58ZFJtmBH2i9jCWmie0KQZE3JaDgC1wgIm+Kb4LpTxSnPm4OfhYRKsrAMYMmYHUOi3+XGaQ=="
5052
+ },
5053
+ {
5054
+ "kind": "space",
5055
+ "lines": 1
5056
+ },
5057
+ {
5058
+ "kind": "space",
5059
+ "lines": 1
5060
+ },
5061
+ {
5062
+ "kind": "text",
5063
+ "text": "Bis bald",
5064
+ "align": "center",
5065
+ "bold": false
5066
+ },
5067
+ {
5068
+ "kind": "text",
5069
+ "text": "Danke",
5070
+ "align": "center",
5071
+ "bold": false
5072
+ },
5073
+ {
5074
+ "kind": "space",
5075
+ "lines": 1
5076
+ },
5077
+ {
5078
+ "kind": "banner",
5079
+ "text": "TESTKASSE — kein gültiger Beleg",
5080
+ "tone": "warning"
5081
+ }
5082
+ ]
5083
+ },
5084
+ "issuedVouchers": [
5085
+ {
5086
+ "id": "auto2",
5087
+ "code": "JJJJ-JJJJ-JJJ2",
5088
+ "type": "single_purpose",
5089
+ "index": 0,
5090
+ "codeSuffix": "JJJ2",
5091
+ "faceValueCents": 5000,
5092
+ "validity": {
5093
+ "pattern": "1+3",
5094
+ "redeemableUntil": "2027-09-26",
5095
+ "refundableUntil": "2030-09-26",
5096
+ "validUntil": null
5097
+ }
5098
+ }
5099
+ ]
5100
+ }
5101
+ }
5102
+ },
5103
+ {
5104
+ "name": "sale_multi_purpose_voucher",
5105
+ "endpoint": "createReceipt",
5106
+ "path": "/v3/createReceipt",
5107
+ "params": {
5108
+ "receiptType": "standard",
5109
+ "items": [],
5110
+ "vouchers": [
5111
+ {
5112
+ "action": "sell",
5113
+ "type": "multi_purpose",
5114
+ "amountCents": 5000
5115
+ }
5116
+ ],
5117
+ "payments": [
5118
+ {
5119
+ "method": "cash",
5120
+ "amountCents": 5000
5121
+ }
5122
+ ]
5123
+ },
5124
+ "httpStatus": 200,
5125
+ "headers": {
5126
+ "Kasseneck-Api-Version": "v3",
5127
+ "Access-Control-Expose-Headers": "Kasseneck-Api-Version"
5128
+ },
5129
+ "response": {
5130
+ "status": "success",
5131
+ "message": "",
5132
+ "data": {
5133
+ "is_small_business": false,
5134
+ "company": "Bäckerei Welt",
5135
+ "phone": "+43 1 234",
5136
+ "street": "Hauptplatz 1",
5137
+ "zip": "1010",
5138
+ "city": "Wien",
5139
+ "footer1": "Danke",
5140
+ "footer2": null,
5141
+ "footer3": null,
5142
+ "footer4": null,
5143
+ "logo_url": null,
5144
+ "kreiseck_logo": false,
5145
+ "thanks_message": "Bis bald",
5146
+ "receipt": {
5147
+ "counter": 3,
5148
+ "receiptType": "standard",
5149
+ "zeroKind": null,
5150
+ "receiptId": "KECK-1-ID-3",
5151
+ "cashregisterId": "KECK-1",
5152
+ "timeStamp": "2026-09-26T10:00:00",
5153
+ "vouchers": [
5154
+ {
5155
+ "action": "sell",
5156
+ "type": "value",
5157
+ "voucherType": "multi_purpose",
5158
+ "value": 50,
5159
+ "valueCents": 5000,
5160
+ "name": "Mehrzweckgutschein",
5161
+ "code": "····-····-NNNY",
5162
+ "codeSuffix": "NNNY",
5163
+ "voucherId": "auto4"
5164
+ }
5165
+ ],
5166
+ "paymentMethod": "cash",
5167
+ "customerDetails": null,
5168
+ "legalMessage": null,
5169
+ "customProjectId": null,
5170
+ "creditCardProvider": null,
5171
+ "amountRateStandard": 0,
5172
+ "amountRateReduced1": 0,
5173
+ "amountRateReduced2": 0,
5174
+ "amountRateZero": 0,
5175
+ "amountRateSpecial": 0,
5176
+ "turnoverCounterAES256ICM": "izsnQdMe1xpqCzEZFG8+tg==",
5177
+ "signaturePreviousReceipt": "xxF3t1dE2g0=",
5178
+ "certificateSerialNumber": "ABC123",
5179
+ "fullReceiptId": "00000000000000000000000000000000.00000000000000000000000000000000000000000000000000000000625152eb",
5180
+ "payments": [
5181
+ {
5182
+ "id": "p1",
5183
+ "method": "cash",
5184
+ "amountCents": 5000
5185
+ }
5186
+ ],
5187
+ "sig": "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMTAwX0tFQ0stMV9LRUNLLTEtSUQtM18yMDI2LTA5LTI2VDEwOjAwOjAwXzAsMDBfMCwwMF8wLDAwXzAsMDBfMCwwMF9penNuUWRNZV9BQkMxMjNfeHhGM3QxZEUyZzA9.9dkSuItdy0pVgBoINrkPAJctt5s4y4MO3OFuGGLo05cf04OIXZNP9jNDGv2hiUWg_Geo31l2SizXgvkGhqFW3Q",
5188
+ "signatureSuccess": true,
5189
+ "qr": "_R1-AT100_KECK-1_KECK-1-ID-3_2026-09-26T10:00:00_0,00_0,00_0,00_0,00_0,00_izsnQdMe_ABC123_xxF3t1dE2g0=_9dkSuItdy0pVgBoINrkPAJctt5s4y4MO3OFuGGLo05cf04OIXZNP9jNDGv2hiUWg/Geo31l2SizXgvkGhqFW3Q==",
5190
+ "headerVersionId": "auto1",
5191
+ "layoutRuleset": 2,
5192
+ "items": []
5193
+ },
5194
+ "taxNumber": "12-345/6789",
5195
+ "vatId": "ATU12345678",
5196
+ "headerVersionId": "auto1",
5197
+ "registrationInfo": null,
5198
+ "testCashregister": true,
5199
+ "testSignature": false,
5200
+ "logo_scale": "M",
5201
+ "layout": {
5202
+ "paperSize": "mm80",
5203
+ "ruleset": 2,
5204
+ "lines": [
5205
+ {
5206
+ "kind": "banner",
5207
+ "text": "TESTKASSE — kein gültiger Beleg",
5208
+ "tone": "warning"
5209
+ },
5210
+ {
5211
+ "kind": "text",
5212
+ "text": "Bäckerei Welt",
5213
+ "align": "center",
5214
+ "bold": true
5215
+ },
5216
+ {
5217
+ "kind": "text",
5218
+ "text": "Hauptplatz 1",
5219
+ "align": "center",
5220
+ "bold": false
5221
+ },
5222
+ {
5223
+ "kind": "text",
5224
+ "text": "1010 Wien",
5225
+ "align": "center",
5226
+ "bold": false
5227
+ },
5228
+ {
5229
+ "kind": "text",
5230
+ "text": "ATU12345678",
5231
+ "align": "center",
5232
+ "bold": false
5233
+ },
5234
+ {
5235
+ "kind": "text",
5236
+ "text": "+43 1 234",
5237
+ "align": "center",
5238
+ "bold": false
5239
+ },
5240
+ {
5241
+ "kind": "space",
5242
+ "lines": 1
5243
+ },
5244
+ {
5245
+ "kind": "columns",
5246
+ "columns": [
5247
+ {
5248
+ "text": "Datum:",
5249
+ "width": 4,
5250
+ "align": "left"
5251
+ },
5252
+ {
5253
+ "text": "26.09.2026 10:00:00",
5254
+ "width": 8,
5255
+ "align": "right"
5256
+ }
5257
+ ]
5258
+ },
5259
+ {
5260
+ "kind": "columns",
5261
+ "columns": [
5262
+ {
5263
+ "text": "Kassen-ID:",
5264
+ "width": 6,
5265
+ "align": "left"
5266
+ },
5267
+ {
5268
+ "text": "KECK-1",
5269
+ "width": 6,
5270
+ "align": "right"
5271
+ }
5272
+ ]
5273
+ },
5274
+ {
5275
+ "kind": "columns",
5276
+ "columns": [
5277
+ {
5278
+ "text": "Beleg-ID:",
5279
+ "width": 6,
5280
+ "align": "left"
5281
+ },
5282
+ {
5283
+ "text": "KECK-1-ID-3",
5284
+ "width": 6,
5285
+ "align": "right"
5286
+ }
5287
+ ]
5288
+ },
5289
+ {
5290
+ "kind": "space",
5291
+ "lines": 1
5292
+ },
5293
+ {
5294
+ "kind": "columns",
5295
+ "columns": [
5296
+ {
5297
+ "text": "1 x Wertgutschein ····-····-NNNY - Mehrzweckgutschein",
5298
+ "width": 7,
5299
+ "align": "left"
5300
+ },
5301
+ {
5302
+ "text": "50,00 D",
5303
+ "width": 5,
5304
+ "align": "right"
5305
+ }
5306
+ ]
5307
+ },
5308
+ {
5309
+ "kind": "space",
5310
+ "lines": 1
5311
+ },
5312
+ {
5313
+ "kind": "columns",
5314
+ "columns": [
5315
+ {
5316
+ "text": "MwSt%",
5317
+ "width": 3,
5318
+ "align": "left"
5319
+ },
5320
+ {
5321
+ "text": "MwSt",
5322
+ "width": 4,
5323
+ "align": "left"
5324
+ },
5325
+ {
5326
+ "text": "Netto",
5327
+ "width": 3,
5328
+ "align": "left"
5329
+ },
5330
+ {
5331
+ "text": "Brutto",
5332
+ "width": 2,
5333
+ "align": "right"
5334
+ }
5335
+ ]
5336
+ },
5337
+ {
5338
+ "kind": "columns",
5339
+ "columns": [
5340
+ {
5341
+ "text": "D 0%",
5342
+ "width": 3,
5343
+ "align": "left"
5344
+ },
5345
+ {
5346
+ "text": "0,00",
5347
+ "width": 4,
5348
+ "align": "left"
5349
+ },
5350
+ {
5351
+ "text": "50,00",
5352
+ "width": 3,
5353
+ "align": "left"
5354
+ },
5355
+ {
5356
+ "text": "50,00",
5357
+ "width": 2,
5358
+ "align": "right"
5359
+ }
5360
+ ]
5361
+ },
5362
+ {
5363
+ "kind": "rule",
5364
+ "char": "-"
5365
+ },
5366
+ {
5367
+ "kind": "columns",
5368
+ "columns": [
5369
+ {
5370
+ "text": "Gesamt:",
5371
+ "width": 6,
5372
+ "align": "left"
5373
+ },
5374
+ {
5375
+ "text": "50,00 €",
5376
+ "width": 6,
5377
+ "align": "right"
5378
+ }
5379
+ ]
5380
+ },
5381
+ {
5382
+ "kind": "columns",
5383
+ "columns": [
5384
+ {
5385
+ "text": "Zahlungsart:",
5386
+ "width": 6,
5387
+ "align": "left"
5388
+ },
5389
+ {
5390
+ "text": "Barzahlung",
5391
+ "width": 6,
5392
+ "align": "right"
5393
+ }
5394
+ ]
5395
+ },
5396
+ {
5397
+ "kind": "space",
5398
+ "lines": 1
5399
+ },
5400
+ {
5401
+ "kind": "qr",
5402
+ "data": "_R1-AT100_KECK-1_KECK-1-ID-3_2026-09-26T10:00:00_0,00_0,00_0,00_0,00_0,00_izsnQdMe_ABC123_xxF3t1dE2g0=_9dkSuItdy0pVgBoINrkPAJctt5s4y4MO3OFuGGLo05cf04OIXZNP9jNDGv2hiUWg/Geo31l2SizXgvkGhqFW3Q=="
5403
+ },
5404
+ {
5405
+ "kind": "space",
5406
+ "lines": 1
5407
+ },
5408
+ {
5409
+ "kind": "space",
5410
+ "lines": 1
5411
+ },
5412
+ {
5413
+ "kind": "text",
5414
+ "text": "Bis bald",
5415
+ "align": "center",
5416
+ "bold": false
5417
+ },
5418
+ {
5419
+ "kind": "text",
5420
+ "text": "Danke",
5421
+ "align": "center",
5422
+ "bold": false
5423
+ },
5424
+ {
5425
+ "kind": "space",
5426
+ "lines": 1
5427
+ },
5428
+ {
5429
+ "kind": "banner",
5430
+ "text": "TESTKASSE — kein gültiger Beleg",
5431
+ "tone": "warning"
5432
+ }
5433
+ ]
5434
+ },
5435
+ "issuedVouchers": [
5436
+ {
5437
+ "id": "auto4",
5438
+ "code": "NNNN-NNNN-NNNY",
5439
+ "type": "multi_purpose",
5440
+ "index": 0,
5441
+ "codeSuffix": "NNNY",
5442
+ "faceValueCents": 5000,
5443
+ "validity": {
5444
+ "pattern": "1+3",
5445
+ "redeemableUntil": "2027-09-26",
5446
+ "refundableUntil": "2030-09-26",
5447
+ "validUntil": null
5448
+ }
5449
+ }
5450
+ ]
5451
+ }
5452
+ }
5453
+ },
5454
+ {
5455
+ "name": "sale_service_voucher",
5456
+ "endpoint": "createReceipt",
5457
+ "path": "/v3/createReceipt",
5458
+ "params": {
5459
+ "receiptType": "standard",
5460
+ "items": [],
5461
+ "vouchers": [
5462
+ {
5463
+ "action": "sell",
5464
+ "type": "service",
5465
+ "articleId": "art_mani",
5466
+ "quantity": 2
5467
+ }
5468
+ ],
5469
+ "payments": [
5470
+ {
5471
+ "method": "cash",
5472
+ "amountCents": 7000
5473
+ }
5474
+ ]
5475
+ },
5476
+ "httpStatus": 200,
5477
+ "headers": {
5478
+ "Kasseneck-Api-Version": "v3",
5479
+ "Access-Control-Expose-Headers": "Kasseneck-Api-Version"
5480
+ },
5481
+ "response": {
5482
+ "status": "success",
5483
+ "message": "",
5484
+ "data": {
5485
+ "is_small_business": false,
5486
+ "company": "Bäckerei Welt",
5487
+ "phone": "+43 1 234",
5488
+ "street": "Hauptplatz 1",
5489
+ "zip": "1010",
5490
+ "city": "Wien",
5491
+ "footer1": "Danke",
5492
+ "footer2": null,
5493
+ "footer3": null,
5494
+ "footer4": null,
5495
+ "logo_url": null,
5496
+ "kreiseck_logo": false,
5497
+ "thanks_message": "Bis bald",
5498
+ "receipt": {
5499
+ "counter": 4,
5500
+ "receiptType": "standard",
5501
+ "zeroKind": null,
5502
+ "receiptId": "KECK-1-ID-4",
5503
+ "cashregisterId": "KECK-1",
5504
+ "timeStamp": "2026-09-26T10:00:00",
5505
+ "vouchers": [
5506
+ {
5507
+ "action": "sell",
5508
+ "type": "service",
5509
+ "voucherType": "service",
5510
+ "amountCents": 7000,
5511
+ "vatRateBp": 2000,
5512
+ "article": {
5513
+ "id": "art_mani",
5514
+ "name": "Maniküre",
5515
+ "vatRateBp": 2000,
5516
+ "priceCents": 3500
5517
+ },
5518
+ "quantity": 2,
5519
+ "name": "Leistungsgutschein 2× Maniküre",
5520
+ "code": "····-····-RRRF",
5521
+ "codeSuffix": "RRRF",
5522
+ "voucherId": "auto6"
5523
+ }
5524
+ ],
5525
+ "paymentMethod": "cash",
5526
+ "customerDetails": null,
5527
+ "legalMessage": null,
5528
+ "customProjectId": null,
5529
+ "creditCardProvider": null,
5530
+ "amountRateStandard": 70,
5531
+ "amountRateReduced1": 0,
5532
+ "amountRateReduced2": 0,
5533
+ "amountRateZero": 0,
5534
+ "amountRateSpecial": 0,
5535
+ "turnoverCounterAES256ICM": "V2ekatXgznVxKgmTPRuabQ==",
5536
+ "signaturePreviousReceipt": "7kGvRsFiNGA=",
5537
+ "certificateSerialNumber": "ABC123",
5538
+ "fullReceiptId": "00000000000000000000000000000000.000000000000000000000000000000000000000000000000000000008c0b9c7f",
5539
+ "payments": [
5540
+ {
5541
+ "id": "p1",
5542
+ "method": "cash",
5543
+ "amountCents": 7000
5544
+ }
5545
+ ],
5546
+ "sig": "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMTAwX0tFQ0stMV9LRUNLLTEtSUQtNF8yMDI2LTA5LTI2VDEwOjAwOjAwXzcwLDAwXzAsMDBfMCwwMF8wLDAwXzAsMDBfVjJla2F0WGdfQUJDMTIzXzdrR3ZSc0ZpTkdBPQ.eu4GvJo8pYi5YhammqR4esmBPHyYC1e2VJL4K1qkzIPm7gOn5vWgQieC2Nvt8xhxm2Oh-hTALIHhGkCMK4cihA",
5547
+ "signatureSuccess": true,
5548
+ "qr": "_R1-AT100_KECK-1_KECK-1-ID-4_2026-09-26T10:00:00_70,00_0,00_0,00_0,00_0,00_V2ekatXg_ABC123_7kGvRsFiNGA=_eu4GvJo8pYi5YhammqR4esmBPHyYC1e2VJL4K1qkzIPm7gOn5vWgQieC2Nvt8xhxm2Oh+hTALIHhGkCMK4cihA==",
5549
+ "headerVersionId": "auto1",
5550
+ "layoutRuleset": 2,
5551
+ "items": [
5552
+ {
5553
+ "name": "Leistungsgutschein 2× Maniküre",
5554
+ "vat": 20,
5555
+ "vatRate": 20,
5556
+ "priceOne": 70,
5557
+ "priceOneCents": 7000,
5558
+ "unitPriceCents": 7000,
5559
+ "amount": 1,
5560
+ "quantity": 1,
5561
+ "kind": "voucher"
5562
+ }
5563
+ ]
5564
+ },
5565
+ "taxNumber": "12-345/6789",
5566
+ "vatId": "ATU12345678",
5567
+ "headerVersionId": "auto1",
5568
+ "registrationInfo": null,
5569
+ "testCashregister": true,
5570
+ "testSignature": false,
5571
+ "logo_scale": "M",
5572
+ "layout": {
5573
+ "paperSize": "mm80",
5574
+ "ruleset": 2,
5575
+ "lines": [
5576
+ {
5577
+ "kind": "banner",
5578
+ "text": "TESTKASSE — kein gültiger Beleg",
5579
+ "tone": "warning"
5580
+ },
5581
+ {
5582
+ "kind": "text",
5583
+ "text": "Bäckerei Welt",
5584
+ "align": "center",
5585
+ "bold": true
5586
+ },
5587
+ {
5588
+ "kind": "text",
5589
+ "text": "Hauptplatz 1",
5590
+ "align": "center",
5591
+ "bold": false
5592
+ },
5593
+ {
5594
+ "kind": "text",
5595
+ "text": "1010 Wien",
5596
+ "align": "center",
5597
+ "bold": false
5598
+ },
5599
+ {
5600
+ "kind": "text",
5601
+ "text": "ATU12345678",
5602
+ "align": "center",
5603
+ "bold": false
5604
+ },
5605
+ {
5606
+ "kind": "text",
5607
+ "text": "+43 1 234",
5608
+ "align": "center",
5609
+ "bold": false
5610
+ },
5611
+ {
5612
+ "kind": "space",
5613
+ "lines": 1
5614
+ },
5615
+ {
5616
+ "kind": "columns",
5617
+ "columns": [
5618
+ {
5619
+ "text": "Datum:",
5620
+ "width": 4,
5621
+ "align": "left"
5622
+ },
5623
+ {
5624
+ "text": "26.09.2026 10:00:00",
5625
+ "width": 8,
5626
+ "align": "right"
5627
+ }
5628
+ ]
5629
+ },
5630
+ {
5631
+ "kind": "columns",
5632
+ "columns": [
5633
+ {
5634
+ "text": "Kassen-ID:",
5635
+ "width": 6,
5636
+ "align": "left"
5637
+ },
5638
+ {
5639
+ "text": "KECK-1",
5640
+ "width": 6,
5641
+ "align": "right"
5642
+ }
5643
+ ]
5644
+ },
5645
+ {
5646
+ "kind": "columns",
5647
+ "columns": [
5648
+ {
5649
+ "text": "Beleg-ID:",
5650
+ "width": 6,
5651
+ "align": "left"
5652
+ },
5653
+ {
5654
+ "text": "KECK-1-ID-4",
5655
+ "width": 6,
5656
+ "align": "right"
5657
+ }
5658
+ ]
5659
+ },
5660
+ {
5661
+ "kind": "space",
5662
+ "lines": 1
5663
+ },
5664
+ {
5665
+ "kind": "columns",
5666
+ "columns": [
5667
+ {
5668
+ "text": "1 x Leistungsgutschein 2× Maniküre ····-····-RRRF",
5669
+ "width": 7,
5670
+ "align": "left"
5671
+ },
5672
+ {
5673
+ "text": "70,00 A",
5674
+ "width": 5,
5675
+ "align": "right"
5676
+ }
5677
+ ]
5678
+ },
5679
+ {
5680
+ "kind": "space",
5681
+ "lines": 1
5682
+ },
5683
+ {
5684
+ "kind": "columns",
5685
+ "columns": [
5686
+ {
5687
+ "text": "MwSt%",
5688
+ "width": 3,
5689
+ "align": "left"
5690
+ },
5691
+ {
5692
+ "text": "MwSt",
5693
+ "width": 4,
5694
+ "align": "left"
5695
+ },
5696
+ {
5697
+ "text": "Netto",
5698
+ "width": 3,
5699
+ "align": "left"
5700
+ },
5701
+ {
5702
+ "text": "Brutto",
5703
+ "width": 2,
5704
+ "align": "right"
5705
+ }
5706
+ ]
5707
+ },
5708
+ {
5709
+ "kind": "columns",
5710
+ "columns": [
5711
+ {
5712
+ "text": "A 20%",
5713
+ "width": 3,
5714
+ "align": "left"
5715
+ },
5716
+ {
5717
+ "text": "11,67",
5718
+ "width": 4,
5719
+ "align": "left"
5720
+ },
5721
+ {
5722
+ "text": "58,33",
5723
+ "width": 3,
5724
+ "align": "left"
5725
+ },
5726
+ {
5727
+ "text": "70,00",
5728
+ "width": 2,
5729
+ "align": "right"
5730
+ }
5731
+ ]
5732
+ },
5733
+ {
5734
+ "kind": "rule",
5735
+ "char": "-"
5736
+ },
5737
+ {
5738
+ "kind": "columns",
5739
+ "columns": [
5740
+ {
5741
+ "text": "Gesamt:",
5742
+ "width": 6,
5743
+ "align": "left"
5744
+ },
5745
+ {
5746
+ "text": "70,00 €",
5747
+ "width": 6,
5748
+ "align": "right"
5749
+ }
5750
+ ]
5751
+ },
5752
+ {
5753
+ "kind": "columns",
5754
+ "columns": [
5755
+ {
5756
+ "text": "Zahlungsart:",
5757
+ "width": 6,
5758
+ "align": "left"
5759
+ },
5760
+ {
5761
+ "text": "Barzahlung",
5762
+ "width": 6,
5763
+ "align": "right"
5764
+ }
5765
+ ]
5766
+ },
5767
+ {
5768
+ "kind": "space",
5769
+ "lines": 1
5770
+ },
5771
+ {
5772
+ "kind": "qr",
5773
+ "data": "_R1-AT100_KECK-1_KECK-1-ID-4_2026-09-26T10:00:00_70,00_0,00_0,00_0,00_0,00_V2ekatXg_ABC123_7kGvRsFiNGA=_eu4GvJo8pYi5YhammqR4esmBPHyYC1e2VJL4K1qkzIPm7gOn5vWgQieC2Nvt8xhxm2Oh+hTALIHhGkCMK4cihA=="
5774
+ },
5775
+ {
5776
+ "kind": "space",
5777
+ "lines": 1
5778
+ },
5779
+ {
5780
+ "kind": "space",
5781
+ "lines": 1
5782
+ },
5783
+ {
5784
+ "kind": "text",
5785
+ "text": "Bis bald",
5786
+ "align": "center",
5787
+ "bold": false
5788
+ },
5789
+ {
5790
+ "kind": "text",
5791
+ "text": "Danke",
5792
+ "align": "center",
5793
+ "bold": false
5794
+ },
5795
+ {
5796
+ "kind": "space",
5797
+ "lines": 1
5798
+ },
5799
+ {
5800
+ "kind": "banner",
5801
+ "text": "TESTKASSE — kein gültiger Beleg",
5802
+ "tone": "warning"
5803
+ }
5804
+ ]
5805
+ },
5806
+ "issuedVouchers": [
5807
+ {
5808
+ "id": "auto6",
5809
+ "code": "RRRR-RRRR-RRRF",
5810
+ "type": "service",
5811
+ "index": 0,
5812
+ "codeSuffix": "RRRF",
5813
+ "faceValueCents": 7000,
5814
+ "quantity": 2,
5815
+ "validity": {
5816
+ "pattern": "unlimited",
5817
+ "redeemableUntil": null,
5818
+ "refundableUntil": null,
5819
+ "validUntil": null
5820
+ }
5821
+ }
5822
+ ]
5823
+ }
5824
+ }
5825
+ },
5826
+ {
5827
+ "name": "redeem_multi_purpose_voucher",
5828
+ "endpoint": "createReceipt",
5829
+ "path": "/v3/createReceipt",
5830
+ "params": {
5831
+ "receiptType": "standard",
5832
+ "items": [
5833
+ {
5834
+ "name": "Blumenstrauß",
5835
+ "amount": 1,
5836
+ "priceOneCents": 2240,
5837
+ "vat": 20
5838
+ }
5839
+ ],
5840
+ "vouchers": [
5841
+ {
5842
+ "action": "redeem",
5843
+ "type": "multi_purpose",
5844
+ "code": "DTD5-9ECF-5KNZ",
5845
+ "amountCents": 1750
5846
+ }
5847
+ ],
5848
+ "payments": [
5849
+ {
5850
+ "method": "cash",
5851
+ "amountCents": 490
5852
+ }
5853
+ ]
5854
+ },
5855
+ "httpStatus": 200,
5856
+ "headers": {
5857
+ "Kasseneck-Api-Version": "v3",
5858
+ "Access-Control-Expose-Headers": "Kasseneck-Api-Version"
5859
+ },
5860
+ "response": {
5861
+ "status": "success",
5862
+ "message": "",
5863
+ "data": {
5864
+ "is_small_business": false,
5865
+ "company": "Bäckerei Welt",
5866
+ "phone": "+43 1 234",
5867
+ "street": "Hauptplatz 1",
5868
+ "zip": "1010",
5869
+ "city": "Wien",
5870
+ "footer1": "Danke",
5871
+ "footer2": null,
5872
+ "footer3": null,
5873
+ "footer4": null,
5874
+ "logo_url": null,
5875
+ "kreiseck_logo": false,
5876
+ "thanks_message": "Bis bald",
5877
+ "receipt": {
5878
+ "counter": 5,
5879
+ "receiptType": "standard",
5880
+ "zeroKind": null,
5881
+ "receiptId": "KECK-1-ID-5",
5882
+ "cashregisterId": "KECK-1",
5883
+ "timeStamp": "2026-09-26T10:00:00",
5884
+ "vouchers": [
5885
+ {
5886
+ "action": "redeem",
5887
+ "type": "value",
5888
+ "voucherType": "multi_purpose",
5889
+ "value": 17.5,
5890
+ "valueCents": 1750,
5891
+ "name": "Gutschein",
5892
+ "code": "····-····-5KNZ",
5893
+ "codeSuffix": "5KNZ",
5894
+ "voucherId": "gmz1",
5895
+ "balanceAfterCents": 3250
5896
+ }
5897
+ ],
5898
+ "paymentMethod": "cash",
5899
+ "customerDetails": null,
5900
+ "legalMessage": null,
5901
+ "customProjectId": null,
5902
+ "creditCardProvider": null,
5903
+ "amountRateStandard": 22.4,
5904
+ "amountRateReduced1": 0,
5905
+ "amountRateReduced2": 0,
5906
+ "amountRateZero": 0,
5907
+ "amountRateSpecial": 0,
5908
+ "turnoverCounterAES256ICM": "X1ROZYYsXJxg0xCA9eb0Tw==",
5909
+ "signaturePreviousReceipt": "QOkpGhikZFE=",
5910
+ "certificateSerialNumber": "ABC123",
5911
+ "fullReceiptId": "00000000000000000000000000000000.000000000000000000000000000000000000000000000000000000008d3ea402",
5912
+ "payments": [
5913
+ {
5914
+ "id": "p1",
5915
+ "method": "cash",
5916
+ "amountCents": 490
5917
+ }
5918
+ ],
5919
+ "sig": "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMTAwX0tFQ0stMV9LRUNLLTEtSUQtNV8yMDI2LTA5LTI2VDEwOjAwOjAwXzIyLDQwXzAsMDBfMCwwMF8wLDAwXzAsMDBfWDFST1pZWXNfQUJDMTIzX1FPa3BHaGlrWkZFPQ.XuW0DkUc9uQzO0m851-naunhzUGw3XEDX231_miD0D68z591fw3vn7EMT3Tb4DT4xINpp4g8T93XDpTs6NVbeA",
5920
+ "signatureSuccess": true,
5921
+ "qr": "_R1-AT100_KECK-1_KECK-1-ID-5_2026-09-26T10:00:00_22,40_0,00_0,00_0,00_0,00_X1ROZYYs_ABC123_QOkpGhikZFE=_XuW0DkUc9uQzO0m851+naunhzUGw3XEDX231/miD0D68z591fw3vn7EMT3Tb4DT4xINpp4g8T93XDpTs6NVbeA==",
5922
+ "headerVersionId": "auto1",
5923
+ "layoutRuleset": 2,
5924
+ "items": [
5925
+ {
5926
+ "name": "Blumenstrauß",
5927
+ "amount": 1,
5928
+ "priceOneCents": 2240,
5929
+ "vat": 20,
5930
+ "priceOne": 22.4
5931
+ }
5932
+ ]
5933
+ },
5934
+ "taxNumber": "12-345/6789",
5935
+ "vatId": "ATU12345678",
5936
+ "headerVersionId": "auto1",
5937
+ "registrationInfo": null,
5938
+ "testCashregister": true,
5939
+ "testSignature": false,
5940
+ "logo_scale": "M",
5941
+ "layout": {
5942
+ "paperSize": "mm80",
5943
+ "ruleset": 2,
5944
+ "lines": [
5945
+ {
5946
+ "kind": "banner",
5947
+ "text": "TESTKASSE — kein gültiger Beleg",
5948
+ "tone": "warning"
5949
+ },
5950
+ {
5951
+ "kind": "text",
5952
+ "text": "Bäckerei Welt",
5953
+ "align": "center",
5954
+ "bold": true
5955
+ },
5956
+ {
5957
+ "kind": "text",
5958
+ "text": "Hauptplatz 1",
5959
+ "align": "center",
5960
+ "bold": false
5961
+ },
5962
+ {
5963
+ "kind": "text",
5964
+ "text": "1010 Wien",
5965
+ "align": "center",
5966
+ "bold": false
5967
+ },
5968
+ {
5969
+ "kind": "text",
5970
+ "text": "ATU12345678",
5971
+ "align": "center",
5972
+ "bold": false
5973
+ },
5974
+ {
5975
+ "kind": "text",
5976
+ "text": "+43 1 234",
5977
+ "align": "center",
5978
+ "bold": false
5979
+ },
5980
+ {
5981
+ "kind": "space",
5982
+ "lines": 1
5983
+ },
5984
+ {
5985
+ "kind": "columns",
5986
+ "columns": [
5987
+ {
5988
+ "text": "Datum:",
5989
+ "width": 4,
5990
+ "align": "left"
5991
+ },
5992
+ {
5993
+ "text": "26.09.2026 10:00:00",
5994
+ "width": 8,
5995
+ "align": "right"
5996
+ }
5997
+ ]
5998
+ },
5999
+ {
6000
+ "kind": "columns",
6001
+ "columns": [
6002
+ {
6003
+ "text": "Kassen-ID:",
6004
+ "width": 6,
6005
+ "align": "left"
6006
+ },
6007
+ {
6008
+ "text": "KECK-1",
6009
+ "width": 6,
6010
+ "align": "right"
6011
+ }
6012
+ ]
6013
+ },
6014
+ {
6015
+ "kind": "columns",
6016
+ "columns": [
6017
+ {
6018
+ "text": "Beleg-ID:",
6019
+ "width": 6,
6020
+ "align": "left"
6021
+ },
6022
+ {
6023
+ "text": "KECK-1-ID-5",
6024
+ "width": 6,
6025
+ "align": "right"
6026
+ }
6027
+ ]
6028
+ },
6029
+ {
6030
+ "kind": "space",
6031
+ "lines": 1
6032
+ },
6033
+ {
6034
+ "kind": "columns",
6035
+ "columns": [
6036
+ {
6037
+ "text": "1 x Blumenstrauß",
6038
+ "width": 7,
6039
+ "align": "left"
6040
+ },
6041
+ {
6042
+ "text": "22,40 A",
6043
+ "width": 5,
6044
+ "align": "right"
6045
+ }
6046
+ ]
6047
+ },
6048
+ {
6049
+ "kind": "space",
6050
+ "lines": 1
6051
+ },
6052
+ {
6053
+ "kind": "columns",
6054
+ "columns": [
6055
+ {
6056
+ "text": "MwSt%",
6057
+ "width": 3,
6058
+ "align": "left"
6059
+ },
6060
+ {
6061
+ "text": "MwSt",
6062
+ "width": 4,
6063
+ "align": "left"
6064
+ },
6065
+ {
6066
+ "text": "Netto",
6067
+ "width": 3,
6068
+ "align": "left"
6069
+ },
6070
+ {
6071
+ "text": "Brutto",
6072
+ "width": 2,
6073
+ "align": "right"
6074
+ }
6075
+ ]
6076
+ },
6077
+ {
6078
+ "kind": "columns",
6079
+ "columns": [
6080
+ {
6081
+ "text": "A 20%",
6082
+ "width": 3,
6083
+ "align": "left"
6084
+ },
6085
+ {
6086
+ "text": "3,73",
6087
+ "width": 4,
6088
+ "align": "left"
6089
+ },
6090
+ {
6091
+ "text": "18,67",
6092
+ "width": 3,
6093
+ "align": "left"
6094
+ },
6095
+ {
6096
+ "text": "22,40",
6097
+ "width": 2,
6098
+ "align": "right"
6099
+ }
6100
+ ]
6101
+ },
6102
+ {
6103
+ "kind": "rule",
6104
+ "char": "-"
6105
+ },
6106
+ {
6107
+ "kind": "columns",
6108
+ "columns": [
6109
+ {
6110
+ "text": "Zwischensumme",
6111
+ "width": 6,
6112
+ "align": "left"
6113
+ },
6114
+ {
6115
+ "text": "22,40 €",
6116
+ "width": 6,
6117
+ "align": "right"
6118
+ }
6119
+ ]
6120
+ },
6121
+ {
6122
+ "kind": "columns",
6123
+ "columns": [
6124
+ {
6125
+ "text": "Wertgutschein ····-····-5KNZ - Gutschein",
6126
+ "width": 8,
6127
+ "align": "left"
6128
+ },
6129
+ {
6130
+ "text": "-17,50 €",
6131
+ "width": 4,
6132
+ "align": "right"
6133
+ }
6134
+ ]
6135
+ },
6136
+ {
6137
+ "kind": "rule",
6138
+ "char": "-"
6139
+ },
6140
+ {
6141
+ "kind": "columns",
6142
+ "columns": [
6143
+ {
6144
+ "text": "Gesamt:",
6145
+ "width": 6,
6146
+ "align": "left"
6147
+ },
6148
+ {
6149
+ "text": "4,90 €",
6150
+ "width": 6,
6151
+ "align": "right"
6152
+ }
6153
+ ]
6154
+ },
6155
+ {
6156
+ "kind": "columns",
6157
+ "columns": [
6158
+ {
6159
+ "text": "Zahlungsart:",
6160
+ "width": 6,
6161
+ "align": "left"
6162
+ },
6163
+ {
6164
+ "text": "Barzahlung",
6165
+ "width": 6,
6166
+ "align": "right"
6167
+ }
6168
+ ]
6169
+ },
6170
+ {
6171
+ "kind": "space",
6172
+ "lines": 1
6173
+ },
6174
+ {
6175
+ "kind": "qr",
6176
+ "data": "_R1-AT100_KECK-1_KECK-1-ID-5_2026-09-26T10:00:00_22,40_0,00_0,00_0,00_0,00_X1ROZYYs_ABC123_QOkpGhikZFE=_XuW0DkUc9uQzO0m851+naunhzUGw3XEDX231/miD0D68z591fw3vn7EMT3Tb4DT4xINpp4g8T93XDpTs6NVbeA=="
6177
+ },
6178
+ {
6179
+ "kind": "space",
6180
+ "lines": 1
6181
+ },
6182
+ {
6183
+ "kind": "space",
6184
+ "lines": 1
6185
+ },
6186
+ {
6187
+ "kind": "text",
6188
+ "text": "Bis bald",
6189
+ "align": "center",
6190
+ "bold": false
6191
+ },
6192
+ {
6193
+ "kind": "text",
6194
+ "text": "Danke",
6195
+ "align": "center",
6196
+ "bold": false
6197
+ },
6198
+ {
6199
+ "kind": "space",
6200
+ "lines": 1
6201
+ },
6202
+ {
6203
+ "kind": "banner",
6204
+ "text": "TESTKASSE — kein gültiger Beleg",
6205
+ "tone": "warning"
6206
+ }
6207
+ ]
6208
+ },
6209
+ "issuedVouchers": []
6210
+ }
6211
+ }
6212
+ },
6213
+ {
6214
+ "name": "redeem_single_purpose_voucher",
6215
+ "endpoint": "createReceipt",
6216
+ "path": "/v3/createReceipt",
6217
+ "params": {
6218
+ "receiptType": "standard",
6219
+ "items": [
6220
+ {
6221
+ "name": "Kaffee",
6222
+ "amount": 2,
6223
+ "priceOneCents": 320,
6224
+ "vat": 20
6225
+ }
6226
+ ],
6227
+ "vouchers": [
6228
+ {
6229
+ "action": "redeem",
6230
+ "type": "single_purpose",
6231
+ "code": "5TD5-9ECF-5KN2",
6232
+ "amountCents": 300
6233
+ }
6234
+ ],
6235
+ "payments": [
6236
+ {
6237
+ "method": "cash",
6238
+ "amountCents": 340
6239
+ }
6240
+ ]
6241
+ },
6242
+ "httpStatus": 200,
6243
+ "headers": {
6244
+ "Kasseneck-Api-Version": "v3",
6245
+ "Access-Control-Expose-Headers": "Kasseneck-Api-Version"
6246
+ },
6247
+ "response": {
6248
+ "status": "success",
6249
+ "message": "",
6250
+ "data": {
6251
+ "is_small_business": false,
6252
+ "company": "Bäckerei Welt",
6253
+ "phone": "+43 1 234",
6254
+ "street": "Hauptplatz 1",
6255
+ "zip": "1010",
6256
+ "city": "Wien",
6257
+ "footer1": "Danke",
6258
+ "footer2": null,
6259
+ "footer3": null,
6260
+ "footer4": null,
6261
+ "logo_url": null,
6262
+ "kreiseck_logo": false,
6263
+ "thanks_message": "Bis bald",
6264
+ "receipt": {
6265
+ "counter": 6,
6266
+ "receiptType": "standard",
6267
+ "zeroKind": null,
6268
+ "receiptId": "KECK-1-ID-6",
6269
+ "cashregisterId": "KECK-1",
6270
+ "timeStamp": "2026-09-26T10:00:00",
6271
+ "vouchers": [
6272
+ {
6273
+ "action": "redeem",
6274
+ "type": "single_purpose",
6275
+ "voucherType": "single_purpose",
6276
+ "amountCents": 300,
6277
+ "vatRateBp": 2000,
6278
+ "balanceAfterCents": 1700,
6279
+ "taxedWith": "KECK-0-ID-1",
6280
+ "name": "Gutschein",
6281
+ "code": "····-····-5KN2",
6282
+ "codeSuffix": "5KN2",
6283
+ "voucherId": "gez1"
6284
+ }
6285
+ ],
6286
+ "paymentMethod": "cash",
6287
+ "customerDetails": null,
6288
+ "legalMessage": null,
6289
+ "customProjectId": null,
6290
+ "creditCardProvider": null,
6291
+ "amountRateStandard": 3.4,
6292
+ "amountRateReduced1": 0,
6293
+ "amountRateReduced2": 0,
6294
+ "amountRateZero": 0,
6295
+ "amountRateSpecial": 0,
6296
+ "turnoverCounterAES256ICM": "RlNOHtsn9a3wfMGEG9jAxA==",
6297
+ "signaturePreviousReceipt": "VArpzwmbUXc=",
6298
+ "certificateSerialNumber": "ABC123",
6299
+ "fullReceiptId": "00000000000000000000000000000000.00000000000000000000000000000000000000000000000000000000d6d9c909",
6300
+ "payments": [
6301
+ {
6302
+ "id": "p1",
6303
+ "method": "cash",
6304
+ "amountCents": 340
6305
+ }
6306
+ ],
6307
+ "sig": "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMTAwX0tFQ0stMV9LRUNLLTEtSUQtNl8yMDI2LTA5LTI2VDEwOjAwOjAwXzMsNDBfMCwwMF8wLDAwXzAsMDBfMCwwMF9SbE5PSHRzbl9BQkMxMjNfVkFycHp3bWJVWGM9.0cA5v2NZPX46ba0Am9mmjbMehYzfElPGYVnuNZQKdWnbxUAAckXTWzqXZXLscRSb9IIgQIA47MeD3GVY6jWESg",
6308
+ "signatureSuccess": true,
6309
+ "qr": "_R1-AT100_KECK-1_KECK-1-ID-6_2026-09-26T10:00:00_3,40_0,00_0,00_0,00_0,00_RlNOHtsn_ABC123_VArpzwmbUXc=_0cA5v2NZPX46ba0Am9mmjbMehYzfElPGYVnuNZQKdWnbxUAAckXTWzqXZXLscRSb9IIgQIA47MeD3GVY6jWESg==",
6310
+ "headerVersionId": "auto1",
6311
+ "layoutRuleset": 2,
6312
+ "items": [
6313
+ {
6314
+ "name": "Kaffee",
6315
+ "amount": 2,
6316
+ "priceOneCents": 320,
6317
+ "vat": 20,
6318
+ "priceOne": 3.2
6319
+ },
6320
+ {
6321
+ "name": "Gutschein ····-5KN2",
6322
+ "vat": 20,
6323
+ "vatRate": 20,
6324
+ "priceOne": -3,
6325
+ "priceOneCents": -300,
6326
+ "unitPriceCents": -300,
6327
+ "amount": 1,
6328
+ "quantity": 1,
6329
+ "kind": "voucher"
6330
+ }
6331
+ ]
6332
+ },
6333
+ "taxNumber": "12-345/6789",
6334
+ "vatId": "ATU12345678",
6335
+ "headerVersionId": "auto1",
6336
+ "registrationInfo": null,
6337
+ "testCashregister": true,
6338
+ "testSignature": false,
6339
+ "logo_scale": "M",
6340
+ "layout": {
6341
+ "paperSize": "mm80",
6342
+ "ruleset": 2,
6343
+ "lines": [
6344
+ {
6345
+ "kind": "banner",
6346
+ "text": "TESTKASSE — kein gültiger Beleg",
6347
+ "tone": "warning"
6348
+ },
6349
+ {
6350
+ "kind": "text",
6351
+ "text": "Bäckerei Welt",
6352
+ "align": "center",
6353
+ "bold": true
6354
+ },
6355
+ {
6356
+ "kind": "text",
6357
+ "text": "Hauptplatz 1",
6358
+ "align": "center",
6359
+ "bold": false
6360
+ },
6361
+ {
6362
+ "kind": "text",
6363
+ "text": "1010 Wien",
6364
+ "align": "center",
6365
+ "bold": false
6366
+ },
6367
+ {
6368
+ "kind": "text",
6369
+ "text": "ATU12345678",
6370
+ "align": "center",
6371
+ "bold": false
6372
+ },
6373
+ {
6374
+ "kind": "text",
6375
+ "text": "+43 1 234",
6376
+ "align": "center",
6377
+ "bold": false
6378
+ },
6379
+ {
6380
+ "kind": "space",
6381
+ "lines": 1
6382
+ },
6383
+ {
6384
+ "kind": "columns",
6385
+ "columns": [
6386
+ {
6387
+ "text": "Datum:",
6388
+ "width": 4,
6389
+ "align": "left"
6390
+ },
6391
+ {
6392
+ "text": "26.09.2026 10:00:00",
6393
+ "width": 8,
6394
+ "align": "right"
6395
+ }
6396
+ ]
6397
+ },
6398
+ {
6399
+ "kind": "columns",
6400
+ "columns": [
6401
+ {
6402
+ "text": "Kassen-ID:",
6403
+ "width": 6,
6404
+ "align": "left"
6405
+ },
6406
+ {
6407
+ "text": "KECK-1",
6408
+ "width": 6,
6409
+ "align": "right"
6410
+ }
6411
+ ]
6412
+ },
6413
+ {
6414
+ "kind": "columns",
6415
+ "columns": [
6416
+ {
6417
+ "text": "Beleg-ID:",
6418
+ "width": 6,
6419
+ "align": "left"
6420
+ },
6421
+ {
6422
+ "text": "KECK-1-ID-6",
6423
+ "width": 6,
6424
+ "align": "right"
6425
+ }
6426
+ ]
6427
+ },
6428
+ {
6429
+ "kind": "space",
6430
+ "lines": 1
6431
+ },
6432
+ {
6433
+ "kind": "columns",
6434
+ "columns": [
6435
+ {
6436
+ "text": "2 x Kaffee je 3,20",
6437
+ "width": 7,
6438
+ "align": "left"
6439
+ },
6440
+ {
6441
+ "text": "6,40 A",
6442
+ "width": 5,
6443
+ "align": "right"
6444
+ }
6445
+ ]
6446
+ },
6447
+ {
6448
+ "kind": "columns",
6449
+ "columns": [
6450
+ {
6451
+ "text": "1 x Gutschein ····-5KN2",
6452
+ "width": 7,
6453
+ "align": "left"
6454
+ },
6455
+ {
6456
+ "text": "-3,00 A",
6457
+ "width": 5,
6458
+ "align": "right"
6459
+ }
6460
+ ]
6461
+ },
6462
+ {
6463
+ "kind": "space",
6464
+ "lines": 1
6465
+ },
6466
+ {
6467
+ "kind": "columns",
6468
+ "columns": [
6469
+ {
6470
+ "text": "MwSt%",
6471
+ "width": 3,
6472
+ "align": "left"
6473
+ },
6474
+ {
6475
+ "text": "MwSt",
6476
+ "width": 4,
6477
+ "align": "left"
6478
+ },
6479
+ {
6480
+ "text": "Netto",
6481
+ "width": 3,
6482
+ "align": "left"
6483
+ },
6484
+ {
6485
+ "text": "Brutto",
6486
+ "width": 2,
6487
+ "align": "right"
6488
+ }
6489
+ ]
6490
+ },
6491
+ {
6492
+ "kind": "columns",
6493
+ "columns": [
6494
+ {
6495
+ "text": "A 20%",
6496
+ "width": 3,
6497
+ "align": "left"
6498
+ },
6499
+ {
6500
+ "text": "0,57",
6501
+ "width": 4,
6502
+ "align": "left"
6503
+ },
6504
+ {
6505
+ "text": "2,83",
6506
+ "width": 3,
6507
+ "align": "left"
6508
+ },
6509
+ {
6510
+ "text": "3,40",
6511
+ "width": 2,
6512
+ "align": "right"
6513
+ }
6514
+ ]
6515
+ },
6516
+ {
6517
+ "kind": "rule",
6518
+ "char": "-"
6519
+ },
6520
+ {
6521
+ "kind": "columns",
6522
+ "columns": [
6523
+ {
6524
+ "text": "Gesamt:",
6525
+ "width": 6,
6526
+ "align": "left"
6527
+ },
6528
+ {
6529
+ "text": "3,40 €",
6530
+ "width": 6,
6531
+ "align": "right"
6532
+ }
6533
+ ]
6534
+ },
6535
+ {
6536
+ "kind": "columns",
6537
+ "columns": [
6538
+ {
6539
+ "text": "Zahlungsart:",
6540
+ "width": 6,
6541
+ "align": "left"
6542
+ },
6543
+ {
6544
+ "text": "Barzahlung",
6545
+ "width": 6,
6546
+ "align": "right"
6547
+ }
6548
+ ]
6549
+ },
6550
+ {
6551
+ "kind": "space",
6552
+ "lines": 1
6553
+ },
6554
+ {
6555
+ "kind": "qr",
6556
+ "data": "_R1-AT100_KECK-1_KECK-1-ID-6_2026-09-26T10:00:00_3,40_0,00_0,00_0,00_0,00_RlNOHtsn_ABC123_VArpzwmbUXc=_0cA5v2NZPX46ba0Am9mmjbMehYzfElPGYVnuNZQKdWnbxUAAckXTWzqXZXLscRSb9IIgQIA47MeD3GVY6jWESg=="
6557
+ },
6558
+ {
6559
+ "kind": "space",
6560
+ "lines": 1
6561
+ },
6562
+ {
6563
+ "kind": "space",
6564
+ "lines": 1
6565
+ },
6566
+ {
6567
+ "kind": "text",
6568
+ "text": "Bis bald",
6569
+ "align": "center",
6570
+ "bold": false
6571
+ },
6572
+ {
6573
+ "kind": "text",
6574
+ "text": "Danke",
6575
+ "align": "center",
6576
+ "bold": false
6577
+ },
6578
+ {
6579
+ "kind": "space",
6580
+ "lines": 1
6581
+ },
6582
+ {
6583
+ "kind": "banner",
6584
+ "text": "TESTKASSE — kein gültiger Beleg",
6585
+ "tone": "warning"
6586
+ }
6587
+ ]
6588
+ },
6589
+ "issuedVouchers": []
6590
+ }
6591
+ }
6592
+ },
6593
+ {
6594
+ "name": "redeem_service_voucher",
6595
+ "endpoint": "createReceipt",
6596
+ "path": "/v3/createReceipt",
6597
+ "params": {
6598
+ "receiptType": "standard",
6599
+ "items": [
6600
+ {
6601
+ "name": "Maniküre",
6602
+ "amount": 1,
6603
+ "priceOneCents": 3500,
6604
+ "vat": 20,
6605
+ "articleId": "art_mani"
6606
+ },
6607
+ {
6608
+ "name": "Kaffee",
6609
+ "amount": 2,
6610
+ "priceOneCents": 320,
6611
+ "vat": 20
6612
+ }
6613
+ ],
6614
+ "vouchers": [
6615
+ {
6616
+ "action": "redeem",
6617
+ "type": "service",
6618
+ "code": "CKD59ECF5KNN",
6619
+ "positions": [
6620
+ 0
6621
+ ]
6622
+ }
6623
+ ],
6624
+ "payments": [
6625
+ {
6626
+ "method": "cash",
6627
+ "amountCents": 640
6628
+ }
6629
+ ]
6630
+ },
6631
+ "httpStatus": 200,
6632
+ "headers": {
6633
+ "Kasseneck-Api-Version": "v3",
6634
+ "Access-Control-Expose-Headers": "Kasseneck-Api-Version"
6635
+ },
6636
+ "response": {
6637
+ "status": "success",
6638
+ "message": "",
6639
+ "data": {
6640
+ "is_small_business": false,
6641
+ "company": "Bäckerei Welt",
6642
+ "phone": "+43 1 234",
6643
+ "street": "Hauptplatz 1",
6644
+ "zip": "1010",
6645
+ "city": "Wien",
6646
+ "footer1": "Danke",
6647
+ "footer2": null,
6648
+ "footer3": null,
6649
+ "footer4": null,
6650
+ "logo_url": null,
6651
+ "kreiseck_logo": false,
6652
+ "thanks_message": "Bis bald",
6653
+ "receipt": {
6654
+ "counter": 7,
6655
+ "receiptType": "standard",
6656
+ "zeroKind": null,
6657
+ "receiptId": "KECK-1-ID-7",
6658
+ "cashregisterId": "KECK-1",
6659
+ "timeStamp": "2026-09-26T10:00:00",
6660
+ "vouchers": [
6661
+ {
6662
+ "action": "redeem",
6663
+ "type": "service",
6664
+ "voucherType": "service",
6665
+ "articleId": "art_mani",
6666
+ "quantity": 1,
6667
+ "positions": [
6668
+ 0
6669
+ ],
6670
+ "amountCents": 3500,
6671
+ "vatRateBp": 2000,
6672
+ "remainingQuantityAfter": 2,
6673
+ "taxedWith": "KECK-0-ID-1",
6674
+ "name": "Gutschein",
6675
+ "code": "····-····-5KNN",
6676
+ "codeSuffix": "5KNN",
6677
+ "voucherId": "gls1"
6678
+ }
6679
+ ],
6680
+ "paymentMethod": "cash",
6681
+ "customerDetails": null,
6682
+ "legalMessage": null,
6683
+ "customProjectId": null,
6684
+ "creditCardProvider": null,
6685
+ "amountRateStandard": 6.4,
6686
+ "amountRateReduced1": 0,
6687
+ "amountRateReduced2": 0,
6688
+ "amountRateZero": 0,
6689
+ "amountRateSpecial": 0,
6690
+ "turnoverCounterAES256ICM": "e42ZjyKQgXyXfp6ZK6VUzA==",
6691
+ "signaturePreviousReceipt": "zYL9tCKXJi8=",
6692
+ "certificateSerialNumber": "ABC123",
6693
+ "fullReceiptId": "00000000000000000000000000000000.00000000000000000000000000000000000000000000000000000000be378ab0",
6694
+ "payments": [
6695
+ {
6696
+ "id": "p1",
6697
+ "method": "cash",
6698
+ "amountCents": 640
6699
+ }
6700
+ ],
6701
+ "sig": "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMTAwX0tFQ0stMV9LRUNLLTEtSUQtN18yMDI2LTA5LTI2VDEwOjAwOjAwXzYsNDBfMCwwMF8wLDAwXzAsMDBfMCwwMF9lNDJaanlLUV9BQkMxMjNfellMOXRDS1hKaTg9.ECII68SATZuX-flczqe-pI-idOyK9wLSR23LOAk9fFSYzWlU8PtpC246C8dS0kyvKKccrDvmf4um80hAYK_uCA",
6702
+ "signatureSuccess": true,
6703
+ "qr": "_R1-AT100_KECK-1_KECK-1-ID-7_2026-09-26T10:00:00_6,40_0,00_0,00_0,00_0,00_e42ZjyKQ_ABC123_zYL9tCKXJi8=_ECII68SATZuX+flczqe+pI+idOyK9wLSR23LOAk9fFSYzWlU8PtpC246C8dS0kyvKKccrDvmf4um80hAYK/uCA==",
6704
+ "headerVersionId": "auto1",
6705
+ "layoutRuleset": 2,
6706
+ "items": [
6707
+ {
6708
+ "name": "Maniküre",
6709
+ "amount": 1,
6710
+ "priceOneCents": 3500,
6711
+ "vat": 20,
6712
+ "articleId": "art_mani",
6713
+ "priceOne": 35
6714
+ },
6715
+ {
6716
+ "name": "Kaffee",
6717
+ "amount": 2,
6718
+ "priceOneCents": 320,
6719
+ "vat": 20,
6720
+ "priceOne": 3.2
6721
+ },
6722
+ {
6723
+ "name": "Gutschein ····-5KNN",
6724
+ "vat": 20,
6725
+ "vatRate": 20,
6726
+ "priceOne": -35,
6727
+ "priceOneCents": -3500,
6728
+ "unitPriceCents": -3500,
6729
+ "amount": 1,
6730
+ "quantity": 1,
6731
+ "kind": "voucher"
6732
+ }
6733
+ ]
6734
+ },
6735
+ "taxNumber": "12-345/6789",
6736
+ "vatId": "ATU12345678",
6737
+ "headerVersionId": "auto1",
6738
+ "registrationInfo": null,
6739
+ "testCashregister": true,
6740
+ "testSignature": false,
6741
+ "logo_scale": "M",
6742
+ "layout": {
6743
+ "paperSize": "mm80",
6744
+ "ruleset": 2,
6745
+ "lines": [
6746
+ {
6747
+ "kind": "banner",
6748
+ "text": "TESTKASSE — kein gültiger Beleg",
6749
+ "tone": "warning"
6750
+ },
6751
+ {
6752
+ "kind": "text",
6753
+ "text": "Bäckerei Welt",
6754
+ "align": "center",
6755
+ "bold": true
6756
+ },
6757
+ {
6758
+ "kind": "text",
6759
+ "text": "Hauptplatz 1",
6760
+ "align": "center",
6761
+ "bold": false
6762
+ },
6763
+ {
6764
+ "kind": "text",
6765
+ "text": "1010 Wien",
6766
+ "align": "center",
6767
+ "bold": false
6768
+ },
6769
+ {
6770
+ "kind": "text",
6771
+ "text": "ATU12345678",
6772
+ "align": "center",
6773
+ "bold": false
6774
+ },
6775
+ {
6776
+ "kind": "text",
6777
+ "text": "+43 1 234",
6778
+ "align": "center",
6779
+ "bold": false
6780
+ },
6781
+ {
6782
+ "kind": "space",
6783
+ "lines": 1
6784
+ },
6785
+ {
6786
+ "kind": "columns",
6787
+ "columns": [
6788
+ {
6789
+ "text": "Datum:",
6790
+ "width": 4,
6791
+ "align": "left"
6792
+ },
6793
+ {
6794
+ "text": "26.09.2026 10:00:00",
6795
+ "width": 8,
6796
+ "align": "right"
6797
+ }
6798
+ ]
6799
+ },
6800
+ {
6801
+ "kind": "columns",
6802
+ "columns": [
6803
+ {
6804
+ "text": "Kassen-ID:",
6805
+ "width": 6,
6806
+ "align": "left"
6807
+ },
6808
+ {
6809
+ "text": "KECK-1",
6810
+ "width": 6,
6811
+ "align": "right"
6812
+ }
6813
+ ]
6814
+ },
6815
+ {
6816
+ "kind": "columns",
6817
+ "columns": [
6818
+ {
6819
+ "text": "Beleg-ID:",
6820
+ "width": 6,
6821
+ "align": "left"
6822
+ },
6823
+ {
6824
+ "text": "KECK-1-ID-7",
6825
+ "width": 6,
6826
+ "align": "right"
6827
+ }
6828
+ ]
6829
+ },
6830
+ {
6831
+ "kind": "space",
6832
+ "lines": 1
6833
+ },
6834
+ {
6835
+ "kind": "columns",
6836
+ "columns": [
6837
+ {
6838
+ "text": "1 x Maniküre",
6839
+ "width": 7,
6840
+ "align": "left"
6841
+ },
6842
+ {
6843
+ "text": "35,00 A",
6844
+ "width": 5,
6845
+ "align": "right"
6846
+ }
6847
+ ]
6848
+ },
6849
+ {
6850
+ "kind": "columns",
6851
+ "columns": [
6852
+ {
6853
+ "text": "2 x Kaffee je 3,20",
6854
+ "width": 7,
6855
+ "align": "left"
6856
+ },
6857
+ {
6858
+ "text": "6,40 A",
6859
+ "width": 5,
6860
+ "align": "right"
6861
+ }
6862
+ ]
6863
+ },
6864
+ {
6865
+ "kind": "columns",
6866
+ "columns": [
6867
+ {
6868
+ "text": "1 x Gutschein ····-5KNN",
6869
+ "width": 7,
6870
+ "align": "left"
6871
+ },
6872
+ {
6873
+ "text": "-35,00 A",
6874
+ "width": 5,
6875
+ "align": "right"
6876
+ }
6877
+ ]
6878
+ },
6879
+ {
6880
+ "kind": "space",
6881
+ "lines": 1
6882
+ },
6883
+ {
6884
+ "kind": "columns",
6885
+ "columns": [
6886
+ {
6887
+ "text": "MwSt%",
6888
+ "width": 3,
6889
+ "align": "left"
6890
+ },
6891
+ {
6892
+ "text": "MwSt",
6893
+ "width": 4,
6894
+ "align": "left"
6895
+ },
6896
+ {
6897
+ "text": "Netto",
6898
+ "width": 3,
6899
+ "align": "left"
6900
+ },
6901
+ {
6902
+ "text": "Brutto",
6903
+ "width": 2,
6904
+ "align": "right"
6905
+ }
6906
+ ]
6907
+ },
6908
+ {
6909
+ "kind": "columns",
6910
+ "columns": [
6911
+ {
6912
+ "text": "A 20%",
6913
+ "width": 3,
6914
+ "align": "left"
6915
+ },
6916
+ {
6917
+ "text": "1,07",
6918
+ "width": 4,
6919
+ "align": "left"
6920
+ },
6921
+ {
6922
+ "text": "5,33",
6923
+ "width": 3,
6924
+ "align": "left"
6925
+ },
6926
+ {
6927
+ "text": "6,40",
6928
+ "width": 2,
6929
+ "align": "right"
6930
+ }
6931
+ ]
6932
+ },
6933
+ {
6934
+ "kind": "rule",
6935
+ "char": "-"
6936
+ },
6937
+ {
6938
+ "kind": "columns",
6939
+ "columns": [
6940
+ {
6941
+ "text": "Gesamt:",
6942
+ "width": 6,
6943
+ "align": "left"
6944
+ },
6945
+ {
6946
+ "text": "6,40 €",
6947
+ "width": 6,
6948
+ "align": "right"
6949
+ }
6950
+ ]
6951
+ },
6952
+ {
6953
+ "kind": "columns",
6954
+ "columns": [
6955
+ {
6956
+ "text": "Zahlungsart:",
6957
+ "width": 6,
6958
+ "align": "left"
6959
+ },
6960
+ {
6961
+ "text": "Barzahlung",
6962
+ "width": 6,
6963
+ "align": "right"
6964
+ }
6965
+ ]
6966
+ },
6967
+ {
6968
+ "kind": "space",
6969
+ "lines": 1
6970
+ },
6971
+ {
6972
+ "kind": "qr",
6973
+ "data": "_R1-AT100_KECK-1_KECK-1-ID-7_2026-09-26T10:00:00_6,40_0,00_0,00_0,00_0,00_e42ZjyKQ_ABC123_zYL9tCKXJi8=_ECII68SATZuX+flczqe+pI+idOyK9wLSR23LOAk9fFSYzWlU8PtpC246C8dS0kyvKKccrDvmf4um80hAYK/uCA=="
6974
+ },
6975
+ {
6976
+ "kind": "space",
6977
+ "lines": 1
6978
+ },
6979
+ {
6980
+ "kind": "space",
6981
+ "lines": 1
6982
+ },
6983
+ {
6984
+ "kind": "text",
6985
+ "text": "Bis bald",
6986
+ "align": "center",
6987
+ "bold": false
6988
+ },
6989
+ {
6990
+ "kind": "text",
6991
+ "text": "Danke",
6992
+ "align": "center",
6993
+ "bold": false
6994
+ },
6995
+ {
6996
+ "kind": "space",
6997
+ "lines": 1
6998
+ },
6999
+ {
7000
+ "kind": "banner",
7001
+ "text": "TESTKASSE — kein gültiger Beleg",
7002
+ "tone": "warning"
7003
+ }
7004
+ ]
7005
+ },
7006
+ "issuedVouchers": []
7007
+ }
7008
+ }
7009
+ },
7010
+ {
7011
+ "name": "redeem_promotion_voucher",
7012
+ "endpoint": "createReceipt",
7013
+ "path": "/v3/createReceipt",
7014
+ "params": {
7015
+ "receiptType": "standard",
7016
+ "items": [
7017
+ {
7018
+ "name": "Kaffee",
7019
+ "amount": 2,
7020
+ "priceOneCents": 320,
7021
+ "vat": 20
7022
+ },
7023
+ {
7024
+ "name": "Semmel",
7025
+ "amount": 4,
7026
+ "priceOneCents": 79,
7027
+ "vat": 10
7028
+ }
7029
+ ],
7030
+ "vouchers": [
7031
+ {
7032
+ "action": "redeem",
7033
+ "type": "promotion",
7034
+ "code": "1BD59ECF5KNJ"
7035
+ }
7036
+ ],
7037
+ "payments": [
7038
+ {
7039
+ "method": "cash",
7040
+ "amountCents": 756
7041
+ }
7042
+ ]
7043
+ },
7044
+ "httpStatus": 200,
7045
+ "headers": {
7046
+ "Kasseneck-Api-Version": "v3",
7047
+ "Access-Control-Expose-Headers": "Kasseneck-Api-Version"
7048
+ },
7049
+ "response": {
7050
+ "status": "success",
7051
+ "message": "",
7052
+ "data": {
7053
+ "is_small_business": false,
7054
+ "company": "Bäckerei Welt",
7055
+ "phone": "+43 1 234",
7056
+ "street": "Hauptplatz 1",
7057
+ "zip": "1010",
7058
+ "city": "Wien",
7059
+ "footer1": "Danke",
7060
+ "footer2": null,
7061
+ "footer3": null,
7062
+ "footer4": null,
7063
+ "logo_url": null,
7064
+ "kreiseck_logo": false,
7065
+ "thanks_message": "Bis bald",
7066
+ "receipt": {
7067
+ "counter": 8,
7068
+ "receiptType": "standard",
7069
+ "zeroKind": null,
7070
+ "receiptId": "KECK-1-ID-8",
7071
+ "cashregisterId": "KECK-1",
7072
+ "timeStamp": "2026-09-26T10:00:00",
7073
+ "vouchers": [
7074
+ {
7075
+ "action": "redeem",
7076
+ "type": "promo",
7077
+ "voucherType": "promotion",
7078
+ "value": 2,
7079
+ "valueCents": 200,
7080
+ "name": "Aktion",
7081
+ "code": "····-····-5KNJ",
7082
+ "codeSuffix": "5KNJ",
7083
+ "voucherId": "gak1"
7084
+ }
7085
+ ],
7086
+ "paymentMethod": "cash",
7087
+ "customerDetails": null,
7088
+ "legalMessage": null,
7089
+ "customProjectId": null,
7090
+ "creditCardProvider": null,
7091
+ "amountRateStandard": 5.06,
7092
+ "amountRateReduced1": 2.5,
7093
+ "amountRateReduced2": 0,
7094
+ "amountRateZero": 0,
7095
+ "amountRateSpecial": 0,
7096
+ "turnoverCounterAES256ICM": "FKv36l/r5cSDIv7d/PNpSg==",
7097
+ "signaturePreviousReceipt": "fsXBFNiDq+k=",
7098
+ "certificateSerialNumber": "ABC123",
7099
+ "fullReceiptId": "00000000000000000000000000000000.0000000000000000000000000000000000000000000000000000000099dccbdc",
7100
+ "payments": [
7101
+ {
7102
+ "id": "p1",
7103
+ "method": "cash",
7104
+ "amountCents": 756
7105
+ }
7106
+ ],
7107
+ "sig": "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMTAwX0tFQ0stMV9LRUNLLTEtSUQtOF8yMDI2LTA5LTI2VDEwOjAwOjAwXzUsMDZfMiw1MF8wLDAwXzAsMDBfMCwwMF9GS3YzNmwvcl9BQkMxMjNfZnNYQkZOaURxK2s9.qlkHVjEVjEx0SPdY9SFHtpeMB4SIT_DLz4UlcEU9cn7kgA_8bUL87mpq7VyWbQhC8b_qTvdJ8wTMXbhkQCK56Q",
7108
+ "signatureSuccess": true,
7109
+ "qr": "_R1-AT100_KECK-1_KECK-1-ID-8_2026-09-26T10:00:00_5,06_2,50_0,00_0,00_0,00_FKv36l/r_ABC123_fsXBFNiDq+k=_qlkHVjEVjEx0SPdY9SFHtpeMB4SIT/DLz4UlcEU9cn7kgA/8bUL87mpq7VyWbQhC8b/qTvdJ8wTMXbhkQCK56Q==",
7110
+ "headerVersionId": "auto1",
7111
+ "layoutRuleset": 2,
7112
+ "items": [
7113
+ {
7114
+ "name": "Kaffee",
7115
+ "amount": 2,
7116
+ "priceOneCents": 320,
7117
+ "vat": 20,
7118
+ "priceOne": 3.2
7119
+ },
7120
+ {
7121
+ "name": "Semmel",
7122
+ "amount": 4,
7123
+ "priceOneCents": 79,
7124
+ "vat": 10,
7125
+ "priceOne": 0.79
7126
+ }
7127
+ ]
7128
+ },
7129
+ "taxNumber": "12-345/6789",
7130
+ "vatId": "ATU12345678",
7131
+ "headerVersionId": "auto1",
7132
+ "registrationInfo": null,
7133
+ "testCashregister": true,
7134
+ "testSignature": false,
7135
+ "logo_scale": "M",
7136
+ "layout": {
7137
+ "paperSize": "mm80",
7138
+ "ruleset": 2,
7139
+ "lines": [
7140
+ {
7141
+ "kind": "banner",
7142
+ "text": "TESTKASSE — kein gültiger Beleg",
7143
+ "tone": "warning"
7144
+ },
7145
+ {
7146
+ "kind": "text",
7147
+ "text": "Bäckerei Welt",
7148
+ "align": "center",
7149
+ "bold": true
7150
+ },
7151
+ {
7152
+ "kind": "text",
7153
+ "text": "Hauptplatz 1",
7154
+ "align": "center",
7155
+ "bold": false
7156
+ },
7157
+ {
7158
+ "kind": "text",
7159
+ "text": "1010 Wien",
7160
+ "align": "center",
7161
+ "bold": false
7162
+ },
7163
+ {
7164
+ "kind": "text",
7165
+ "text": "ATU12345678",
7166
+ "align": "center",
7167
+ "bold": false
7168
+ },
7169
+ {
7170
+ "kind": "text",
7171
+ "text": "+43 1 234",
7172
+ "align": "center",
7173
+ "bold": false
7174
+ },
7175
+ {
7176
+ "kind": "space",
7177
+ "lines": 1
7178
+ },
7179
+ {
7180
+ "kind": "columns",
7181
+ "columns": [
7182
+ {
7183
+ "text": "Datum:",
7184
+ "width": 4,
7185
+ "align": "left"
7186
+ },
7187
+ {
7188
+ "text": "26.09.2026 10:00:00",
7189
+ "width": 8,
7190
+ "align": "right"
7191
+ }
7192
+ ]
7193
+ },
7194
+ {
7195
+ "kind": "columns",
7196
+ "columns": [
7197
+ {
7198
+ "text": "Kassen-ID:",
7199
+ "width": 6,
7200
+ "align": "left"
7201
+ },
7202
+ {
7203
+ "text": "KECK-1",
7204
+ "width": 6,
7205
+ "align": "right"
7206
+ }
7207
+ ]
7208
+ },
7209
+ {
7210
+ "kind": "columns",
7211
+ "columns": [
7212
+ {
7213
+ "text": "Beleg-ID:",
7214
+ "width": 6,
7215
+ "align": "left"
7216
+ },
7217
+ {
7218
+ "text": "KECK-1-ID-8",
7219
+ "width": 6,
7220
+ "align": "right"
7221
+ }
7222
+ ]
7223
+ },
7224
+ {
7225
+ "kind": "space",
7226
+ "lines": 1
7227
+ },
7228
+ {
7229
+ "kind": "columns",
7230
+ "columns": [
7231
+ {
7232
+ "text": "2 x Kaffee je 3,20",
7233
+ "width": 7,
7234
+ "align": "left"
7235
+ },
7236
+ {
7237
+ "text": "6,40 A",
7238
+ "width": 5,
7239
+ "align": "right"
7240
+ }
7241
+ ]
7242
+ },
7243
+ {
7244
+ "kind": "columns",
7245
+ "columns": [
7246
+ {
7247
+ "text": "4 x Semmel je 0,79",
7248
+ "width": 7,
7249
+ "align": "left"
7250
+ },
7251
+ {
7252
+ "text": "3,16 B",
7253
+ "width": 5,
7254
+ "align": "right"
7255
+ }
7256
+ ]
7257
+ },
7258
+ {
7259
+ "kind": "columns",
7260
+ "columns": [
7261
+ {
7262
+ "text": "Promotionsgutschein ····-····-5KNJ - Aktion",
7263
+ "width": 7,
7264
+ "align": "left"
7265
+ },
7266
+ {
7267
+ "text": "-2,00 €",
7268
+ "width": 5,
7269
+ "align": "right"
7270
+ }
7271
+ ]
7272
+ },
7273
+ {
7274
+ "kind": "space",
7275
+ "lines": 1
7276
+ },
7277
+ {
7278
+ "kind": "columns",
7279
+ "columns": [
7280
+ {
7281
+ "text": "MwSt%",
7282
+ "width": 3,
7283
+ "align": "left"
7284
+ },
7285
+ {
7286
+ "text": "MwSt",
7287
+ "width": 4,
7288
+ "align": "left"
7289
+ },
7290
+ {
7291
+ "text": "Netto",
7292
+ "width": 3,
7293
+ "align": "left"
7294
+ },
7295
+ {
7296
+ "text": "Brutto",
7297
+ "width": 2,
7298
+ "align": "right"
7299
+ }
7300
+ ]
7301
+ },
7302
+ {
7303
+ "kind": "columns",
7304
+ "columns": [
7305
+ {
7306
+ "text": "A 20%",
7307
+ "width": 3,
7308
+ "align": "left"
7309
+ },
7310
+ {
7311
+ "text": "0,84",
7312
+ "width": 4,
7313
+ "align": "left"
7314
+ },
7315
+ {
7316
+ "text": "4,22",
7317
+ "width": 3,
7318
+ "align": "left"
7319
+ },
7320
+ {
7321
+ "text": "5,06",
7322
+ "width": 2,
7323
+ "align": "right"
7324
+ }
7325
+ ]
7326
+ },
7327
+ {
7328
+ "kind": "columns",
7329
+ "columns": [
7330
+ {
7331
+ "text": "B 10%",
7332
+ "width": 3,
7333
+ "align": "left"
7334
+ },
7335
+ {
7336
+ "text": "0,23",
7337
+ "width": 4,
7338
+ "align": "left"
7339
+ },
7340
+ {
7341
+ "text": "2,27",
7342
+ "width": 3,
7343
+ "align": "left"
7344
+ },
7345
+ {
7346
+ "text": "2,50",
7347
+ "width": 2,
7348
+ "align": "right"
7349
+ }
7350
+ ]
7351
+ },
7352
+ {
7353
+ "kind": "rule",
7354
+ "char": "-"
7355
+ },
7356
+ {
7357
+ "kind": "columns",
7358
+ "columns": [
7359
+ {
7360
+ "text": "Gesamt:",
7361
+ "width": 6,
7362
+ "align": "left"
7363
+ },
7364
+ {
7365
+ "text": "7,56 €",
7366
+ "width": 6,
7367
+ "align": "right"
7368
+ }
7369
+ ]
7370
+ },
7371
+ {
7372
+ "kind": "columns",
7373
+ "columns": [
7374
+ {
7375
+ "text": "Zahlungsart:",
7376
+ "width": 6,
7377
+ "align": "left"
7378
+ },
7379
+ {
7380
+ "text": "Barzahlung",
7381
+ "width": 6,
7382
+ "align": "right"
7383
+ }
7384
+ ]
7385
+ },
7386
+ {
7387
+ "kind": "space",
7388
+ "lines": 1
7389
+ },
7390
+ {
7391
+ "kind": "qr",
7392
+ "data": "_R1-AT100_KECK-1_KECK-1-ID-8_2026-09-26T10:00:00_5,06_2,50_0,00_0,00_0,00_FKv36l/r_ABC123_fsXBFNiDq+k=_qlkHVjEVjEx0SPdY9SFHtpeMB4SIT/DLz4UlcEU9cn7kgA/8bUL87mpq7VyWbQhC8b/qTvdJ8wTMXbhkQCK56Q=="
7393
+ },
7394
+ {
7395
+ "kind": "space",
7396
+ "lines": 1
7397
+ },
7398
+ {
7399
+ "kind": "space",
7400
+ "lines": 1
7401
+ },
7402
+ {
7403
+ "kind": "text",
7404
+ "text": "Bis bald",
7405
+ "align": "center",
7406
+ "bold": false
7407
+ },
7408
+ {
7409
+ "kind": "text",
7410
+ "text": "Danke",
7411
+ "align": "center",
7412
+ "bold": false
7413
+ },
7414
+ {
7415
+ "kind": "space",
7416
+ "lines": 1
7417
+ },
7418
+ {
7419
+ "kind": "banner",
7420
+ "text": "TESTKASSE — kein gültiger Beleg",
7421
+ "tone": "warning"
7422
+ }
7423
+ ]
7424
+ },
7425
+ "issuedVouchers": []
7426
+ }
7427
+ }
7428
+ },
7429
+ {
7430
+ "name": "payout_multi_purpose_voucher",
7431
+ "endpoint": "createReceipt",
7432
+ "path": "/v3/createReceipt",
7433
+ "params": {
7434
+ "receiptType": "standard",
7435
+ "items": [],
7436
+ "vouchers": [
7437
+ {
7438
+ "action": "payout",
7439
+ "type": "multi_purpose",
7440
+ "code": "DTD1-NKT1-8CN5",
7441
+ "amountCents": 3000,
7442
+ "reason": "Kunde zieht weg"
7443
+ }
7444
+ ],
7445
+ "payments": [
7446
+ {
7447
+ "method": "cash",
7448
+ "amountCents": -3000
7449
+ }
7450
+ ]
7451
+ },
7452
+ "httpStatus": 200,
7453
+ "headers": {
7454
+ "Kasseneck-Api-Version": "v3",
7455
+ "Access-Control-Expose-Headers": "Kasseneck-Api-Version"
7456
+ },
7457
+ "response": {
7458
+ "status": "success",
7459
+ "message": "",
7460
+ "data": {
7461
+ "is_small_business": false,
7462
+ "company": "Bäckerei Welt",
7463
+ "phone": "+43 1 234",
7464
+ "street": "Hauptplatz 1",
7465
+ "zip": "1010",
7466
+ "city": "Wien",
7467
+ "footer1": "Danke",
7468
+ "footer2": null,
7469
+ "footer3": null,
7470
+ "footer4": null,
7471
+ "logo_url": null,
7472
+ "kreiseck_logo": false,
7473
+ "thanks_message": "Bis bald",
7474
+ "receipt": {
7475
+ "counter": 9,
7476
+ "receiptType": "standard",
7477
+ "zeroKind": null,
7478
+ "receiptId": "KECK-1-ID-9",
7479
+ "cashregisterId": "KECK-1",
7480
+ "timeStamp": "2026-09-26T10:00:00",
7481
+ "vouchers": [
7482
+ {
7483
+ "action": "payout",
7484
+ "type": "value",
7485
+ "voucherType": "multi_purpose",
7486
+ "value": 30,
7487
+ "valueCents": 3000,
7488
+ "name": "Auszahlung Gutschein",
7489
+ "code": "····-····-8CN5",
7490
+ "codeSuffix": "8CN5",
7491
+ "voucherId": "gmz2",
7492
+ "balanceAfterCents": 0,
7493
+ "reason": "Kunde zieht weg",
7494
+ "zeroRateBucket": true
7495
+ }
7496
+ ],
7497
+ "paymentMethod": "cash",
7498
+ "customerDetails": null,
7499
+ "legalMessage": null,
7500
+ "customProjectId": null,
7501
+ "creditCardProvider": null,
7502
+ "amountRateStandard": 0,
7503
+ "amountRateReduced1": 0,
7504
+ "amountRateReduced2": 0,
7505
+ "amountRateZero": -30,
7506
+ "amountRateSpecial": 0,
7507
+ "turnoverCounterAES256ICM": "TBYB9mrEWcnljmcjdebbLQ==",
7508
+ "signaturePreviousReceipt": "ggg2KWZCgiQ=",
7509
+ "certificateSerialNumber": "ABC123",
7510
+ "fullReceiptId": "00000000000000000000000000000000.00000000000000000000000000000000000000000000000000000000676d8c59",
7511
+ "payments": [
7512
+ {
7513
+ "id": "p1",
7514
+ "method": "cash",
7515
+ "amountCents": -3000
7516
+ }
7517
+ ],
7518
+ "sig": "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMTAwX0tFQ0stMV9LRUNLLTEtSUQtOV8yMDI2LTA5LTI2VDEwOjAwOjAwXzAsMDBfMCwwMF8wLDAwXy0zMCwwMF8wLDAwX1RCWUI5bXJFX0FCQzEyM19nZ2cyS1daQ2dpUT0.vi2GoJsNoK1tP49BCNkKqJBOYWa0oWIB8vzN0R3cEUeRndJLEB_JOD7rpX2_AZnrtTJvEaQ7znwhuY-yZvIRzA",
7519
+ "signatureSuccess": true,
7520
+ "qr": "_R1-AT100_KECK-1_KECK-1-ID-9_2026-09-26T10:00:00_0,00_0,00_0,00_-30,00_0,00_TBYB9mrE_ABC123_ggg2KWZCgiQ=_vi2GoJsNoK1tP49BCNkKqJBOYWa0oWIB8vzN0R3cEUeRndJLEB/JOD7rpX2/AZnrtTJvEaQ7znwhuY+yZvIRzA==",
7521
+ "headerVersionId": "auto1",
7522
+ "layoutRuleset": 2,
7523
+ "items": [
7524
+ {
7525
+ "name": "Auszahlung Gutschein ····-8CN5",
7526
+ "vat": 0,
7527
+ "vatRate": 0,
7528
+ "priceOne": -30,
7529
+ "priceOneCents": -3000,
7530
+ "unitPriceCents": -3000,
7531
+ "amount": 1,
7532
+ "quantity": 1,
7533
+ "kind": "voucher_float"
7534
+ }
7535
+ ]
7536
+ },
7537
+ "taxNumber": "12-345/6789",
7538
+ "vatId": "ATU12345678",
7539
+ "headerVersionId": "auto1",
7540
+ "registrationInfo": null,
7541
+ "testCashregister": true,
7542
+ "testSignature": false,
7543
+ "logo_scale": "M",
7544
+ "layout": {
7545
+ "paperSize": "mm80",
7546
+ "ruleset": 2,
7547
+ "lines": [
7548
+ {
7549
+ "kind": "banner",
7550
+ "text": "TESTKASSE — kein gültiger Beleg",
7551
+ "tone": "warning"
7552
+ },
7553
+ {
7554
+ "kind": "text",
7555
+ "text": "Bäckerei Welt",
7556
+ "align": "center",
7557
+ "bold": true
7558
+ },
7559
+ {
7560
+ "kind": "text",
7561
+ "text": "Hauptplatz 1",
7562
+ "align": "center",
7563
+ "bold": false
7564
+ },
7565
+ {
7566
+ "kind": "text",
7567
+ "text": "1010 Wien",
7568
+ "align": "center",
7569
+ "bold": false
7570
+ },
7571
+ {
7572
+ "kind": "text",
7573
+ "text": "ATU12345678",
7574
+ "align": "center",
7575
+ "bold": false
7576
+ },
7577
+ {
7578
+ "kind": "text",
7579
+ "text": "+43 1 234",
7580
+ "align": "center",
7581
+ "bold": false
7582
+ },
7583
+ {
7584
+ "kind": "space",
7585
+ "lines": 1
7586
+ },
7587
+ {
7588
+ "kind": "columns",
7589
+ "columns": [
7590
+ {
7591
+ "text": "Datum:",
7592
+ "width": 4,
7593
+ "align": "left"
7594
+ },
7595
+ {
7596
+ "text": "26.09.2026 10:00:00",
7597
+ "width": 8,
7598
+ "align": "right"
7599
+ }
7600
+ ]
7601
+ },
7602
+ {
7603
+ "kind": "columns",
7604
+ "columns": [
7605
+ {
7606
+ "text": "Kassen-ID:",
7607
+ "width": 6,
7608
+ "align": "left"
7609
+ },
7610
+ {
7611
+ "text": "KECK-1",
7612
+ "width": 6,
7613
+ "align": "right"
7614
+ }
7615
+ ]
7616
+ },
7617
+ {
7618
+ "kind": "columns",
7619
+ "columns": [
7620
+ {
7621
+ "text": "Beleg-ID:",
7622
+ "width": 6,
7623
+ "align": "left"
7624
+ },
7625
+ {
7626
+ "text": "KECK-1-ID-9",
7627
+ "width": 6,
7628
+ "align": "right"
7629
+ }
7630
+ ]
7631
+ },
7632
+ {
7633
+ "kind": "space",
7634
+ "lines": 1
7635
+ },
7636
+ {
7637
+ "kind": "columns",
7638
+ "columns": [
7639
+ {
7640
+ "text": "1 x Auszahlung Gutschein ····-8CN5",
7641
+ "width": 7,
7642
+ "align": "left"
7643
+ },
7644
+ {
7645
+ "text": "-30,00 D",
7646
+ "width": 5,
7647
+ "align": "right"
7648
+ }
7649
+ ]
7650
+ },
7651
+ {
7652
+ "kind": "space",
7653
+ "lines": 1
7654
+ },
7655
+ {
7656
+ "kind": "columns",
7657
+ "columns": [
7658
+ {
7659
+ "text": "MwSt%",
7660
+ "width": 3,
7661
+ "align": "left"
7662
+ },
7663
+ {
7664
+ "text": "MwSt",
7665
+ "width": 4,
7666
+ "align": "left"
7667
+ },
7668
+ {
7669
+ "text": "Netto",
7670
+ "width": 3,
7671
+ "align": "left"
7672
+ },
7673
+ {
7674
+ "text": "Brutto",
7675
+ "width": 2,
7676
+ "align": "right"
7677
+ }
7678
+ ]
7679
+ },
7680
+ {
7681
+ "kind": "columns",
7682
+ "columns": [
7683
+ {
7684
+ "text": "D 0%",
7685
+ "width": 3,
7686
+ "align": "left"
7687
+ },
7688
+ {
7689
+ "text": "0,00",
7690
+ "width": 4,
7691
+ "align": "left"
7692
+ },
7693
+ {
7694
+ "text": "-30,00",
7695
+ "width": 3,
7696
+ "align": "left"
7697
+ },
7698
+ {
7699
+ "text": "-30,00",
7700
+ "width": 2,
7701
+ "align": "right"
7702
+ }
7703
+ ]
7704
+ },
7705
+ {
7706
+ "kind": "rule",
7707
+ "char": "-"
7708
+ },
7709
+ {
7710
+ "kind": "columns",
7711
+ "columns": [
7712
+ {
7713
+ "text": "Gesamt:",
7714
+ "width": 6,
7715
+ "align": "left"
7716
+ },
7717
+ {
7718
+ "text": "-30,00 €",
7719
+ "width": 6,
7720
+ "align": "right"
7721
+ }
7722
+ ]
7723
+ },
7724
+ {
7725
+ "kind": "columns",
7726
+ "columns": [
7727
+ {
7728
+ "text": "Zahlungsart:",
7729
+ "width": 6,
7730
+ "align": "left"
7731
+ },
7732
+ {
7733
+ "text": "Barzahlung",
7734
+ "width": 6,
7735
+ "align": "right"
7736
+ }
7737
+ ]
7738
+ },
7739
+ {
7740
+ "kind": "space",
7741
+ "lines": 1
7742
+ },
7743
+ {
7744
+ "kind": "qr",
7745
+ "data": "_R1-AT100_KECK-1_KECK-1-ID-9_2026-09-26T10:00:00_0,00_0,00_0,00_-30,00_0,00_TBYB9mrE_ABC123_ggg2KWZCgiQ=_vi2GoJsNoK1tP49BCNkKqJBOYWa0oWIB8vzN0R3cEUeRndJLEB/JOD7rpX2/AZnrtTJvEaQ7znwhuY+yZvIRzA=="
7746
+ },
7747
+ {
7748
+ "kind": "space",
7749
+ "lines": 1
7750
+ },
7751
+ {
7752
+ "kind": "space",
7753
+ "lines": 1
7754
+ },
7755
+ {
7756
+ "kind": "text",
7757
+ "text": "Bis bald",
7758
+ "align": "center",
7759
+ "bold": false
7760
+ },
7761
+ {
7762
+ "kind": "text",
7763
+ "text": "Danke",
7764
+ "align": "center",
7765
+ "bold": false
7766
+ },
7767
+ {
7768
+ "kind": "space",
7769
+ "lines": 1
7770
+ },
7771
+ {
7772
+ "kind": "banner",
7773
+ "text": "TESTKASSE — kein gültiger Beleg",
7774
+ "tone": "warning"
7775
+ }
7776
+ ]
7777
+ },
7778
+ "issuedVouchers": []
7779
+ }
7780
+ }
7781
+ },
7782
+ {
7783
+ "name": "get_receipt_single_purpose_redeemed",
7784
+ "endpoint": "getReceipt",
7785
+ "path": "/v3/getReceipt",
7786
+ "params": {
7787
+ "receiptId": "KECK-1-ID-6"
7788
+ },
7789
+ "httpStatus": 200,
7790
+ "headers": {
7791
+ "Kasseneck-Api-Version": "v3",
7792
+ "Access-Control-Expose-Headers": "Kasseneck-Api-Version"
7793
+ },
7794
+ "response": {
7795
+ "status": "success",
7796
+ "message": "",
7797
+ "data": {
7798
+ "company": "Bäckerei Welt",
7799
+ "street": "Hauptplatz 1",
7800
+ "zip": "1010",
7801
+ "city": "Wien",
7802
+ "phone": "+43 1 234",
7803
+ "is_small_business": false,
7804
+ "footer1": "Danke",
7805
+ "footer2": null,
7806
+ "footer3": null,
7807
+ "footer4": null,
7808
+ "thanks_message": "Bis bald",
7809
+ "kreiseck_logo": false,
7810
+ "logo_url": null,
7811
+ "receipt": {
7812
+ "counter": 6,
7813
+ "receiptType": "standard",
7814
+ "zeroKind": null,
7815
+ "receiptId": "KECK-1-ID-6",
7816
+ "cashregisterId": "KECK-1",
7817
+ "timeStamp": "2026-09-26T10:00:00",
7818
+ "vouchers": [
7819
+ {
7820
+ "action": "redeem",
7821
+ "type": "single_purpose",
7822
+ "voucherType": "single_purpose",
7823
+ "amountCents": 300,
7824
+ "vatRateBp": 2000,
7825
+ "balanceAfterCents": 1700,
7826
+ "taxedWith": "KECK-0-ID-1",
7827
+ "name": "Gutschein",
7828
+ "code": "····-····-5KN2",
7829
+ "codeSuffix": "5KN2",
7830
+ "voucherId": "gez1"
7831
+ }
7832
+ ],
7833
+ "paymentMethod": "cash",
7834
+ "customerDetails": null,
7835
+ "legalMessage": null,
7836
+ "customProjectId": null,
7837
+ "creditCardProvider": null,
7838
+ "amountRateStandard": 3.4,
7839
+ "amountRateReduced1": 0,
7840
+ "amountRateReduced2": 0,
7841
+ "amountRateZero": 0,
7842
+ "amountRateSpecial": 0,
7843
+ "turnoverCounterAES256ICM": "RlNOHtsn9a3wfMGEG9jAxA==",
7844
+ "signaturePreviousReceipt": "VArpzwmbUXc=",
7845
+ "certificateSerialNumber": "ABC123",
7846
+ "fullReceiptId": "00000000000000000000000000000000.00000000000000000000000000000000000000000000000000000000d6d9c909",
7847
+ "payments": [
7848
+ {
7849
+ "id": "p1",
7850
+ "method": "cash",
7851
+ "amountCents": 340
7852
+ }
7853
+ ],
7854
+ "sig": "eyJhbGciOiJFUzI1NiJ9.X1IxLUFUMTAwX0tFQ0stMV9LRUNLLTEtSUQtNl8yMDI2LTA5LTI2VDEwOjAwOjAwXzMsNDBfMCwwMF8wLDAwXzAsMDBfMCwwMF9SbE5PSHRzbl9BQkMxMjNfVkFycHp3bWJVWGM9.0cA5v2NZPX46ba0Am9mmjbMehYzfElPGYVnuNZQKdWnbxUAAckXTWzqXZXLscRSb9IIgQIA47MeD3GVY6jWESg",
7855
+ "signatureSuccess": true,
7856
+ "qr": "_R1-AT100_KECK-1_KECK-1-ID-6_2026-09-26T10:00:00_3,40_0,00_0,00_0,00_0,00_RlNOHtsn_ABC123_VArpzwmbUXc=_0cA5v2NZPX46ba0Am9mmjbMehYzfElPGYVnuNZQKdWnbxUAAckXTWzqXZXLscRSb9IIgQIA47MeD3GVY6jWESg==",
7857
+ "headerVersionId": "auto1",
7858
+ "layoutRuleset": 2,
7859
+ "items": [
7860
+ {
7861
+ "name": "Kaffee",
7862
+ "amount": 2,
7863
+ "priceOneCents": 320,
7864
+ "vat": 20,
7865
+ "priceOne": 3.2
7866
+ },
7867
+ {
7868
+ "name": "Gutschein ····-5KN2",
7869
+ "vat": 20,
7870
+ "vatRate": 20,
7871
+ "priceOne": -3,
7872
+ "priceOneCents": -300,
7873
+ "unitPriceCents": -300,
7874
+ "amount": 1,
7875
+ "quantity": 1,
7876
+ "kind": "voucher"
7877
+ }
7878
+ ]
7879
+ },
7880
+ "taxNumber": "12-345/6789",
7881
+ "vatId": "ATU12345678",
7882
+ "headerVersionId": "auto1",
7883
+ "registrationInfo": null,
7884
+ "testCashregister": true,
7885
+ "testSignature": false,
7886
+ "logo_scale": "M",
7887
+ "layout": {
7888
+ "paperSize": "mm80",
7889
+ "ruleset": 2,
7890
+ "lines": [
7891
+ {
7892
+ "kind": "banner",
7893
+ "text": "TESTKASSE — kein gültiger Beleg",
7894
+ "tone": "warning"
7895
+ },
7896
+ {
7897
+ "kind": "text",
7898
+ "text": "Bäckerei Welt",
7899
+ "align": "center",
7900
+ "bold": true
7901
+ },
7902
+ {
7903
+ "kind": "text",
7904
+ "text": "Hauptplatz 1",
7905
+ "align": "center",
7906
+ "bold": false
7907
+ },
7908
+ {
7909
+ "kind": "text",
7910
+ "text": "1010 Wien",
7911
+ "align": "center",
7912
+ "bold": false
7913
+ },
7914
+ {
7915
+ "kind": "text",
7916
+ "text": "ATU12345678",
7917
+ "align": "center",
7918
+ "bold": false
7919
+ },
7920
+ {
7921
+ "kind": "text",
7922
+ "text": "+43 1 234",
7923
+ "align": "center",
7924
+ "bold": false
7925
+ },
7926
+ {
7927
+ "kind": "space",
7928
+ "lines": 1
7929
+ },
7930
+ {
7931
+ "kind": "columns",
7932
+ "columns": [
7933
+ {
7934
+ "text": "Datum:",
7935
+ "width": 4,
7936
+ "align": "left"
7937
+ },
7938
+ {
7939
+ "text": "26.09.2026 10:00:00",
7940
+ "width": 8,
7941
+ "align": "right"
7942
+ }
7943
+ ]
7944
+ },
7945
+ {
7946
+ "kind": "columns",
7947
+ "columns": [
7948
+ {
7949
+ "text": "Kassen-ID:",
7950
+ "width": 6,
7951
+ "align": "left"
7952
+ },
7953
+ {
7954
+ "text": "KECK-1",
7955
+ "width": 6,
7956
+ "align": "right"
7957
+ }
7958
+ ]
7959
+ },
7960
+ {
7961
+ "kind": "columns",
7962
+ "columns": [
7963
+ {
7964
+ "text": "Beleg-ID:",
7965
+ "width": 6,
7966
+ "align": "left"
7967
+ },
7968
+ {
7969
+ "text": "KECK-1-ID-6",
7970
+ "width": 6,
7971
+ "align": "right"
7972
+ }
7973
+ ]
7974
+ },
7975
+ {
7976
+ "kind": "space",
7977
+ "lines": 1
7978
+ },
7979
+ {
7980
+ "kind": "columns",
7981
+ "columns": [
7982
+ {
7983
+ "text": "2 x Kaffee je 3,20",
7984
+ "width": 7,
7985
+ "align": "left"
7986
+ },
7987
+ {
7988
+ "text": "6,40 A",
7989
+ "width": 5,
7990
+ "align": "right"
7991
+ }
7992
+ ]
7993
+ },
7994
+ {
7995
+ "kind": "columns",
7996
+ "columns": [
7997
+ {
7998
+ "text": "1 x Gutschein ····-5KN2",
7999
+ "width": 7,
8000
+ "align": "left"
8001
+ },
8002
+ {
8003
+ "text": "-3,00 A",
8004
+ "width": 5,
8005
+ "align": "right"
8006
+ }
8007
+ ]
8008
+ },
8009
+ {
8010
+ "kind": "space",
8011
+ "lines": 1
8012
+ },
8013
+ {
8014
+ "kind": "columns",
8015
+ "columns": [
8016
+ {
8017
+ "text": "MwSt%",
8018
+ "width": 3,
8019
+ "align": "left"
8020
+ },
8021
+ {
8022
+ "text": "MwSt",
8023
+ "width": 4,
8024
+ "align": "left"
8025
+ },
8026
+ {
8027
+ "text": "Netto",
8028
+ "width": 3,
8029
+ "align": "left"
8030
+ },
8031
+ {
8032
+ "text": "Brutto",
8033
+ "width": 2,
8034
+ "align": "right"
8035
+ }
8036
+ ]
8037
+ },
8038
+ {
8039
+ "kind": "columns",
8040
+ "columns": [
8041
+ {
8042
+ "text": "A 20%",
8043
+ "width": 3,
8044
+ "align": "left"
8045
+ },
8046
+ {
8047
+ "text": "0,57",
8048
+ "width": 4,
8049
+ "align": "left"
8050
+ },
8051
+ {
8052
+ "text": "2,83",
8053
+ "width": 3,
8054
+ "align": "left"
8055
+ },
8056
+ {
8057
+ "text": "3,40",
8058
+ "width": 2,
8059
+ "align": "right"
8060
+ }
8061
+ ]
8062
+ },
8063
+ {
8064
+ "kind": "rule",
8065
+ "char": "-"
8066
+ },
8067
+ {
8068
+ "kind": "columns",
8069
+ "columns": [
8070
+ {
8071
+ "text": "Gesamt:",
8072
+ "width": 6,
8073
+ "align": "left"
8074
+ },
8075
+ {
8076
+ "text": "3,40 €",
8077
+ "width": 6,
8078
+ "align": "right"
8079
+ }
8080
+ ]
8081
+ },
8082
+ {
8083
+ "kind": "columns",
8084
+ "columns": [
8085
+ {
8086
+ "text": "Zahlungsart:",
8087
+ "width": 6,
8088
+ "align": "left"
8089
+ },
8090
+ {
8091
+ "text": "Barzahlung",
8092
+ "width": 6,
8093
+ "align": "right"
8094
+ }
8095
+ ]
8096
+ },
8097
+ {
8098
+ "kind": "space",
8099
+ "lines": 1
8100
+ },
8101
+ {
8102
+ "kind": "qr",
8103
+ "data": "_R1-AT100_KECK-1_KECK-1-ID-6_2026-09-26T10:00:00_3,40_0,00_0,00_0,00_0,00_RlNOHtsn_ABC123_VArpzwmbUXc=_0cA5v2NZPX46ba0Am9mmjbMehYzfElPGYVnuNZQKdWnbxUAAckXTWzqXZXLscRSb9IIgQIA47MeD3GVY6jWESg=="
8104
+ },
8105
+ {
8106
+ "kind": "space",
8107
+ "lines": 1
8108
+ },
8109
+ {
8110
+ "kind": "space",
8111
+ "lines": 1
8112
+ },
8113
+ {
8114
+ "kind": "text",
8115
+ "text": "Bis bald",
8116
+ "align": "center",
8117
+ "bold": false
8118
+ },
8119
+ {
8120
+ "kind": "text",
8121
+ "text": "Danke",
8122
+ "align": "center",
8123
+ "bold": false
8124
+ },
8125
+ {
8126
+ "kind": "space",
8127
+ "lines": 1
8128
+ },
8129
+ {
8130
+ "kind": "banner",
8131
+ "text": "TESTKASSE — kein gültiger Beleg",
8132
+ "tone": "warning"
8133
+ }
8134
+ ]
8135
+ }
8136
+ }
8137
+ }
4736
8138
  }
4737
8139
  ]
4738
8140
  }