@kreiseck/kasseneck-api 0.31.0 → 1.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (712) hide show
  1. package/CHANGELOG.md +317 -0
  2. package/README.de.md +11 -7
  3. package/README.md +509 -126
  4. package/dist/cjs/client/api.d.ts +7 -6
  5. package/dist/cjs/client/api.js +2 -2
  6. package/dist/cjs/client/aufrufe.d.ts +29 -5
  7. package/dist/cjs/client/aufrufe.js +114 -2
  8. package/dist/cjs/client/auth.d.ts +2 -0
  9. package/dist/cjs/client/auth.js +17 -1
  10. package/dist/cjs/client/cashregisters.d.ts +1 -1
  11. package/dist/cjs/client/cashregisters.js +2 -2
  12. package/dist/cjs/client/errors.d.ts +94 -19
  13. package/dist/cjs/client/errors.js +132 -28
  14. package/dist/cjs/client/fehlercodes.d.ts +9 -0
  15. package/dist/cjs/client/fehlercodes.js +36 -0
  16. package/dist/cjs/client/index.d.ts +5 -5
  17. package/dist/cjs/client/index.js +11 -3
  18. package/dist/cjs/client/receipts.d.ts +131 -124
  19. package/dist/cjs/client/receipts.js +196 -137
  20. package/dist/cjs/client/reports.d.ts +26 -4
  21. package/dist/cjs/client/reports.js +37 -4
  22. package/dist/cjs/client/status.d.ts +3 -3
  23. package/dist/cjs/client/status.js +7 -7
  24. package/dist/cjs/client/transport.d.ts +56 -4
  25. package/dist/cjs/client/transport.js +234 -25
  26. package/dist/cjs/enums/vat-rate.d.ts +2 -2
  27. package/dist/cjs/enums/vat-rate.js +1 -1
  28. package/dist/cjs/index.d.ts +4 -3
  29. package/dist/cjs/index.js +42 -13
  30. package/dist/{esm/rechnung → cjs/invoice}/api.d.ts +18 -17
  31. package/dist/cjs/{rechnung → invoice}/api.js +6 -6
  32. package/dist/{esm/rechnung → cjs/invoice}/auth.d.ts +2 -2
  33. package/dist/cjs/{rechnung → invoice}/auth.js +5 -5
  34. package/dist/{esm/rechnung/rechnen.d.ts → cjs/invoice/calc.d.ts} +27 -27
  35. package/dist/cjs/{rechnung/rechnen.js → invoice/calc.js} +54 -54
  36. package/dist/{esm/rechnung → cjs/invoice}/endpunkte.d.ts +23 -21
  37. package/dist/cjs/{rechnung → invoice}/endpunkte.js +52 -42
  38. package/dist/cjs/invoice/fehler.d.ts +31 -0
  39. package/dist/cjs/invoice/fehler.js +39 -0
  40. package/dist/cjs/invoice/index.d.ts +21 -0
  41. package/dist/cjs/invoice/index.js +86 -0
  42. package/dist/cjs/{rechnung → invoice}/summen.d.ts +12 -12
  43. package/dist/cjs/{rechnung → invoice}/summen.js +14 -14
  44. package/dist/cjs/invoice/texte.d.ts +224 -0
  45. package/dist/cjs/invoice/texte.js +425 -0
  46. package/dist/{esm/rechnung → cjs/invoice}/typen.d.ts +32 -11
  47. package/dist/cjs/{rechnung → invoice}/vertrag.d.ts +97 -71
  48. package/dist/cjs/{rechnung → invoice}/vertrag.js +144 -82
  49. package/dist/cjs/models/cancellation.d.ts +43 -24
  50. package/dist/cjs/models/cancellation.js +94 -46
  51. package/dist/cjs/models/hobex-receipt.d.ts +3 -3
  52. package/dist/cjs/models/hobex-receipt.js +35 -35
  53. package/dist/cjs/models/index.d.ts +6 -5
  54. package/dist/cjs/models/index.js +22 -2
  55. package/dist/cjs/models/payment-errors.d.ts +32 -15
  56. package/dist/cjs/models/payment-errors.js +80 -32
  57. package/dist/cjs/models/receipt-company.d.ts +6 -5
  58. package/dist/cjs/models/receipt-company.js +4 -4
  59. package/dist/cjs/models/receipt-email.d.ts +32 -18
  60. package/dist/cjs/models/receipt-email.js +69 -24
  61. package/dist/cjs/models/receipt-errors.d.ts +39 -0
  62. package/dist/cjs/models/receipt-errors.js +94 -0
  63. package/dist/cjs/models/receipt-item.d.ts +9 -1
  64. package/dist/cjs/models/receipt-item.js +3 -0
  65. package/dist/cjs/models/receipt-summary.d.ts +10 -4
  66. package/dist/cjs/models/receipt-summary.js +10 -4
  67. package/dist/cjs/models/receipt.d.ts +31 -2
  68. package/dist/cjs/models/receipt.js +12 -1
  69. package/dist/cjs/models/voucher.d.ts +7 -6
  70. package/dist/cjs/models/voucher.js +2 -7
  71. package/dist/cjs/partner/ablauf.d.ts +10 -10
  72. package/dist/cjs/partner/ablauf.js +29 -29
  73. package/dist/cjs/partner/api.d.ts +26 -23
  74. package/dist/cjs/partner/api.js +11 -13
  75. package/dist/cjs/partner/auth.d.ts +1 -1
  76. package/dist/cjs/partner/auth.js +2 -2
  77. package/dist/cjs/partner/betrieb.d.ts +7 -7
  78. package/dist/cjs/partner/betrieb.js +10 -10
  79. package/dist/cjs/partner/endpunkte.d.ts +27 -14
  80. package/dist/cjs/partner/endpunkte.js +80 -39
  81. package/dist/cjs/partner/fehler.d.ts +60 -30
  82. package/dist/cjs/partner/fehler.js +99 -43
  83. package/dist/cjs/partner/index.d.ts +13 -12
  84. package/dist/cjs/partner/index.js +35 -22
  85. package/dist/cjs/partner/secret.d.ts +3 -3
  86. package/dist/cjs/partner/secret.js +6 -6
  87. package/dist/cjs/partner/typen.d.ts +129 -71
  88. package/dist/cjs/partner/typen.js +76 -3
  89. package/dist/cjs/partner/webhook-signatur.d.ts +2 -2
  90. package/dist/cjs/partner/webhook-signatur.js +12 -12
  91. package/dist/cjs/partner/webhooks.d.ts +60 -32
  92. package/dist/cjs/partner/webhooks.js +40 -34
  93. package/dist/cjs/payments/hobex.d.ts +11 -3
  94. package/dist/cjs/payments/hobex.js +17 -5
  95. package/dist/cjs/payments/stripe.d.ts +5 -2
  96. package/dist/cjs/payments/stripe.js +10 -5
  97. package/dist/cjs/pos/artikel.d.ts +90 -0
  98. package/dist/cjs/pos/artikel.js +89 -0
  99. package/dist/cjs/pos/client.d.ts +27 -0
  100. package/dist/cjs/pos/client.js +144 -0
  101. package/dist/cjs/pos/drucker.d.ts +86 -0
  102. package/dist/cjs/pos/drucker.js +78 -0
  103. package/dist/cjs/pos/errors.d.ts +36 -0
  104. package/dist/cjs/pos/errors.js +95 -0
  105. package/dist/cjs/pos/index.d.ts +15 -0
  106. package/dist/cjs/pos/index.js +102 -0
  107. package/dist/cjs/pos/settings.d.ts +313 -0
  108. package/dist/cjs/pos/settings.js +376 -0
  109. package/dist/cjs/pos/texte.d.ts +883 -0
  110. package/dist/cjs/pos/texte.js +489 -0
  111. package/dist/cjs/{kasse → pos}/trinkgeld.d.ts +1 -1
  112. package/dist/cjs/{kasse → pos}/trinkgeld.js +2 -2
  113. package/dist/cjs/printing/escpos.d.ts +29 -29
  114. package/dist/cjs/printing/escpos.js +61 -61
  115. package/dist/cjs/printing/index.d.ts +2 -2
  116. package/dist/cjs/printing/index.js +17 -17
  117. package/dist/cjs/printing/qr-groesse.d.ts +38 -38
  118. package/dist/cjs/printing/qr-groesse.js +47 -47
  119. package/dist/cjs/printing/webusb.d.ts +2 -2
  120. package/dist/cjs/printing/webusb.js +4 -4
  121. package/dist/cjs/react/index.d.ts +21 -21
  122. package/dist/cjs/react/index.js +40 -30
  123. package/dist/cjs/receipt/bild.d.ts +4 -4
  124. package/dist/cjs/receipt/bild.js +11 -11
  125. package/dist/cjs/receipt/blatt.d.ts +46 -46
  126. package/dist/cjs/receipt/blatt.js +59 -59
  127. package/dist/cjs/receipt/discount.d.ts +1 -1
  128. package/dist/cjs/receipt/discount.js +8 -8
  129. package/dist/cjs/receipt/due.d.ts +86 -0
  130. package/dist/cjs/receipt/due.js +261 -0
  131. package/dist/cjs/receipt/epos.d.ts +22 -22
  132. package/dist/cjs/receipt/epos.js +45 -45
  133. package/dist/cjs/receipt/grid.d.ts +10 -10
  134. package/dist/cjs/receipt/grid.js +20 -20
  135. package/dist/cjs/receipt/index.d.ts +9 -8
  136. package/dist/cjs/receipt/index.js +26 -23
  137. package/dist/cjs/receipt/layout-escpos.d.ts +24 -24
  138. package/dist/cjs/receipt/layout-escpos.js +49 -49
  139. package/dist/cjs/receipt/layout.d.ts +28 -23
  140. package/dist/cjs/receipt/layout.js +45 -21
  141. package/dist/cjs/receipt/marke-daten.d.ts +8 -8
  142. package/dist/cjs/receipt/marke-daten.js +8 -8
  143. package/dist/cjs/receipt/marke.d.ts +7 -7
  144. package/dist/cjs/receipt/marke.js +10 -10
  145. package/dist/cjs/register/errors.d.ts +61 -0
  146. package/dist/cjs/register/errors.js +112 -0
  147. package/dist/cjs/register/index.d.ts +14 -1
  148. package/dist/cjs/register/index.js +20 -1
  149. package/dist/cjs/register/pairing.d.ts +55 -36
  150. package/dist/cjs/register/pairing.js +33 -29
  151. package/dist/cjs/register/session.d.ts +5 -5
  152. package/dist/cjs/register/session.js +7 -7
  153. package/dist/cjs/stored/draht.d.ts +45 -0
  154. package/dist/cjs/stored/draht.js +220 -0
  155. package/dist/cjs/stored/einstellungen.d.ts +23 -0
  156. package/dist/cjs/stored/einstellungen.js +200 -0
  157. package/dist/cjs/stored/index.d.ts +109 -0
  158. package/dist/cjs/stored/index.js +225 -0
  159. package/dist/cjs/stored/vokabular.d.ts +18 -0
  160. package/dist/cjs/stored/vokabular.js +389 -0
  161. package/dist/cjs/version.d.ts +7 -0
  162. package/dist/cjs/version.js +10 -0
  163. package/dist/cjs/vienna-time.d.ts +1 -1
  164. package/dist/cjs/vienna-time.js +2 -2
  165. package/dist/esm/client/api.d.ts +7 -6
  166. package/dist/esm/client/api.js +4 -4
  167. package/dist/esm/client/aufrufe.d.ts +29 -5
  168. package/dist/esm/client/aufrufe.js +111 -1
  169. package/dist/esm/client/auth.d.ts +2 -0
  170. package/dist/esm/client/auth.js +16 -1
  171. package/dist/esm/client/cashregisters.d.ts +1 -1
  172. package/dist/esm/client/cashregisters.js +2 -2
  173. package/dist/esm/client/errors.d.ts +94 -19
  174. package/dist/esm/client/errors.js +129 -27
  175. package/dist/esm/client/fehlercodes.d.ts +9 -0
  176. package/dist/esm/client/fehlercodes.js +32 -0
  177. package/dist/esm/client/index.d.ts +5 -5
  178. package/dist/esm/client/index.js +5 -5
  179. package/dist/esm/client/receipts.d.ts +131 -124
  180. package/dist/esm/client/receipts.js +195 -140
  181. package/dist/esm/client/reports.d.ts +26 -4
  182. package/dist/esm/client/reports.js +36 -4
  183. package/dist/esm/client/status.d.ts +3 -3
  184. package/dist/esm/client/status.js +7 -7
  185. package/dist/esm/client/transport.d.ts +56 -4
  186. package/dist/esm/client/transport.js +233 -24
  187. package/dist/esm/enums/vat-rate.d.ts +2 -2
  188. package/dist/esm/enums/vat-rate.js +1 -1
  189. package/dist/esm/index.d.ts +4 -3
  190. package/dist/esm/index.js +4 -3
  191. package/dist/{cjs/rechnung → esm/invoice}/api.d.ts +18 -17
  192. package/dist/esm/{rechnung → invoice}/api.js +6 -6
  193. package/dist/{cjs/rechnung → esm/invoice}/auth.d.ts +2 -2
  194. package/dist/esm/{rechnung → invoice}/auth.js +4 -4
  195. package/dist/{cjs/rechnung/rechnen.d.ts → esm/invoice/calc.d.ts} +27 -27
  196. package/dist/esm/{rechnung/rechnen.js → invoice/calc.js} +45 -45
  197. package/dist/{cjs/rechnung → esm/invoice}/endpunkte.d.ts +23 -21
  198. package/dist/esm/{rechnung → invoice}/endpunkte.js +52 -42
  199. package/dist/esm/invoice/fehler.d.ts +31 -0
  200. package/dist/esm/invoice/fehler.js +33 -0
  201. package/dist/esm/invoice/index.d.ts +21 -0
  202. package/dist/esm/invoice/index.js +20 -0
  203. package/dist/esm/{rechnung → invoice}/summen.d.ts +12 -12
  204. package/dist/esm/{rechnung → invoice}/summen.js +12 -12
  205. package/dist/esm/invoice/texte.d.ts +224 -0
  206. package/dist/esm/invoice/texte.js +421 -0
  207. package/dist/{cjs/rechnung → esm/invoice}/typen.d.ts +32 -11
  208. package/dist/esm/{rechnung → invoice}/vertrag.d.ts +97 -71
  209. package/dist/esm/{rechnung → invoice}/vertrag.js +143 -81
  210. package/dist/esm/models/cancellation.d.ts +43 -24
  211. package/dist/esm/models/cancellation.js +90 -45
  212. package/dist/esm/models/hobex-receipt.d.ts +3 -3
  213. package/dist/esm/models/hobex-receipt.js +35 -35
  214. package/dist/esm/models/index.d.ts +6 -5
  215. package/dist/esm/models/index.js +6 -5
  216. package/dist/esm/models/payment-errors.d.ts +32 -15
  217. package/dist/esm/models/payment-errors.js +77 -32
  218. package/dist/esm/models/receipt-company.d.ts +6 -5
  219. package/dist/esm/models/receipt-company.js +4 -4
  220. package/dist/esm/models/receipt-email.d.ts +32 -18
  221. package/dist/esm/models/receipt-email.js +65 -23
  222. package/dist/esm/models/receipt-errors.d.ts +39 -0
  223. package/dist/esm/models/receipt-errors.js +87 -0
  224. package/dist/esm/models/receipt-item.d.ts +9 -1
  225. package/dist/esm/models/receipt-item.js +3 -0
  226. package/dist/esm/models/receipt-summary.d.ts +10 -4
  227. package/dist/esm/models/receipt-summary.js +9 -3
  228. package/dist/esm/models/receipt.d.ts +31 -2
  229. package/dist/esm/models/receipt.js +12 -2
  230. package/dist/esm/models/voucher.d.ts +7 -6
  231. package/dist/esm/models/voucher.js +2 -7
  232. package/dist/esm/partner/ablauf.d.ts +10 -10
  233. package/dist/esm/partner/ablauf.js +27 -27
  234. package/dist/esm/partner/api.d.ts +26 -23
  235. package/dist/esm/partner/api.js +13 -15
  236. package/dist/esm/partner/auth.d.ts +1 -1
  237. package/dist/esm/partner/auth.js +2 -2
  238. package/dist/esm/partner/betrieb.d.ts +7 -7
  239. package/dist/esm/partner/betrieb.js +8 -8
  240. package/dist/esm/partner/endpunkte.d.ts +27 -14
  241. package/dist/esm/partner/endpunkte.js +79 -39
  242. package/dist/esm/partner/fehler.d.ts +60 -30
  243. package/dist/esm/partner/fehler.js +91 -35
  244. package/dist/esm/partner/index.d.ts +13 -12
  245. package/dist/esm/partner/index.js +12 -11
  246. package/dist/esm/partner/secret.d.ts +3 -3
  247. package/dist/esm/partner/secret.js +5 -5
  248. package/dist/esm/partner/typen.d.ts +129 -71
  249. package/dist/esm/partner/typen.js +75 -2
  250. package/dist/esm/partner/webhook-signatur.d.ts +2 -2
  251. package/dist/esm/partner/webhook-signatur.js +12 -12
  252. package/dist/esm/partner/webhooks.d.ts +60 -32
  253. package/dist/esm/partner/webhooks.js +38 -32
  254. package/dist/esm/payments/hobex.d.ts +11 -3
  255. package/dist/esm/payments/hobex.js +18 -6
  256. package/dist/esm/payments/stripe.d.ts +5 -2
  257. package/dist/esm/payments/stripe.js +11 -6
  258. package/dist/esm/pos/artikel.d.ts +90 -0
  259. package/dist/esm/pos/artikel.js +79 -0
  260. package/dist/esm/pos/client.d.ts +27 -0
  261. package/dist/esm/pos/client.js +137 -0
  262. package/dist/esm/pos/drucker.d.ts +86 -0
  263. package/dist/esm/pos/drucker.js +71 -0
  264. package/dist/esm/pos/errors.d.ts +36 -0
  265. package/dist/esm/pos/errors.js +88 -0
  266. package/dist/esm/pos/index.d.ts +15 -0
  267. package/dist/esm/pos/index.js +20 -0
  268. package/dist/esm/pos/settings.d.ts +313 -0
  269. package/dist/esm/pos/settings.js +367 -0
  270. package/dist/esm/pos/texte.d.ts +883 -0
  271. package/dist/esm/pos/texte.js +481 -0
  272. package/dist/esm/{kasse → pos}/trinkgeld.d.ts +1 -1
  273. package/dist/esm/{kasse → pos}/trinkgeld.js +2 -2
  274. package/dist/esm/printing/escpos.d.ts +29 -29
  275. package/dist/esm/printing/escpos.js +56 -56
  276. package/dist/esm/printing/index.d.ts +2 -2
  277. package/dist/esm/printing/index.js +2 -2
  278. package/dist/esm/printing/qr-groesse.d.ts +38 -38
  279. package/dist/esm/printing/qr-groesse.js +42 -42
  280. package/dist/esm/printing/webusb.d.ts +2 -2
  281. package/dist/esm/printing/webusb.js +4 -4
  282. package/dist/esm/react/index.d.ts +21 -21
  283. package/dist/esm/react/index.js +39 -29
  284. package/dist/esm/receipt/bild.d.ts +4 -4
  285. package/dist/esm/receipt/bild.js +11 -11
  286. package/dist/esm/receipt/blatt.d.ts +46 -46
  287. package/dist/esm/receipt/blatt.js +55 -55
  288. package/dist/esm/receipt/discount.d.ts +1 -1
  289. package/dist/esm/receipt/discount.js +7 -7
  290. package/dist/esm/receipt/due.d.ts +86 -0
  291. package/dist/esm/receipt/due.js +257 -0
  292. package/dist/esm/receipt/epos.d.ts +22 -22
  293. package/dist/esm/receipt/epos.js +47 -47
  294. package/dist/esm/receipt/grid.d.ts +10 -10
  295. package/dist/esm/receipt/grid.js +18 -18
  296. package/dist/esm/receipt/index.d.ts +9 -8
  297. package/dist/esm/receipt/index.js +9 -8
  298. package/dist/esm/receipt/layout-escpos.d.ts +24 -24
  299. package/dist/esm/receipt/layout-escpos.js +51 -51
  300. package/dist/esm/receipt/layout.d.ts +28 -23
  301. package/dist/esm/receipt/layout.js +44 -20
  302. package/dist/esm/receipt/marke-daten.d.ts +8 -8
  303. package/dist/esm/receipt/marke-daten.js +7 -7
  304. package/dist/esm/receipt/marke.d.ts +7 -7
  305. package/dist/esm/receipt/marke.js +10 -10
  306. package/dist/esm/register/errors.d.ts +61 -0
  307. package/dist/esm/register/errors.js +104 -0
  308. package/dist/esm/register/index.d.ts +14 -1
  309. package/dist/esm/register/index.js +13 -0
  310. package/dist/esm/register/pairing.d.ts +55 -36
  311. package/dist/esm/register/pairing.js +33 -29
  312. package/dist/esm/register/session.d.ts +5 -5
  313. package/dist/esm/register/session.js +7 -7
  314. package/dist/esm/stored/draht.d.ts +45 -0
  315. package/dist/esm/stored/draht.js +208 -0
  316. package/dist/esm/stored/einstellungen.d.ts +23 -0
  317. package/dist/esm/stored/einstellungen.js +196 -0
  318. package/dist/esm/stored/index.d.ts +109 -0
  319. package/dist/esm/stored/index.js +217 -0
  320. package/dist/esm/stored/vokabular.d.ts +18 -0
  321. package/dist/esm/stored/vokabular.js +386 -0
  322. package/dist/esm/version.d.ts +7 -0
  323. package/dist/esm/version.js +7 -0
  324. package/dist/esm/vienna-time.d.ts +1 -1
  325. package/dist/esm/vienna-time.js +2 -2
  326. package/fixtures/{erwartet/storno-rabatt.lines.json → expected/cancellation-discount.lines.json} +2 -2
  327. package/fixtures/expected/cancellation-discount.sheet32.json +248 -0
  328. package/fixtures/{erwartet/storno-rabatt.blatt48.json → expected/cancellation-discount.sheet48.json} +119 -119
  329. package/fixtures/{erwartet/storno-voll.lines.json → expected/cancellation-full.lines.json} +2 -2
  330. package/fixtures/expected/cancellation-full.sheet32.json +218 -0
  331. package/fixtures/{erwartet/storno-voll.blatt48.json → expected/cancellation-full.sheet48.json} +107 -107
  332. package/fixtures/{erwartet/storno-teil.lines.json → expected/cancellation-partial.lines.json} +2 -2
  333. package/fixtures/expected/cancellation-partial.sheet32.json +206 -0
  334. package/fixtures/{erwartet/storno-teil.blatt48.json → expected/cancellation-partial.sheet48.json} +101 -101
  335. package/fixtures/{erwartet/storno-split-voll.lines.json → expected/cancellation-split-full.lines.json} +2 -2
  336. package/fixtures/expected/cancellation-split-full.sheet32.json +320 -0
  337. package/fixtures/{erwartet/storno-split-voll.blatt48.json → expected/cancellation-split-full.sheet48.json} +158 -158
  338. package/fixtures/{erwartet/storno-split-teil.lines.json → expected/cancellation-split-partial.lines.json} +2 -2
  339. package/fixtures/expected/cancellation-split-partial.sheet32.json +230 -0
  340. package/fixtures/{erwartet/storno-split-teil.blatt48.json → expected/cancellation-split-partial.sheet48.json} +113 -113
  341. package/fixtures/{erwartet/karte-eigener.lines.json → expected/card-custom.lines.json} +1 -1
  342. package/fixtures/expected/card-custom.sheet32.json +158 -0
  343. package/fixtures/{erwartet/karte-eigener.blatt48.json → expected/card-custom.sheet48.json} +80 -80
  344. package/fixtures/{erwartet/karte-gptom-ios.lines.json → expected/card-gptom-ios.lines.json} +1 -1
  345. package/fixtures/expected/card-gptom-ios.sheet32.json +230 -0
  346. package/fixtures/{erwartet/karte-gptom-ios.blatt48.json → expected/card-gptom-ios.sheet48.json} +116 -116
  347. package/fixtures/{erwartet/karte-gptom.lines.json → expected/card-gptom.lines.json} +1 -1
  348. package/fixtures/expected/card-gptom.sheet32.json +230 -0
  349. package/fixtures/{erwartet/karte-gptom.blatt48.json → expected/card-gptom.sheet48.json} +116 -116
  350. package/fixtures/{erwartet/karte-hobex-cloud.lines.json → expected/card-hobex-cloud.lines.json} +1 -1
  351. package/fixtures/expected/card-hobex-cloud.sheet32.json +200 -0
  352. package/fixtures/{erwartet/karte-hobex-cloud.blatt48.json → expected/card-hobex-cloud.sheet48.json} +101 -101
  353. package/fixtures/{erwartet/karte-hobex-hps.lines.json → expected/card-hobex-hps.lines.json} +1 -1
  354. package/fixtures/expected/card-hobex-hps.sheet32.json +224 -0
  355. package/fixtures/{erwartet/karte-hobex-hps.blatt48.json → expected/card-hobex-hps.sheet48.json} +113 -113
  356. package/fixtures/{erwartet/karte-mypos.lines.json → expected/card-mypos.lines.json} +1 -1
  357. package/fixtures/expected/card-mypos.sheet32.json +254 -0
  358. package/fixtures/{erwartet/karte-mypos.blatt48.json → expected/card-mypos.sheet48.json} +122 -122
  359. package/fixtures/{erwartet/karte-stripe-eps.lines.json → expected/card-stripe-eps.lines.json} +1 -1
  360. package/fixtures/expected/card-stripe-eps.sheet32.json +194 -0
  361. package/fixtures/{erwartet/karte-stripe-eps.blatt48.json → expected/card-stripe-eps.sheet48.json} +98 -98
  362. package/fixtures/{erwartet/karte-stripe.lines.json → expected/card-stripe.lines.json} +1 -1
  363. package/fixtures/expected/card-stripe.sheet32.json +212 -0
  364. package/fixtures/{erwartet/karte-stripe.blatt48.json → expected/card-stripe.sheet48.json} +107 -107
  365. package/fixtures/{erwartet/karte-sumup.lines.json → expected/card-sumup.lines.json} +1 -1
  366. package/fixtures/expected/card-sumup.sheet32.json +218 -0
  367. package/fixtures/{erwartet/karte-sumup.blatt48.json → expected/card-sumup.sheet48.json} +104 -104
  368. package/fixtures/{erwartet/rabattzeilen.lines.json → expected/discount-lines.lines.json} +1 -1
  369. package/fixtures/expected/discount-lines.sheet32.json +200 -0
  370. package/fixtures/{erwartet/rabattzeilen.blatt48.json → expected/discount-lines.sheet48.json} +98 -98
  371. package/fixtures/{erwartet/rabatt-chef-trinkgeld.lines.json → expected/discount-owner-tip.lines.json} +1 -1
  372. package/fixtures/expected/discount-owner-tip.sheet32.json +212 -0
  373. package/fixtures/{erwartet/rabatt-chef-trinkgeld.blatt48.json → expected/discount-owner-tip.sheet48.json} +104 -104
  374. package/fixtures/{erwartet/rabatt-einfach.lines.json → expected/discount-simple.lines.json} +1 -1
  375. package/fixtures/expected/discount-simple.sheet32.json +182 -0
  376. package/fixtures/{erwartet/rabatt-einfach.blatt48.json → expected/discount-simple.sheet48.json} +89 -89
  377. package/fixtures/{erwartet/rabatt-trinkgeld.lines.json → expected/discount-tip.lines.json} +1 -1
  378. package/fixtures/expected/discount-tip.sheet32.json +212 -0
  379. package/fixtures/{erwartet/rabatt-trinkgeld.blatt48.json → expected/discount-tip.sheet48.json} +104 -104
  380. package/fixtures/{erwartet/rabatt-wertgutschein.lines.json → expected/discount-value-voucher.lines.json} +1 -1
  381. package/fixtures/expected/discount-value-voucher.sheet32.json +218 -0
  382. package/fixtures/{erwartet/rabatt-wertgutschein.blatt48.json → expected/discount-value-voucher.sheet48.json} +107 -107
  383. package/fixtures/{erwartet/langer-artikelname.lines.json → expected/long-item-name.lines.json} +1 -1
  384. package/fixtures/expected/long-item-name.sheet32.json +176 -0
  385. package/fixtures/{erwartet/langer-artikelname.blatt48.json → expected/long-item-name.sheet48.json} +86 -86
  386. package/fixtures/{erwartet/verkauf-karte.lines.json → expected/sale-card.lines.json} +1 -1
  387. package/fixtures/expected/sale-card.sheet32.json +176 -0
  388. package/fixtures/{erwartet/verkauf-karte.blatt48.json → expected/sale-card.sheet48.json} +86 -86
  389. package/fixtures/{erwartet/verkauf-bar.lines.json → expected/sale-cash.lines.json} +1 -1
  390. package/fixtures/expected/sale-cash.sheet32.json +176 -0
  391. package/fixtures/{erwartet/verkauf-bar.blatt48.json → expected/sale-cash.sheet48.json} +86 -86
  392. package/fixtures/{erwartet/verkauf-kleinunternehmer.lines.json → expected/sale-small-business.lines.json} +1 -1
  393. package/fixtures/expected/sale-small-business.sheet32.json +182 -0
  394. package/fixtures/{erwartet/verkauf-kleinunternehmer.blatt48.json → expected/sale-small-business.sheet48.json} +89 -89
  395. package/fixtures/{erwartet/signaturausfall-verkauf.lines.json → expected/signature-outage-sale.lines.json} +1 -1
  396. package/fixtures/expected/signature-outage-sale.sheet32.json +194 -0
  397. package/fixtures/{erwartet/signaturausfall-verkauf.blatt48.json → expected/signature-outage-sale.sheet48.json} +92 -92
  398. package/fixtures/{erwartet/split-karte-karte-bar.lines.json → expected/split-card-card-cash.lines.json} +1 -1
  399. package/fixtures/expected/split-card-card-cash.sheet32.json +356 -0
  400. package/fixtures/{erwartet/split-karte-karte-bar.blatt48.json → expected/split-card-card-cash.sheet48.json} +170 -170
  401. package/fixtures/{erwartet/split-bar-rueckgeld.lines.json → expected/split-cash-change.lines.json} +1 -1
  402. package/fixtures/expected/split-cash-change.sheet32.json +194 -0
  403. package/fixtures/{erwartet/split-bar-rueckgeld.blatt48.json → expected/split-cash-change.sheet48.json} +92 -92
  404. package/fixtures/{erwartet/split-langer-betrag.lines.json → expected/split-long-amount.lines.json} +1 -1
  405. package/fixtures/expected/split-long-amount.sheet32.json +266 -0
  406. package/fixtures/{erwartet/split-langer-betrag.blatt48.json → expected/split-long-amount.sheet48.json} +131 -131
  407. package/fixtures/{erwartet/split-eine-karte-trinkgeld.lines.json → expected/split-one-card-tip.lines.json} +1 -1
  408. package/fixtures/expected/split-one-card-tip.sheet32.json +242 -0
  409. package/fixtures/{erwartet/split-eine-karte-trinkgeld.blatt48.json → expected/split-one-card-tip.sheet48.json} +113 -113
  410. package/fixtures/{erwartet/split-tischrunde-trinkgeld.lines.json → expected/split-table-round-tip.lines.json} +1 -1
  411. package/fixtures/expected/split-table-round-tip.sheet32.json +470 -0
  412. package/fixtures/{erwartet/split-tischrunde-trinkgeld.blatt48.json → expected/split-table-round-tip.sheet48.json} +218 -218
  413. package/fixtures/{erwartet/split-trinkgeld-karte.lines.json → expected/split-tip-card.lines.json} +1 -1
  414. package/fixtures/expected/split-tip-card.sheet32.json +272 -0
  415. package/fixtures/{erwartet/split-trinkgeld-karte.blatt48.json → expected/split-tip-card.sheet48.json} +128 -128
  416. package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.lines.json → expected/split-two-cards-same-provider.lines.json} +1 -1
  417. package/fixtures/expected/split-two-cards-same-provider.sheet32.json +326 -0
  418. package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.blatt48.json → expected/split-two-cards-same-provider.sheet48.json} +149 -149
  419. package/fixtures/{erwartet/testkasse-verkauf.lines.json → expected/test-cashregister-sale.lines.json} +3 -3
  420. package/fixtures/expected/test-cashregister-sale.sheet32.json +224 -0
  421. package/fixtures/{erwartet/testkasse-verkauf.blatt48.json → expected/test-cashregister-sale.sheet48.json} +110 -110
  422. package/fixtures/{erwartet/testsignatur-verkauf.lines.json → expected/test-signature-sale.lines.json} +3 -3
  423. package/fixtures/expected/test-signature-sale.sheet32.json +236 -0
  424. package/fixtures/{erwartet/testsignatur-verkauf.blatt48.json → expected/test-signature-sale.sheet48.json} +110 -110
  425. package/fixtures/{erwartet → expected}/training.lines.json +2 -2
  426. package/fixtures/expected/training.sheet32.json +236 -0
  427. package/fixtures/{erwartet/training.blatt48.json → expected/training.sheet48.json} +110 -110
  428. package/fixtures/{erwartet/null-jahr.lines.json → expected/zero-annual.lines.json} +2 -2
  429. package/fixtures/expected/zero-annual.sheet32.json +212 -0
  430. package/fixtures/{erwartet/null-jahr.blatt48.json → expected/zero-annual.sheet48.json} +95 -95
  431. package/fixtures/{erwartet/null-schluss.lines.json → expected/zero-final.lines.json} +2 -2
  432. package/fixtures/expected/zero-final.sheet32.json +206 -0
  433. package/fixtures/{erwartet/null-schluss.blatt48.json → expected/zero-final.sheet48.json} +95 -95
  434. package/fixtures/{erwartet/null-pruef.lines.json → expected/zero-manual.lines.json} +2 -2
  435. package/fixtures/expected/zero-manual.sheet32.json +206 -0
  436. package/fixtures/{erwartet/null-pruef.blatt48.json → expected/zero-manual.sheet48.json} +95 -95
  437. package/fixtures/{erwartet/null-monat.lines.json → expected/zero-monthly.lines.json} +2 -2
  438. package/fixtures/expected/zero-monthly.sheet32.json +206 -0
  439. package/fixtures/{erwartet/null-monat.blatt48.json → expected/zero-monthly.sheet48.json} +95 -95
  440. package/fixtures/{erwartet/null-ausfall.lines.json → expected/zero-outage-end.lines.json} +2 -2
  441. package/fixtures/expected/zero-outage-end.sheet32.json +206 -0
  442. package/fixtures/{erwartet/null-ausfall.blatt48.json → expected/zero-outage-end.sheet48.json} +95 -95
  443. package/fixtures/{erwartet/null-start.lines.json → expected/zero-start.lines.json} +2 -2
  444. package/fixtures/expected/zero-start.sheet32.json +206 -0
  445. package/fixtures/{erwartet/null-start.blatt48.json → expected/zero-start.sheet48.json} +95 -95
  446. package/fixtures/hobex-hps-codes.json +12 -12
  447. package/fixtures/invoice-api-examples/brands-ok.json +8 -0
  448. package/fixtures/{rechnung-api-beispiele/credit-fehler-grund.json → invoice-api-examples/credit-error-reason.json} +6 -6
  449. package/fixtures/{rechnung-api-beispiele → invoice-api-examples}/credit-ok.json +6 -6
  450. package/fixtures/{rechnung-api-beispiele/customer-fehler-uid.json → invoice-api-examples/customer-error-vat-id.json} +4 -4
  451. package/fixtures/invoice-api-examples/customer-get-error-both.json +15 -0
  452. package/fixtures/{rechnung-api-beispiele → invoice-api-examples}/customer-ok.json +4 -4
  453. package/fixtures/{rechnung-api-beispiele/customer-search-fehler-leer.json → invoice-api-examples/customer-search-error-empty.json} +4 -4
  454. package/fixtures/{rechnung-api-beispiele/issue-rabatt.json → invoice-api-examples/issue-discount.json} +6 -6
  455. package/fixtures/{rechnung-api-beispiele/issue-englisch.json → invoice-api-examples/issue-english.json} +7 -7
  456. package/fixtures/{rechnung-api-beispiele/issue-fehler-cent.json → invoice-api-examples/issue-error-cent.json} +6 -6
  457. package/fixtures/{rechnung-api-beispiele/issue-fehler-sprache.json → invoice-api-examples/issue-error-language.json} +5 -5
  458. package/fixtures/{rechnung-api-beispiele/issue-fehler-negativ.json → invoice-api-examples/issue-error-negative.json} +6 -6
  459. package/fixtures/{rechnung-api-beispiele/issue-fehler-zahlungsart.json → invoice-api-examples/issue-error-payment-method.json} +8 -6
  460. package/fixtures/{rechnung-api-beispiele/issue-fehler-preis-beide.json → invoice-api-examples/issue-error-price-both.json} +6 -6
  461. package/fixtures/{rechnung-api-beispiele/issue-fehler-preis-fehlt.json → invoice-api-examples/issue-error-price-missing.json} +6 -6
  462. package/fixtures/{rechnung-api-beispiele/issue-fehler-menge.json → invoice-api-examples/issue-error-quantity.json} +6 -6
  463. package/fixtures/{rechnung-api-beispiele/issue-fehler-satz.json → invoice-api-examples/issue-error-rate.json} +6 -6
  464. package/fixtures/{rechnung-api-beispiele/issue-fehler-einheit.json → invoice-api-examples/issue-error-unit.json} +5 -5
  465. package/fixtures/{rechnung-api-beispiele/issue-fehler-unbekannt.json → invoice-api-examples/issue-error-unknown.json} +6 -6
  466. package/fixtures/{rechnung-api-beispiele/issue-brutto-20.json → invoice-api-examples/issue-gross-20.json} +6 -6
  467. package/fixtures/{rechnung-api-beispiele/issue-mikropreis.json → invoice-api-examples/issue-micro-price.json} +6 -6
  468. package/fixtures/{rechnung-api-beispiele/issue-gemischt.json → invoice-api-examples/issue-mixed.json} +6 -6
  469. package/fixtures/{rechnung-api-beispiele/issue-netto-20.json → invoice-api-examples/issue-net-20.json} +6 -6
  470. package/fixtures/{rechnung-api-beispiele/issue-bezahlt.json → invoice-api-examples/issue-paid.json} +7 -7
  471. package/fixtures/{rechnung-api-beispiele/issue-kleinunternehmer.json → invoice-api-examples/issue-small-business.json} +6 -6
  472. package/fixtures/invoice-api-examples/payment-error-on-site.json +17 -0
  473. package/fixtures/invoice-api-examples/payment-error-without-key.json +16 -0
  474. package/fixtures/invoice-api-examples/payment-recorded-later.json +14 -0
  475. package/fixtures/{rechnung-api-beispiele/setup-status-fehler-feld.json → invoice-api-examples/setup-status-error-field.json} +4 -4
  476. package/fixtures/invoice-api-examples/setup-status-ok.json +8 -0
  477. package/fixtures/{rechnung-api.schema.json → invoice-api.schema.json} +24 -24
  478. package/fixtures/{rechnung-rechnen-zufall.json → invoice-calc-random.json} +828 -828
  479. package/fixtures/{rechnung-rechnen.json → invoice-calc.json} +47 -47
  480. package/fixtures/invoice-texts.json +464 -0
  481. package/fixtures/{rechnung-summen.json → invoice-totals.json} +25 -25
  482. package/fixtures/{position-aus-euro.json → item-from-euro.json} +26 -26
  483. package/fixtures/manifest.json +252 -252
  484. package/fixtures/pos-message-cases.json +32 -0
  485. package/fixtures/pos-settings-defaults.json +149 -0
  486. package/fixtures/{kasse-texte.json → pos-texts.json} +416 -416
  487. package/fixtures/receipt-due-generated.json +1218 -0
  488. package/fixtures/{belege/storno-rabatt.json → receipts/cancellation-discount.json} +3 -3
  489. package/fixtures/{belege/storno-voll.json → receipts/cancellation-full.json} +3 -3
  490. package/fixtures/{belege/storno-teil.json → receipts/cancellation-partial.json} +3 -3
  491. package/fixtures/{belege/storno-split-voll.json → receipts/cancellation-split-full.json} +3 -3
  492. package/fixtures/{belege/storno-split-teil.json → receipts/cancellation-split-partial.json} +3 -3
  493. package/fixtures/{belege/karte-eigener.json → receipts/card-custom.json} +2 -2
  494. package/fixtures/{belege/karte-gptom-ios.json → receipts/card-gptom-ios.json} +2 -2
  495. package/fixtures/{belege/karte-gptom.json → receipts/card-gptom.json} +2 -2
  496. package/fixtures/{belege/karte-hobex-cloud.json → receipts/card-hobex-cloud.json} +2 -2
  497. package/fixtures/{belege/karte-hobex-hps.json → receipts/card-hobex-hps.json} +2 -2
  498. package/fixtures/{belege/karte-mypos.json → receipts/card-mypos.json} +2 -2
  499. package/fixtures/{belege/karte-stripe-eps.json → receipts/card-stripe-eps.json} +2 -2
  500. package/fixtures/{belege/karte-stripe.json → receipts/card-stripe.json} +2 -2
  501. package/fixtures/{belege/karte-sumup.json → receipts/card-sumup.json} +2 -2
  502. package/fixtures/{belege/rabattzeilen.json → receipts/discount-lines.json} +2 -2
  503. package/fixtures/{belege/rabatt-chef-trinkgeld.json → receipts/discount-owner-tip.json} +2 -2
  504. package/fixtures/{belege/rabatt-einfach.json → receipts/discount-simple.json} +2 -2
  505. package/fixtures/{belege/rabatt-trinkgeld.json → receipts/discount-tip.json} +2 -2
  506. package/fixtures/{belege/rabatt-wertgutschein.json → receipts/discount-value-voucher.json} +2 -2
  507. package/fixtures/{belege/langer-artikelname.json → receipts/long-item-name.json} +2 -2
  508. package/fixtures/{belege/verkauf-karte.json → receipts/sale-card.json} +2 -2
  509. package/fixtures/{belege/verkauf-bar.json → receipts/sale-cash.json} +2 -2
  510. package/fixtures/{belege/verkauf-kleinunternehmer.json → receipts/sale-small-business.json} +1 -1
  511. package/fixtures/{belege/signaturausfall-verkauf.json → receipts/signature-outage-sale.json} +2 -2
  512. package/fixtures/{belege/split-karte-karte-bar.json → receipts/split-card-card-cash.json} +2 -2
  513. package/fixtures/{belege/split-bar-rueckgeld.json → receipts/split-cash-change.json} +2 -2
  514. package/fixtures/{belege/split-langer-betrag.json → receipts/split-long-amount.json} +2 -2
  515. package/fixtures/{belege/split-eine-karte-trinkgeld.json → receipts/split-one-card-tip.json} +2 -2
  516. package/fixtures/{belege/split-tischrunde-trinkgeld.json → receipts/split-table-round-tip.json} +2 -2
  517. package/fixtures/{belege/split-trinkgeld-karte.json → receipts/split-tip-card.json} +2 -2
  518. package/fixtures/{belege/split-zwei-karten-gleicher-anbieter.json → receipts/split-two-cards-same-provider.json} +2 -2
  519. package/fixtures/{belege/testsignatur-verkauf.json → receipts/test-cashregister-sale.json} +3 -3
  520. package/fixtures/{belege/testkasse-verkauf.json → receipts/test-signature-sale.json} +3 -3
  521. package/fixtures/{belege → receipts}/training.json +2 -2
  522. package/fixtures/{belege/null-jahr.json → receipts/zero-annual.json} +5 -5
  523. package/fixtures/{belege/null-schluss.json → receipts/zero-final.json} +5 -5
  524. package/fixtures/{belege/null-pruef.json → receipts/zero-manual.json} +5 -5
  525. package/fixtures/{belege/null-monat.json → receipts/zero-monthly.json} +5 -5
  526. package/fixtures/{belege/null-ausfall.json → receipts/zero-outage-end.json} +5 -5
  527. package/fixtures/{belege/null-start.json → receipts/zero-start.json} +5 -5
  528. package/fixtures/renames-1.0.json +1490 -0
  529. package/fixtures/{kasse-settings-standard.json → stored/pos-settings-defaults.json} +7 -7
  530. package/fixtures/surface.json +877 -0
  531. package/fixtures/v3/README.md +125 -0
  532. package/fixtures/v3/antworten/belege.json +4738 -0
  533. package/fixtures/v3/antworten/belegmail.json +154 -0
  534. package/fixtures/v3/antworten/kasse-belege.json +4304 -0
  535. package/fixtures/v3/antworten/kasse.json +12716 -0
  536. package/fixtures/v3/antworten/rechnungen.json +1712 -0
  537. package/fixtures/v3/antworten/storno.json +737 -0
  538. package/fixtures/v3/stored/belege.json +502 -0
  539. package/fixtures/v3/stored/kasse.json +3461 -0
  540. package/fixtures/v3/stored/rechnungen.json +750 -0
  541. package/fixtures/v3/v3-vokabular.json +3375 -0
  542. package/fixtures/v3/zahlbetrag-faelle.json +794 -0
  543. package/package.json +32 -18
  544. package/dist/cjs/kasse/artikel.d.ts +0 -83
  545. package/dist/cjs/kasse/artikel.js +0 -79
  546. package/dist/cjs/kasse/client.d.ts +0 -10
  547. package/dist/cjs/kasse/client.js +0 -38
  548. package/dist/cjs/kasse/drucker.d.ts +0 -59
  549. package/dist/cjs/kasse/drucker.js +0 -50
  550. package/dist/cjs/kasse/index.d.ts +0 -13
  551. package/dist/cjs/kasse/index.js +0 -83
  552. package/dist/cjs/kasse/settings.d.ts +0 -229
  553. package/dist/cjs/kasse/settings.js +0 -172
  554. package/dist/cjs/kasse/texte.d.ts +0 -868
  555. package/dist/cjs/kasse/texte.js +0 -474
  556. package/dist/cjs/rechnung/fehler.d.ts +0 -21
  557. package/dist/cjs/rechnung/fehler.js +0 -44
  558. package/dist/cjs/rechnung/index.d.ts +0 -21
  559. package/dist/cjs/rechnung/index.js +0 -82
  560. package/dist/cjs/rechnung/texte.d.ts +0 -222
  561. package/dist/cjs/rechnung/texte.js +0 -425
  562. package/dist/esm/kasse/artikel.d.ts +0 -83
  563. package/dist/esm/kasse/artikel.js +0 -70
  564. package/dist/esm/kasse/client.d.ts +0 -10
  565. package/dist/esm/kasse/client.js +0 -33
  566. package/dist/esm/kasse/drucker.d.ts +0 -59
  567. package/dist/esm/kasse/drucker.js +0 -45
  568. package/dist/esm/kasse/index.d.ts +0 -13
  569. package/dist/esm/kasse/index.js +0 -18
  570. package/dist/esm/kasse/settings.d.ts +0 -229
  571. package/dist/esm/kasse/settings.js +0 -168
  572. package/dist/esm/kasse/texte.d.ts +0 -868
  573. package/dist/esm/kasse/texte.js +0 -466
  574. package/dist/esm/rechnung/fehler.d.ts +0 -21
  575. package/dist/esm/rechnung/fehler.js +0 -39
  576. package/dist/esm/rechnung/index.d.ts +0 -21
  577. package/dist/esm/rechnung/index.js +0 -20
  578. package/dist/esm/rechnung/texte.d.ts +0 -222
  579. package/dist/esm/rechnung/texte.js +0 -421
  580. package/fixtures/erwartet/karte-eigener.blatt32.json +0 -158
  581. package/fixtures/erwartet/karte-gptom-ios.blatt32.json +0 -230
  582. package/fixtures/erwartet/karte-gptom.blatt32.json +0 -230
  583. package/fixtures/erwartet/karte-hobex-cloud.blatt32.json +0 -200
  584. package/fixtures/erwartet/karte-hobex-hps.blatt32.json +0 -224
  585. package/fixtures/erwartet/karte-mypos.blatt32.json +0 -254
  586. package/fixtures/erwartet/karte-stripe-eps.blatt32.json +0 -194
  587. package/fixtures/erwartet/karte-stripe.blatt32.json +0 -212
  588. package/fixtures/erwartet/karte-sumup.blatt32.json +0 -218
  589. package/fixtures/erwartet/langer-artikelname.blatt32.json +0 -176
  590. package/fixtures/erwartet/null-ausfall.blatt32.json +0 -206
  591. package/fixtures/erwartet/null-jahr.blatt32.json +0 -212
  592. package/fixtures/erwartet/null-monat.blatt32.json +0 -206
  593. package/fixtures/erwartet/null-pruef.blatt32.json +0 -206
  594. package/fixtures/erwartet/null-schluss.blatt32.json +0 -206
  595. package/fixtures/erwartet/null-start.blatt32.json +0 -206
  596. package/fixtures/erwartet/rabatt-chef-trinkgeld.blatt32.json +0 -212
  597. package/fixtures/erwartet/rabatt-einfach.blatt32.json +0 -182
  598. package/fixtures/erwartet/rabatt-trinkgeld.blatt32.json +0 -212
  599. package/fixtures/erwartet/rabatt-wertgutschein.blatt32.json +0 -218
  600. package/fixtures/erwartet/rabattzeilen.blatt32.json +0 -200
  601. package/fixtures/erwartet/signaturausfall-verkauf.blatt32.json +0 -194
  602. package/fixtures/erwartet/split-bar-rueckgeld.blatt32.json +0 -194
  603. package/fixtures/erwartet/split-eine-karte-trinkgeld.blatt32.json +0 -242
  604. package/fixtures/erwartet/split-karte-karte-bar.blatt32.json +0 -356
  605. package/fixtures/erwartet/split-langer-betrag.blatt32.json +0 -266
  606. package/fixtures/erwartet/split-tischrunde-trinkgeld.blatt32.json +0 -470
  607. package/fixtures/erwartet/split-trinkgeld-karte.blatt32.json +0 -272
  608. package/fixtures/erwartet/split-zwei-karten-gleicher-anbieter.blatt32.json +0 -326
  609. package/fixtures/erwartet/storno-rabatt.blatt32.json +0 -248
  610. package/fixtures/erwartet/storno-split-teil.blatt32.json +0 -230
  611. package/fixtures/erwartet/storno-split-voll.blatt32.json +0 -320
  612. package/fixtures/erwartet/storno-teil.blatt32.json +0 -206
  613. package/fixtures/erwartet/storno-voll.blatt32.json +0 -218
  614. package/fixtures/erwartet/testkasse-verkauf.blatt32.json +0 -224
  615. package/fixtures/erwartet/testsignatur-verkauf.blatt32.json +0 -236
  616. package/fixtures/erwartet/training.blatt32.json +0 -236
  617. package/fixtures/erwartet/verkauf-bar.blatt32.json +0 -176
  618. package/fixtures/erwartet/verkauf-karte.blatt32.json +0 -176
  619. package/fixtures/erwartet/verkauf-kleinunternehmer.blatt32.json +0 -182
  620. package/fixtures/kasse-meldungen-faelle.json +0 -32
  621. package/fixtures/oberflaeche.json +0 -558
  622. package/fixtures/rechnung-api-beispiele/brands-ok.json +0 -8
  623. package/fixtures/rechnung-api-beispiele/customer-get-fehler-beide.json +0 -15
  624. package/fixtures/rechnung-api-beispiele/setup-status-ok.json +0 -8
  625. package/fixtures/rechnung-api-beispiele/zahlung-fehler-ohne-schluessel.json +0 -14
  626. package/fixtures/rechnung-api-beispiele/zahlung-fehler-vor-ort.json +0 -15
  627. package/fixtures/rechnung-api-beispiele/zahlung-nachtrag.json +0 -14
  628. package/fixtures/rechnung-texte.json +0 -464
  629. /package/dist/cjs/{rechnung → invoice}/typen.js +0 -0
  630. /package/dist/esm/{rechnung → invoice}/typen.js +0 -0
  631. /package/fixtures/{erwartet/storno-rabatt.grid32.txt → expected/cancellation-discount.grid32.txt} +0 -0
  632. /package/fixtures/{erwartet/storno-rabatt.grid48.txt → expected/cancellation-discount.grid48.txt} +0 -0
  633. /package/fixtures/{erwartet/storno-voll.grid32.txt → expected/cancellation-full.grid32.txt} +0 -0
  634. /package/fixtures/{erwartet/storno-voll.grid48.txt → expected/cancellation-full.grid48.txt} +0 -0
  635. /package/fixtures/{erwartet/storno-teil.grid32.txt → expected/cancellation-partial.grid32.txt} +0 -0
  636. /package/fixtures/{erwartet/storno-teil.grid48.txt → expected/cancellation-partial.grid48.txt} +0 -0
  637. /package/fixtures/{erwartet/storno-split-voll.grid32.txt → expected/cancellation-split-full.grid32.txt} +0 -0
  638. /package/fixtures/{erwartet/storno-split-voll.grid48.txt → expected/cancellation-split-full.grid48.txt} +0 -0
  639. /package/fixtures/{erwartet/storno-split-teil.grid32.txt → expected/cancellation-split-partial.grid32.txt} +0 -0
  640. /package/fixtures/{erwartet/storno-split-teil.grid48.txt → expected/cancellation-split-partial.grid48.txt} +0 -0
  641. /package/fixtures/{erwartet/karte-eigener.grid32.txt → expected/card-custom.grid32.txt} +0 -0
  642. /package/fixtures/{erwartet/karte-eigener.grid48.txt → expected/card-custom.grid48.txt} +0 -0
  643. /package/fixtures/{erwartet/karte-gptom-ios.grid32.txt → expected/card-gptom-ios.grid32.txt} +0 -0
  644. /package/fixtures/{erwartet/karte-gptom-ios.grid48.txt → expected/card-gptom-ios.grid48.txt} +0 -0
  645. /package/fixtures/{erwartet/karte-gptom.grid32.txt → expected/card-gptom.grid32.txt} +0 -0
  646. /package/fixtures/{erwartet/karte-gptom.grid48.txt → expected/card-gptom.grid48.txt} +0 -0
  647. /package/fixtures/{erwartet/karte-hobex-cloud.grid32.txt → expected/card-hobex-cloud.grid32.txt} +0 -0
  648. /package/fixtures/{erwartet/karte-hobex-cloud.grid48.txt → expected/card-hobex-cloud.grid48.txt} +0 -0
  649. /package/fixtures/{erwartet/karte-hobex-hps.grid32.txt → expected/card-hobex-hps.grid32.txt} +0 -0
  650. /package/fixtures/{erwartet/karte-hobex-hps.grid48.txt → expected/card-hobex-hps.grid48.txt} +0 -0
  651. /package/fixtures/{erwartet/karte-mypos.grid32.txt → expected/card-mypos.grid32.txt} +0 -0
  652. /package/fixtures/{erwartet/karte-mypos.grid48.txt → expected/card-mypos.grid48.txt} +0 -0
  653. /package/fixtures/{erwartet/karte-stripe-eps.grid32.txt → expected/card-stripe-eps.grid32.txt} +0 -0
  654. /package/fixtures/{erwartet/karte-stripe-eps.grid48.txt → expected/card-stripe-eps.grid48.txt} +0 -0
  655. /package/fixtures/{erwartet/karte-stripe.grid32.txt → expected/card-stripe.grid32.txt} +0 -0
  656. /package/fixtures/{erwartet/karte-stripe.grid48.txt → expected/card-stripe.grid48.txt} +0 -0
  657. /package/fixtures/{erwartet/karte-sumup.grid32.txt → expected/card-sumup.grid32.txt} +0 -0
  658. /package/fixtures/{erwartet/karte-sumup.grid48.txt → expected/card-sumup.grid48.txt} +0 -0
  659. /package/fixtures/{erwartet/rabattzeilen.grid32.txt → expected/discount-lines.grid32.txt} +0 -0
  660. /package/fixtures/{erwartet/rabattzeilen.grid48.txt → expected/discount-lines.grid48.txt} +0 -0
  661. /package/fixtures/{erwartet/rabatt-chef-trinkgeld.grid32.txt → expected/discount-owner-tip.grid32.txt} +0 -0
  662. /package/fixtures/{erwartet/rabatt-chef-trinkgeld.grid48.txt → expected/discount-owner-tip.grid48.txt} +0 -0
  663. /package/fixtures/{erwartet/rabatt-einfach.grid32.txt → expected/discount-simple.grid32.txt} +0 -0
  664. /package/fixtures/{erwartet/rabatt-einfach.grid48.txt → expected/discount-simple.grid48.txt} +0 -0
  665. /package/fixtures/{erwartet/rabatt-trinkgeld.grid32.txt → expected/discount-tip.grid32.txt} +0 -0
  666. /package/fixtures/{erwartet/rabatt-trinkgeld.grid48.txt → expected/discount-tip.grid48.txt} +0 -0
  667. /package/fixtures/{erwartet/rabatt-wertgutschein.grid32.txt → expected/discount-value-voucher.grid32.txt} +0 -0
  668. /package/fixtures/{erwartet/rabatt-wertgutschein.grid48.txt → expected/discount-value-voucher.grid48.txt} +0 -0
  669. /package/fixtures/{erwartet/logo-probe-hoch.raster32.txt → expected/logo-sample-tall.raster32.txt} +0 -0
  670. /package/fixtures/{erwartet/logo-probe.raster32.txt → expected/logo-sample.raster32.txt} +0 -0
  671. /package/fixtures/{erwartet/langer-artikelname.grid32.txt → expected/long-item-name.grid32.txt} +0 -0
  672. /package/fixtures/{erwartet/langer-artikelname.grid48.txt → expected/long-item-name.grid48.txt} +0 -0
  673. /package/fixtures/{erwartet/verkauf-karte.grid32.txt → expected/sale-card.grid32.txt} +0 -0
  674. /package/fixtures/{erwartet/verkauf-karte.grid48.txt → expected/sale-card.grid48.txt} +0 -0
  675. /package/fixtures/{erwartet/verkauf-bar.grid32.txt → expected/sale-cash.grid32.txt} +0 -0
  676. /package/fixtures/{erwartet/verkauf-bar.grid48.txt → expected/sale-cash.grid48.txt} +0 -0
  677. /package/fixtures/{erwartet/verkauf-kleinunternehmer.grid32.txt → expected/sale-small-business.grid32.txt} +0 -0
  678. /package/fixtures/{erwartet/verkauf-kleinunternehmer.grid48.txt → expected/sale-small-business.grid48.txt} +0 -0
  679. /package/fixtures/{erwartet/signaturausfall-verkauf.grid32.txt → expected/signature-outage-sale.grid32.txt} +0 -0
  680. /package/fixtures/{erwartet/signaturausfall-verkauf.grid48.txt → expected/signature-outage-sale.grid48.txt} +0 -0
  681. /package/fixtures/{erwartet/split-karte-karte-bar.grid32.txt → expected/split-card-card-cash.grid32.txt} +0 -0
  682. /package/fixtures/{erwartet/split-karte-karte-bar.grid48.txt → expected/split-card-card-cash.grid48.txt} +0 -0
  683. /package/fixtures/{erwartet/split-bar-rueckgeld.grid32.txt → expected/split-cash-change.grid32.txt} +0 -0
  684. /package/fixtures/{erwartet/split-bar-rueckgeld.grid48.txt → expected/split-cash-change.grid48.txt} +0 -0
  685. /package/fixtures/{erwartet/split-langer-betrag.grid32.txt → expected/split-long-amount.grid32.txt} +0 -0
  686. /package/fixtures/{erwartet/split-langer-betrag.grid48.txt → expected/split-long-amount.grid48.txt} +0 -0
  687. /package/fixtures/{erwartet/split-eine-karte-trinkgeld.grid32.txt → expected/split-one-card-tip.grid32.txt} +0 -0
  688. /package/fixtures/{erwartet/split-eine-karte-trinkgeld.grid48.txt → expected/split-one-card-tip.grid48.txt} +0 -0
  689. /package/fixtures/{erwartet/split-tischrunde-trinkgeld.grid32.txt → expected/split-table-round-tip.grid32.txt} +0 -0
  690. /package/fixtures/{erwartet/split-tischrunde-trinkgeld.grid48.txt → expected/split-table-round-tip.grid48.txt} +0 -0
  691. /package/fixtures/{erwartet/split-trinkgeld-karte.grid32.txt → expected/split-tip-card.grid32.txt} +0 -0
  692. /package/fixtures/{erwartet/split-trinkgeld-karte.grid48.txt → expected/split-tip-card.grid48.txt} +0 -0
  693. /package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.grid32.txt → expected/split-two-cards-same-provider.grid32.txt} +0 -0
  694. /package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.grid48.txt → expected/split-two-cards-same-provider.grid48.txt} +0 -0
  695. /package/fixtures/{erwartet/testkasse-verkauf.grid32.txt → expected/test-cashregister-sale.grid32.txt} +0 -0
  696. /package/fixtures/{erwartet/testkasse-verkauf.grid48.txt → expected/test-cashregister-sale.grid48.txt} +0 -0
  697. /package/fixtures/{erwartet/testsignatur-verkauf.grid32.txt → expected/test-signature-sale.grid32.txt} +0 -0
  698. /package/fixtures/{erwartet/testsignatur-verkauf.grid48.txt → expected/test-signature-sale.grid48.txt} +0 -0
  699. /package/fixtures/{erwartet → expected}/training.grid32.txt +0 -0
  700. /package/fixtures/{erwartet → expected}/training.grid48.txt +0 -0
  701. /package/fixtures/{erwartet/null-jahr.grid32.txt → expected/zero-annual.grid32.txt} +0 -0
  702. /package/fixtures/{erwartet/null-jahr.grid48.txt → expected/zero-annual.grid48.txt} +0 -0
  703. /package/fixtures/{erwartet/null-schluss.grid32.txt → expected/zero-final.grid32.txt} +0 -0
  704. /package/fixtures/{erwartet/null-schluss.grid48.txt → expected/zero-final.grid48.txt} +0 -0
  705. /package/fixtures/{erwartet/null-pruef.grid32.txt → expected/zero-manual.grid32.txt} +0 -0
  706. /package/fixtures/{erwartet/null-pruef.grid48.txt → expected/zero-manual.grid48.txt} +0 -0
  707. /package/fixtures/{erwartet/null-monat.grid32.txt → expected/zero-monthly.grid32.txt} +0 -0
  708. /package/fixtures/{erwartet/null-monat.grid48.txt → expected/zero-monthly.grid48.txt} +0 -0
  709. /package/fixtures/{erwartet/null-ausfall.grid32.txt → expected/zero-outage-end.grid32.txt} +0 -0
  710. /package/fixtures/{erwartet/null-ausfall.grid48.txt → expected/zero-outage-end.grid48.txt} +0 -0
  711. /package/fixtures/{erwartet/null-start.grid32.txt → expected/zero-start.grid32.txt} +0 -0
  712. /package/fixtures/{erwartet/null-start.grid48.txt → expected/zero-start.grid48.txt} +0 -0
@@ -14,8 +14,12 @@
14
14
  * Compilerfehler sein und keine `validation`-Antwort vom Server.
15
15
  *
16
16
  * **Die Formen sind die der `/v3`** (seit 0.28.0): Feldnamen und Werte, auf
17
- * die ein Programm verzweigt, sind englisch; Texte fuer Menschen (`message`,
18
- * `note`, `statusText`, `nextSteps`) bleiben deutsch, die Fehlercodes ebenso.
17
+ * die ein Programm verzweigt, sind englisch, die Fehlercodes ebenso; Texte fuer
18
+ * Menschen (`message`, `note`, `statusText`, `nextSteps`) bleiben deutsch.
19
+ *
20
+ * Die Listen in GROSSSCHRIFT (`LEGAL_FORMS`, `CONTRACT_KINDS` …) sind die
21
+ * Zielwerte der Kataloge im Vertrags-Export des Backends
22
+ * (`fixtures/v3/v3-vokabular.json`, `catalogs`); die Tests halten sie gleich.
19
23
  */
20
24
  import type { KasseneckSecret } from './secret.js';
21
25
  /**
@@ -79,22 +83,19 @@ export interface PartnerInfo {
79
83
  * englisch. `/v3` weist die deutschen Werte aus `/v1` (`einzel`, `verein`,
80
84
  * `sonstige`) mit `validation` ab, statt sie still zu uebersetzen.
81
85
  */
82
- export type LegalForm = 'sole_proprietor' | 'eu' | 'og' | 'kg' | 'gmbh' | 'gmbhcokg' | 'ag' | 'association' | 'other';
83
- /** @deprecated Seit 0.28.0 dasselbe wie [LegalForm] (englische Werte der `/v3`). */
84
- export type Rechtsform = LegalForm;
86
+ export declare const LEGAL_FORMS: readonly ["sole_proprietor", "eu", "og", "kg", "gmbh", "gmbhcokg", "ag", "association", "other"];
87
+ export type LegalForm = typeof LEGAL_FORMS[number];
85
88
  /**
86
89
  * Bundesland als ISO-3166-2-Code: `AT-1` Burgenland, `AT-2` Kaernten,
87
90
  * `AT-3` Niederoesterreich, `AT-4` Oberoesterreich, `AT-5` Salzburg,
88
91
  * `AT-6` Steiermark, `AT-7` Tirol, `AT-8` Vorarlberg, `AT-9` Wien.
89
92
  */
90
- export type AustrianState = 'AT-1' | 'AT-2' | 'AT-3' | 'AT-4' | 'AT-5' | 'AT-6' | 'AT-7' | 'AT-8' | 'AT-9';
91
- /** @deprecated Seit 0.28.0 dasselbe wie [AustrianState] (ISO-Codes der `/v3`). */
92
- export type Bundesland = AustrianState;
93
- /** Rolle einer Kontaktperson; `/v1` sagte `geschaeftsfuehrung`, `buchhaltung`, `technik`, `kasse`. */
94
- export type ContactRole = 'management' | 'accounting' | 'technical' | 'pos';
95
- /** @deprecated Seit 0.28.0 dasselbe wie [ContactRole] (englische Werte der `/v3`). */
96
- export type KontaktRolle = ContactRole;
97
- export interface BetriebAdresse {
93
+ export declare const AUSTRIAN_STATES: readonly ["AT-1", "AT-2", "AT-3", "AT-4", "AT-5", "AT-6", "AT-7", "AT-8", "AT-9"];
94
+ export type AustrianState = typeof AUSTRIAN_STATES[number];
95
+ /** Rollen einer Kontaktperson; `/v1` sagte `geschaeftsfuehrung`, `buchhaltung`, `technik`, `kasse`. */
96
+ export declare const CONTACT_ROLES: readonly ["management", "accounting", "technical", "pos"];
97
+ export type ContactRole = typeof CONTACT_ROLES[number];
98
+ export interface BusinessAddress {
98
99
  street: string;
99
100
  /** Hausnummer, kurz und alphanumerisch: `49`, `12a`, `49/5`. */
100
101
  number?: string;
@@ -102,7 +103,7 @@ export interface BetriebAdresse {
102
103
  zip: string;
103
104
  city: string;
104
105
  }
105
- export interface BetriebSteuer {
106
+ export interface BusinessTaxDetails {
106
107
  /** Steuernummer im Format `12-345/6789`; die Pruefziffer wird geprueft. */
107
108
  taxNumber: string;
108
109
  smallBusiness: boolean;
@@ -114,13 +115,13 @@ export interface BetriebSteuer {
114
115
  /** GLN, 13 Ziffern. */
115
116
  gln?: string;
116
117
  }
117
- export interface BetriebKontakt {
118
+ export interface BusinessContact {
118
119
  name: string;
119
120
  email: string;
120
121
  phone?: string;
121
122
  roles?: ContactRole[];
122
123
  }
123
- export interface BetriebSteuerberater {
124
+ export interface BusinessTaxAdvisor {
124
125
  name: string;
125
126
  email: string;
126
127
  phone: string;
@@ -135,21 +136,21 @@ export interface BetriebSteuerberater {
135
136
  * **Genau diese Felder, kein weiteres.** Das Backend weist ein unbekanntes
136
137
  * Feld ab, statt es stillschweigend zu verwerfen, und nennt seinen vollen
137
138
  * Pfad (`address.land`, `contacts.0.rolle`). Deshalb hat dieser Typ dieselbe
138
- * Liste wie `partner-core.BETRIEB_FELDER` — ein ueberzaehliges Feld ist hier
139
+ * Liste wie `partner-core.BETRIEB_FELDER`: ein ueberzaehliges Feld ist hier
139
140
  * ein Compilerfehler und nicht erst eine Antwort vom Server. Fuer Daten, die
140
141
  * nicht durch die Typpruefung kommen (Datenbank, Formular), beantwortet
141
- * [unbekannteBetriebsfelder] dieselbe Frage zur Laufzeit.
142
+ * [unknownBusinessFields] dieselbe Frage zur Laufzeit.
142
143
  */
143
- export interface Betrieb {
144
+ export interface Business {
144
145
  companyName: string;
145
146
  legalForm: LegalForm;
146
147
  /** Anmeldung des Betriebs im Kasseneck-Panel; darf dort noch keinen Zugang haben. */
147
148
  email: string;
148
- address: BetriebAdresse;
149
+ address: BusinessAddress;
149
150
  state: AustrianState;
150
- taxDetails: BetriebSteuer;
151
+ taxDetails: BusinessTaxDetails;
151
152
  /** Mindestens einer, hoechstens zehn. */
152
- contacts: BetriebKontakt[];
153
+ contacts: BusinessContact[];
153
154
  billingEmail?: string;
154
155
  /** Firmenbuchnummer, z. B. `FN 123456 a`. */
155
156
  companyRegister?: string;
@@ -158,11 +159,11 @@ export interface Betrieb {
158
159
  web?: string;
159
160
  phone?: string;
160
161
  industry?: string;
161
- taxAdvisor?: BetriebSteuerberater;
162
+ taxAdvisor?: BusinessTaxAdvisor;
162
163
  }
163
164
  export interface CreateCustomerOptions {
164
165
  appId: string;
165
- business: Betrieb;
166
+ business: Business;
166
167
  /**
167
168
  * Eigener Schluessel gegen Doppelanlage, hoechstens 120 Zeichen. Derselbe
168
169
  * Schluessel liefert die gespeicherte Antwort zurueck — auch bei abweichendem
@@ -197,9 +198,10 @@ export interface CreateCustomerOptions {
197
198
  */
198
199
  env?: PartnerEnv;
199
200
  }
200
- export type KundenStatus = 'created' | 'fon_configured' | 'signature_requested' | 'signature_ready' | 'cashregister_created' | 'live' | 'blocked' | (string & {});
201
- /** Abrechnungsrhythmus eines Entgelts; `/v1` sagte `monat`, `jahr`, `einmal`. */
202
- export type FeeInterval = 'monthly' | 'yearly' | 'once';
201
+ export type PartnerCustomerStatus = 'created' | 'fon_configured' | 'signature_requested' | 'signature_ready' | 'cashregister_created' | 'live' | 'blocked' | (string & {});
202
+ /** Abrechnungsrhythmen eines Entgelts; `/v1` sagte `monat`, `jahr`, `einmal`. */
203
+ export declare const FEE_INTERVALS: readonly ["monthly", "yearly", "once"];
204
+ export type FeeInterval = typeof FEE_INTERVALS[number];
203
205
  /**
204
206
  * Das Entgelt, das mit einem Aufruf gebucht wurde: nur dann in der Antwort,
205
207
  * wenn die Konditionen des Partners dafuer einen Preis vorsehen. Unter `/v1`
@@ -214,7 +216,7 @@ export interface PartnerFee {
214
216
  }
215
217
  export interface CreateCustomerResult {
216
218
  customerId: string;
217
- status: KundenStatus;
219
+ status: PartnerCustomerStatus;
218
220
  env: PartnerEnv;
219
221
  companyName: string;
220
222
  appId: string;
@@ -232,7 +234,8 @@ export interface CreateCustomerResult {
232
234
  * Wie das Partnerkonto den AVV handhabt; `/v1` sagte `direkt`, `vollmacht`,
233
235
  * `unterauftrag`.
234
236
  */
235
- export type AvvMode = 'direct' | 'power_of_attorney' | 'subprocessor';
237
+ export declare const AVV_MODES: readonly ["direct", "power_of_attorney", "subprocessor"];
238
+ export type AvvMode = typeof AVV_MODES[number];
236
239
  /**
237
240
  * Stand eines Vertrags des Betriebs mit Kasseneck: `pending` (noch nicht
238
241
  * bestaetigt), `confirmed`, `outdated` (eine neuere Pflichtfassung ist zu
@@ -245,64 +248,64 @@ export type AvvMode = 'direct' | 'power_of_attorney' | 'subprocessor';
245
248
  * `customer.terms_accepted` melden die Bestaetigung. In der Testumgebung sind
246
249
  * sie nicht noetig.
247
250
  */
248
- export interface VertragStand {
251
+ export interface ContractStatus {
249
252
  status: 'pending' | 'confirmed' | 'outdated' | 'not_required' | (string & {});
250
253
  version: string | null;
251
254
  confirmedAt: number | null;
252
255
  }
253
256
  /**
254
257
  * Stand des Auftragsverarbeitungsvertrags (AVV, Art. 28 DSGVO). Zusaetzlich zu
255
- * [VertragStand] der Status `via_partner` (der Partnervertrag deckt den AVV,
258
+ * [ContractStatus] der Status `via_partner` (der Partnervertrag deckt den AVV,
256
259
  * Weg `subprocessor`) und `mode`, der Weg des Partnerkontos.
257
260
  */
258
- export interface AvvStand extends VertragStand {
259
- status: VertragStand['status'] | 'via_partner';
261
+ export interface AvvStatus extends ContractStatus {
262
+ status: ContractStatus['status'] | 'via_partner';
260
263
  mode: AvvMode | (string & {}) | null;
261
264
  }
262
265
  /** FinanzOnline-Stand in der Liste: ist der Link draussen, geoeffnet, der Zugang geprueft? */
263
- export interface KundenFonStand {
266
+ export interface PartnerCustomerFonStatus {
264
267
  configured: boolean;
265
268
  linkSentAt: number | null;
266
269
  /** Erste Oeffnung; wird mit einem Ersatz-Link zurueckgesetzt. */
267
270
  linkOpenedAt: number | null;
268
271
  }
269
- export interface KundenZeile {
272
+ export interface PartnerCustomerSummary {
270
273
  customerId: string;
271
274
  companyName: string;
272
- status: KundenStatus;
275
+ status: PartnerCustomerStatus;
273
276
  appId: string | null;
274
277
  env: PartnerEnv;
275
278
  createdAt: number | null;
276
279
  /** FinanzOnline-Stand; `null`, wenn die Antwort ihn nicht fuehrt. */
277
- fon: KundenFonStand | null;
280
+ fon: PartnerCustomerFonStatus | null;
278
281
  /**
279
282
  * AVV-Stand; `null`, wenn die Antwort ihn nicht fuehrt. Kein erfundenes
280
283
  * `pending`: "nicht mitgeliefert" und "nicht bestaetigt" sind zweierlei.
281
284
  */
282
- avv: AvvStand | null;
285
+ avv: AvvStatus | null;
283
286
  /** Stand des Nutzungsvertrags; `null`, wenn die Antwort ihn nicht fuehrt. */
284
- terms: VertragStand | null;
287
+ terms: ContractStatus | null;
285
288
  }
286
289
  export interface ListCustomersOptions {
287
- status?: KundenStatus;
290
+ status?: PartnerCustomerStatus;
288
291
  /** 1 bis 200; Vorgabe 50. */
289
292
  limit?: number;
290
293
  cursor?: string;
291
294
  }
292
- export interface KundenListe {
293
- customers: KundenZeile[];
295
+ export interface PartnerCustomerList {
296
+ customers: PartnerCustomerSummary[];
294
297
  /** Weiter mit diesem Wert als `cursor`; `null` heisst: das war alles. */
295
298
  cursor: string | null;
296
299
  total: number;
297
300
  }
298
- export interface Kunde extends KundenZeile {
301
+ export interface PartnerCustomer extends PartnerCustomerSummary {
299
302
  statusAt: number | null;
300
303
  liveEnabled: boolean;
301
304
  createdAt: number | null;
302
305
  createdVia: string | null;
303
306
  business: Record<string, unknown>;
304
307
  /** In der Einzelsicht zusaetzlich: wann geprueft, an welche (maskierte) Adresse der Link ging. */
305
- fon: KundenFonStand & {
308
+ fon: PartnerCustomerFonStatus & {
306
309
  verifiedAt: number | null;
307
310
  linkSentTo: string | null;
308
311
  };
@@ -318,33 +321,88 @@ export interface FonLinkResult {
318
321
  sentTo: string;
319
322
  expiresAt: number;
320
323
  }
324
+ /**
325
+ * Vertragsarten: `avv` (Auftragsverarbeitungsvertrag, Art. 28 DSGVO) und
326
+ * `terms` (Nutzungsvertrag, unter `/v1` `nutzung`).
327
+ */
328
+ export declare const CONTRACT_KINDS: readonly ["avv", "terms"];
329
+ export type ContractKind = typeof CONTRACT_KINDS[number];
330
+ /**
331
+ * Wo der Betrieb bestaetigt hat. Unter `v1` hiessen die ersten fuenf
332
+ * `einrichten`, `prozess`, `partner_vollmacht`, `admin_papier`,
333
+ * `papier_upload`; `app` und `portal` sind in beiden Sprachen gleich.
334
+ */
335
+ export declare const CONTRACT_SOURCES: readonly ["setup_link", "process_link", "partner_power_of_attorney", "admin_paper", "paper_upload", "app", "portal"];
336
+ /** Offen fuer spaeter ergaenzte Wege, siehe [CONTRACT_SOURCES]. */
337
+ export type ContractSource = typeof CONTRACT_SOURCES[number] | (string & {});
338
+ /**
339
+ * Meldung einer Zustimmung, die der Partner **in Vollmacht** fuer den Betrieb
340
+ * eingeholt hat (`reportCustomerContract`).
341
+ *
342
+ * Geht nur, wenn das Partnerkonto auf dem Vollmachtsweg steht
343
+ * (`mode_not_allowed`) und sein Partnervertrag das Vollmachtskapitel traegt
344
+ * (`power_of_attorney_missing`). Der Vollmachtsweg nimmt nur `kind: 'avv'`;
345
+ * `terms` beantwortet der Server mit `kind_not_allowed`.
346
+ */
347
+ export interface ReportCustomerContractOptions {
348
+ customerId: string;
349
+ kind: ContractKind;
350
+ /** Die Fassung, der zugestimmt wurde; muss die geltende sein. */
351
+ version: string;
352
+ /**
353
+ * Pruefsumme des gezeigten Vertragstexts. Weicht sie von der geltenden ab,
354
+ * kommt `text_changed` mit der geltenden in `data.textHash`.
355
+ */
356
+ textHash: string;
357
+ /** Wer zugestimmt hat. */
358
+ name: string;
359
+ /** In welcher Funktion (z. B. Inhaberin, Geschaeftsfuehrer); unter `/v1` `funktion`. */
360
+ signerRole: string;
361
+ /**
362
+ * Zeitpunkt der Zustimmung in Unix-Millisekunden; ohne Angabe gilt der
363
+ * Eingang beim Server. Nicht in der Zukunft, nicht aelter als ein Jahr.
364
+ */
365
+ acceptedAt?: number;
366
+ }
367
+ export interface ReportCustomerContractResult {
368
+ /** Kennung des Vertragsdatensatzes; unter `/v1` `vertragId`. */
369
+ contractId: string;
370
+ /** Unix-Millisekunden; unter `/v1` `bestaetigtAt`. */
371
+ confirmedAt: number | null;
372
+ kind: ContractKind | (string & {});
373
+ version: string;
374
+ }
321
375
  /**
322
376
  * `requested → assigned → registered → ready`. `registered` heisst: die
323
377
  * Einheit ist FinanzOnline bekannt; `ready` heisst: sie darf signieren. In der
324
378
  * Testumgebung wird ohne `registered` direkt `ready` erreicht.
325
379
  */
326
- export type SignaturAntragStatus = 'requested' | 'assigned' | 'registered' | 'ready' | 'failed' | 'cancelled' | (string & {});
380
+ export type SignatureRequestStatus = 'requested' | 'assigned' | 'registered' | 'ready' | 'failed' | 'cancelled' | (string & {});
327
381
  /**
328
382
  * Gruende in der Historie eines Signaturantrags. `card_entered` und
329
383
  * `finanzonline` hiessen unter `/v1` `karte_eingetragen` und `fon`.
330
384
  */
331
- export type SignatureHistoryReason = 'api' | 'portal' | 'card_entered' | 'finanzonline' | 'automation_off' | 'test_environment' | 'no_stock' | (string & {});
385
+ export declare const SIGNATURE_HISTORY_REASONS: readonly ["api", "portal", "card_entered", "finanzonline", "automation_off", "test_environment", "no_stock"];
386
+ /** Offen fuer spaeter ergaenzte Gruende, siehe [SIGNATURE_HISTORY_REASONS]. */
387
+ export type SignatureHistoryReason = typeof SIGNATURE_HISTORY_REASONS[number] | (string & {});
332
388
  /**
333
- * `error.code` eines Signaturantrags oder einer Signatur (`SignaturAntrag`,
389
+ * `error.code` eines Signaturantrags oder einer Signatur (`SignatureRequest`,
334
390
  * `CustomerSignature`). Hiess unter `/v1` `kunde_nicht_gefunden` /
335
391
  * `unvollstaendig` / `fon_fehler`; dieser Client spricht seit 0.28.0 nur noch
336
392
  * `/v3` und sieht darum nur die englische Form.
337
393
  */
338
- export type SignatureErrorCode = 'customer_not_found' | 'incomplete' | 'finanzonline_error' | (string & {});
339
- export interface SignaturHistorieEintrag {
340
- from: SignaturAntragStatus | null;
341
- to: SignaturAntragStatus;
394
+ export declare const SIGNATURE_ERROR_CODES: readonly ["customer_not_found", "incomplete", "finanzonline_error"];
395
+ /** Offen fuer spaeter ergaenzte Codes, siehe [SIGNATURE_ERROR_CODES]. */
396
+ export type SignatureErrorCode = typeof SIGNATURE_ERROR_CODES[number] | (string & {});
397
+ export interface SignatureHistoryEntry {
398
+ from: SignatureRequestStatus | null;
399
+ to: SignatureRequestStatus;
342
400
  at: number;
343
401
  reason: SignatureHistoryReason | null;
344
402
  }
345
- export interface SignaturAntrag {
403
+ export interface SignatureRequest {
346
404
  requestId: string;
347
- status: SignaturAntragStatus;
405
+ status: SignatureRequestStatus;
348
406
  statusText: string;
349
407
  /** Art der Signatureinheit; heute nur `signature_card`. */
350
408
  kind: string;
@@ -358,7 +416,7 @@ export interface SignaturAntrag {
358
416
  requestedVia: string | null;
359
417
  createdAt: number | null;
360
418
  updatedAt: number | null;
361
- history: SignaturHistorieEintrag[];
419
+ history: SignatureHistoryEntry[];
362
420
  }
363
421
  export interface RequestSignatureOptions {
364
422
  /** Art der Signatureinheit; heute nur `signature_card` (Vorgabe). */
@@ -367,7 +425,7 @@ export interface RequestSignatureOptions {
367
425
  additional?: boolean;
368
426
  }
369
427
  export interface RequestSignatureResult {
370
- request: SignaturAntrag;
428
+ request: SignatureRequest;
371
429
  /** `true`, wenn schon ein Antrag lief — dann ist es der laufende. */
372
430
  replayed: boolean;
373
431
  note: string | null;
@@ -381,7 +439,7 @@ export interface RequestSignatureResult {
381
439
  */
382
440
  export interface CustomerSignature {
383
441
  signatureRequestId: string;
384
- status: SignaturAntragStatus | 'decommissioned';
442
+ status: SignatureRequestStatus | 'decommissioned';
385
443
  statusText: string;
386
444
  inProgress: boolean;
387
445
  ready: boolean;
@@ -397,7 +455,7 @@ export interface CustomerSignature {
397
455
  createdAt: number | null;
398
456
  updatedAt: number | null;
399
457
  }
400
- export interface SignaturStand {
458
+ export interface CustomerSignatureStatus {
401
459
  customerId: string;
402
460
  /** Die Kurzform: hat der Betrieb ueberhaupt eine brauchbare Signatur? */
403
461
  signature: {
@@ -407,29 +465,29 @@ export interface SignaturStand {
407
465
  };
408
466
  /** Jede Signatur einzeln. */
409
467
  signatures: CustomerSignature[];
410
- requests: SignaturAntrag[];
468
+ requests: SignatureRequest[];
411
469
  fon: {
412
470
  present: boolean;
413
471
  verifiedAt: number | null;
414
472
  };
415
473
  }
416
474
  /** Die Schritte der Inbetriebnahme, in dieser Reihenfolge. */
417
- export type KassenSchritt = 'signature' | 'register_cashregister' | 'start_receipt' | 'transmit_start_receipt' | (string & {});
418
- export type KassenStatus = 'draft' | 'in_progress' | 'live' | 'failed' | (string & {});
419
- export interface Kasse {
475
+ export type CashregisterActivationStep = 'signature' | 'register_cashregister' | 'start_receipt' | 'transmit_start_receipt' | (string & {});
476
+ export type CustomerCashregisterStatus = 'draft' | 'in_progress' | 'live' | 'failed' | (string & {});
477
+ export interface CustomerCashregister {
420
478
  cashregisterId: string;
421
479
  name: string | null;
422
- status: KassenStatus;
480
+ status: CustomerCashregisterStatus;
423
481
  statusText: string;
424
482
  /** `true`: die Kasse geht von selbst live, sobald die Signatur bereit ist. */
425
483
  automatic: boolean;
426
484
  /** Der naechste offene Schritt; `null`, wenn die Kasse live ist. */
427
- step: KassenSchritt | null;
485
+ step: CashregisterActivationStep | null;
428
486
  stepText: string | null;
429
- completedSteps: KassenSchritt[];
487
+ completedSteps: CashregisterActivationStep[];
430
488
  /** Die Schritte, die fuer genau diese Kasse gelten (Testumgebung: weniger). */
431
489
  steps: {
432
- key: KassenSchritt;
490
+ key: CashregisterActivationStep;
433
491
  text: string;
434
492
  }[];
435
493
  signatureId: string | null;
@@ -438,7 +496,7 @@ export interface Kasse {
438
496
  code: string | null;
439
497
  message: string | null;
440
498
  rc: string | null;
441
- step: KassenSchritt | null;
499
+ step: CashregisterActivationStep | null;
442
500
  at: number | null;
443
501
  } | null;
444
502
  createdAt: number | null;
@@ -463,23 +521,23 @@ export interface CreateCashregisterOptions {
463
521
  signatureRequestId?: string;
464
522
  }
465
523
  export interface CreateCashregisterResult {
466
- cashregister: Kasse;
524
+ cashregister: CustomerCashregister;
467
525
  activation: {
468
526
  started: boolean;
469
527
  ok: boolean | null;
470
- step: KassenSchritt | null;
528
+ step: CashregisterActivationStep | null;
471
529
  /** `signature_not_ready` oder `automation_off`, wenn nicht gestartet wurde. */
472
530
  reason: string | null;
473
531
  };
474
532
  }
475
533
  export interface ActivateCashregisterResult {
476
- cashregister: Kasse;
534
+ cashregister: CustomerCashregister;
477
535
  /** `true`: die Kasse war schon live, es wurde nichts getan. */
478
536
  unchanged: boolean;
479
537
  }
480
- export interface KassenListe {
538
+ export interface CustomerCashregisterList {
481
539
  customerId: string;
482
- cashregisters: Kasse[];
540
+ cashregisters: CustomerCashregister[];
483
541
  signatureReady: boolean;
484
542
  }
485
543
  /**
@@ -14,8 +14,12 @@
14
14
  * Compilerfehler sein und keine `validation`-Antwort vom Server.
15
15
  *
16
16
  * **Die Formen sind die der `/v3`** (seit 0.28.0): Feldnamen und Werte, auf
17
- * die ein Programm verzweigt, sind englisch; Texte fuer Menschen (`message`,
18
- * `note`, `statusText`, `nextSteps`) bleiben deutsch, die Fehlercodes ebenso.
17
+ * die ein Programm verzweigt, sind englisch, die Fehlercodes ebenso; Texte fuer
18
+ * Menschen (`message`, `note`, `statusText`, `nextSteps`) bleiben deutsch.
19
+ *
20
+ * Die Listen in GROSSSCHRIFT (`LEGAL_FORMS`, `CONTRACT_KINDS` …) sind die
21
+ * Zielwerte der Kataloge im Vertrags-Export des Backends
22
+ * (`fixtures/v3/v3-vokabular.json`, `catalogs`); die Tests halten sie gleich.
19
23
  */
20
24
  // ---------------------------------------------------------------------------
21
25
  // Partner und Schluessel
@@ -32,3 +36,72 @@ export const PARTNER_ENVS = ['live', 'test'];
32
36
  * angelegt.
33
37
  */
34
38
  export const SCOPE_CREDENTIALS = 'credentials:read';
39
+ // ---------------------------------------------------------------------------
40
+ // Betrieb anlegen
41
+ // ---------------------------------------------------------------------------
42
+ /**
43
+ * Rechtsform des Betriebs, so wie `/v3` sie schreibt und liest.
44
+ *
45
+ * Die oesterreichischen Kurzformen (`eu`, `og`, `kg`, `gmbh`, `gmbhcokg`, `ag`)
46
+ * bleiben wie sie sind; nur die drei Woerter, die es auf Englisch gibt, sind
47
+ * englisch. `/v3` weist die deutschen Werte aus `/v1` (`einzel`, `verein`,
48
+ * `sonstige`) mit `validation` ab, statt sie still zu uebersetzen.
49
+ */
50
+ export const LEGAL_FORMS = ['sole_proprietor', 'eu', 'og', 'kg', 'gmbh', 'gmbhcokg', 'ag', 'association', 'other'];
51
+ /**
52
+ * Bundesland als ISO-3166-2-Code: `AT-1` Burgenland, `AT-2` Kaernten,
53
+ * `AT-3` Niederoesterreich, `AT-4` Oberoesterreich, `AT-5` Salzburg,
54
+ * `AT-6` Steiermark, `AT-7` Tirol, `AT-8` Vorarlberg, `AT-9` Wien.
55
+ */
56
+ export const AUSTRIAN_STATES = ['AT-1', 'AT-2', 'AT-3', 'AT-4', 'AT-5', 'AT-6', 'AT-7', 'AT-8', 'AT-9'];
57
+ /** Rollen einer Kontaktperson; `/v1` sagte `geschaeftsfuehrung`, `buchhaltung`, `technik`, `kasse`. */
58
+ export const CONTACT_ROLES = ['management', 'accounting', 'technical', 'pos'];
59
+ /** Abrechnungsrhythmen eines Entgelts; `/v1` sagte `monat`, `jahr`, `einmal`. */
60
+ export const FEE_INTERVALS = ['monthly', 'yearly', 'once'];
61
+ /**
62
+ * Wie das Partnerkonto den AVV handhabt; `/v1` sagte `direkt`, `vollmacht`,
63
+ * `unterauftrag`.
64
+ */
65
+ export const AVV_MODES = ['direct', 'power_of_attorney', 'subprocessor'];
66
+ // ---------------------------------------------------------------------------
67
+ // Vertraege des Betriebs
68
+ // ---------------------------------------------------------------------------
69
+ /**
70
+ * Vertragsarten: `avv` (Auftragsverarbeitungsvertrag, Art. 28 DSGVO) und
71
+ * `terms` (Nutzungsvertrag, unter `/v1` `nutzung`).
72
+ */
73
+ export const CONTRACT_KINDS = ['avv', 'terms'];
74
+ /**
75
+ * Wo der Betrieb bestaetigt hat. Unter `v1` hiessen die ersten fuenf
76
+ * `einrichten`, `prozess`, `partner_vollmacht`, `admin_papier`,
77
+ * `papier_upload`; `app` und `portal` sind in beiden Sprachen gleich.
78
+ */
79
+ export const CONTRACT_SOURCES = [
80
+ 'setup_link',
81
+ 'process_link',
82
+ 'partner_power_of_attorney',
83
+ 'admin_paper',
84
+ 'paper_upload',
85
+ 'app',
86
+ 'portal',
87
+ ];
88
+ /**
89
+ * Gruende in der Historie eines Signaturantrags. `card_entered` und
90
+ * `finanzonline` hiessen unter `/v1` `karte_eingetragen` und `fon`.
91
+ */
92
+ export const SIGNATURE_HISTORY_REASONS = [
93
+ 'api',
94
+ 'portal',
95
+ 'card_entered',
96
+ 'finanzonline',
97
+ 'automation_off',
98
+ 'test_environment',
99
+ 'no_stock',
100
+ ];
101
+ /**
102
+ * `error.code` eines Signaturantrags oder einer Signatur (`SignatureRequest`,
103
+ * `CustomerSignature`). Hiess unter `/v1` `kunde_nicht_gefunden` /
104
+ * `unvollstaendig` / `fon_fehler`; dieser Client spricht seit 0.28.0 nur noch
105
+ * `/v3` und sieht darum nur die englische Form.
106
+ */
107
+ export const SIGNATURE_ERROR_CODES = ['customer_not_found', 'incomplete', 'finanzonline_error'];
@@ -84,12 +84,12 @@ export interface VerifyWebhookOptions {
84
84
  * Ausnahme im Inneren wird zur Ablehnung. Ein Aufrufer, der nur `ok` abfragt,
85
85
  * kann damit nichts falsch machen.
86
86
  */
87
- export declare function verifyWebhookSignature(optionen: VerifyWebhookOptions): Promise<WebhookVerifyResult>;
87
+ export declare function verifyWebhookSignature(options: VerifyWebhookOptions): Promise<WebhookVerifyResult>;
88
88
  /**
89
89
  * Zerlegt den Signaturkopf. `null`, wenn kein brauchbarer Zeitstempel oder gar
90
90
  * kein `v1=`-Anteil darin steht.
91
91
  */
92
- export declare function parseSignatureHeader(kopf: string): {
92
+ export declare function parseSignatureHeader(header: string): {
93
93
  t: number;
94
94
  v1: string[];
95
95
  } | null;
@@ -55,30 +55,30 @@ export const WEBHOOK_LIMIT = 10;
55
55
  * Ausnahme im Inneren wird zur Ablehnung. Ein Aufrufer, der nur `ok` abfragt,
56
56
  * kann damit nichts falsch machen.
57
57
  */
58
- export async function verifyWebhookSignature(optionen) {
58
+ export async function verifyWebhookSignature(options) {
59
59
  try {
60
- const secrets = (Array.isArray(optionen.secret) ? optionen.secret : [optionen.secret]).filter((s) => typeof s === 'string' && s.length > 0);
60
+ const secrets = (Array.isArray(options.secret) ? options.secret : [options.secret]).filter((s) => typeof s === 'string' && s.length > 0);
61
61
  if (!secrets.length)
62
62
  return { ok: false, reason: 'secret-missing' };
63
- if (typeof optionen.signatureHeader !== 'string' || !optionen.signatureHeader.trim()) {
63
+ if (typeof options.signatureHeader !== 'string' || !options.signatureHeader.trim()) {
64
64
  return { ok: false, reason: 'header-missing' };
65
65
  }
66
- const kopf = parseSignatureHeader(optionen.signatureHeader);
66
+ const kopf = parseSignatureHeader(options.signatureHeader);
67
67
  if (kopf === null)
68
68
  return { ok: false, reason: 'header-malformed' };
69
- if (optionen.body === undefined || optionen.body === null)
69
+ if (options.body === undefined || options.body === null)
70
70
  return { ok: false, reason: 'body-missing' };
71
- const jetzt = typeof optionen.nowSec === 'number' && Number.isFinite(optionen.nowSec)
72
- ? optionen.nowSec
71
+ const jetzt = typeof options.nowSec === 'number' && Number.isFinite(options.nowSec)
72
+ ? options.nowSec
73
73
  : Math.floor(Date.now() / 1000);
74
- const toleranz = typeof optionen.toleranceSec === 'number' && Number.isFinite(optionen.toleranceSec)
75
- ? optionen.toleranceSec
74
+ const toleranz = typeof options.toleranceSec === 'number' && Number.isFinite(options.toleranceSec)
75
+ ? options.toleranceSec
76
76
  : WEBHOOK_TOLERANCE_SEC;
77
77
  // In BEIDE Richtungen: eine vorgehende Uhr auf der Gegenseite darf ein
78
78
  // altes Ereignis nicht wieder gueltig machen.
79
79
  if (Math.abs(jetzt - kopf.t) > toleranz)
80
80
  return { ok: false, reason: 'timestamp-outside-window' };
81
- const nachricht = signierteBytes(kopf.t, optionen.body);
81
+ const nachricht = signierteBytes(kopf.t, options.body);
82
82
  for (const secret of secrets) {
83
83
  const soll = await hmacSha256(secret, nachricht);
84
84
  for (const v1 of kopf.v1) {
@@ -98,8 +98,8 @@ export async function verifyWebhookSignature(optionen) {
98
98
  * Zerlegt den Signaturkopf. `null`, wenn kein brauchbarer Zeitstempel oder gar
99
99
  * kein `v1=`-Anteil darin steht.
100
100
  */
101
- export function parseSignatureHeader(kopf) {
102
- const teile = String(kopf).split(',').map((x) => x.trim());
101
+ export function parseSignatureHeader(header) {
102
+ const teile = String(header).split(',').map((x) => x.trim());
103
103
  const tTeil = teile.find((x) => x.startsWith('t='));
104
104
  const v1 = teile.filter((x) => x.startsWith('v1=')).map((x) => x.slice(3));
105
105
  if (!tTeil || !v1.length)