@dainamite/billing 0.20.0 → 0.22.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 (604) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/dist/modules/billing/acl.js +13 -1
  3. package/dist/modules/billing/acl.js.map +2 -2
  4. package/dist/modules/billing/api/accounts/[id]/summary/route.js +52 -0
  5. package/dist/modules/billing/api/accounts/[id]/summary/route.js.map +7 -0
  6. package/dist/modules/billing/api/accounts/route.js +47 -4
  7. package/dist/modules/billing/api/accounts/route.js.map +2 -2
  8. package/dist/modules/billing/api/export/account/[id]/route.js +11 -7
  9. package/dist/modules/billing/api/export/account/[id]/route.js.map +2 -2
  10. package/dist/modules/billing/api/invoices/[id]/memos/route.js +54 -0
  11. package/dist/modules/billing/api/invoices/[id]/memos/route.js.map +7 -0
  12. package/dist/modules/billing/api/invoices/[id]/pdf/route.js +70 -0
  13. package/dist/modules/billing/api/invoices/[id]/pdf/route.js.map +7 -0
  14. package/dist/modules/billing/api/invoices/[id]/route.js +44 -24
  15. package/dist/modules/billing/api/invoices/[id]/route.js.map +2 -2
  16. package/dist/modules/billing/api/invoices/[id]/send/route.js +107 -0
  17. package/dist/modules/billing/api/invoices/[id]/send/route.js.map +7 -0
  18. package/dist/modules/billing/api/invoices/add-line/route.js +2 -2
  19. package/dist/modules/billing/api/invoices/add-line/route.js.map +2 -2
  20. package/dist/modules/billing/api/invoices/delete-draft/route.js +33 -0
  21. package/dist/modules/billing/api/invoices/delete-draft/route.js.map +7 -0
  22. package/dist/modules/billing/api/invoices/edit-line/route.js +2 -2
  23. package/dist/modules/billing/api/invoices/edit-line/route.js.map +2 -2
  24. package/dist/modules/billing/api/invoices/post/route.js +2 -2
  25. package/dist/modules/billing/api/invoices/post/route.js.map +2 -2
  26. package/dist/modules/billing/api/invoices/remove-line/route.js +2 -2
  27. package/dist/modules/billing/api/invoices/remove-line/route.js.map +2 -2
  28. package/dist/modules/billing/api/invoices/route.js +45 -46
  29. package/dist/modules/billing/api/invoices/route.js.map +2 -2
  30. package/dist/modules/billing/api/items/bulk/route.js +1 -1
  31. package/dist/modules/billing/api/items/bulk/route.js.map +2 -2
  32. package/dist/modules/billing/api/items/change-price/route.js +44 -0
  33. package/dist/modules/billing/api/items/change-price/route.js.map +7 -0
  34. package/dist/modules/billing/api/items/route.js +19 -7
  35. package/dist/modules/billing/api/items/route.js.map +2 -2
  36. package/dist/modules/billing/api/payment-imports/[id]/route.js +49 -0
  37. package/dist/modules/billing/api/payment-imports/[id]/route.js.map +7 -0
  38. package/dist/modules/billing/api/payment-imports/route.js +57 -0
  39. package/dist/modules/billing/api/payment-imports/route.js.map +7 -0
  40. package/dist/modules/billing/api/payments/[id]/route.js +60 -0
  41. package/dist/modules/billing/api/payments/[id]/route.js.map +7 -0
  42. package/dist/modules/billing/api/payments/allocate/route.js +35 -0
  43. package/dist/modules/billing/api/payments/allocate/route.js.map +7 -0
  44. package/dist/modules/billing/api/payments/assign/route.js +36 -0
  45. package/dist/modules/billing/api/payments/assign/route.js.map +7 -0
  46. package/dist/modules/billing/api/payments/convert-to-topup/route.js +35 -0
  47. package/dist/modules/billing/api/payments/convert-to-topup/route.js.map +7 -0
  48. package/dist/modules/billing/api/payments/ignore/route.js +35 -0
  49. package/dist/modules/billing/api/payments/ignore/route.js.map +7 -0
  50. package/dist/modules/billing/api/payments/import/route.js +63 -0
  51. package/dist/modules/billing/api/payments/import/route.js.map +7 -0
  52. package/dist/modules/billing/api/payments/restore/route.js +35 -0
  53. package/dist/modules/billing/api/payments/restore/route.js.map +7 -0
  54. package/dist/modules/billing/api/payments/route.js +114 -0
  55. package/dist/modules/billing/api/payments/route.js.map +7 -0
  56. package/dist/modules/billing/api/payments/unallocate/route.js +35 -0
  57. package/dist/modules/billing/api/payments/unallocate/route.js.map +7 -0
  58. package/dist/modules/billing/api/payments/unassign/route.js +35 -0
  59. package/dist/modules/billing/api/payments/unassign/route.js.map +7 -0
  60. package/dist/modules/billing/api/run-outcomes/route.js +43 -6
  61. package/dist/modules/billing/api/run-outcomes/route.js.map +2 -2
  62. package/dist/modules/billing/api/runs/[id]/post-drafts/route.js +61 -0
  63. package/dist/modules/billing/api/runs/[id]/post-drafts/route.js.map +7 -0
  64. package/dist/modules/billing/api/runs/[id]/route.js +53 -0
  65. package/dist/modules/billing/api/runs/[id]/route.js.map +7 -0
  66. package/dist/modules/billing/api/runs/retry-failed/route.js +1 -1
  67. package/dist/modules/billing/api/runs/retry-failed/route.js.map +2 -2
  68. package/dist/modules/billing/api/runs/route.js +9 -3
  69. package/dist/modules/billing/api/runs/route.js.map +2 -2
  70. package/dist/modules/billing/api/settings/number-preview/route.js +42 -0
  71. package/dist/modules/billing/api/settings/number-preview/route.js.map +7 -0
  72. package/dist/modules/billing/api/settings/route.js +92 -0
  73. package/dist/modules/billing/api/settings/route.js.map +7 -0
  74. package/dist/modules/billing/api/statements/route.js +3 -0
  75. package/dist/modules/billing/api/statements/route.js.map +2 -2
  76. package/dist/modules/billing/api/test-invoices/wipe/route.js +2 -2
  77. package/dist/modules/billing/api/test-invoices/wipe/route.js.map +2 -2
  78. package/dist/modules/billing/backend/billing/accounts/[id]/page.js +121 -232
  79. package/dist/modules/billing/backend/billing/accounts/[id]/page.js.map +2 -2
  80. package/dist/modules/billing/backend/billing/accounts/create/page.js +6 -0
  81. package/dist/modules/billing/backend/billing/accounts/create/page.js.map +2 -2
  82. package/dist/modules/billing/backend/billing/accounts/page.js +63 -4
  83. package/dist/modules/billing/backend/billing/accounts/page.js.map +2 -2
  84. package/dist/modules/billing/backend/billing/invoices/[id]/page.js +297 -65
  85. package/dist/modules/billing/backend/billing/invoices/[id]/page.js.map +3 -3
  86. package/dist/modules/billing/backend/billing/invoices/page.js +6 -172
  87. package/dist/modules/billing/backend/billing/invoices/page.js.map +2 -2
  88. package/dist/modules/billing/backend/billing/items/[id]/page.js +51 -7
  89. package/dist/modules/billing/backend/billing/items/[id]/page.js.map +2 -2
  90. package/dist/modules/billing/backend/billing/items/create/page.js +9 -6
  91. package/dist/modules/billing/backend/billing/items/create/page.js.map +2 -2
  92. package/dist/modules/billing/backend/billing/items/page.js +8 -2
  93. package/dist/modules/billing/backend/billing/items/page.js.map +2 -2
  94. package/dist/modules/billing/backend/billing/payments/[id]/page.js +297 -0
  95. package/dist/modules/billing/backend/billing/payments/[id]/page.js.map +7 -0
  96. package/dist/modules/billing/backend/billing/payments/[id]/page.meta.js +21 -0
  97. package/dist/modules/billing/backend/billing/payments/[id]/page.meta.js.map +7 -0
  98. package/dist/modules/billing/backend/billing/payments/imports/[id]/page.js +74 -0
  99. package/dist/modules/billing/backend/billing/payments/imports/[id]/page.js.map +7 -0
  100. package/dist/modules/billing/backend/billing/payments/imports/[id]/page.meta.js +21 -0
  101. package/dist/modules/billing/backend/billing/payments/imports/[id]/page.meta.js.map +7 -0
  102. package/dist/modules/billing/backend/billing/payments/page.js +58 -0
  103. package/dist/modules/billing/backend/billing/payments/page.js.map +7 -0
  104. package/dist/modules/billing/backend/billing/payments/page.meta.js +18 -0
  105. package/dist/modules/billing/backend/billing/payments/page.meta.js.map +7 -0
  106. package/dist/modules/billing/backend/billing/runs/[id]/page.js +49 -14
  107. package/dist/modules/billing/backend/billing/runs/[id]/page.js.map +2 -2
  108. package/dist/modules/billing/backend/billing/runs/page.js +58 -7
  109. package/dist/modules/billing/backend/billing/runs/page.js.map +2 -2
  110. package/dist/modules/billing/backend/billing/statements/[id]/page.js +61 -6
  111. package/dist/modules/billing/backend/billing/statements/[id]/page.js.map +2 -2
  112. package/dist/modules/billing/backend/billing/statements/page.js +1 -1
  113. package/dist/modules/billing/backend/billing/statements/page.js.map +2 -2
  114. package/dist/modules/billing/backend/billing/topups/page.js +1 -1
  115. package/dist/modules/billing/backend/billing/topups/page.js.map +2 -2
  116. package/dist/modules/billing/backend/billing/transactions/page.js +1 -1
  117. package/dist/modules/billing/backend/billing/transactions/page.js.map +2 -2
  118. package/dist/modules/billing/backend/billing/usage/create/page.js +3 -2
  119. package/dist/modules/billing/backend/billing/usage/create/page.js.map +2 -2
  120. package/dist/modules/billing/backend/config/billing/page.js +472 -0
  121. package/dist/modules/billing/backend/config/billing/page.js.map +7 -0
  122. package/dist/modules/billing/backend/config/billing/page.meta.js +19 -0
  123. package/dist/modules/billing/backend/config/billing/page.meta.js.map +7 -0
  124. package/dist/modules/billing/cli.js +22 -1
  125. package/dist/modules/billing/cli.js.map +2 -2
  126. package/dist/modules/billing/commands/accounts.js +6 -0
  127. package/dist/modules/billing/commands/accounts.js.map +2 -2
  128. package/dist/modules/billing/commands/index.js +3 -0
  129. package/dist/modules/billing/commands/index.js.map +2 -2
  130. package/dist/modules/billing/commands/invoices.js +269 -167
  131. package/dist/modules/billing/commands/invoices.js.map +2 -2
  132. package/dist/modules/billing/commands/items.js +108 -0
  133. package/dist/modules/billing/commands/items.js.map +2 -2
  134. package/dist/modules/billing/commands/memos.js +179 -0
  135. package/dist/modules/billing/commands/memos.js.map +7 -0
  136. package/dist/modules/billing/commands/payments.js +379 -0
  137. package/dist/modules/billing/commands/payments.js.map +7 -0
  138. package/dist/modules/billing/commands/runs.js +151 -4
  139. package/dist/modules/billing/commands/runs.js.map +2 -2
  140. package/dist/modules/billing/commands/settings.js +59 -0
  141. package/dist/modules/billing/commands/settings.js.map +7 -0
  142. package/dist/modules/billing/commands/topups.js +9 -2
  143. package/dist/modules/billing/commands/topups.js.map +2 -2
  144. package/dist/modules/billing/commands/transactions.js +2 -2
  145. package/dist/modules/billing/commands/transactions.js.map +2 -2
  146. package/dist/modules/billing/components/AccountForm.js +149 -42
  147. package/dist/modules/billing/components/AccountForm.js.map +2 -2
  148. package/dist/modules/billing/components/AccountInvoicesSection.js +64 -0
  149. package/dist/modules/billing/components/AccountInvoicesSection.js.map +7 -0
  150. package/dist/modules/billing/components/AccountPaymentsSection.js +43 -0
  151. package/dist/modules/billing/components/AccountPaymentsSection.js.map +7 -0
  152. package/dist/modules/billing/components/AccountPicker.js +56 -0
  153. package/dist/modules/billing/components/AccountPicker.js.map +7 -0
  154. package/dist/modules/billing/components/AllocatePaymentDialog.js +134 -0
  155. package/dist/modules/billing/components/AllocatePaymentDialog.js.map +7 -0
  156. package/dist/modules/billing/components/BillingDataTable.js +21 -0
  157. package/dist/modules/billing/components/BillingDataTable.js.map +7 -0
  158. package/dist/modules/billing/components/BillingSettingsLink.js +19 -0
  159. package/dist/modules/billing/components/BillingSettingsLink.js.map +7 -0
  160. package/dist/modules/billing/components/ChangeItemPriceDialog.js +158 -0
  161. package/dist/modules/billing/components/ChangeItemPriceDialog.js.map +7 -0
  162. package/dist/modules/billing/components/CreateMemoDialog.js +200 -0
  163. package/dist/modules/billing/components/CreateMemoDialog.js.map +7 -0
  164. package/dist/modules/billing/components/CustomerLabel.js +33 -0
  165. package/dist/modules/billing/components/CustomerLabel.js.map +7 -0
  166. package/dist/modules/billing/components/InvoicesTable.js +270 -0
  167. package/dist/modules/billing/components/InvoicesTable.js.map +7 -0
  168. package/dist/modules/billing/components/ItemForm.js +176 -44
  169. package/dist/modules/billing/components/ItemForm.js.map +2 -2
  170. package/dist/modules/billing/components/ItemPriceField.js +46 -0
  171. package/dist/modules/billing/components/ItemPriceField.js.map +7 -0
  172. package/dist/modules/billing/components/LineFormDialog.js +25 -2
  173. package/dist/modules/billing/components/LineFormDialog.js.map +2 -2
  174. package/dist/modules/billing/components/ManualPaymentDialog.js +122 -0
  175. package/dist/modules/billing/components/ManualPaymentDialog.js.map +7 -0
  176. package/dist/modules/billing/components/MoneyInput.js +14 -0
  177. package/dist/modules/billing/components/MoneyInput.js.map +7 -0
  178. package/dist/modules/billing/components/PaymentUploadDialog.js +115 -0
  179. package/dist/modules/billing/components/PaymentUploadDialog.js.map +7 -0
  180. package/dist/modules/billing/components/PaymentsTable.js +171 -0
  181. package/dist/modules/billing/components/PaymentsTable.js.map +7 -0
  182. package/dist/modules/billing/components/PostRunDraftsButton.js +105 -0
  183. package/dist/modules/billing/components/PostRunDraftsButton.js.map +7 -0
  184. package/dist/modules/billing/components/PrepaidPanel.js +14 -4
  185. package/dist/modules/billing/components/PrepaidPanel.js.map +2 -2
  186. package/dist/modules/billing/components/RunCyclesSection.js +209 -0
  187. package/dist/modules/billing/components/RunCyclesSection.js.map +7 -0
  188. package/dist/modules/billing/components/TestRunActions.js +127 -0
  189. package/dist/modules/billing/components/TestRunActions.js.map +7 -0
  190. package/dist/modules/billing/components/account/AccountItemsTab.js +157 -0
  191. package/dist/modules/billing/components/account/AccountItemsTab.js.map +7 -0
  192. package/dist/modules/billing/components/account/AccountRunBillingDialog.js +122 -0
  193. package/dist/modules/billing/components/account/AccountRunBillingDialog.js.map +7 -0
  194. package/dist/modules/billing/components/account/AccountRunsTab.js +152 -0
  195. package/dist/modules/billing/components/account/AccountRunsTab.js.map +7 -0
  196. package/dist/modules/billing/components/account/AccountStatementsTab.js +98 -0
  197. package/dist/modules/billing/components/account/AccountStatementsTab.js.map +7 -0
  198. package/dist/modules/billing/components/account/AccountSummaryCards.js +125 -0
  199. package/dist/modules/billing/components/account/AccountSummaryCards.js.map +7 -0
  200. package/dist/modules/billing/components/account/AccountUsageTab.js +91 -0
  201. package/dist/modules/billing/components/account/AccountUsageTab.js.map +7 -0
  202. package/dist/modules/billing/components/account/AccountView.js +73 -0
  203. package/dist/modules/billing/components/account/AccountView.js.map +7 -0
  204. package/dist/modules/billing/components/account/accountRow.js +39 -0
  205. package/dist/modules/billing/components/account/accountRow.js.map +7 -0
  206. package/dist/modules/billing/components/customerNames.js +42 -0
  207. package/dist/modules/billing/components/customerNames.js.map +7 -0
  208. package/dist/modules/billing/data/entities.js +560 -4
  209. package/dist/modules/billing/data/entities.js.map +2 -2
  210. package/dist/modules/billing/data/entityIds.js +10 -1
  211. package/dist/modules/billing/data/entityIds.js.map +2 -2
  212. package/dist/modules/billing/data/validators.js +269 -15
  213. package/dist/modules/billing/data/validators.js.map +2 -2
  214. package/dist/modules/billing/events.js +50 -0
  215. package/dist/modules/billing/events.js.map +2 -2
  216. package/dist/modules/billing/i18n/de.json +880 -0
  217. package/dist/modules/billing/i18n/en.json +457 -21
  218. package/dist/modules/billing/i18n/es.json +880 -0
  219. package/dist/modules/billing/i18n/pl.json +458 -22
  220. package/dist/modules/billing/index.js +6 -2
  221. package/dist/modules/billing/index.js.map +2 -2
  222. package/dist/modules/billing/lib/accountFinancials.js +58 -0
  223. package/dist/modules/billing/lib/accountFinancials.js.map +7 -0
  224. package/dist/modules/billing/lib/accountLock.js +14 -0
  225. package/dist/modules/billing/lib/accountLock.js.map +7 -0
  226. package/dist/modules/billing/lib/accountStatus.js +9 -7
  227. package/dist/modules/billing/lib/accountStatus.js.map +2 -2
  228. package/dist/modules/billing/lib/accountSummary.js +106 -0
  229. package/dist/modules/billing/lib/accountSummary.js.map +7 -0
  230. package/dist/modules/billing/lib/allocation.js +356 -0
  231. package/dist/modules/billing/lib/allocation.js.map +7 -0
  232. package/dist/modules/billing/lib/allocationEvents.js +22 -0
  233. package/dist/modules/billing/lib/allocationEvents.js.map +7 -0
  234. package/dist/modules/billing/lib/billPeriod.js +15 -1
  235. package/dist/modules/billing/lib/billPeriod.js.map +2 -2
  236. package/dist/modules/billing/lib/billRunEngine.js +237 -102
  237. package/dist/modules/billing/lib/billRunEngine.js.map +2 -2
  238. package/dist/modules/billing/lib/billingSettings.js +116 -0
  239. package/dist/modules/billing/lib/billingSettings.js.map +7 -0
  240. package/dist/modules/billing/lib/commandRoute.js +81 -0
  241. package/dist/modules/billing/lib/commandRoute.js.map +7 -0
  242. package/dist/modules/billing/lib/customerLookup.js +97 -0
  243. package/dist/modules/billing/lib/customerLookup.js.map +7 -0
  244. package/dist/modules/billing/lib/dateOnly.js +13 -0
  245. package/dist/modules/billing/lib/dateOnly.js.map +7 -0
  246. package/dist/modules/billing/lib/documentParties.js +16 -0
  247. package/dist/modules/billing/lib/documentParties.js.map +7 -0
  248. package/dist/modules/billing/lib/documentTypes.js +27 -0
  249. package/dist/modules/billing/lib/documentTypes.js.map +7 -0
  250. package/dist/modules/billing/lib/dueDate.js +18 -0
  251. package/dist/modules/billing/lib/dueDate.js.map +7 -0
  252. package/dist/modules/billing/lib/iban.js +29 -0
  253. package/dist/modules/billing/lib/iban.js.map +7 -0
  254. package/dist/modules/billing/lib/invoiceDelivery.js +133 -0
  255. package/dist/modules/billing/lib/invoiceDelivery.js.map +7 -0
  256. package/dist/modules/billing/lib/invoiceLanguages.js +28 -0
  257. package/dist/modules/billing/lib/invoiceLanguages.js.map +7 -0
  258. package/dist/modules/billing/lib/invoiceWriter.js +107 -99
  259. package/dist/modules/billing/lib/invoiceWriter.js.map +2 -2
  260. package/dist/modules/billing/lib/itemBillingState.js +27 -0
  261. package/dist/modules/billing/lib/itemBillingState.js.map +7 -0
  262. package/dist/modules/billing/lib/itemPriceChange.js +18 -0
  263. package/dist/modules/billing/lib/itemPriceChange.js.map +7 -0
  264. package/dist/modules/billing/lib/itemSelector.js.map +2 -2
  265. package/dist/modules/billing/lib/lineAmounts.js +32 -0
  266. package/dist/modules/billing/lib/lineAmounts.js.map +7 -0
  267. package/dist/modules/billing/lib/memoGuards.js +25 -0
  268. package/dist/modules/billing/lib/memoGuards.js.map +7 -0
  269. package/dist/modules/billing/lib/navigation.js +48 -0
  270. package/dist/modules/billing/lib/navigation.js.map +7 -0
  271. package/dist/modules/billing/lib/numbering.js +120 -0
  272. package/dist/modules/billing/lib/numbering.js.map +7 -0
  273. package/dist/modules/billing/lib/overdue.js +36 -0
  274. package/dist/modules/billing/lib/overdue.js.map +7 -0
  275. package/dist/modules/billing/lib/paymentCsv.js +125 -0
  276. package/dist/modules/billing/lib/paymentCsv.js.map +7 -0
  277. package/dist/modules/billing/lib/paymentGateway.js +15 -0
  278. package/dist/modules/billing/lib/paymentGateway.js.map +7 -0
  279. package/dist/modules/billing/lib/paymentImport.js +164 -0
  280. package/dist/modules/billing/lib/paymentImport.js.map +7 -0
  281. package/dist/modules/billing/lib/paymentMatcher.js +36 -0
  282. package/dist/modules/billing/lib/paymentMatcher.js.map +7 -0
  283. package/dist/modules/billing/lib/pdf/attachmentStore.js +46 -0
  284. package/dist/modules/billing/lib/pdf/attachmentStore.js.map +7 -0
  285. package/dist/modules/billing/lib/pdf/fonts/embeddedFonts.js +7 -0
  286. package/dist/modules/billing/lib/pdf/fonts/embeddedFonts.js.map +7 -0
  287. package/dist/modules/billing/lib/pdf/invoiceModel.js +194 -0
  288. package/dist/modules/billing/lib/pdf/invoiceModel.js.map +7 -0
  289. package/dist/modules/billing/lib/pdf/invoicePdf.js +165 -0
  290. package/dist/modules/billing/lib/pdf/invoicePdf.js.map +7 -0
  291. package/dist/modules/billing/lib/pdf/invoiceTemplate.js +276 -0
  292. package/dist/modules/billing/lib/pdf/invoiceTemplate.js.map +7 -0
  293. package/dist/modules/billing/lib/prepaidConfig.js +17 -25
  294. package/dist/modules/billing/lib/prepaidConfig.js.map +2 -2
  295. package/dist/modules/billing/lib/prepaidConsume.js +26 -7
  296. package/dist/modules/billing/lib/prepaidConsume.js.map +2 -2
  297. package/dist/modules/billing/lib/prepaidPeriodClose.js +277 -158
  298. package/dist/modules/billing/lib/prepaidPeriodClose.js.map +2 -2
  299. package/dist/modules/billing/lib/prepaidTaxPoint.js +37 -0
  300. package/dist/modules/billing/lib/prepaidTaxPoint.js.map +7 -0
  301. package/dist/modules/billing/lib/seeds/demo.js +51 -3
  302. package/dist/modules/billing/lib/seeds/demo.js.map +2 -2
  303. package/dist/modules/billing/lib/seeds/paymentsSample.js +93 -0
  304. package/dist/modules/billing/lib/seeds/paymentsSample.js.map +7 -0
  305. package/dist/modules/billing/lib/seeds/sellerSettings.js +41 -0
  306. package/dist/modules/billing/lib/seeds/sellerSettings.js.map +7 -0
  307. package/dist/modules/billing/lib/servicePeriods.js +121 -0
  308. package/dist/modules/billing/lib/servicePeriods.js.map +7 -0
  309. package/dist/modules/billing/lib/testRunCleanup.js +24 -0
  310. package/dist/modules/billing/lib/testRunCleanup.js.map +7 -0
  311. package/dist/modules/billing/lib/topupCapture.js +2 -2
  312. package/dist/modules/billing/lib/topupCapture.js.map +2 -2
  313. package/dist/modules/billing/lib/topupReceipt.js +58 -79
  314. package/dist/modules/billing/lib/topupReceipt.js.map +2 -2
  315. package/dist/modules/billing/lib/usageRater.js.map +1 -1
  316. package/dist/modules/billing/lib/usageRunner.js +14 -6
  317. package/dist/modules/billing/lib/usageRunner.js.map +2 -2
  318. package/dist/modules/billing/lib/vat.js +39 -0
  319. package/dist/modules/billing/lib/vat.js.map +7 -0
  320. package/dist/modules/billing/migrations/Migration20261114000000_billing_customer_kind.js +15 -0
  321. package/dist/modules/billing/migrations/Migration20261114000000_billing_customer_kind.js.map +7 -0
  322. package/dist/modules/billing/migrations/Migration20261114100000_billing_cycle_semantics.js +25 -0
  323. package/dist/modules/billing/migrations/Migration20261114100000_billing_cycle_semantics.js.map +7 -0
  324. package/dist/modules/billing/migrations/Migration20261115000000_billing_invoice_ledger.js +115 -0
  325. package/dist/modules/billing/migrations/Migration20261115000000_billing_invoice_ledger.js.map +7 -0
  326. package/dist/modules/billing/migrations/Migration20261116000000_billing_invoice_documents.js +47 -0
  327. package/dist/modules/billing/migrations/Migration20261116000000_billing_invoice_documents.js.map +7 -0
  328. package/dist/modules/billing/migrations/Migration20261117000000_billing_payments.js +89 -0
  329. package/dist/modules/billing/migrations/Migration20261117000000_billing_payments.js.map +7 -0
  330. package/dist/modules/billing/migrations/Migration20261118000000_billing_memos.js +17 -0
  331. package/dist/modules/billing/migrations/Migration20261118000000_billing_memos.js.map +7 -0
  332. package/dist/modules/billing/migrations/Migration20261119000000_billing_operator_feedback.js +27 -0
  333. package/dist/modules/billing/migrations/Migration20261119000000_billing_operator_feedback.js.map +7 -0
  334. package/dist/modules/billing/migrations/Migration20261120000000_billing_allocation_scope_indexes.js +29 -0
  335. package/dist/modules/billing/migrations/Migration20261120000000_billing_allocation_scope_indexes.js.map +7 -0
  336. package/dist/modules/billing/setup.js +7 -184
  337. package/dist/modules/billing/setup.js.map +2 -2
  338. package/dist/modules/billing/subscribers/credit-memo-auto-send.js +16 -0
  339. package/dist/modules/billing/subscribers/credit-memo-auto-send.js.map +7 -0
  340. package/dist/modules/billing/subscribers/debit-memo-apply-credit.js +16 -0
  341. package/dist/modules/billing/subscribers/debit-memo-apply-credit.js.map +7 -0
  342. package/dist/modules/billing/subscribers/debit-memo-auto-send.js +16 -0
  343. package/dist/modules/billing/subscribers/debit-memo-auto-send.js.map +7 -0
  344. package/dist/modules/billing/subscribers/invoice-apply-credit.js +34 -0
  345. package/dist/modules/billing/subscribers/invoice-apply-credit.js.map +7 -0
  346. package/dist/modules/billing/subscribers/invoice-auto-send.js +30 -0
  347. package/dist/modules/billing/subscribers/invoice-auto-send.js.map +7 -0
  348. package/dist/modules/billing/subscribers/payment-captured-to-paid.js +69 -33
  349. package/dist/modules/billing/subscribers/payment-captured-to-paid.js.map +2 -2
  350. package/dist/modules/billing/subscribers/prepaid-topup-captured.js +4 -6
  351. package/dist/modules/billing/subscribers/prepaid-topup-captured.js.map +2 -2
  352. package/generated/entities/billing_account/index.ts +3 -0
  353. package/generated/entities/billing_allocation/index.ts +18 -0
  354. package/generated/entities/billing_document_sequence/index.ts +11 -0
  355. package/generated/entities/billing_invoice/index.ts +38 -0
  356. package/generated/entities/billing_invoice_line/index.ts +24 -0
  357. package/generated/entities/billing_item/index.ts +4 -0
  358. package/generated/entities/billing_payment/index.ts +25 -0
  359. package/generated/entities/billing_payment_import/index.ts +14 -0
  360. package/generated/entities/billing_run/index.ts +0 -1
  361. package/generated/entities/billing_run_outcome/index.ts +1 -0
  362. package/generated/entities/billing_settings/index.ts +26 -0
  363. package/generated/entities/billing_statement/index.ts +1 -0
  364. package/generated/entities.ids.generated.ts +7 -0
  365. package/package.json +5 -1
  366. package/src/modules/billing/__integration__/TC-BILL-004.spec.ts +171 -0
  367. package/src/modules/billing/__integration__/TC-BILL-005.spec.ts +134 -0
  368. package/src/modules/billing/__integration__/TC-BILL-006.spec.ts +101 -0
  369. package/src/modules/billing/__integration__/TC-BILL-007.spec.ts +140 -0
  370. package/src/modules/billing/__integration__/TC-BILL-008.spec.ts +108 -0
  371. package/src/modules/billing/__integration__/TC-BILL-009.spec.ts +113 -0
  372. package/src/modules/billing/__integration__/TC-BILL-010.spec.ts +118 -0
  373. package/src/modules/billing/__integration__/TC-BILL-011.spec.ts +142 -0
  374. package/src/modules/billing/__integration__/TC-BILL-012.spec.ts +115 -0
  375. package/src/modules/billing/__integration__/TC-BILL-013.spec.ts +118 -0
  376. package/src/modules/billing/__integration__/sellerSettings.ts +24 -0
  377. package/src/modules/billing/__tests__/commands/invoices.test.ts +436 -354
  378. package/src/modules/billing/__tests__/commands/itemsBulk.test.ts +33 -0
  379. package/src/modules/billing/__tests__/commands/memos.test.ts +205 -0
  380. package/src/modules/billing/__tests__/commands/payments.test.ts +241 -0
  381. package/src/modules/billing/__tests__/commands/runsDelete.test.ts +146 -0
  382. package/src/modules/billing/__tests__/commands/runsPostDrafts.test.ts +106 -0
  383. package/src/modules/billing/__tests__/commands/topups.test.ts +11 -0
  384. package/src/modules/billing/__tests__/entityRegistry.test.ts +8 -1
  385. package/src/modules/billing/__tests__/helpers/prepaidMockEm.ts +28 -11
  386. package/src/modules/billing/__tests__/i18n/dictionaries.test.ts +64 -0
  387. package/src/modules/billing/__tests__/lib/accountFinancials.test.ts +53 -0
  388. package/src/modules/billing/__tests__/lib/accountSummary.test.ts +97 -0
  389. package/src/modules/billing/__tests__/lib/allocation.test.ts +319 -0
  390. package/src/modules/billing/__tests__/lib/billRunEngine.test.ts +228 -17
  391. package/src/modules/billing/__tests__/lib/billingSettings.test.ts +109 -0
  392. package/src/modules/billing/__tests__/lib/customerLookup.test.ts +156 -0
  393. package/src/modules/billing/__tests__/lib/dueDate.test.ts +35 -0
  394. package/src/modules/billing/__tests__/lib/iban.test.ts +38 -0
  395. package/src/modules/billing/__tests__/lib/invoiceDelivery.test.ts +206 -0
  396. package/src/modules/billing/__tests__/lib/invoiceLanguages.test.ts +49 -0
  397. package/src/modules/billing/__tests__/lib/invoiceWriter.test.ts +212 -10
  398. package/src/modules/billing/__tests__/lib/itemBillingState.test.ts +42 -0
  399. package/src/modules/billing/__tests__/lib/itemPriceChange.test.ts +165 -0
  400. package/src/modules/billing/__tests__/lib/lineAmounts.test.ts +86 -0
  401. package/src/modules/billing/__tests__/lib/navigation.test.ts +71 -0
  402. package/src/modules/billing/__tests__/lib/numbering.test.ts +91 -0
  403. package/src/modules/billing/__tests__/lib/overdue.test.ts +36 -0
  404. package/src/modules/billing/__tests__/lib/paymentCsv.test.ts +148 -0
  405. package/src/modules/billing/__tests__/lib/paymentImport.test.ts +113 -0
  406. package/src/modules/billing/__tests__/lib/paymentsSample.test.ts +73 -0
  407. package/src/modules/billing/__tests__/lib/pdf/invoicePdf.test.ts +269 -0
  408. package/src/modules/billing/__tests__/lib/pdf/invoicePdfService.test.ts +147 -0
  409. package/src/modules/billing/__tests__/lib/prepaidPeriodClose.test.ts +374 -98
  410. package/src/modules/billing/__tests__/lib/prepaidTaxPoint.test.ts +118 -0
  411. package/src/modules/billing/__tests__/lib/seedsDemo.test.ts +53 -2
  412. package/src/modules/billing/__tests__/lib/sellerSettings.test.ts +28 -0
  413. package/src/modules/billing/__tests__/lib/servicePeriods.test.ts +190 -0
  414. package/src/modules/billing/__tests__/lib/topupCapture.test.ts +6 -28
  415. package/src/modules/billing/__tests__/lib/topupReceipt.test.ts +21 -52
  416. package/src/modules/billing/__tests__/lib/vat.test.ts +51 -0
  417. package/src/modules/billing/__tests__/package-isolation.test.ts +22 -8
  418. package/src/modules/billing/__tests__/setup.test.ts +13 -4
  419. package/src/modules/billing/__tests__/validators.test.ts +197 -3
  420. package/src/modules/billing/acl.ts +12 -0
  421. package/src/modules/billing/api/accounts/[id]/summary/route.ts +62 -0
  422. package/src/modules/billing/api/accounts/route.ts +59 -4
  423. package/src/modules/billing/api/export/account/[id]/route.ts +13 -11
  424. package/src/modules/billing/api/invoices/[id]/memos/route.ts +63 -0
  425. package/src/modules/billing/api/invoices/[id]/pdf/route.ts +80 -0
  426. package/src/modules/billing/api/invoices/[id]/route.ts +57 -70
  427. package/src/modules/billing/api/invoices/[id]/send/route.ts +127 -0
  428. package/src/modules/billing/api/invoices/add-line/route.ts +2 -2
  429. package/src/modules/billing/api/invoices/delete-draft/route.ts +33 -0
  430. package/src/modules/billing/api/invoices/edit-line/route.ts +2 -2
  431. package/src/modules/billing/api/invoices/post/route.ts +7 -6
  432. package/src/modules/billing/api/invoices/remove-line/route.ts +2 -2
  433. package/src/modules/billing/api/invoices/route.ts +81 -86
  434. package/src/modules/billing/api/items/bulk/route.ts +2 -1
  435. package/src/modules/billing/api/items/change-price/route.ts +54 -0
  436. package/src/modules/billing/api/items/route.ts +23 -7
  437. package/src/modules/billing/api/payment-imports/[id]/route.ts +49 -0
  438. package/src/modules/billing/api/payment-imports/route.ts +57 -0
  439. package/src/modules/billing/api/payments/[id]/route.ts +63 -0
  440. package/src/modules/billing/api/payments/allocate/route.ts +35 -0
  441. package/src/modules/billing/api/payments/assign/route.ts +36 -0
  442. package/src/modules/billing/api/payments/convert-to-topup/route.ts +35 -0
  443. package/src/modules/billing/api/payments/ignore/route.ts +35 -0
  444. package/src/modules/billing/api/payments/import/route.ts +72 -0
  445. package/src/modules/billing/api/payments/restore/route.ts +35 -0
  446. package/src/modules/billing/api/payments/route.ts +147 -0
  447. package/src/modules/billing/api/payments/unallocate/route.ts +35 -0
  448. package/src/modules/billing/api/payments/unassign/route.ts +35 -0
  449. package/src/modules/billing/api/run-outcomes/route.ts +49 -6
  450. package/src/modules/billing/api/runs/[id]/post-drafts/route.ts +71 -0
  451. package/src/modules/billing/api/runs/[id]/route.ts +59 -0
  452. package/src/modules/billing/api/runs/retry-failed/route.ts +2 -1
  453. package/src/modules/billing/api/runs/route.ts +15 -7
  454. package/src/modules/billing/api/settings/number-preview/route.ts +46 -0
  455. package/src/modules/billing/api/settings/route.ts +116 -0
  456. package/src/modules/billing/api/statements/route.ts +5 -0
  457. package/src/modules/billing/api/test-invoices/wipe/route.ts +2 -2
  458. package/src/modules/billing/backend/billing/accounts/[id]/page.tsx +151 -372
  459. package/src/modules/billing/backend/billing/accounts/create/page.tsx +6 -0
  460. package/src/modules/billing/backend/billing/accounts/page.tsx +70 -4
  461. package/src/modules/billing/backend/billing/invoices/[id]/page.tsx +444 -95
  462. package/src/modules/billing/backend/billing/invoices/page.tsx +8 -227
  463. package/src/modules/billing/backend/billing/items/[id]/page.tsx +75 -6
  464. package/src/modules/billing/backend/billing/items/create/page.tsx +13 -8
  465. package/src/modules/billing/backend/billing/items/page.tsx +18 -2
  466. package/src/modules/billing/backend/billing/payments/[id]/page.meta.ts +19 -0
  467. package/src/modules/billing/backend/billing/payments/[id]/page.tsx +415 -0
  468. package/src/modules/billing/backend/billing/payments/imports/[id]/page.meta.ts +19 -0
  469. package/src/modules/billing/backend/billing/payments/imports/[id]/page.tsx +106 -0
  470. package/src/modules/billing/backend/billing/payments/page.meta.ts +16 -0
  471. package/src/modules/billing/backend/billing/payments/page.tsx +56 -0
  472. package/src/modules/billing/backend/billing/runs/[id]/page.tsx +49 -18
  473. package/src/modules/billing/backend/billing/runs/page.tsx +59 -8
  474. package/src/modules/billing/backend/billing/statements/[id]/page.tsx +86 -5
  475. package/src/modules/billing/backend/billing/statements/page.tsx +1 -1
  476. package/src/modules/billing/backend/billing/topups/page.tsx +1 -1
  477. package/src/modules/billing/backend/billing/transactions/page.tsx +1 -1
  478. package/src/modules/billing/backend/billing/usage/create/page.tsx +3 -2
  479. package/src/modules/billing/backend/config/billing/page.meta.ts +21 -0
  480. package/src/modules/billing/backend/config/billing/page.tsx +549 -0
  481. package/src/modules/billing/cli.ts +31 -1
  482. package/src/modules/billing/commands/accounts.ts +6 -0
  483. package/src/modules/billing/commands/index.ts +3 -0
  484. package/src/modules/billing/commands/invoices.ts +364 -231
  485. package/src/modules/billing/commands/items.ts +143 -0
  486. package/src/modules/billing/commands/memos.ts +218 -0
  487. package/src/modules/billing/commands/payments.ts +428 -0
  488. package/src/modules/billing/commands/runs.ts +205 -3
  489. package/src/modules/billing/commands/settings.ts +77 -0
  490. package/src/modules/billing/commands/topups.ts +12 -3
  491. package/src/modules/billing/commands/transactions.ts +2 -2
  492. package/src/modules/billing/components/AccountForm.tsx +199 -53
  493. package/src/modules/billing/components/AccountInvoicesSection.tsx +75 -0
  494. package/src/modules/billing/components/AccountPaymentsSection.tsx +42 -0
  495. package/src/modules/billing/components/AccountPicker.tsx +70 -0
  496. package/src/modules/billing/components/AllocatePaymentDialog.tsx +167 -0
  497. package/src/modules/billing/components/BillingDataTable.tsx +34 -0
  498. package/src/modules/billing/components/BillingSettingsLink.tsx +25 -0
  499. package/src/modules/billing/components/ChangeItemPriceDialog.tsx +180 -0
  500. package/src/modules/billing/components/CreateMemoDialog.tsx +232 -0
  501. package/src/modules/billing/components/CustomerLabel.tsx +53 -0
  502. package/src/modules/billing/components/InvoicesTable.tsx +344 -0
  503. package/src/modules/billing/components/ItemForm.tsx +233 -44
  504. package/src/modules/billing/components/ItemPriceField.tsx +81 -0
  505. package/src/modules/billing/components/LineFormDialog.tsx +25 -1
  506. package/src/modules/billing/components/ManualPaymentDialog.tsx +140 -0
  507. package/src/modules/billing/components/MoneyInput.tsx +26 -0
  508. package/src/modules/billing/components/PaymentUploadDialog.tsx +148 -0
  509. package/src/modules/billing/components/PaymentsTable.tsx +213 -0
  510. package/src/modules/billing/components/PostRunDraftsButton.tsx +129 -0
  511. package/src/modules/billing/components/PrepaidPanel.tsx +19 -6
  512. package/src/modules/billing/components/RunCyclesSection.tsx +298 -0
  513. package/src/modules/billing/components/TestRunActions.tsx +152 -0
  514. package/src/modules/billing/components/account/AccountItemsTab.tsx +192 -0
  515. package/src/modules/billing/components/account/AccountRunBillingDialog.tsx +147 -0
  516. package/src/modules/billing/components/account/AccountRunsTab.tsx +201 -0
  517. package/src/modules/billing/components/account/AccountStatementsTab.tsx +120 -0
  518. package/src/modules/billing/components/account/AccountSummaryCards.tsx +153 -0
  519. package/src/modules/billing/components/account/AccountUsageTab.tsx +122 -0
  520. package/src/modules/billing/components/account/AccountView.tsx +101 -0
  521. package/src/modules/billing/components/account/accountRow.ts +70 -0
  522. package/src/modules/billing/components/customerNames.ts +62 -0
  523. package/src/modules/billing/data/entities.ts +656 -6
  524. package/src/modules/billing/data/entityIds.ts +9 -0
  525. package/src/modules/billing/data/validators.ts +388 -8
  526. package/src/modules/billing/events.ts +56 -3
  527. package/src/modules/billing/i18n/de.json +880 -0
  528. package/src/modules/billing/i18n/en.json +457 -21
  529. package/src/modules/billing/i18n/es.json +880 -0
  530. package/src/modules/billing/i18n/pl.json +458 -22
  531. package/src/modules/billing/index.ts +6 -2
  532. package/src/modules/billing/lib/accountFinancials.ts +84 -0
  533. package/src/modules/billing/lib/accountLock.ts +32 -0
  534. package/src/modules/billing/lib/accountStatus.ts +11 -9
  535. package/src/modules/billing/lib/accountSummary.ts +172 -0
  536. package/src/modules/billing/lib/allocation.ts +515 -0
  537. package/src/modules/billing/lib/allocationEvents.ts +26 -0
  538. package/src/modules/billing/lib/billPeriod.ts +19 -0
  539. package/src/modules/billing/lib/billRunEngine.ts +350 -150
  540. package/src/modules/billing/lib/billingSettings.ts +145 -0
  541. package/src/modules/billing/lib/commandRoute.ts +112 -0
  542. package/src/modules/billing/lib/customerLookup.ts +157 -0
  543. package/src/modules/billing/lib/dateOnly.ts +22 -0
  544. package/src/modules/billing/lib/documentParties.ts +23 -0
  545. package/src/modules/billing/lib/documentTypes.ts +37 -0
  546. package/src/modules/billing/lib/dueDate.ts +26 -0
  547. package/src/modules/billing/lib/iban.ts +36 -0
  548. package/src/modules/billing/lib/invoiceDelivery.ts +196 -0
  549. package/src/modules/billing/lib/invoiceLanguages.ts +57 -0
  550. package/src/modules/billing/lib/invoiceWriter.ts +162 -148
  551. package/src/modules/billing/lib/itemBillingState.ts +67 -0
  552. package/src/modules/billing/lib/itemPriceChange.ts +56 -0
  553. package/src/modules/billing/lib/itemSelector.ts +4 -1
  554. package/src/modules/billing/lib/lineAmounts.ts +61 -0
  555. package/src/modules/billing/lib/memoGuards.ts +41 -0
  556. package/src/modules/billing/lib/navigation.ts +64 -0
  557. package/src/modules/billing/lib/numbering.ts +174 -0
  558. package/src/modules/billing/lib/overdue.ts +60 -0
  559. package/src/modules/billing/lib/paymentCsv.ts +171 -0
  560. package/src/modules/billing/lib/paymentGateway.ts +52 -0
  561. package/src/modules/billing/lib/paymentImport.ts +228 -0
  562. package/src/modules/billing/lib/paymentMatcher.ts +88 -0
  563. package/src/modules/billing/lib/pdf/attachmentStore.ts +60 -0
  564. package/src/modules/billing/lib/pdf/fonts/NotoSans-Bold.ttf +0 -0
  565. package/src/modules/billing/lib/pdf/fonts/NotoSans-Regular.ttf +0 -0
  566. package/src/modules/billing/lib/pdf/fonts/OFL.txt +93 -0
  567. package/src/modules/billing/lib/pdf/fonts/embeddedFonts.ts +9 -0
  568. package/src/modules/billing/lib/pdf/invoiceModel.ts +329 -0
  569. package/src/modules/billing/lib/pdf/invoicePdf.ts +220 -0
  570. package/src/modules/billing/lib/pdf/invoiceTemplate.ts +338 -0
  571. package/src/modules/billing/lib/prepaidConfig.ts +27 -36
  572. package/src/modules/billing/lib/prepaidConsume.ts +29 -6
  573. package/src/modules/billing/lib/prepaidPeriodClose.ts +407 -239
  574. package/src/modules/billing/lib/prepaidTaxPoint.ts +76 -0
  575. package/src/modules/billing/lib/seeds/demo.ts +79 -6
  576. package/src/modules/billing/lib/seeds/paymentsSample.ts +136 -0
  577. package/src/modules/billing/lib/seeds/sellerSettings.ts +78 -0
  578. package/src/modules/billing/lib/servicePeriods.ts +226 -0
  579. package/src/modules/billing/lib/testRunCleanup.ts +42 -0
  580. package/src/modules/billing/lib/topupCapture.ts +3 -4
  581. package/src/modules/billing/lib/topupReceipt.ts +70 -103
  582. package/src/modules/billing/lib/usageRater.ts +1 -1
  583. package/src/modules/billing/lib/usageRunner.ts +17 -5
  584. package/src/modules/billing/lib/vat.ts +56 -0
  585. package/src/modules/billing/migrations/Migration20261114000000_billing_customer_kind.ts +25 -0
  586. package/src/modules/billing/migrations/Migration20261114100000_billing_cycle_semantics.ts +37 -0
  587. package/src/modules/billing/migrations/Migration20261115000000_billing_invoice_ledger.ts +132 -0
  588. package/src/modules/billing/migrations/Migration20261116000000_billing_invoice_documents.ts +58 -0
  589. package/src/modules/billing/migrations/Migration20261117000000_billing_payments.ts +97 -0
  590. package/src/modules/billing/migrations/Migration20261118000000_billing_memos.ts +21 -0
  591. package/src/modules/billing/migrations/Migration20261119000000_billing_operator_feedback.ts +39 -0
  592. package/src/modules/billing/migrations/Migration20261120000000_billing_allocation_scope_indexes.ts +35 -0
  593. package/src/modules/billing/setup.ts +11 -237
  594. package/src/modules/billing/subscribers/credit-memo-auto-send.ts +15 -0
  595. package/src/modules/billing/subscribers/debit-memo-apply-credit.ts +15 -0
  596. package/src/modules/billing/subscribers/debit-memo-auto-send.ts +15 -0
  597. package/src/modules/billing/subscribers/invoice-apply-credit.ts +39 -0
  598. package/src/modules/billing/subscribers/invoice-auto-send.ts +46 -0
  599. package/src/modules/billing/subscribers/payment-captured-to-paid.ts +84 -62
  600. package/src/modules/billing/subscribers/prepaid-topup-captured.ts +4 -8
  601. package/dist/modules/billing/lib/invoiceStatus.js +0 -38
  602. package/dist/modules/billing/lib/invoiceStatus.js.map +0 -7
  603. package/src/modules/billing/__tests__/lib/invoiceStatus.test.ts +0 -97
  604. package/src/modules/billing/lib/invoiceStatus.ts +0 -61
@@ -0,0 +1,880 @@
1
+ {
2
+ "billing.accounts.actions.open": "Öffnen",
3
+ "billing.accounts.columns.balance_due": "Fälliger Saldo",
4
+ "billing.accounts.columns.credit_limit": "Kreditlimit",
5
+ "billing.accounts.columns.currency": "Währung",
6
+ "billing.accounts.columns.customer": "Kunde",
7
+ "billing.accounts.columns.cycle": "Zyklus",
8
+ "billing.accounts.columns.last_bill": "Letzte Abrechnung",
9
+ "billing.accounts.columns.mode": "Modus",
10
+ "billing.accounts.columns.name": "Name",
11
+ "billing.accounts.columns.next_bill": "Nächste Abrechnung",
12
+ "billing.accounts.columns.overdue": "Überfällig",
13
+ "billing.accounts.columns.status": "Status",
14
+ "billing.accounts.create.action": "Neues Konto",
15
+ "billing.accounts.create.error": "Konto konnte nicht erstellt werden",
16
+ "billing.accounts.create.success": "Abrechnungskonto erstellt",
17
+ "billing.accounts.create.title": "Abrechnungskonto erstellen",
18
+ "billing.accounts.detail.add_item": "Position hinzufügen",
19
+ "billing.accounts.detail.add_usage": "Nutzung hinzufügen",
20
+ "billing.accounts.detail.delete.action": "Als gelöscht markieren",
21
+ "billing.accounts.detail.delete.confirm.button": "Als gelöscht markieren",
22
+ "billing.accounts.detail.delete.confirm.text": "Markiert das Konto als gelöscht. Seine Positionen und Nutzungsdatensätze bleiben zur Prüfung in der Datenbank; der Abrechnungslauf berücksichtigt es ab sofort nicht mehr.",
23
+ "billing.accounts.detail.delete.confirm.title": "Konto löschen?",
24
+ "billing.accounts.detail.delete.error": "Löschen fehlgeschlagen",
25
+ "billing.accounts.detail.delete.in_progress": "Wird gelöscht…",
26
+ "billing.accounts.detail.delete.success": "Konto gelöscht",
27
+ "billing.accounts.detail.error.load": "Konto konnte nicht geladen werden",
28
+ "billing.accounts.detail.error.not_found": "Konto nicht gefunden",
29
+ "billing.accounts.detail.invoices": "Rechnungen",
30
+ "billing.accounts.detail.items.empty": "Für dieses Konto gibt es noch keine Positionen.",
31
+ "billing.accounts.detail.items.title": "Positionen",
32
+ "billing.accounts.detail.loading": "Konto wird geladen…",
33
+ "billing.accounts.detail.payments": "Zahlungen",
34
+ "billing.accounts.detail.save.error": "Speichern fehlgeschlagen",
35
+ "billing.accounts.detail.save.success": "Konto aktualisiert",
36
+ "billing.accounts.detail.title": "Abrechnungskonto",
37
+ "billing.accounts.detail.usage.empty": "Für dieses Konto gibt es noch keine Nutzungsdatensätze.",
38
+ "billing.accounts.detail.usage.title": "Nutzung",
39
+ "billing.accounts.detail.view_items": "Positionen anzeigen",
40
+ "billing.accounts.filters.active": "Aktiv",
41
+ "billing.accounts.filters.currency": "Währung",
42
+ "billing.accounts.filters.customer_kind": "Kundentyp",
43
+ "billing.accounts.filters.cycle": "Abrechnungszyklus",
44
+ "billing.accounts.filters.has_overdue": "Mit Überfälligem",
45
+ "billing.accounts.form.active": "Aktiv",
46
+ "billing.accounts.form.active.help": "Inaktive Konten werden weiter abgerechnet, bis sie als gelöscht markiert werden — der Schalter dient nur der Filterung der Anzeige.",
47
+ "billing.accounts.form.address.city": "Ort",
48
+ "billing.accounts.form.address.country": "Land (ISO 3166)",
49
+ "billing.accounts.form.address.line1": "Zeile 1",
50
+ "billing.accounts.form.address.line2": "Zeile 2",
51
+ "billing.accounts.form.address.postal_code": "Postleitzahl",
52
+ "billing.accounts.form.address.title": "Rechnungsadresse",
53
+ "billing.accounts.form.auto_send": "Rechnungen automatisch per E-Mail versenden",
54
+ "billing.accounts.form.auto_send.help": "Jede gebuchte Rechnung wird als PDF an die Rechnungs-E-Mail-Adresse gesendet.",
55
+ "billing.accounts.form.bill_cycle": "Abrechnungszyklus",
56
+ "billing.accounts.form.cancel_hint": "zum Verwerfen",
57
+ "billing.accounts.form.create": "Konto erstellen",
58
+ "billing.accounts.form.currency": "Währung (ISO 4217)",
59
+ "billing.accounts.form.currency.locked": "Unveränderlich — beim Anlegen des Kontos festgelegt.",
60
+ "billing.accounts.form.customer": "Kunde",
61
+ "billing.accounts.form.customer.company": "Unternehmen",
62
+ "billing.accounts.form.customer.person": "Person",
63
+ "billing.accounts.form.customer.placeholder": "Kunden nach Name oder E-Mail suchen…",
64
+ "billing.accounts.form.customer.placeholder_person": "Personen nach Name oder E-Mail suchen…",
65
+ "billing.accounts.form.customer.prefill_hint": "Name, Rechnungs-E-Mail und Adresse werden aus dem Kundendatensatz übernommen, wenn sie leer sind.",
66
+ "billing.accounts.form.customer_id": "Kunden-ID",
67
+ "billing.accounts.form.customer_id.locked": "Unveränderlich — legen Sie ein neues Konto an, um den Kunden neu zu verknüpfen.",
68
+ "billing.accounts.form.customer_kind": "Kundentyp",
69
+ "billing.accounts.form.cycle_anchor": "Zyklusanker",
70
+ "billing.accounts.form.cycle_anchor.month_hint": "1 — 28",
71
+ "billing.accounts.form.cycle_anchor.weekly_hint": "mon | tue | … | sun",
72
+ "billing.accounts.form.error.address_required": "Rechnungsadresse (Zeile 1 + Ort) ist erforderlich",
73
+ "billing.accounts.form.error.country_invalid": "Das Land muss ein 2- oder 3-stelliger ISO-3166-Code sein",
74
+ "billing.accounts.form.error.currency_invalid": "Die Währung muss ein 3-stelliger ISO-Code sein",
75
+ "billing.accounts.form.error.customerId_required": "Bitte wählen Sie einen Kunden aus",
76
+ "billing.accounts.form.error.email_invalid": "Die Rechnungs-E-Mail-Adresse scheint ungültig zu sein",
77
+ "billing.accounts.form.error.name_required": "Name ist erforderlich",
78
+ "billing.accounts.form.error.next_bill_date_required": "Nächstes Abrechnungsdatum ist erforderlich",
79
+ "billing.accounts.form.invoice_email": "Rechnungs-E-Mail",
80
+ "billing.accounts.form.invoice_language": "Rechnungssprache",
81
+ "billing.accounts.form.mode.locked": "Unveränderlich — beim Anlegen des Kontos festgelegt.",
82
+ "billing.accounts.form.mode.title": "Abrechnungsmodus & Kredit",
83
+ "billing.accounts.form.name": "Name",
84
+ "billing.accounts.form.name.placeholder": "Wird vom Kunden übernommen — überschreiben, z. B. „Acme — Produktion“",
85
+ "billing.accounts.form.next_bill_date": "Nächstes Abrechnungsdatum",
86
+ "billing.accounts.form.payment_terms": "Zahlungsziel (Tage)",
87
+ "billing.accounts.form.payment_terms.default": "Standard der Organisation",
88
+ "billing.accounts.form.payment_terms.hint": "Leer = Standard der Organisation",
89
+ "billing.accounts.form.save": "Änderungen speichern",
90
+ "billing.accounts.form.saving": "Wird gespeichert…",
91
+ "billing.accounts.form.submit_hint": "zum Speichern,",
92
+ "billing.accounts.form.tax_id": "Steuer-ID (NIP / USt-IdNr., optional)",
93
+ "billing.accounts.form.threshold.hint": "Leer = Standard des Mandanten",
94
+ "billing.accounts.items.billed_through": "Abgerechnet bis",
95
+ "billing.accounts.items.open_ended": "unbefristet",
96
+ "billing.accounts.items.recurring_advance": "Wiederkehrend · im Voraus",
97
+ "billing.accounts.items.recurring_arrears": "Wiederkehrend · nachträglich",
98
+ "billing.accounts.items.state": "Abrechnung",
99
+ "billing.accounts.items.state.awaiting_run": "Noch nicht abgerechnet",
100
+ "billing.accounts.items.state.billed": "Abgerechnet",
101
+ "billing.accounts.items.state.current": "Abgerechnet bis",
102
+ "billing.accounts.items.state.due": "Fällig seit",
103
+ "billing.accounts.items.state.fully_billed": "Vollständig abgerechnet",
104
+ "billing.accounts.items.state.metered": "Nach Nutzung abgerechnet",
105
+ "billing.accounts.items.state.scheduled": "Beginnt",
106
+ "billing.accounts.items.term": "Laufzeit",
107
+ "billing.accounts.items.tiered": "Gestaffelt",
108
+ "billing.accounts.kind.company": "Unternehmen",
109
+ "billing.accounts.kind.person": "Person",
110
+ "billing.accounts.run.action": "Abrechnung ausführen",
111
+ "billing.accounts.run.again": "Erneut ausführen",
112
+ "billing.accounts.run.close_hint": "zum Schließen",
113
+ "billing.accounts.run.description": "Rechnet jeden fälligen Zyklus dieses Kontos bis zum Stichtag ab. Test- und Probeläufe ändern nichts am Konto.",
114
+ "billing.accounts.run.done": "Abrechnungslauf abgeschlossen — Abrechnungsdaten mit Belastungen:",
115
+ "billing.accounts.run.failed": "Abrechnungslauf fehlgeschlagen",
116
+ "billing.accounts.run.nothing_due": "Bis zu diesem Datum ist nichts fällig — das nächste Abrechnungsdatum liegt später.",
117
+ "billing.accounts.run.open_run": "Lauf öffnen",
118
+ "billing.accounts.run.running": "Wird ausgeführt…",
119
+ "billing.accounts.run.submit_hint": "zum Ausführen,",
120
+ "billing.accounts.run.title": "Abrechnung für dieses Konto ausführen",
121
+ "billing.accounts.runs.columns.cycles": "Abrechnungsdaten",
122
+ "billing.accounts.runs.columns.documents": "Dokumente",
123
+ "billing.accounts.runs.columns.when": "Ausgeführt am",
124
+ "billing.accounts.runs.empty": "Für dieses Konto gibt es noch keine Abrechnungsläufe.",
125
+ "billing.accounts.runs.error": "Abrechnungsläufe konnten nicht geladen werden",
126
+ "billing.accounts.statements.empty": "Noch keine Kontoauszüge — sie werden beim Periodenabschluss erstellt.",
127
+ "billing.accounts.statements.error": "Kontoauszüge konnten nicht geladen werden",
128
+ "billing.accounts.summary.balance": "Saldo",
129
+ "billing.accounts.summary.balance_due": "Fälliger Saldo",
130
+ "billing.accounts.summary.credit": "Nicht verrechnetes Guthaben",
131
+ "billing.accounts.summary.last_invoice": "Letzte Rechnung",
132
+ "billing.accounts.summary.last_statement": "Letzter Kontoauszug",
133
+ "billing.accounts.summary.open": "Offene Forderungen",
134
+ "billing.accounts.summary.overdue": "Überfällig",
135
+ "billing.accounts.tabs.balance": "Saldo & Aufladungen",
136
+ "billing.accounts.tabs.invoices": "Rechnungen",
137
+ "billing.accounts.tabs.items": "Positionen",
138
+ "billing.accounts.tabs.label": "Kontobereiche",
139
+ "billing.accounts.tabs.overview": "Übersicht",
140
+ "billing.accounts.tabs.payments": "Zahlungen",
141
+ "billing.accounts.tabs.runs": "Abrechnungsläufe",
142
+ "billing.accounts.tabs.statements": "Kontoauszüge",
143
+ "billing.accounts.tabs.usage": "Nutzung",
144
+ "billing.accounts.title": "Abrechnungskonten",
145
+ "billing.common.active": "Aktiv",
146
+ "billing.common.cancel": "Abbrechen",
147
+ "billing.common.close": "Schließen",
148
+ "billing.common.edit": "Bearbeiten",
149
+ "billing.common.id": "ID",
150
+ "billing.common.inactive": "Inaktiv",
151
+ "billing.common.no": "Nein",
152
+ "billing.common.refresh": "Aktualisieren",
153
+ "billing.common.save": "Speichern",
154
+ "billing.common.yes": "Ja",
155
+ "billing.cycle.annually": "Jährlich",
156
+ "billing.cycle.monthly": "Monatlich",
157
+ "billing.cycle.quarterly": "Vierteljährlich",
158
+ "billing.cycle.weekly": "Wöchentlich",
159
+ "billing.email.invoice.body": "Anbei erhalten Sie die Rechnung {number} über {amount}, fällig am {dueDate}.",
160
+ "billing.email.invoice.closing": "Mit freundlichen Grüßen",
161
+ "billing.email.invoice.greeting": "Guten Tag {name},",
162
+ "billing.email.invoice.payment": "Bitte überweisen Sie den Betrag auf die IBAN {iban} mit dem Verwendungszweck {number}.",
163
+ "billing.email.invoice.subject": "Rechnung {number}",
164
+ "billing.invoices.actions.open": "Öffnen",
165
+ "billing.invoices.actions.pdf": "PDF herunterladen",
166
+ "billing.invoices.actions.pdf_preview": "PDF-Vorschau",
167
+ "billing.invoices.columns.account": "Konto",
168
+ "billing.invoices.columns.days_overdue": "Tage überfällig",
169
+ "billing.invoices.columns.due": "Fällig",
170
+ "billing.invoices.columns.issued": "Ausgestellt",
171
+ "billing.invoices.columns.number": "Nummer",
172
+ "billing.invoices.columns.outstanding": "Offen",
173
+ "billing.invoices.columns.period": "Zeitraum",
174
+ "billing.invoices.columns.status": "Status",
175
+ "billing.invoices.columns.total": "Gesamt",
176
+ "billing.invoices.columns.type": "Typ",
177
+ "billing.invoices.deliveries.columns.at": "Zeitpunkt",
178
+ "billing.invoices.deliveries.columns.error": "Fehler",
179
+ "billing.invoices.deliveries.columns.status": "Status",
180
+ "billing.invoices.deliveries.columns.to": "Empfänger",
181
+ "billing.invoices.deliveries.columns.trigger": "Auslöser",
182
+ "billing.invoices.deliveries.empty": "Noch nicht versendet.",
183
+ "billing.invoices.deliveries.status.failed": "Fehlgeschlagen",
184
+ "billing.invoices.deliveries.status.sent": "Gesendet",
185
+ "billing.invoices.deliveries.title": "E-Mail-Zustellungen",
186
+ "billing.invoices.deliveries.trigger.auto": "Automatisch",
187
+ "billing.invoices.deliveries.trigger.manual": "Manuell",
188
+ "billing.invoices.detail.error.load": "Rechnung konnte nicht geladen werden",
189
+ "billing.invoices.detail.field.account": "Abrechnungskonto",
190
+ "billing.invoices.detail.field.bill_run": "Abrechnungslauf",
191
+ "billing.invoices.detail.field.draft_number": "Entwurfsnummer",
192
+ "billing.invoices.detail.field.due": "Fällig",
193
+ "billing.invoices.detail.field.issued": "Ausgestellt",
194
+ "billing.invoices.detail.field.period": "Abrechnungszeitraum",
195
+ "billing.invoices.detail.loading": "Rechnung wird geladen…",
196
+ "billing.invoices.detail.outstanding": "Offen",
197
+ "billing.invoices.detail.paid": "Bezahlt",
198
+ "billing.invoices.detail.subtotal": "Zwischensumme (netto)",
199
+ "billing.invoices.detail.title": "Rechnung",
200
+ "billing.invoices.detail.total": "Gesamtsumme",
201
+ "billing.invoices.document_type.credit_memo": "Rechnungskorrektur",
202
+ "billing.invoices.document_type.debit_memo": "Belastungsanzeige",
203
+ "billing.invoices.document_type.invoice": "Rechnung",
204
+ "billing.invoices.document_type.receipt": "Aufladungsbestätigung",
205
+ "billing.invoices.empty": "Noch keine Rechnungen.",
206
+ "billing.invoices.error.load": "Rechnungen konnten nicht geladen werden",
207
+ "billing.invoices.filters.document_type": "Dokumenttyp",
208
+ "billing.invoices.filters.overdue": "Überfällig",
209
+ "billing.invoices.filters.overdue.exclude": "Nicht überfällig",
210
+ "billing.invoices.filters.overdue.only": "Nur überfällige",
211
+ "billing.invoices.filters.status": "Status",
212
+ "billing.invoices.filters.test_run": "Testläufe",
213
+ "billing.invoices.filters.test_run.exclude": "Tests ausschließen",
214
+ "billing.invoices.filters.test_run.only": "Nur Tests",
215
+ "billing.invoices.lines.actions.edit": "Position bearbeiten",
216
+ "billing.invoices.lines.actions.remove": "Position entfernen",
217
+ "billing.invoices.lines.add.action": "Position hinzufügen",
218
+ "billing.invoices.lines.add.success": "Position hinzugefügt",
219
+ "billing.invoices.lines.columns.description": "Beschreibung",
220
+ "billing.invoices.lines.columns.gross": "Brutto",
221
+ "billing.invoices.lines.columns.quantity": "Menge",
222
+ "billing.invoices.lines.columns.tax_amount": "USt.",
223
+ "billing.invoices.lines.columns.tax_rate": "USt. %",
224
+ "billing.invoices.lines.columns.total": "Gesamt netto",
225
+ "billing.invoices.lines.columns.unit_price": "Stückpreis",
226
+ "billing.invoices.lines.edit.success": "Position aktualisiert",
227
+ "billing.invoices.lines.form.cancel_hint": "zum Abbrechen",
228
+ "billing.invoices.lines.form.computed_total": "Berechnete Summe: {computed}",
229
+ "billing.invoices.lines.form.description": "Beschreibung",
230
+ "billing.invoices.lines.form.error.description_required": "Beschreibung ist erforderlich",
231
+ "billing.invoices.lines.form.error.quantity_invalid": "Die Menge muss eine nicht negative Zahl sein",
232
+ "billing.invoices.lines.form.error.tax_rate_invalid": "Der USt.-Satz muss zwischen 0 und 100 liegen",
233
+ "billing.invoices.lines.form.error.total_invalid": "Die überschriebene Summe muss eine Zahl sein, wenn sie gesetzt ist",
234
+ "billing.invoices.lines.form.error.unit_price_invalid": "Der Stückpreis muss eine Zahl sein",
235
+ "billing.invoices.lines.form.help": "Änderungen werden im Prüfprotokoll für Entwurfsänderungen erfasst.",
236
+ "billing.invoices.lines.form.quantity": "Menge",
237
+ "billing.invoices.lines.form.saving": "Wird gespeichert…",
238
+ "billing.invoices.lines.form.submit_hint": "zum Speichern,",
239
+ "billing.invoices.lines.form.tax_rate": "USt.-Satz (%)",
240
+ "billing.invoices.lines.form.tax_rate.default": "Standard der Organisation",
241
+ "billing.invoices.lines.form.title_add": "Rechnungsposition hinzufügen",
242
+ "billing.invoices.lines.form.title_edit": "Rechnungsposition bearbeiten",
243
+ "billing.invoices.lines.form.total_override": "Summe überschreiben (optional)",
244
+ "billing.invoices.lines.form.unit_price": "Stückpreis (netto)",
245
+ "billing.invoices.lines.operator_added": "Manuell hinzugefügt",
246
+ "billing.invoices.lines.remove.confirm.button": "Position entfernen",
247
+ "billing.invoices.lines.remove.confirm.text": "Die Position wird gelöscht und im Prüfprotokoll für Entwurfsänderungen erfasst.",
248
+ "billing.invoices.lines.remove.confirm.title": "Position entfernen?",
249
+ "billing.invoices.lines.remove.error": "Entfernen fehlgeschlagen",
250
+ "billing.invoices.lines.remove.success": "Position entfernt",
251
+ "billing.invoices.lines.save.error": "Speichern fehlgeschlagen",
252
+ "billing.invoices.lines.title": "Positionen",
253
+ "billing.invoices.overdue": "Überfällig",
254
+ "billing.invoices.overdue_days": "Überfällig: {days} T.",
255
+ "billing.invoices.payments.credit_memo": "Rechnungskorrektur",
256
+ "billing.invoices.payments.empty": "Noch keine Zahlungen.",
257
+ "billing.invoices.payments.payment": "Zahlung",
258
+ "billing.invoices.payments.source": "Quelle",
259
+ "billing.invoices.payments.title": "Zahlungen",
260
+ "billing.invoices.post.action": "Rechnung buchen",
261
+ "billing.invoices.post.error": "Buchen fehlgeschlagen",
262
+ "billing.invoices.post.in_progress": "Wird gebucht…",
263
+ "billing.invoices.post.settings_incomplete": "Ergänzen Sie die Angaben zum Rechnungssteller unter Einstellungen → Abrechnung, bevor Sie Rechnungen buchen.",
264
+ "billing.invoices.post.success": "Rechnung gebucht",
265
+ "billing.invoices.send.action": "Senden",
266
+ "billing.invoices.send.confirm.text": "Das PDF wird per E-Mail an {email} gesendet.",
267
+ "billing.invoices.send.confirm.title": "Rechnung senden?",
268
+ "billing.invoices.send.confirm.title_resend": "Rechnung erneut senden?",
269
+ "billing.invoices.send.failed": "Senden fehlgeschlagen",
270
+ "billing.invoices.send.in_progress": "Wird gesendet…",
271
+ "billing.invoices.send.resend": "Erneut senden",
272
+ "billing.invoices.send.success": "Rechnung gesendet",
273
+ "billing.invoices.status.credited": "Gutgeschrieben",
274
+ "billing.invoices.status.draft": "Entwurf",
275
+ "billing.invoices.status.paid": "Bezahlt",
276
+ "billing.invoices.status.partially_paid": "Teilweise bezahlt",
277
+ "billing.invoices.status.posted": "Gebucht",
278
+ "billing.invoices.test_run_tag": "Testlauf",
279
+ "billing.invoices.title": "Rechnungen",
280
+ "billing.item.price_change_after_end": "Die Änderung muss am oder vor dem Enddatum der Position liegen.",
281
+ "billing.item.price_change_before_start": "Die Änderung muss nach dem Startdatum der Position liegen.",
282
+ "billing.item.price_change_inactive": "Die Position ist inaktiv oder gelöscht.",
283
+ "billing.item.price_change_recurring_only": "Nur bei wiederkehrenden Positionen kann der Preis auf diese Weise geändert werden.",
284
+ "billing.items.actions.open": "Öffnen",
285
+ "billing.items.change_price.action": "Preis ändern",
286
+ "billing.items.change_price.and_before": "und am oder vor",
287
+ "billing.items.change_price.current_ends": "Aktueller Preis endet am",
288
+ "billing.items.change_price.current_price": "Aktueller Preis",
289
+ "billing.items.change_price.date_range": "Wählen Sie ein Datum nach dem Start der Position",
290
+ "billing.items.change_price.description": "Diese Position endet am Tag vor dem Gültigkeitsdatum, und eine Kopie mit dem neuen Preis beginnt an diesem Tag. Bereits abgerechnete Tage nach der Änderung werden gemäß der Einstellung zur anteiligen Berechnung der Position gutgeschrieben und zum neuen Preis erneut berechnet.",
291
+ "billing.items.change_price.effective_date": "Gültig ab",
292
+ "billing.items.change_price.error": "Der Preis konnte nicht geändert werden",
293
+ "billing.items.change_price.new_price": "Neuer Stückpreis pro Zyklus",
294
+ "billing.items.change_price.success": "Preis geändert — die neue Position ist ab dem Gültigkeitsdatum aktiv",
295
+ "billing.items.change_price.title": "Preis ändern",
296
+ "billing.items.charge_timing.in_advance": "Im Voraus",
297
+ "billing.items.charge_timing.in_arrears": "Nachträglich",
298
+ "billing.items.columns.account": "Konto",
299
+ "billing.items.columns.description": "Beschreibung",
300
+ "billing.items.columns.end": "Ende",
301
+ "billing.items.columns.start": "Beginn",
302
+ "billing.items.columns.status": "Status",
303
+ "billing.items.columns.timing": "Zeitpunkt",
304
+ "billing.items.columns.type": "Typ",
305
+ "billing.items.columns.uom": "ME",
306
+ "billing.items.create.action": "Neue Position",
307
+ "billing.items.create.error": "Position konnte nicht erstellt werden",
308
+ "billing.items.create.loading": "Konten werden geladen…",
309
+ "billing.items.create.success": "Abrechnungsposition erstellt",
310
+ "billing.items.create.title": "Abrechnungsposition erstellen",
311
+ "billing.items.detail.billed_to": "Abgerechnet bis {date}",
312
+ "billing.items.detail.currency_mismatch": "Währungskonflikt",
313
+ "billing.items.detail.delete.action": "Als gelöscht markieren",
314
+ "billing.items.detail.delete.confirm.button": "Als gelöscht markieren",
315
+ "billing.items.detail.delete.confirm.text": "Markiert die Position als gelöscht. Der Datensatz bleibt zur Prüfung in der Datenbank; der Abrechnungslauf berücksichtigt sie ab sofort nicht mehr.",
316
+ "billing.items.detail.delete.confirm.title": "Position löschen?",
317
+ "billing.items.detail.delete.error": "Löschen fehlgeschlagen",
318
+ "billing.items.detail.delete.in_progress": "Wird gelöscht…",
319
+ "billing.items.detail.delete.success": "Position gelöscht",
320
+ "billing.items.detail.error.load": "Position konnte nicht geladen werden",
321
+ "billing.items.detail.error.not_found": "Position nicht gefunden",
322
+ "billing.items.detail.field.account": "Konto",
323
+ "billing.items.detail.field.billed_to": "Abgerechnet bis",
324
+ "billing.items.detail.field.source_ref": "Quellreferenz",
325
+ "billing.items.detail.loading": "Position wird geladen…",
326
+ "billing.items.detail.save.error": "Speichern fehlgeschlagen",
327
+ "billing.items.detail.save.success": "Position aktualisiert",
328
+ "billing.items.detail.source_ref": "source_ref: {ref}",
329
+ "billing.items.detail.title": "Abrechnungsposition",
330
+ "billing.items.filters.account": "Abrechnungskonto",
331
+ "billing.items.filters.active": "Aktiv",
332
+ "billing.items.filters.subscription": "Abonnement-ID",
333
+ "billing.items.filters.type": "Typ",
334
+ "billing.items.form.account": "Abrechnungskonto",
335
+ "billing.items.form.account.placeholder": "Konto auswählen",
336
+ "billing.items.form.active": "Aktiv",
337
+ "billing.items.form.active.help": "Inaktive Positionen werden vom Abrechnungslauf übersprungen.",
338
+ "billing.items.form.cancel_hint": "zum Verwerfen",
339
+ "billing.items.form.charge_timing": "Berechnungszeitpunkt",
340
+ "billing.items.form.charge_timing.help_advance": "Jedes Abrechnungsdatum berechnet den kommenden Zeitraum.",
341
+ "billing.items.form.charge_timing.help_arrears": "Jedes Abrechnungsdatum berechnet den gerade abgelaufenen Zeitraum.",
342
+ "billing.items.form.create": "Position erstellen",
343
+ "billing.items.form.description": "Beschreibung",
344
+ "billing.items.form.description.help": "Wird unverändert auf der Rechnungsposition angezeigt.",
345
+ "billing.items.form.end_date": "Abrechnungsende (optional)",
346
+ "billing.items.form.error.account_required": "Abrechnungskonto ist erforderlich",
347
+ "billing.items.form.error.amount_invalid": "Der Betrag muss eine Zahl sein",
348
+ "billing.items.form.error.description_required": "Beschreibung ist erforderlich",
349
+ "billing.items.form.error.start_date_required": "Abrechnungsbeginn ist erforderlich",
350
+ "billing.items.form.error.tax_rate_invalid": "Der USt.-Satz muss zwischen 0 und 100 liegen",
351
+ "billing.items.form.error.tiered_json": "Das Staffelpreis-JSON ist kein gültiges JSON",
352
+ "billing.items.form.error.tiered_required": "Für gestaffelte Nutzung ist ein Staffelpreis-JSON erforderlich",
353
+ "billing.items.form.error.tiered_shape": "Das Staffel-JSON muss `model` und `tiers` enthalten",
354
+ "billing.items.form.error.unit_price_invalid": "Der Stückpreis muss eine nicht negative Zahl sein",
355
+ "billing.items.form.error.uom_required": "Für Nutzungspositionen ist ein ME-Code erforderlich",
356
+ "billing.items.form.price.gross_preview": "Brutto",
357
+ "billing.items.form.price.net_preview": "Netto",
358
+ "billing.items.form.price.vat_preview": "USt.",
359
+ "billing.items.form.price_basis": "Preis eingegeben als",
360
+ "billing.items.form.price_basis.tiered_net": "Staffelpreise werden immer netto eingegeben.",
361
+ "billing.items.form.prorate": "Teilzeiträume anteilig berechnen",
362
+ "billing.items.form.prorate.help": "Nach Kalendertagen berechnen, wenn die Position mitten im Zeitraum beginnt oder endet, und ungenutzte Tage gutschreiben, wenn sie nach einer Abrechnung im Voraus endet.",
363
+ "billing.items.form.rate.amount": "Betrag",
364
+ "billing.items.form.rate.amount.help": "Negative Werte sind für Erstattungen / Guthaben / anteilige Erstattungen zulässig.",
365
+ "billing.items.form.rate.prices_in": "Preise in",
366
+ "billing.items.form.rate.tiered_json": "Staffelpreis-JSON",
367
+ "billing.items.form.rate.tiered_json.help": "Modelle: volume / graduated / flat. Genau eine Staffel muss `up_to: null` haben (die unbegrenzte oberste Staffel). Serverseitige Validatoren lehnen fehlerhafte Strukturen ab.",
368
+ "billing.items.form.rate.title": "Tarif",
369
+ "billing.items.form.rate.unit_price_recurring": "Stückpreis pro Zyklus",
370
+ "billing.items.form.rate.unit_price_usage": "Preis pro verbrauchter Einheit",
371
+ "billing.items.form.rate.usage_mode": "Tarifmodell",
372
+ "billing.items.form.rate.usage_mode.simple": "Einfacher Pauschaltarif",
373
+ "billing.items.form.rate.usage_mode.tiered": "Gestaffelt (Volumen / Staffel / Pauschal)",
374
+ "billing.items.form.refs.title": "Externe Referenzen (optional)",
375
+ "billing.items.form.save": "Änderungen speichern",
376
+ "billing.items.form.saving": "Wird gespeichert…",
377
+ "billing.items.form.start_date": "Abrechnungsbeginn",
378
+ "billing.items.form.submit_hint": "zum Speichern,",
379
+ "billing.items.form.subscription_id": "Abonnement-ID",
380
+ "billing.items.form.subscription_item_id": "Abonnementpositions-ID",
381
+ "billing.items.form.tax_rate": "USt.-Satz (%)",
382
+ "billing.items.form.tax_rate.help": "Standardmäßig der USt.-Satz der Organisation aus den Abrechnungseinstellungen.",
383
+ "billing.items.form.tax_rate.help_edit": "Gilt für künftige Rechnungen; gebuchte Rechnungen behalten ihren Satz.",
384
+ "billing.items.form.tax_rate.prepaid_consumption": "Wird inklusive USt. vom Guthaben abgebucht.",
385
+ "billing.items.form.tax_rate.prepaid_topup": "Bei Prepaid-Konten wird die Steuer bei der Aufladung zugeordnet.",
386
+ "billing.items.form.type": "Typ",
387
+ "billing.items.form.type.one_time": "Einmalige Gebühr",
388
+ "billing.items.form.type.recurring": "Wiederkehrend (pro Zyklus)",
389
+ "billing.items.form.type.usage": "Nutzung (verbrauchsabhängig)",
390
+ "billing.items.form.uom_code": "ME-Code",
391
+ "billing.items.form.uom_code.help": "Muss exakt mit dem `uom_code` der Nutzungsdatensätze übereinstimmen. Keine Umrechnung.",
392
+ "billing.items.price_basis.gross": "Brutto",
393
+ "billing.items.price_basis.net": "Netto",
394
+ "billing.items.title": "Abrechnungspositionen",
395
+ "billing.items.type.one_time": "Einmalig",
396
+ "billing.items.type.recurring": "Wiederkehrend",
397
+ "billing.items.type.usage": "Nutzung",
398
+ "billing.memo.corrections": "Korrekturen",
399
+ "billing.memo.corrects": "Korrigiert",
400
+ "billing.memo.create": "Entwurf erstellen",
401
+ "billing.memo.create_credit.action": "Rechnungskorrektur erstellen",
402
+ "billing.memo.create_credit.title": "Rechnungskorrektur erstellen",
403
+ "billing.memo.create_debit.action": "Belastungsanzeige erstellen",
404
+ "billing.memo.create_debit.title": "Belastungsanzeige erstellen",
405
+ "billing.memo.created": "Entwurf erstellt",
406
+ "billing.memo.delete.action": "Entwurf löschen",
407
+ "billing.memo.delete.confirm": "Diesen Entwurf löschen?",
408
+ "billing.memo.delete.failed": "Der Entwurf konnte nicht gelöscht werden",
409
+ "billing.memo.delete.text": "Der Entwurf und seine Positionen werden entfernt. Gebuchte Dokumente werden nie gelöscht.",
410
+ "billing.memo.deleted": "Entwurf gelöscht",
411
+ "billing.memo.error.create": "Das Dokument konnte nicht erstellt werden",
412
+ "billing.memo.error.exceeds": "Der Betrag übersteigt den auf dieser Rechnung noch korrigierbaren Betrag",
413
+ "billing.memo.error.no_lines": "Wählen Sie mindestens eine zu korrigierende Position aus",
414
+ "billing.memo.error.reason_required": "Ein Grund ist erforderlich",
415
+ "billing.memo.full_credit": "Vollständige Korrektur",
416
+ "billing.memo.hint": "Korrigiert nur dieses Dokument. Ändern Sie die Abrechnungsposition, um künftige Rechnungen anzupassen.",
417
+ "billing.memo.lines": "Zu korrigierende Positionen",
418
+ "billing.memo.projected": "Korrekturbetrag",
419
+ "billing.memo.reason": "Grund (wird auf dem Dokument gedruckt)",
420
+ "billing.memo.reason_label": "Grund",
421
+ "billing.mode.postpaid": "Postpaid",
422
+ "billing.mode.prepaid": "Prepaid",
423
+ "billing.payments.account_picker.placeholder": "Konto auswählen",
424
+ "billing.payments.account_picker.search": "Konten durchsuchen…",
425
+ "billing.payments.action_failed": "Die Aktion ist fehlgeschlagen",
426
+ "billing.payments.actions.allocate": "Zuordnen",
427
+ "billing.payments.actions.assign": "Konto zuweisen",
428
+ "billing.payments.actions.assign_confirm": "Zuweisen",
429
+ "billing.payments.actions.assigned": "Zahlung zugewiesen",
430
+ "billing.payments.actions.convert": "In Aufladung umwandeln",
431
+ "billing.payments.actions.convert_confirm": "Umwandeln",
432
+ "billing.payments.actions.converted": "Aufladung erstellt",
433
+ "billing.payments.actions.ignore": "Ignorieren",
434
+ "billing.payments.actions.ignored": "Zahlung ignoriert",
435
+ "billing.payments.actions.restore": "Wiederherstellen",
436
+ "billing.payments.actions.restored": "Zahlung wiederhergestellt",
437
+ "billing.payments.actions.unassign": "Zuweisung aufheben",
438
+ "billing.payments.actions.unassigned": "Zuweisung der Zahlung aufgehoben",
439
+ "billing.payments.allocate.action": "Zuordnen",
440
+ "billing.payments.allocate.failed": "Zuordnung fehlgeschlagen",
441
+ "billing.payments.allocate.help": "Nicht zugeordnet",
442
+ "billing.payments.allocate.none": "Dieses Konto hat keine offenen Rechnungen.",
443
+ "billing.payments.allocate.success": "Zahlung zugeordnet",
444
+ "billing.payments.allocate.title": "Zahlung zuordnen",
445
+ "billing.payments.allocate.too_much": "Die Summe übersteigt den nicht zugeordneten Betrag",
446
+ "billing.payments.allocate.total": "Gesamt",
447
+ "billing.payments.allocations.at": "Zeitpunkt",
448
+ "billing.payments.allocations.by": "Art",
449
+ "billing.payments.allocations.by.auto": "Automatisch abgeglichen",
450
+ "billing.payments.allocations.by.credit": "Guthaben verrechnet",
451
+ "billing.payments.allocations.by.gateway": "Online-Zahlung",
452
+ "billing.payments.allocations.by.user": "Manuell",
453
+ "billing.payments.allocations.empty": "Keiner Rechnung zugeordnet.",
454
+ "billing.payments.allocations.invoice": "Rechnung",
455
+ "billing.payments.allocations.remove": "Zuordnung aufheben",
456
+ "billing.payments.allocations.remove_confirm": "Diese Zuordnung entfernen?",
457
+ "billing.payments.allocations.remove_text": "Die Rechnung gilt in Höhe dieses Betrags wieder als unbezahlt.",
458
+ "billing.payments.allocations.removed": "Zuordnung entfernt",
459
+ "billing.payments.allocations.title": "Zuordnungen",
460
+ "billing.payments.columns.account": "Konto",
461
+ "billing.payments.columns.amount": "Betrag",
462
+ "billing.payments.columns.payer": "Zahler",
463
+ "billing.payments.columns.received": "Eingegangen",
464
+ "billing.payments.columns.reference": "Referenz",
465
+ "billing.payments.columns.status": "Status",
466
+ "billing.payments.columns.unallocated": "Nicht zugeordnet",
467
+ "billing.payments.detail.load_error": "Die Zahlung konnte nicht geladen werden",
468
+ "billing.payments.detail.loading": "Zahlung wird geladen…",
469
+ "billing.payments.detail.title": "Zahlung",
470
+ "billing.payments.empty": "Noch keine Zahlungen.",
471
+ "billing.payments.error.load": "Zahlungen konnten nicht geladen werden",
472
+ "billing.payments.fields.account_optional": "Abrechnungskonto (optional)",
473
+ "billing.payments.fields.currency": "Währung",
474
+ "billing.payments.fields.match_reason": "Abgleich",
475
+ "billing.payments.fields.source": "Quelle",
476
+ "billing.payments.fields.topup": "Aufladung",
477
+ "billing.payments.fields.topup_open": "Aufladung öffnen",
478
+ "billing.payments.filters.status": "Status",
479
+ "billing.payments.import.action": "Hochladen",
480
+ "billing.payments.import.counts.allocated": "Zugeordnet",
481
+ "billing.payments.import.counts.duplicate": "Duplikate",
482
+ "billing.payments.import.counts.matched": "Abgeglichen (Guthaben)",
483
+ "billing.payments.import.counts.partially_allocated": "Teilweise zugeordnet",
484
+ "billing.payments.import.counts.rejected": "Abgelehnte Zeilen",
485
+ "billing.payments.import.counts.unmatched": "Nicht abgeglichen",
486
+ "billing.payments.import.detail_title": "Zahlungsimport",
487
+ "billing.payments.import.errors": "Abgelehnte Zeilen",
488
+ "billing.payments.import.failed": "Import fehlgeschlagen",
489
+ "billing.payments.import.help": "CSV mit der Kopfzeile date,amount,currency,reference,payer_name,payer_account. Zahlungen werden anhand der Rechnungsnummer in der Referenz abgeglichen.",
490
+ "billing.payments.import.line": "Zeile",
491
+ "billing.payments.import.load_error": "Der Import konnte nicht geladen werden",
492
+ "billing.payments.import.loading": "Import wird geladen…",
493
+ "billing.payments.import.not_found": "Import nicht gefunden",
494
+ "billing.payments.import.open": "CSV hochladen",
495
+ "billing.payments.import.rows": "Zeilen",
496
+ "billing.payments.import.title": "Bankzahlungen hochladen",
497
+ "billing.payments.import.uploading": "Wird hochgeladen…",
498
+ "billing.payments.manual.action": "Zahlung erfassen",
499
+ "billing.payments.manual.amount_invalid": "Der Betrag muss größer als 0 sein",
500
+ "billing.payments.manual.failed": "Die Zahlung konnte nicht erfasst werden",
501
+ "billing.payments.manual.saved": "Zahlung erfasst",
502
+ "billing.payments.manual.title": "Zahlung erfassen",
503
+ "billing.payments.not_found": "Zahlung nicht gefunden",
504
+ "billing.payments.reason.currency_mismatch": "Währung weicht von der Rechnung ab",
505
+ "billing.payments.reason.invoice_already_paid": "Rechnung bereits bezahlt — als Guthaben behalten",
506
+ "billing.payments.reason.manual": "Manuell erfasst oder zugewiesen",
507
+ "billing.payments.reason.no_reference": "Keine Rechnungsnummer gefunden",
508
+ "billing.payments.reason.prepaid_account": "Prepaid-Konto — in eine Aufladung umwandeln",
509
+ "billing.payments.source.csv": "Bank-CSV",
510
+ "billing.payments.source.gateway": "Online-Zahlung",
511
+ "billing.payments.source.manual": "Manuelle Erfassung",
512
+ "billing.payments.status.allocated": "Zugeordnet",
513
+ "billing.payments.status.converted_to_topup": "In Aufladung umgewandelt",
514
+ "billing.payments.status.ignored": "Ignoriert",
515
+ "billing.payments.status.matched": "Abgeglichen",
516
+ "billing.payments.status.partially_allocated": "Teilweise zugeordnet",
517
+ "billing.payments.status.unmatched": "Nicht abgeglichen",
518
+ "billing.payments.title": "Zahlungen",
519
+ "billing.pdf.buyer": "Rechnungsempfänger",
520
+ "billing.pdf.columns.description": "Beschreibung",
521
+ "billing.pdf.columns.gross": "Brutto",
522
+ "billing.pdf.columns.net": "Netto",
523
+ "billing.pdf.columns.quantity": "Anz.",
524
+ "billing.pdf.columns.tax": "USt.",
525
+ "billing.pdf.columns.tax_rate": "USt. %",
526
+ "billing.pdf.columns.unit_net": "Einzelpreis netto",
527
+ "billing.pdf.memo.amount_credited": "Gutgeschriebener Betrag",
528
+ "billing.pdf.memo.credited_to_account": "Der Betrag wird Ihrem Konto gutgeschrieben.",
529
+ "billing.pdf.memo.settled_against": "Verrechnet mit Rechnung {number}; ein etwaiger Restbetrag wird Ihrem Konto gutgeschrieben.",
530
+ "billing.pdf.memo.settlement": "Verrechnung",
531
+ "billing.pdf.meta.corrects": "Korrigiert",
532
+ "billing.pdf.meta.due_date": "Fälligkeitsdatum",
533
+ "billing.pdf.meta.issue_date": "Ausstellungsdatum",
534
+ "billing.pdf.meta.number": "Nummer",
535
+ "billing.pdf.meta.of": "vom",
536
+ "billing.pdf.meta.reason": "Grund",
537
+ "billing.pdf.meta.service_period": "Leistungszeitraum",
538
+ "billing.pdf.page": "Seite {page} von {pages}",
539
+ "billing.pdf.payment.amount": "Betrag",
540
+ "billing.pdf.payment.bank": "Bank",
541
+ "billing.pdf.payment.due": "Zahlbar bis",
542
+ "billing.pdf.payment.heading": "Zahlungsinformationen",
543
+ "billing.pdf.payment.title": "Verwendungszweck",
544
+ "billing.pdf.seller": "Rechnungssteller",
545
+ "billing.pdf.tax_id": "USt-IdNr.",
546
+ "billing.pdf.title.credit_memo": "Rechnungskorrektur",
547
+ "billing.pdf.title.debit_memo": "Belastungsanzeige",
548
+ "billing.pdf.title.invoice": "Rechnung",
549
+ "billing.pdf.title.receipt": "Zahlungsbestätigung",
550
+ "billing.pdf.totals.credited": "Gutgeschriebener Betrag",
551
+ "billing.pdf.totals.gross": "Zahlbetrag",
552
+ "billing.pdf.totals.net": "Nettobetrag",
553
+ "billing.pdf.totals.tax": "USt.-Betrag",
554
+ "billing.pdf.vat_summary": "USt.-Übersicht",
555
+ "billing.pdf.watermark.draft": "ENTWURF",
556
+ "billing.pdf.watermark.test": "TEST",
557
+ "billing.prepaid.adjust.action": "Anpassen",
558
+ "billing.prepaid.adjust.amount": "Betrag (+Guthaben / −Belastung)",
559
+ "billing.prepaid.adjust.confirm": "Anpassung anwenden",
560
+ "billing.prepaid.adjust.description": "Grund",
561
+ "billing.prepaid.adjust.error": "Anpassung fehlgeschlagen",
562
+ "billing.prepaid.adjust.invalid_amount": "Geben Sie einen Betrag ungleich null ein",
563
+ "billing.prepaid.adjust.invalid_description": "Geben Sie einen Grund ein",
564
+ "billing.prepaid.adjust.submitting": "Wird angewendet…",
565
+ "billing.prepaid.adjust.success": "Saldo angepasst",
566
+ "billing.prepaid.credit.near_limit": "Nahe am Limit",
567
+ "billing.prepaid.credit.over_limit": "Über dem Limit",
568
+ "billing.prepaid.credit.within_limit": "Innerhalb des Limits",
569
+ "billing.prepaid.panel.balance": "Saldo",
570
+ "billing.prepaid.panel.credit": "Kredit",
571
+ "billing.prepaid.panel.last_movement": "Letzte Bewegung",
572
+ "billing.prepaid.panel.no_transactions": "Noch keine Saldobewegungen.",
573
+ "billing.prepaid.panel.threshold": "Untere Schwelle",
574
+ "billing.prepaid.panel.title": "Prepaid-Guthaben",
575
+ "billing.prepaid.panel.transactions": "Saldobewegungen",
576
+ "billing.prepaid.status.exhausted": "Aufgebraucht",
577
+ "billing.prepaid.status.low": "Niedrig",
578
+ "billing.prepaid.status.ok": "OK",
579
+ "billing.prepaid.topup.action": "Aufladen",
580
+ "billing.prepaid.topup.amount": "Betrag",
581
+ "billing.prepaid.topup.confirm": "Zur Kasse",
582
+ "billing.prepaid.topup.created": "Aufladungssitzung erstellt",
583
+ "billing.prepaid.topup.error": "Aufladung fehlgeschlagen",
584
+ "billing.prepaid.topup.invalid": "Geben Sie einen positiven Betrag ein",
585
+ "billing.prepaid.topup.submitting": "Wird gestartet…",
586
+ "billing.runs.actions.open": "Öffnen",
587
+ "billing.runs.columns.accounts": "Konten",
588
+ "billing.runs.columns.as_of_date": "Stichtag",
589
+ "billing.runs.columns.drafts": "Entwürfe",
590
+ "billing.runs.columns.failed": "Fehlgeschlagen",
591
+ "billing.runs.columns.finished_at": "Beendet",
592
+ "billing.runs.columns.name": "Abrechnungslauf",
593
+ "billing.runs.columns.started_at": "Gestartet",
594
+ "billing.runs.columns.status": "Status",
595
+ "billing.runs.columns.triggered_by": "Auslöser",
596
+ "billing.runs.cycles.columns.bill_date": "Abrechnungsdatum",
597
+ "billing.runs.cycles.columns.document": "Dokument",
598
+ "billing.runs.cycles.columns.lines": "Positionen",
599
+ "billing.runs.cycles.columns.service_period": "Leistungszeitraum",
600
+ "billing.runs.cycles.columns.total_debit": "Vom Guthaben abgebucht",
601
+ "billing.runs.cycles.columns.total_net": "Nettosumme",
602
+ "billing.runs.cycles.help": "Eine Zeile pro Konto und Abrechnungsdatum — ein Lauf rechnet jeden fälligen Zyklus bis zu seinem Stichtag ab.",
603
+ "billing.runs.cycles.statement": "Kontoauszug",
604
+ "billing.runs.cycles.status.charged": "Vom Guthaben abgebucht",
605
+ "billing.runs.cycles.status.empty": "Nichts abzurechnen",
606
+ "billing.runs.cycles.status.invoiced": "In Rechnung gestellt",
607
+ "billing.runs.cycles.status.previewed": "Vorschau",
608
+ "billing.runs.cycles.status.skipped_existing": "Übersprungen — bereits abgerechnet",
609
+ "billing.runs.cycles.title": "Zyklen",
610
+ "billing.runs.delete.action": "Lauf löschen",
611
+ "billing.runs.delete.confirm.button": "Lauf löschen",
612
+ "billing.runs.delete.confirm.text": "Der Lauf und seine Ergebnisse werden endgültig gelöscht.",
613
+ "billing.runs.delete.confirm.text_with_invoices": "Der Lauf, seine Ergebnisse und seine Testrechnungen werden endgültig gelöscht. Testrechnungen:",
614
+ "billing.runs.delete.confirm.title": "Diesen Lauf löschen?",
615
+ "billing.runs.delete.error": "Löschen fehlgeschlagen",
616
+ "billing.runs.delete.in_progress": "Wird gelöscht…",
617
+ "billing.runs.delete.success": "Lauf gelöscht",
618
+ "billing.runs.detail.error.load": "Lauf konnte nicht geladen werden",
619
+ "billing.runs.detail.error.not_found": "Lauf nicht gefunden",
620
+ "billing.runs.detail.field.as_of_date": "Stichtag",
621
+ "billing.runs.detail.field.finished_at": "Beendet",
622
+ "billing.runs.detail.field.mode": "Modus",
623
+ "billing.runs.detail.field.parent_run": "Ursprünglicher Lauf",
624
+ "billing.runs.detail.field.run_id": "Lauf-ID",
625
+ "billing.runs.detail.field.started_at": "Gestartet",
626
+ "billing.runs.detail.field.triggered_by": "Auslöser",
627
+ "billing.runs.detail.loading": "Lauf wird geladen…",
628
+ "billing.runs.detail.title": "Abrechnungslauf",
629
+ "billing.runs.filters.mode": "Modus",
630
+ "billing.runs.filters.status": "Status",
631
+ "billing.runs.filters.triggered_by": "Auslöser",
632
+ "billing.runs.mode.dry_run": "Probelauf",
633
+ "billing.runs.mode.real": "Echt",
634
+ "billing.runs.mode.test": "Test",
635
+ "billing.runs.outcomes.columns.account": "Konto",
636
+ "billing.runs.outcomes.columns.error": "Fehler",
637
+ "billing.runs.outcomes.columns.invoice": "Rechnung",
638
+ "billing.runs.outcomes.columns.status": "Status",
639
+ "billing.runs.outcomes.columns.warnings": "Warnungen",
640
+ "billing.runs.outcomes.title": "Ergebnisse pro Konto",
641
+ "billing.runs.post.action": "Rechnungen buchen",
642
+ "billing.runs.post.confirm.button": "Rechnungen buchen",
643
+ "billing.runs.post.confirm.text": "Jeder Entwurf erhält seine endgültige Nummer, sein Fälligkeitsdatum und ein festgeschriebenes PDF; Rechnungen mit automatischem Versand werden per E-Mail gesendet. Gebuchte Rechnungen können nicht bearbeitet werden. Entwürfe:",
644
+ "billing.runs.post.confirm.title": "Die Rechnungsentwürfe dieses Laufs buchen?",
645
+ "billing.runs.post.error": "Buchen fehlgeschlagen",
646
+ "billing.runs.post.failed": "fehlgeschlagen",
647
+ "billing.runs.post.in_progress": "Wird gebucht…",
648
+ "billing.runs.post.partial": "Gebucht",
649
+ "billing.runs.post.success": "Rechnungen gebucht",
650
+ "billing.runs.retry.action": "Fehlgeschlagene Konten erneut versuchen",
651
+ "billing.runs.retry.error": "Erneuter Versuch fehlgeschlagen",
652
+ "billing.runs.retry.in_progress": "Wird erneut versucht…",
653
+ "billing.runs.retry.success": "Wiederholungslauf erstellt",
654
+ "billing.runs.skipped.columns.item": "Position",
655
+ "billing.runs.skipped.columns.reason": "Grund",
656
+ "billing.runs.skipped.reason.ended_no_credit": "Nach der Abrechnung beendet, anteilige Berechnung aus — keine Erstattung",
657
+ "billing.runs.skipped.reason.partial_not_prorated": "Teilzeitraum, anteilige Berechnung aus",
658
+ "billing.runs.skipped.reason.period_cap": "Zu viele Zeiträume für ein Abrechnungsdatum",
659
+ "billing.runs.skipped.title": "Übersprungene Positionen",
660
+ "billing.runs.status.completed": "Abgeschlossen",
661
+ "billing.runs.status.failed": "Fehlgeschlagen",
662
+ "billing.runs.status.partial_failure": "Teilweise fehlgeschlagen",
663
+ "billing.runs.status.running": "Läuft",
664
+ "billing.runs.summary.accounts": "Konten",
665
+ "billing.runs.summary.cycles": "Zyklen",
666
+ "billing.runs.summary.drafts": "Entwürfe",
667
+ "billing.runs.summary.failed": "Fehlgeschlagen",
668
+ "billing.runs.summary.skipped": "Übersprungen",
669
+ "billing.runs.summary.title": "Zusammenfassung",
670
+ "billing.runs.summary.usage": "Bewertete Nutzung",
671
+ "billing.runs.summary.warnings": "Warnungen",
672
+ "billing.runs.title": "Abrechnungsläufe",
673
+ "billing.runs.trigger.action": "Neuer Lauf",
674
+ "billing.runs.trigger.dialog.as_of_date": "Stichtag",
675
+ "billing.runs.trigger.dialog.as_of_date.help": "Rechnet jeden fälligen Zyklus bis zu diesem Datum ab — ein Entwurf pro Abrechnungsdatum. Test und Probelauf simulieren diese, ohne Konten zu ändern.",
676
+ "billing.runs.trigger.dialog.cancel_hint": "zum Abbrechen",
677
+ "billing.runs.trigger.dialog.description": "Führt den Abrechnungszyklus für jedes Konto aus, dessen nächstes Abrechnungsdatum erreicht ist. Probelauf / Test erzeugen Entwürfe, ohne Rechnungen zu buchen.",
678
+ "billing.runs.trigger.dialog.mode": "Modus",
679
+ "billing.runs.trigger.dialog.mode.dry": "Probelauf — es werden keine Daten geschrieben",
680
+ "billing.runs.trigger.dialog.mode.real": "Echt — Rechnungsentwürfe erstellen",
681
+ "billing.runs.trigger.dialog.mode.test": "Test — Entwürfe zur Bereinigung markiert",
682
+ "billing.runs.trigger.dialog.running": "Wird ausgeführt…",
683
+ "billing.runs.trigger.dialog.submit": "Jetzt ausführen",
684
+ "billing.runs.trigger.dialog.submit_hint": "zum Ausführen,",
685
+ "billing.runs.trigger.dialog.title": "Abrechnungslauf starten",
686
+ "billing.runs.trigger.error": "Lauf konnte nicht gestartet werden",
687
+ "billing.runs.trigger.manual": "Manuell",
688
+ "billing.runs.trigger.schedule": "Zeitplan",
689
+ "billing.runs.trigger.success": "Abrechnungslauf gestartet",
690
+ "billing.runs.wipe.action": "Testrechnungen löschen",
691
+ "billing.runs.wipe.confirm.button": "Testrechnungen löschen",
692
+ "billing.runs.wipe.confirm.text": "Alle Testrechnungen dieses Abrechnungslaufs werden endgültig gelöscht. Der Lauf selbst bleibt erhalten. Dies kann nicht rückgängig gemacht werden.",
693
+ "billing.runs.wipe.confirm.title": "Testrechnungen löschen?",
694
+ "billing.runs.wipe.error": "Löschen fehlgeschlagen",
695
+ "billing.runs.wipe.in_progress": "Wird gelöscht…",
696
+ "billing.runs.wipe.success": "Testrechnungen entfernt",
697
+ "billing.settings.document.footer": "Rechnungsfußzeile",
698
+ "billing.settings.document.footer.help": "Registergericht, Stammkapital und ähnliche Pflichtangaben.",
699
+ "billing.settings.document.logo": "Logo (PNG oder JPEG)",
700
+ "billing.settings.document.logo.fallback": "Kein Logo — falls vorhanden, wird das Logo der Organisation verwendet.",
701
+ "billing.settings.document.logo.remove": "Entfernen",
702
+ "billing.settings.error.bic_invalid": "Der BIC muss 8 oder 11 Zeichen lang sein",
703
+ "billing.settings.error.fields": "Prüfen Sie diese Felder",
704
+ "billing.settings.error.iban_invalid": "Die IBAN ist ungültig (Prüfziffern stimmen nicht)",
705
+ "billing.settings.error.load": "Abrechnungseinstellungen konnten nicht geladen werden",
706
+ "billing.settings.error.save": "Speichern fehlgeschlagen",
707
+ "billing.settings.incomplete.help": "Ergänzen Sie die Angaben zum Rechnungssteller, die auf jeder Rechnung gedruckt werden:",
708
+ "billing.settings.incomplete.title": "Rechnungen können noch nicht gebucht werden",
709
+ "billing.settings.link": "Abrechnungseinstellungen",
710
+ "billing.settings.loading": "Abrechnungseinstellungen werden geladen…",
711
+ "billing.settings.logo.upload_failed": "Hochladen des Logos fehlgeschlagen",
712
+ "billing.settings.mask.change_warning": "Eine Änderung der Maske mitten im Zeitraum startet einen neuen Zähler; eine bereits vergebene Nummer wird beim Buchen abgelehnt.",
713
+ "billing.settings.mask.error.mask_empty": "Die Maske ist leer.",
714
+ "billing.settings.mask.error.mask_missing_sequence": "Fügen Sie ein Zähler-Token hinzu.",
715
+ "billing.settings.mask.error.mask_month_scope_needs_year_and_month": "Ein monatlicher Zähler benötigt Jahres- und Monats-Tokens, sonst würden sich Nummern wiederholen.",
716
+ "billing.settings.mask.error.mask_multiple_sequences": "Verwenden Sie nur ein Zähler-Token.",
717
+ "billing.settings.mask.error.mask_too_long": "Die Maske ist länger als 64 Zeichen.",
718
+ "billing.settings.mask.error.mask_unknown_token": "Die Maske enthält ein unbekanntes Token.",
719
+ "billing.settings.mask.error.mask_year_scope_needs_year": "Ein jährlicher Zähler benötigt ein Jahres-Token, sonst würden sich Nummern wiederholen.",
720
+ "billing.settings.mask.example": "Die nächste Nummer sieht so aus",
721
+ "billing.settings.mask.scope.month": "Zähler wird jeden Monat zurückgesetzt",
722
+ "billing.settings.mask.scope.none": "Zähler wird nie zurückgesetzt",
723
+ "billing.settings.mask.scope.year": "Zähler wird jedes Jahr zurückgesetzt",
724
+ "billing.settings.numbering.help": "Verwenden Sie Datums-Tokens und genau ein Zähler-Token. Das Zähler-Token bestimmt, wann die Nummerierung neu beginnt. Fügen Sie :N hinzu, um den Zähler mit Nullen aufzufüllen.",
725
+ "billing.settings.numbering.title": "Dokumentnummerierung",
726
+ "billing.settings.payment.bank_name": "Name der Bank",
727
+ "billing.settings.payment.bic": "BIC / SWIFT",
728
+ "billing.settings.payment.iban": "IBAN",
729
+ "billing.settings.payment.tax_rate": "Standard-USt.-Satz (%)",
730
+ "billing.settings.payment.tax_rate.help": "Gilt nur für neue Abrechnungspositionen; bestehende Positionen behalten ihren Satz.",
731
+ "billing.settings.payment.terms": "Standard-Zahlungsziel (Tage)",
732
+ "billing.settings.payment.title": "Zahlung und Rechnungsstellung",
733
+ "billing.settings.prepaid.gateway": "Online-Aufladungen",
734
+ "billing.settings.prepaid.gateway.available": "Verfügbar",
735
+ "billing.settings.prepaid.gateway.unavailable": "Nicht verfügbar — Modul für Zahlungs-Gateways nicht installiert",
736
+ "billing.settings.prepaid.low_balance": "Schwelle für niedriges Guthaben",
737
+ "billing.settings.prepaid.near_limit": "Puffer vor dem Kreditlimit",
738
+ "billing.settings.prepaid.statements": "Verbrauchsauszüge beim Periodenabschluss erstellen",
739
+ "billing.settings.prepaid.tax_point": "Wann wird bei Prepaid-Konten USt. berechnet?",
740
+ "billing.settings.prepaid.tax_point.change_warning": "Gilt nur für neue Aufladungen und Belastungen. Guthaben, die unter der anderen Einstellung aufgeladen wurden, behalten ihre steuerliche Behandlung; beim Wechsel von „Bei Aufladung“ zu „Bei Abrechnung“ wird das Restguthaben bei seiner Verwendung erneut besteuert.",
741
+ "billing.settings.prepaid.tax_point.consumption": "Bei Abrechnung",
742
+ "billing.settings.prepaid.tax_point.consumption_help": "Aufladungen enthalten keine USt. Jede Belastung bucht ihren Bruttobetrag (zum USt.-Satz der Position) vom Guthaben ab; Kontoauszüge weisen die USt. aus. Stimmen Sie dies mit Ihrer Steuerberatung ab.",
743
+ "billing.settings.prepaid.tax_point.topup": "Bei Aufladung",
744
+ "billing.settings.prepaid.tax_point.topup_help": "Die Aufladungsbestätigung enthält die USt. Belastungen buchen den Positionsbetrag wie eingegeben vom Guthaben ab; USt.-Sätze der Positionen gelten nicht.",
745
+ "billing.settings.prepaid.title": "Prepaid-Standardwerte",
746
+ "billing.settings.prepaid.topup_provider": "Zahlungsanbieter für Aufladungen",
747
+ "billing.settings.prepaid.topup_tax_rate": "USt. auf Aufladungsbestätigungen (%)",
748
+ "billing.settings.save_hint": "zum Speichern",
749
+ "billing.settings.saved": "Abrechnungseinstellungen gespeichert",
750
+ "billing.settings.saving": "Wird gespeichert…",
751
+ "billing.settings.seller.address": "Adresse",
752
+ "billing.settings.seller.city": "Ort",
753
+ "billing.settings.seller.country": "Land (ISO-Code)",
754
+ "billing.settings.seller.legal_name": "Firmenname",
755
+ "billing.settings.seller.line1": "Adresszeile 1",
756
+ "billing.settings.seller.line2": "Adresszeile 2",
757
+ "billing.settings.seller.postal_code": "Postleitzahl",
758
+ "billing.settings.seller.tax_id": "USt-IdNr.",
759
+ "billing.settings.seller.title": "Rechnungssteller",
760
+ "billing.settings.series.credit_memo": "Rechnungskorrekturen",
761
+ "billing.settings.series.invoice": "Rechnungen und Belastungsanzeigen",
762
+ "billing.settings.series.receipt": "Aufladungsbestätigungen",
763
+ "billing.settings.title": "Abrechnung",
764
+ "billing.settings.token.date": "Bestandteile des Ausstellungsdatums",
765
+ "billing.settings.token.pad": "Zähler mit Nullen auf N Stellen auffüllen",
766
+ "billing.statements.breakdown.amount": "Betrag",
767
+ "billing.statements.breakdown.charged": "Vom Guthaben abgebucht",
768
+ "billing.statements.breakdown.item": "Position",
769
+ "billing.statements.breakdown.net": "Netto",
770
+ "billing.statements.breakdown.quantity": "Menge",
771
+ "billing.statements.breakdown.service_period": "Leistungszeitraum",
772
+ "billing.statements.breakdown.type": "Typ",
773
+ "billing.statements.breakdown.vat": "USt.",
774
+ "billing.statements.columns.account": "Konto",
775
+ "billing.statements.columns.adjustments": "Anpassungen",
776
+ "billing.statements.columns.charges": "Belastungen",
777
+ "billing.statements.columns.closing": "Endsaldo",
778
+ "billing.statements.columns.opening": "Anfangssaldo",
779
+ "billing.statements.columns.period": "Zeitraum",
780
+ "billing.statements.columns.recurring": "Wiederkehrend",
781
+ "billing.statements.columns.status": "Status",
782
+ "billing.statements.columns.topups": "Aufladungen",
783
+ "billing.statements.columns.usage": "Nutzung",
784
+ "billing.statements.detail.bill_run": "Abrechnungslauf",
785
+ "billing.statements.detail.breakdown": "Belastungen zum Periodenabschluss",
786
+ "billing.statements.detail.load_error": "Kontoauszug konnte nicht geladen werden",
787
+ "billing.statements.detail.loading": "Kontoauszug wird geladen…",
788
+ "billing.statements.detail.no_charges": "Keine Belastungen zu diesem Abrechnungsdatum.",
789
+ "billing.statements.detail.not_found": "Kontoauszug nicht gefunden",
790
+ "billing.statements.detail.title": "Kontoauszug",
791
+ "billing.statements.detail.vat_summary": "USt.-Übersicht",
792
+ "billing.statements.detail.view_account": "Konto anzeigen",
793
+ "billing.statements.filters.status": "Status",
794
+ "billing.statements.status.generated": "Erstellt",
795
+ "billing.statements.status.sent": "Gesendet",
796
+ "billing.statements.title": "Kontoauszüge",
797
+ "billing.statements.vat.gross": "Brutto",
798
+ "billing.statements.vat.rate": "USt.-Satz",
799
+ "billing.topups.columns.account": "Konto",
800
+ "billing.topups.columns.amount": "Betrag",
801
+ "billing.topups.columns.created": "Erstellt",
802
+ "billing.topups.columns.provider": "Anbieter",
803
+ "billing.topups.columns.status": "Status",
804
+ "billing.topups.detail.balance_txn": "Saldobewegung",
805
+ "billing.topups.detail.gateway_txn": "Gateway-Transaktion",
806
+ "billing.topups.detail.load_error": "Aufladung konnte nicht geladen werden",
807
+ "billing.topups.detail.loading": "Aufladung wird geladen…",
808
+ "billing.topups.detail.not_found": "Aufladung nicht gefunden",
809
+ "billing.topups.detail.payment_id": "Zahlungs-ID",
810
+ "billing.topups.detail.receipt": "Zahlungsbestätigung mit USt.",
811
+ "billing.topups.detail.title": "Aufladung",
812
+ "billing.topups.detail.updated": "Aktualisiert",
813
+ "billing.topups.detail.view_account": "Konto anzeigen",
814
+ "billing.topups.filters.status": "Status",
815
+ "billing.topups.status.cancelled": "Storniert",
816
+ "billing.topups.status.captured": "Eingezogen",
817
+ "billing.topups.status.expired": "Abgelaufen",
818
+ "billing.topups.status.failed": "Fehlgeschlagen",
819
+ "billing.topups.status.pending": "Ausstehend",
820
+ "billing.topups.title": "Aufladungen",
821
+ "billing.transactions.columns.account": "Konto",
822
+ "billing.transactions.columns.amount": "Betrag",
823
+ "billing.transactions.columns.balance_after": "Saldo",
824
+ "billing.transactions.columns.description": "Beschreibung",
825
+ "billing.transactions.columns.type": "Typ",
826
+ "billing.transactions.columns.when": "Zeitpunkt",
827
+ "billing.transactions.detail.item": "Abrechnungsposition",
828
+ "billing.transactions.detail.load_error": "Transaktion konnte nicht geladen werden",
829
+ "billing.transactions.detail.loading": "Transaktion wird geladen…",
830
+ "billing.transactions.detail.not_found": "Transaktion nicht gefunden",
831
+ "billing.transactions.detail.source_ref": "Quellreferenz",
832
+ "billing.transactions.detail.statement": "Kontoauszug",
833
+ "billing.transactions.detail.title": "Transaktion",
834
+ "billing.transactions.detail.topup": "Aufladung",
835
+ "billing.transactions.detail.usage": "Nutzungsdatensatz",
836
+ "billing.transactions.detail.user": "Benutzer",
837
+ "billing.transactions.detail.view_account": "Konto anzeigen",
838
+ "billing.transactions.filters.type": "Typ",
839
+ "billing.transactions.title": "Transaktionen",
840
+ "billing.transactions.type.adjustment": "Anpassung",
841
+ "billing.transactions.type.one_time": "Einmalig",
842
+ "billing.transactions.type.recurring": "Wiederkehrend",
843
+ "billing.transactions.type.reversal": "Storno",
844
+ "billing.transactions.type.topup": "Aufladung",
845
+ "billing.transactions.type.usage": "Nutzung",
846
+ "billing.usage.columns.description": "Beschreibung",
847
+ "billing.usage.columns.period": "Zeitraum",
848
+ "billing.usage.columns.quantity": "Menge",
849
+ "billing.usage.columns.rated": "Bewertet",
850
+ "billing.usage.columns.uom": "Einheit",
851
+ "billing.usage.create.deduplicated": "Ein Nutzungsdatensatz mit dieser Quellreferenz war bereits vorhanden — es wurde nichts dupliziert.",
852
+ "billing.usage.create.error": "Nutzung konnte nicht erfasst werden",
853
+ "billing.usage.create.loading": "Konten werden geladen…",
854
+ "billing.usage.create.success": "Nutzungsdatensatz erstellt",
855
+ "billing.usage.create.title": "Nutzung erfassen",
856
+ "billing.usage.form.account": "Abrechnungskonto",
857
+ "billing.usage.form.account.placeholder": "Konto auswählen",
858
+ "billing.usage.form.cancel_hint": "zum Verwerfen",
859
+ "billing.usage.form.create": "Nutzung erfassen",
860
+ "billing.usage.form.description": "Beschreibung (optional)",
861
+ "billing.usage.form.description.help": "Wird, falls gesetzt, in einer eigenen Rechnungsposition angezeigt; andernfalls werden passende Datensätze zu einer Position zusammengefasst.",
862
+ "billing.usage.form.error.account_required": "Abrechnungskonto ist erforderlich",
863
+ "billing.usage.form.error.period_order": "Das Zeitraumende muss am oder nach dem Zeitraumbeginn liegen",
864
+ "billing.usage.form.error.period_required": "Zeitraumbeginn und -ende sind erforderlich",
865
+ "billing.usage.form.error.quantity_invalid": "Die Menge muss eine nicht negative Zahl sein",
866
+ "billing.usage.form.error.uom_required": "ME-Code ist erforderlich",
867
+ "billing.usage.form.period_end": "Zeitraumende",
868
+ "billing.usage.form.period_start": "Zeitraumbeginn",
869
+ "billing.usage.form.quantity": "Menge",
870
+ "billing.usage.form.quantity.help": "Insgesamt im Zeitraum verbrauchte Einheiten (vorab aggregiert).",
871
+ "billing.usage.form.saving": "Wird gespeichert…",
872
+ "billing.usage.form.source_ref": "Quellreferenz (optional)",
873
+ "billing.usage.form.source_ref.help": "Idempotenzschlüssel — eine erneut übermittelte gleiche Referenz für dieses Konto wird dedupliziert.",
874
+ "billing.usage.form.submit_hint": "zum Speichern,",
875
+ "billing.usage.form.uom_code": "ME-Code",
876
+ "billing.usage.form.uom_code.help": "Muss exakt mit der ME einer Nutzungs-Abrechnungsposition dieses Kontos übereinstimmen — keine Umrechnung.",
877
+ "billing.usage.form.uom_code.placeholder": "api_request, gb, seat, …",
878
+ "billing.usage.rated.no": "Nicht bewertet",
879
+ "billing.usage.rated.yes": "Bewertet"
880
+ }