@tailor-platform/erp-kit 0.7.0 → 0.9.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 (756) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +8 -4
  3. package/dist/cli.mjs +70 -70
  4. package/package.json +1 -1
  5. package/skills/erp-kit-app-1-requirements/SKILL.md +6 -0
  6. package/skills/erp-kit-app-2-requirements-review/SKILL.md +6 -0
  7. package/skills/erp-kit-app-3-plan/SKILL.md +6 -0
  8. package/skills/erp-kit-app-4-plan-review/SKILL.md +6 -0
  9. package/skills/erp-kit-app-5-impl-backend/SKILL.md +12 -5
  10. package/skills/erp-kit-app-5-impl-backend/references/app-config.md +1 -1
  11. package/skills/erp-kit-app-5-impl-backend/references/module-wiring.md +37 -12
  12. package/skills/erp-kit-app-6-impl-frontend/SKILL.md +9 -1
  13. package/skills/erp-kit-app-6-impl-frontend/references/component.md +90 -0
  14. package/skills/erp-kit-app-6-impl-frontend/references/detail-view.md +255 -0
  15. package/skills/erp-kit-app-6-impl-frontend/references/pages.md +1 -5
  16. package/skills/erp-kit-app-7-impl-review/SKILL.md +9 -2
  17. package/skills/erp-kit-app-7-impl-review/references/module-wiring-parity.md +14 -8
  18. package/skills/erp-kit-app-shared/SKILL.md +2 -0
  19. package/skills/erp-kit-mock-scenario/SKILL.md +6 -0
  20. package/skills/erp-kit-module-1-requirements/SKILL.md +6 -0
  21. package/skills/erp-kit-module-2-requirements-review/SKILL.md +6 -0
  22. package/skills/erp-kit-module-3-plan/SKILL.md +6 -0
  23. package/skills/erp-kit-module-3-update-plan/SKILL.md +6 -0
  24. package/skills/erp-kit-module-4-plan-review/SKILL.md +6 -0
  25. package/skills/erp-kit-module-5-impl/SKILL.md +6 -0
  26. package/skills/erp-kit-module-6-impl-review/SKILL.md +22 -19
  27. package/skills/erp-kit-module-shared/SKILL.md +2 -0
  28. package/skills/erp-kit-module-shared/references/commands.md +71 -1
  29. package/skills/erp-kit-update/SKILL.md +6 -0
  30. package/src/commands/index.ts +8 -2
  31. package/src/commands/init.test.ts +24 -8
  32. package/src/commands/init.ts +5 -12
  33. package/src/commands/lib/distribute.test.ts +1 -20
  34. package/src/commands/lib/distribute.ts +0 -14
  35. package/src/commands/update.test.ts +1 -1
  36. package/src/generator/scaffold.ts +25 -4
  37. package/src/module.ts +4 -1
  38. package/src/modules/accounting/README.md +63 -0
  39. package/src/modules/accounting/command/activateBudget.generated.ts +6 -0
  40. package/src/modules/accounting/command/activateBudget.test.ts +119 -0
  41. package/src/modules/accounting/command/activateBudget.ts +77 -0
  42. package/src/modules/accounting/command/activateCostElement.generated.ts +6 -0
  43. package/src/modules/accounting/command/activateCostElement.test.ts +59 -0
  44. package/src/modules/accounting/command/activateCostElement.ts +41 -0
  45. package/src/modules/accounting/command/activateProfitCenter.generated.ts +6 -0
  46. package/src/modules/accounting/command/activateProfitCenter.test.ts +60 -0
  47. package/src/modules/accounting/command/activateProfitCenter.ts +38 -0
  48. package/src/modules/accounting/command/approveBudget.generated.ts +6 -0
  49. package/src/modules/accounting/command/approveBudget.test.ts +69 -0
  50. package/src/modules/accounting/command/approveBudget.ts +47 -0
  51. package/src/modules/accounting/command/assignCostCenterToHierarchyNode.generated.ts +6 -0
  52. package/src/modules/accounting/command/assignCostCenterToHierarchyNode.test.ts +112 -0
  53. package/src/modules/accounting/command/assignCostCenterToHierarchyNode.ts +67 -0
  54. package/src/modules/accounting/command/assignProfitCenterToHierarchyNode.generated.ts +6 -0
  55. package/src/modules/accounting/command/assignProfitCenterToHierarchyNode.test.ts +123 -0
  56. package/src/modules/accounting/command/assignProfitCenterToHierarchyNode.ts +71 -0
  57. package/src/modules/accounting/command/closeBudget.generated.ts +6 -0
  58. package/src/modules/accounting/command/closeBudget.test.ts +93 -0
  59. package/src/modules/accounting/command/closeBudget.ts +40 -0
  60. package/src/modules/accounting/command/closeInternalOrder.generated.ts +6 -0
  61. package/src/modules/accounting/command/closeInternalOrder.test.ts +74 -0
  62. package/src/modules/accounting/command/closeInternalOrder.ts +38 -0
  63. package/src/modules/accounting/command/consumeCommitment.generated.ts +6 -0
  64. package/src/modules/accounting/command/consumeCommitment.test.ts +123 -0
  65. package/src/modules/accounting/command/consumeCommitment.ts +62 -0
  66. package/src/modules/accounting/command/createAllocationCycle.generated.ts +6 -0
  67. package/src/modules/accounting/command/createAllocationCycle.test.ts +166 -0
  68. package/src/modules/accounting/command/createAllocationCycle.ts +68 -0
  69. package/src/modules/accounting/command/createAllocationRule.generated.ts +6 -0
  70. package/src/modules/accounting/command/createAllocationRule.test.ts +195 -0
  71. package/src/modules/accounting/command/createAllocationRule.ts +103 -0
  72. package/src/modules/accounting/command/createBudget.generated.ts +6 -0
  73. package/src/modules/accounting/command/createBudget.test.ts +159 -0
  74. package/src/modules/accounting/command/createBudget.ts +100 -0
  75. package/src/modules/accounting/command/createBudgetLineItem.generated.ts +6 -0
  76. package/src/modules/accounting/command/createBudgetLineItem.test.ts +178 -0
  77. package/src/modules/accounting/command/createBudgetLineItem.ts +104 -0
  78. package/src/modules/accounting/command/createCostCenter.generated.ts +6 -0
  79. package/src/modules/accounting/command/createCostCenter.test.ts +179 -0
  80. package/src/modules/accounting/command/createCostCenter.ts +112 -0
  81. package/src/modules/accounting/command/createCostCenterHierarchy.generated.ts +6 -0
  82. package/src/modules/accounting/command/createCostCenterHierarchy.test.ts +91 -0
  83. package/src/modules/accounting/command/createCostCenterHierarchy.ts +48 -0
  84. package/src/modules/accounting/command/createCostCenterHierarchyNode.generated.ts +6 -0
  85. package/src/modules/accounting/command/createCostCenterHierarchyNode.test.ts +171 -0
  86. package/src/modules/accounting/command/createCostCenterHierarchyNode.ts +117 -0
  87. package/src/modules/accounting/command/createCostElement.generated.ts +6 -0
  88. package/src/modules/accounting/command/createCostElement.test.ts +317 -0
  89. package/src/modules/accounting/command/createCostElement.ts +149 -0
  90. package/src/modules/accounting/command/createInternalOrder.generated.ts +6 -0
  91. package/src/modules/accounting/command/createInternalOrder.test.ts +206 -0
  92. package/src/modules/accounting/command/createInternalOrder.ts +104 -0
  93. package/src/modules/accounting/command/createPlanVersion.generated.ts +6 -0
  94. package/src/modules/accounting/command/createPlanVersion.test.ts +230 -0
  95. package/src/modules/accounting/command/createPlanVersion.ts +71 -0
  96. package/src/modules/accounting/command/createProfitCenter.generated.ts +6 -0
  97. package/src/modules/accounting/command/createProfitCenter.test.ts +227 -0
  98. package/src/modules/accounting/command/createProfitCenter.ts +81 -0
  99. package/src/modules/accounting/command/createProfitCenterHierarchy.generated.ts +6 -0
  100. package/src/modules/accounting/command/createProfitCenterHierarchy.test.ts +91 -0
  101. package/src/modules/accounting/command/createProfitCenterHierarchy.ts +46 -0
  102. package/src/modules/accounting/command/createProfitCenterHierarchyNode.generated.ts +6 -0
  103. package/src/modules/accounting/command/createProfitCenterHierarchyNode.test.ts +160 -0
  104. package/src/modules/accounting/command/createProfitCenterHierarchyNode.ts +109 -0
  105. package/src/modules/accounting/command/deactivateCostElement.generated.ts +6 -0
  106. package/src/modules/accounting/command/deactivateCostElement.test.ts +59 -0
  107. package/src/modules/accounting/command/deactivateCostElement.ts +41 -0
  108. package/src/modules/accounting/command/deactivateProfitCenter.generated.ts +6 -0
  109. package/src/modules/accounting/command/deactivateProfitCenter.test.ts +60 -0
  110. package/src/modules/accounting/command/deactivateProfitCenter.ts +42 -0
  111. package/src/modules/accounting/command/deleteAllocationCycle.generated.ts +6 -0
  112. package/src/modules/accounting/command/deleteAllocationCycle.test.ts +90 -0
  113. package/src/modules/accounting/command/deleteAllocationCycle.ts +39 -0
  114. package/src/modules/accounting/command/deleteAllocationRule.generated.ts +6 -0
  115. package/src/modules/accounting/command/deleteAllocationRule.test.ts +98 -0
  116. package/src/modules/accounting/command/deleteAllocationRule.ts +40 -0
  117. package/src/modules/accounting/command/deleteBudget.generated.ts +6 -0
  118. package/src/modules/accounting/command/deleteBudget.test.ts +90 -0
  119. package/src/modules/accounting/command/deleteBudget.ts +35 -0
  120. package/src/modules/accounting/command/deleteBudgetLineItem.generated.ts +6 -0
  121. package/src/modules/accounting/command/deleteBudgetLineItem.test.ts +85 -0
  122. package/src/modules/accounting/command/deleteBudgetLineItem.ts +50 -0
  123. package/src/modules/accounting/command/deleteCostCenter.generated.ts +6 -0
  124. package/src/modules/accounting/command/deleteCostCenter.test.ts +79 -0
  125. package/src/modules/accounting/command/deleteCostCenter.ts +67 -0
  126. package/src/modules/accounting/command/deleteCostCenterHierarchyNode.generated.ts +6 -0
  127. package/src/modules/accounting/command/deleteCostCenterHierarchyNode.test.ts +59 -0
  128. package/src/modules/accounting/command/deleteCostCenterHierarchyNode.ts +58 -0
  129. package/src/modules/accounting/command/deleteCostElement.generated.ts +6 -0
  130. package/src/modules/accounting/command/deleteCostElement.test.ts +58 -0
  131. package/src/modules/accounting/command/deleteCostElement.ts +33 -0
  132. package/src/modules/accounting/command/deleteInternalOrder.generated.ts +6 -0
  133. package/src/modules/accounting/command/deleteInternalOrder.test.ts +81 -0
  134. package/src/modules/accounting/command/deleteInternalOrder.ts +37 -0
  135. package/src/modules/accounting/command/deleteProfitCenter.generated.ts +6 -0
  136. package/src/modules/accounting/command/deleteProfitCenter.test.ts +68 -0
  137. package/src/modules/accounting/command/deleteProfitCenter.ts +39 -0
  138. package/src/modules/accounting/command/deleteProfitCenterHierarchyNode.generated.ts +6 -0
  139. package/src/modules/accounting/command/deleteProfitCenterHierarchyNode.test.ts +72 -0
  140. package/src/modules/accounting/command/deleteProfitCenterHierarchyNode.ts +61 -0
  141. package/src/modules/accounting/command/executeAllocationCycle.generated.ts +6 -0
  142. package/src/modules/accounting/command/executeAllocationCycle.test.ts +167 -0
  143. package/src/modules/accounting/command/executeAllocationCycle.ts +94 -0
  144. package/src/modules/accounting/command/finalizeVarianceReport.generated.ts +6 -0
  145. package/src/modules/accounting/command/finalizeVarianceReport.test.ts +60 -0
  146. package/src/modules/accounting/command/finalizeVarianceReport.ts +45 -0
  147. package/src/modules/accounting/command/generateVarianceReport.generated.ts +6 -0
  148. package/src/modules/accounting/command/generateVarianceReport.test.ts +386 -0
  149. package/src/modules/accounting/command/generateVarianceReport.ts +219 -0
  150. package/src/modules/accounting/command/invalidateAllocationCycle.generated.ts +6 -0
  151. package/src/modules/accounting/command/invalidateAllocationCycle.test.ts +84 -0
  152. package/src/modules/accounting/command/invalidateAllocationCycle.ts +45 -0
  153. package/src/modules/accounting/command/moveCostCenterHierarchyNode.generated.ts +6 -0
  154. package/src/modules/accounting/command/moveCostCenterHierarchyNode.test.ts +135 -0
  155. package/src/modules/accounting/command/moveCostCenterHierarchyNode.ts +81 -0
  156. package/src/modules/accounting/command/postAllocationCycle.generated.ts +6 -0
  157. package/src/modules/accounting/command/postAllocationCycle.test.ts +98 -0
  158. package/src/modules/accounting/command/postAllocationCycle.ts +65 -0
  159. package/src/modules/accounting/command/reactivateCostElement.generated.ts +6 -0
  160. package/src/modules/accounting/command/reactivateCostElement.test.ts +59 -0
  161. package/src/modules/accounting/command/reactivateCostElement.ts +41 -0
  162. package/src/modules/accounting/command/reactivateProfitCenter.generated.ts +6 -0
  163. package/src/modules/accounting/command/reactivateProfitCenter.test.ts +60 -0
  164. package/src/modules/accounting/command/reactivateProfitCenter.ts +42 -0
  165. package/src/modules/accounting/command/recordCommitment.generated.ts +6 -0
  166. package/src/modules/accounting/command/recordCommitment.test.ts +157 -0
  167. package/src/modules/accounting/command/recordCommitment.ts +113 -0
  168. package/src/modules/accounting/command/rejectBudget.generated.ts +6 -0
  169. package/src/modules/accounting/command/rejectBudget.test.ts +105 -0
  170. package/src/modules/accounting/command/rejectBudget.ts +51 -0
  171. package/src/modules/accounting/command/releaseCommitment.generated.ts +6 -0
  172. package/src/modules/accounting/command/releaseCommitment.test.ts +94 -0
  173. package/src/modules/accounting/command/releaseCommitment.ts +51 -0
  174. package/src/modules/accounting/command/releaseInternalOrder.generated.ts +6 -0
  175. package/src/modules/accounting/command/releaseInternalOrder.test.ts +74 -0
  176. package/src/modules/accounting/command/releaseInternalOrder.ts +38 -0
  177. package/src/modules/accounting/command/reverseAllocationCycle.generated.ts +6 -0
  178. package/src/modules/accounting/command/reverseAllocationCycle.test.ts +124 -0
  179. package/src/modules/accounting/command/reverseAllocationCycle.ts +63 -0
  180. package/src/modules/accounting/command/submitBudget.generated.ts +6 -0
  181. package/src/modules/accounting/command/submitBudget.test.ts +60 -0
  182. package/src/modules/accounting/command/submitBudget.ts +51 -0
  183. package/src/modules/accounting/command/technicallyCompleteInternalOrder.generated.ts +6 -0
  184. package/src/modules/accounting/command/technicallyCompleteInternalOrder.test.ts +74 -0
  185. package/src/modules/accounting/command/technicallyCompleteInternalOrder.ts +42 -0
  186. package/src/modules/accounting/command/updateAllocationCycle.generated.ts +6 -0
  187. package/src/modules/accounting/command/updateAllocationCycle.test.ts +112 -0
  188. package/src/modules/accounting/command/updateAllocationCycle.ts +41 -0
  189. package/src/modules/accounting/command/updateBudget.generated.ts +6 -0
  190. package/src/modules/accounting/command/updateBudget.test.ts +112 -0
  191. package/src/modules/accounting/command/updateBudget.ts +44 -0
  192. package/src/modules/accounting/command/updateCostCenter.generated.ts +6 -0
  193. package/src/modules/accounting/command/updateCostCenter.test.ts +105 -0
  194. package/src/modules/accounting/command/updateCostCenter.ts +79 -0
  195. package/src/modules/accounting/command/updateCostElement.generated.ts +6 -0
  196. package/src/modules/accounting/command/updateCostElement.test.ts +265 -0
  197. package/src/modules/accounting/command/updateCostElement.ts +158 -0
  198. package/src/modules/accounting/command/updateInternalOrder.generated.ts +6 -0
  199. package/src/modules/accounting/command/updateInternalOrder.test.ts +209 -0
  200. package/src/modules/accounting/command/updateInternalOrder.ts +88 -0
  201. package/src/modules/accounting/command/updateProfitCenter.generated.ts +6 -0
  202. package/src/modules/accounting/command/updateProfitCenter.test.ts +162 -0
  203. package/src/modules/accounting/command/updateProfitCenter.ts +73 -0
  204. package/src/modules/accounting/command/validateAllocationCycle.generated.ts +6 -0
  205. package/src/modules/accounting/command/validateAllocationCycle.test.ts +141 -0
  206. package/src/modules/accounting/command/validateAllocationCycle.ts +80 -0
  207. package/src/modules/accounting/db/allocationCycle.ts +59 -0
  208. package/src/modules/accounting/db/allocationResult.ts +58 -0
  209. package/src/modules/accounting/db/allocationRule.ts +48 -0
  210. package/src/modules/accounting/db/budget.ts +84 -0
  211. package/src/modules/accounting/db/budgetLineItem.ts +64 -0
  212. package/src/modules/accounting/db/commitment.ts +60 -0
  213. package/src/modules/accounting/db/costCenter.ts +73 -0
  214. package/src/modules/accounting/db/costCenterHierarchy.ts +37 -0
  215. package/src/modules/accounting/db/costCenterHierarchyNode.ts +48 -0
  216. package/src/modules/accounting/db/costElement.ts +56 -0
  217. package/src/modules/accounting/db/internalOrder.ts +69 -0
  218. package/src/modules/accounting/db/planVersion.ts +47 -0
  219. package/src/modules/accounting/db/profitCenter.ts +52 -0
  220. package/src/modules/accounting/db/profitCenterHierarchy.ts +36 -0
  221. package/src/modules/accounting/db/profitCenterHierarchyAssignment.ts +62 -0
  222. package/src/modules/accounting/db/profitCenterHierarchyNode.ts +48 -0
  223. package/src/modules/accounting/db/varianceReport.ts +54 -0
  224. package/src/modules/accounting/db/varianceReportLine.ts +62 -0
  225. package/src/modules/accounting/docs/commands/ActivateBudget.md +54 -0
  226. package/src/modules/accounting/docs/commands/ActivateCostElement.md +43 -0
  227. package/src/modules/accounting/docs/commands/ActivateProfitCenter.md +43 -0
  228. package/src/modules/accounting/docs/commands/ApproveBudget.md +46 -0
  229. package/src/modules/accounting/docs/commands/AssignCostCenterToHierarchyNode.md +46 -0
  230. package/src/modules/accounting/docs/commands/AssignProfitCenterToHierarchyNode.md +47 -0
  231. package/src/modules/accounting/docs/commands/CloseBudget.md +47 -0
  232. package/src/modules/accounting/docs/commands/CloseInternalOrder.md +45 -0
  233. package/src/modules/accounting/docs/commands/ConsumeCommitment.md +53 -0
  234. package/src/modules/accounting/docs/commands/CreateAllocationCycle.md +55 -0
  235. package/src/modules/accounting/docs/commands/CreateAllocationRule.md +60 -0
  236. package/src/modules/accounting/docs/commands/CreateBudget.md +65 -0
  237. package/src/modules/accounting/docs/commands/CreateBudgetLineItem.md +66 -0
  238. package/src/modules/accounting/docs/commands/CreateCostCenter.md +64 -0
  239. package/src/modules/accounting/docs/commands/CreateCostCenterHierarchy.md +45 -0
  240. package/src/modules/accounting/docs/commands/CreateCostCenterHierarchyNode.md +61 -0
  241. package/src/modules/accounting/docs/commands/CreateCostElement.md +91 -0
  242. package/src/modules/accounting/docs/commands/CreateInternalOrder.md +72 -0
  243. package/src/modules/accounting/docs/commands/CreatePlanVersion.md +59 -0
  244. package/src/modules/accounting/docs/commands/CreateProfitCenter.md +63 -0
  245. package/src/modules/accounting/docs/commands/CreateProfitCenterHierarchy.md +45 -0
  246. package/src/modules/accounting/docs/commands/CreateProfitCenterHierarchyNode.md +60 -0
  247. package/src/modules/accounting/docs/commands/DeactivateCostElement.md +43 -0
  248. package/src/modules/accounting/docs/commands/DeactivateProfitCenter.md +44 -0
  249. package/src/modules/accounting/docs/commands/DeleteAllocationCycle.md +46 -0
  250. package/src/modules/accounting/docs/commands/DeleteAllocationRule.md +45 -0
  251. package/src/modules/accounting/docs/commands/DeleteBudget.md +46 -0
  252. package/src/modules/accounting/docs/commands/DeleteBudgetLineItem.md +45 -0
  253. package/src/modules/accounting/docs/commands/DeleteCostCenter.md +50 -0
  254. package/src/modules/accounting/docs/commands/DeleteCostCenterHierarchyNode.md +45 -0
  255. package/src/modules/accounting/docs/commands/DeleteCostElement.md +43 -0
  256. package/src/modules/accounting/docs/commands/DeleteInternalOrder.md +45 -0
  257. package/src/modules/accounting/docs/commands/DeleteProfitCenter.md +46 -0
  258. package/src/modules/accounting/docs/commands/DeleteProfitCenterHierarchyNode.md +46 -0
  259. package/src/modules/accounting/docs/commands/ExecuteAllocationCycle.md +54 -0
  260. package/src/modules/accounting/docs/commands/FinalizeVarianceReport.md +44 -0
  261. package/src/modules/accounting/docs/commands/GenerateVarianceReport.md +83 -0
  262. package/src/modules/accounting/docs/commands/InvalidateAllocationCycle.md +45 -0
  263. package/src/modules/accounting/docs/commands/MoveCostCenterHierarchyNode.md +51 -0
  264. package/src/modules/accounting/docs/commands/PostAllocationCycle.md +58 -0
  265. package/src/modules/accounting/docs/commands/ReactivateCostElement.md +43 -0
  266. package/src/modules/accounting/docs/commands/ReactivateProfitCenter.md +43 -0
  267. package/src/modules/accounting/docs/commands/RecordCommitment.md +60 -0
  268. package/src/modules/accounting/docs/commands/RejectBudget.md +49 -0
  269. package/src/modules/accounting/docs/commands/ReleaseCommitment.md +45 -0
  270. package/src/modules/accounting/docs/commands/ReleaseInternalOrder.md +44 -0
  271. package/src/modules/accounting/docs/commands/ReverseAllocationCycle.md +55 -0
  272. package/src/modules/accounting/docs/commands/SubmitBudget.md +47 -0
  273. package/src/modules/accounting/docs/commands/TechnicallyCompleteInternalOrder.md +44 -0
  274. package/src/modules/accounting/docs/commands/UpdateAllocationCycle.md +45 -0
  275. package/src/modules/accounting/docs/commands/UpdateBudget.md +47 -0
  276. package/src/modules/accounting/docs/commands/UpdateCostCenter.md +50 -0
  277. package/src/modules/accounting/docs/commands/UpdateCostElement.md +82 -0
  278. package/src/modules/accounting/docs/commands/UpdateInternalOrder.md +62 -0
  279. package/src/modules/accounting/docs/commands/UpdateProfitCenter.md +56 -0
  280. package/src/modules/accounting/docs/commands/ValidateAllocationCycle.md +57 -0
  281. package/src/modules/accounting/docs/features/budget-management.md +147 -0
  282. package/src/modules/accounting/docs/features/cost-allocation.md +129 -0
  283. package/src/modules/accounting/docs/features/cost-center-management.md +118 -0
  284. package/src/modules/accounting/docs/features/cost-element-management.md +114 -0
  285. package/src/modules/accounting/docs/features/internal-order-management.md +111 -0
  286. package/src/modules/accounting/docs/features/profit-center-management.md +120 -0
  287. package/src/modules/accounting/docs/features/variance-analysis.md +130 -0
  288. package/src/modules/accounting/docs/models/AllocationCycle.md +81 -0
  289. package/src/modules/accounting/docs/models/AllocationResult.md +37 -0
  290. package/src/modules/accounting/docs/models/AllocationRule.md +41 -0
  291. package/src/modules/accounting/docs/models/Budget.md +77 -0
  292. package/src/modules/accounting/docs/models/BudgetLineItem.md +40 -0
  293. package/src/modules/accounting/docs/models/Commitment.md +45 -0
  294. package/src/modules/accounting/docs/models/CostCenter.md +51 -0
  295. package/src/modules/accounting/docs/models/CostCenterHierarchy.md +38 -0
  296. package/src/modules/accounting/docs/models/CostCenterHierarchyNode.md +41 -0
  297. package/src/modules/accounting/docs/models/CostElement.md +66 -0
  298. package/src/modules/accounting/docs/models/InternalOrder.md +67 -0
  299. package/src/modules/accounting/docs/models/PlanVersion.md +36 -0
  300. package/src/modules/accounting/docs/models/ProfitCenter.md +66 -0
  301. package/src/modules/accounting/docs/models/ProfitCenterHierarchy.md +36 -0
  302. package/src/modules/accounting/docs/models/ProfitCenterHierarchyAssignment.md +36 -0
  303. package/src/modules/accounting/docs/models/ProfitCenterHierarchyNode.md +39 -0
  304. package/src/modules/accounting/docs/models/VarianceReport.md +58 -0
  305. package/src/modules/accounting/docs/models/VarianceReportLine.md +43 -0
  306. package/src/modules/accounting/docs/queries/CalculateBudgetAvailability.md +64 -0
  307. package/src/modules/accounting/docs/queries/GetAllocationCycle.md +43 -0
  308. package/src/modules/accounting/docs/queries/GetBudget.md +42 -0
  309. package/src/modules/accounting/docs/queries/GetCostCenter.md +38 -0
  310. package/src/modules/accounting/docs/queries/GetCostCenterHierarchy.md +45 -0
  311. package/src/modules/accounting/docs/queries/GetCostElement.md +39 -0
  312. package/src/modules/accounting/docs/queries/GetInternalOrder.md +42 -0
  313. package/src/modules/accounting/docs/queries/GetProfitCenter.md +38 -0
  314. package/src/modules/accounting/docs/queries/GetProfitCenterHierarchy.md +46 -0
  315. package/src/modules/accounting/docs/queries/GetVarianceReport.md +45 -0
  316. package/src/modules/accounting/docs/queries/ListAllocationCycles.md +63 -0
  317. package/src/modules/accounting/docs/queries/ListBudgets.md +70 -0
  318. package/src/modules/accounting/docs/queries/ListCostCenters.md +55 -0
  319. package/src/modules/accounting/docs/queries/ListCostElements.md +63 -0
  320. package/src/modules/accounting/docs/queries/ListInternalOrders.md +62 -0
  321. package/src/modules/accounting/docs/queries/ListProfitCenters.md +49 -0
  322. package/src/modules/accounting/generated/enums.ts +110 -0
  323. package/src/modules/accounting/generated/kysely-tailordb.ts +302 -0
  324. package/src/modules/accounting/index.ts +2 -0
  325. package/src/modules/accounting/lib/_db_deps.ts +70 -0
  326. package/src/modules/accounting/lib/actualAmounts.ts +93 -0
  327. package/src/modules/accounting/lib/allocationPosting.ts +152 -0
  328. package/src/modules/accounting/lib/errors.generated.ts +432 -0
  329. package/src/modules/accounting/lib/permissions.generated.ts +61 -0
  330. package/src/modules/accounting/lib/types.ts +114 -0
  331. package/src/modules/accounting/module.ts +429 -0
  332. package/src/modules/accounting/permissions.ts +3 -0
  333. package/src/modules/accounting/query/calculateBudgetAvailability.generated.ts +5 -0
  334. package/src/modules/accounting/query/calculateBudgetAvailability.test.ts +229 -0
  335. package/src/modules/accounting/query/calculateBudgetAvailability.ts +147 -0
  336. package/src/modules/accounting/query/getAllocationCycle.generated.ts +5 -0
  337. package/src/modules/accounting/query/getAllocationCycle.test.ts +94 -0
  338. package/src/modules/accounting/query/getAllocationCycle.ts +37 -0
  339. package/src/modules/accounting/query/getBudget.generated.ts +5 -0
  340. package/src/modules/accounting/query/getBudget.test.ts +80 -0
  341. package/src/modules/accounting/query/getBudget.ts +31 -0
  342. package/src/modules/accounting/query/getCostCenter.generated.ts +5 -0
  343. package/src/modules/accounting/query/getCostCenter.test.ts +50 -0
  344. package/src/modules/accounting/query/getCostCenter.ts +33 -0
  345. package/src/modules/accounting/query/getCostCenterHierarchy.generated.ts +5 -0
  346. package/src/modules/accounting/query/getCostCenterHierarchy.test.ts +100 -0
  347. package/src/modules/accounting/query/getCostCenterHierarchy.ts +80 -0
  348. package/src/modules/accounting/query/getCostElement.generated.ts +5 -0
  349. package/src/modules/accounting/query/getCostElement.test.ts +57 -0
  350. package/src/modules/accounting/query/getCostElement.ts +21 -0
  351. package/src/modules/accounting/query/getInternalOrder.generated.ts +5 -0
  352. package/src/modules/accounting/query/getInternalOrder.test.ts +73 -0
  353. package/src/modules/accounting/query/getInternalOrder.ts +21 -0
  354. package/src/modules/accounting/query/getProfitCenter.generated.ts +5 -0
  355. package/src/modules/accounting/query/getProfitCenter.test.ts +65 -0
  356. package/src/modules/accounting/query/getProfitCenter.ts +31 -0
  357. package/src/modules/accounting/query/getProfitCenterHierarchy.generated.ts +5 -0
  358. package/src/modules/accounting/query/getProfitCenterHierarchy.test.ts +97 -0
  359. package/src/modules/accounting/query/getProfitCenterHierarchy.ts +87 -0
  360. package/src/modules/accounting/query/getVarianceReport.generated.ts +5 -0
  361. package/src/modules/accounting/query/getVarianceReport.test.ts +108 -0
  362. package/src/modules/accounting/query/getVarianceReport.ts +31 -0
  363. package/src/modules/accounting/query/listAllocationCycles.generated.ts +5 -0
  364. package/src/modules/accounting/query/listAllocationCycles.test.ts +152 -0
  365. package/src/modules/accounting/query/listAllocationCycles.ts +96 -0
  366. package/src/modules/accounting/query/listBudgets.generated.ts +5 -0
  367. package/src/modules/accounting/query/listBudgets.test.ts +150 -0
  368. package/src/modules/accounting/query/listBudgets.ts +85 -0
  369. package/src/modules/accounting/query/listCostCenters.generated.ts +5 -0
  370. package/src/modules/accounting/query/listCostCenters.test.ts +111 -0
  371. package/src/modules/accounting/query/listCostCenters.ts +71 -0
  372. package/src/modules/accounting/query/listCostElements.generated.ts +5 -0
  373. package/src/modules/accounting/query/listCostElements.test.ts +138 -0
  374. package/src/modules/accounting/query/listCostElements.ts +105 -0
  375. package/src/modules/accounting/query/listInternalOrders.generated.ts +5 -0
  376. package/src/modules/accounting/query/listInternalOrders.test.ts +129 -0
  377. package/src/modules/accounting/query/listInternalOrders.ts +94 -0
  378. package/src/modules/accounting/query/listProfitCenters.generated.ts +5 -0
  379. package/src/modules/accounting/query/listProfitCenters.test.ts +94 -0
  380. package/src/modules/accounting/query/listProfitCenters.ts +56 -0
  381. package/src/modules/accounting/seed/index.ts +19 -0
  382. package/src/modules/accounting/tailor.config.ts +13 -0
  383. package/src/modules/accounting/testing/commandTestUtils.ts +35 -0
  384. package/src/modules/accounting/testing/fixtures.ts +502 -0
  385. package/src/modules/audit/command/logAuditEvent.ts +43 -38
  386. package/src/modules/audit/command/updateAuditPolicy.ts +2 -2
  387. package/src/modules/audit/docs/commands/UpdateAuditPolicy.md +1 -1
  388. package/src/modules/audit/module.ts +4 -0
  389. package/src/modules/business-partner/command/createPartnerBankAccount.test.ts +3 -3
  390. package/src/modules/business-partner/command/createPartnerBankAccount.ts +1 -1
  391. package/src/modules/business-partner/command/updateContactPerson.ts +3 -4
  392. package/src/modules/business-partner/command/updatePartner.ts +13 -6
  393. package/src/modules/business-partner/command/updatePartnerAddress.ts +13 -6
  394. package/src/modules/business-partner/command/updatePartnerBankAccount.ts +3 -4
  395. package/src/modules/business-partner/command/updatePartnerIdentification.ts +3 -4
  396. package/src/modules/business-partner/docs/commands/UpdateContactPerson.md +3 -3
  397. package/src/modules/business-partner/docs/commands/UpdatePartner.md +2 -2
  398. package/src/modules/business-partner/docs/commands/UpdatePartnerAddress.md +2 -2
  399. package/src/modules/business-partner/docs/commands/UpdatePartnerIdentification.md +2 -2
  400. package/src/modules/business-partner/module.ts +1 -0
  401. package/src/modules/coa-management/command/activateAccount.test.ts +0 -15
  402. package/src/modules/coa-management/command/activateAccount.ts +1 -42
  403. package/src/modules/coa-management/command/activateChartOfAccounts.test.ts +2 -31
  404. package/src/modules/coa-management/command/activateChartOfAccounts.ts +1 -37
  405. package/src/modules/coa-management/command/createAccount.test.ts +0 -28
  406. package/src/modules/coa-management/command/createAccount.ts +0 -43
  407. package/src/modules/coa-management/command/createAccountGroup.test.ts +2 -51
  408. package/src/modules/coa-management/command/createAccountGroup.ts +1 -56
  409. package/src/modules/coa-management/command/createChartOfAccounts.test.ts +1 -49
  410. package/src/modules/coa-management/command/createChartOfAccounts.ts +0 -51
  411. package/src/modules/coa-management/command/deactivateAccount.test.ts +0 -15
  412. package/src/modules/coa-management/command/deactivateAccount.ts +1 -53
  413. package/src/modules/coa-management/command/deactivateChartOfAccounts.test.ts +2 -29
  414. package/src/modules/coa-management/command/deactivateChartOfAccounts.ts +1 -37
  415. package/src/modules/coa-management/command/deleteAccount.test.ts +0 -13
  416. package/src/modules/coa-management/command/deleteAccount.ts +1 -42
  417. package/src/modules/coa-management/command/deleteAccountGroup.test.ts +0 -19
  418. package/src/modules/coa-management/command/deleteAccountGroup.ts +1 -42
  419. package/src/modules/coa-management/command/deleteChartOfAccounts.test.ts +2 -58
  420. package/src/modules/coa-management/command/deleteChartOfAccounts.ts +4 -88
  421. package/src/modules/coa-management/command/moveAccountGroup.test.ts +0 -27
  422. package/src/modules/coa-management/command/moveAccountGroup.ts +1 -48
  423. package/src/modules/coa-management/command/reactivateAccount.test.ts +0 -15
  424. package/src/modules/coa-management/command/reactivateAccount.ts +1 -53
  425. package/src/modules/coa-management/command/updateAccount.test.ts +0 -15
  426. package/src/modules/coa-management/command/updateAccount.ts +3 -95
  427. package/src/modules/coa-management/command/updateAccountGroup.test.ts +22 -20
  428. package/src/modules/coa-management/command/updateAccountGroup.ts +30 -78
  429. package/src/modules/coa-management/command/updateChartOfAccounts.test.ts +2 -31
  430. package/src/modules/coa-management/command/updateChartOfAccounts.ts +4 -54
  431. package/src/modules/coa-management/docs/commands/ActivateAccount.md +1 -4
  432. package/src/modules/coa-management/docs/commands/ActivateChartOfAccounts.md +1 -4
  433. package/src/modules/coa-management/docs/commands/CreateAccount.md +1 -4
  434. package/src/modules/coa-management/docs/commands/CreateAccountGroup.md +2 -5
  435. package/src/modules/coa-management/docs/commands/CreateChartOfAccounts.md +2 -6
  436. package/src/modules/coa-management/docs/commands/DeactivateAccount.md +1 -4
  437. package/src/modules/coa-management/docs/commands/DeactivateChartOfAccounts.md +1 -4
  438. package/src/modules/coa-management/docs/commands/DeleteAccount.md +1 -4
  439. package/src/modules/coa-management/docs/commands/DeleteAccountGroup.md +1 -4
  440. package/src/modules/coa-management/docs/commands/DeleteChartOfAccounts.md +1 -6
  441. package/src/modules/coa-management/docs/commands/MoveAccountGroup.md +1 -4
  442. package/src/modules/coa-management/docs/commands/ReactivateAccount.md +1 -4
  443. package/src/modules/coa-management/docs/commands/UpdateAccount.md +1 -4
  444. package/src/modules/coa-management/docs/commands/UpdateAccountGroup.md +6 -8
  445. package/src/modules/coa-management/docs/commands/UpdateChartOfAccounts.md +1 -4
  446. package/src/modules/coa-management/module.ts +16 -27
  447. package/src/modules/finance-ledger/command/updateFiscalYear.ts +2 -3
  448. package/src/modules/finance-ledger/command/updateJournalEntry.test.ts +0 -17
  449. package/src/modules/finance-ledger/command/updateJournalEntry.ts +2 -10
  450. package/src/modules/finance-ledger/command/updateJournalLine.ts +2 -3
  451. package/src/modules/finance-ledger/docs/commands/UpdateJournalEntry.md +1 -4
  452. package/src/modules/finance-ledger/module.ts +1 -0
  453. package/src/modules/inventory/command/approveInventoryAdjustment.test.ts +1 -1
  454. package/src/modules/inventory/command/approveInventoryAdjustment.ts +1 -1
  455. package/src/modules/inventory/command/cancelStockMovement.test.ts +2 -2
  456. package/src/modules/inventory/command/cancelStockMovement.ts +1 -1
  457. package/src/modules/inventory/command/confirmInventoryAdjustment.test.ts +4 -4
  458. package/src/modules/inventory/command/confirmInventoryAdjustment.ts +1 -1
  459. package/src/modules/inventory/command/confirmStockMovement.test.ts +1 -1
  460. package/src/modules/inventory/command/confirmStockMovement.ts +1 -1
  461. package/src/modules/inventory/command/createInventoryAdjustment.test.ts +6 -6
  462. package/src/modules/inventory/command/createInventoryAdjustment.ts +1 -1
  463. package/src/modules/inventory/command/createStockMovement.test.ts +3 -3
  464. package/src/modules/inventory/command/createStockMovement.ts +1 -1
  465. package/src/modules/inventory/command/executeStockMovement.test.ts +5 -5
  466. package/src/modules/inventory/command/executeStockMovement.ts +1 -1
  467. package/src/modules/inventory/command/rejectInventoryAdjustment.test.ts +1 -1
  468. package/src/modules/inventory/command/rejectInventoryAdjustment.ts +1 -1
  469. package/src/modules/inventory/command/reviseInventoryAdjustment.test.ts +2 -2
  470. package/src/modules/inventory/command/reviseInventoryAdjustment.ts +1 -1
  471. package/src/modules/inventory/command/submitInventoryAdjustment.test.ts +1 -1
  472. package/src/modules/inventory/command/submitInventoryAdjustment.ts +1 -1
  473. package/src/modules/inventory/command/updateLot.test.ts +1 -1
  474. package/src/modules/inventory/command/updateLot.ts +2 -3
  475. package/src/modules/inventory/command/updateStockMovement.test.ts +4 -4
  476. package/src/modules/inventory/command/updateStockMovement.ts +4 -5
  477. package/src/modules/inventory/command/updateStorageLocation.ts +12 -17
  478. package/src/modules/inventory/command/updateValuationPolicy.ts +2 -3
  479. package/src/modules/inventory/command/updateWarehouse.ts +2 -3
  480. package/src/modules/inventory/docs/commands/UpdateLot.md +3 -3
  481. package/src/modules/inventory/docs/commands/UpdateStorageLocation.md +6 -6
  482. package/src/modules/inventory/docs/commands/UpdateWarehouse.md +2 -2
  483. package/src/modules/inventory/module.ts +1 -0
  484. package/src/modules/item-management/command/createTaxonomyNode.test.ts +4 -4
  485. package/src/modules/item-management/command/createTaxonomyNode.ts +1 -1
  486. package/src/modules/item-management/command/moveTaxonomyNode.test.ts +2 -2
  487. package/src/modules/item-management/command/moveTaxonomyNode.ts +2 -2
  488. package/src/modules/item-management/command/updateItem.test.ts +16 -12
  489. package/src/modules/item-management/command/updateItem.ts +47 -31
  490. package/src/modules/item-management/command/updateTaxonomyNode.test.ts +16 -17
  491. package/src/modules/item-management/command/updateTaxonomyNode.ts +43 -30
  492. package/src/modules/item-management/docs/commands/UpdateItem.md +7 -11
  493. package/src/modules/item-management/docs/commands/UpdateTaxonomyNode.md +10 -14
  494. package/src/modules/item-management/module.ts +1 -0
  495. package/src/modules/manufacturing/command/createRouting.ts +1 -1
  496. package/src/modules/manufacturing/command/recordInventoryIssueOutcome.test.ts +1 -1
  497. package/src/modules/manufacturing/command/recordInventoryIssueOutcome.ts +1 -1
  498. package/src/modules/manufacturing/command/recordManufacturingCostSettlementAcknowledgment.test.ts +1 -1
  499. package/src/modules/manufacturing/command/recordManufacturingCostSettlementAcknowledgment.ts +1 -1
  500. package/src/modules/manufacturing/command/reviewManufacturingCostSummary.test.ts +1 -1
  501. package/src/modules/manufacturing/command/reviewManufacturingCostSummary.ts +1 -1
  502. package/src/modules/manufacturing/command/updateBillOfMaterial.ts +3 -4
  503. package/src/modules/manufacturing/command/updateProductionOrder.ts +3 -4
  504. package/src/modules/manufacturing/command/updateRouting.ts +4 -5
  505. package/src/modules/manufacturing/command/updateWorkCenter.test.ts +16 -7
  506. package/src/modules/manufacturing/command/updateWorkCenter.ts +41 -38
  507. package/src/modules/manufacturing/docs/commands/ActivateWorkCenter.md +2 -0
  508. package/src/modules/manufacturing/docs/commands/CompleteWorkOrder.md +2 -0
  509. package/src/modules/manufacturing/docs/commands/CreateBillOfMaterial.md +1 -0
  510. package/src/modules/manufacturing/docs/commands/ReviewManufacturingCostSummary.md +1 -0
  511. package/src/modules/manufacturing/docs/commands/UpdateWorkCenter.md +6 -5
  512. package/src/modules/manufacturing/docs/models/BillOfMaterialLine.md +42 -0
  513. package/src/modules/manufacturing/docs/models/CostVarianceLine.md +36 -0
  514. package/src/modules/manufacturing/docs/models/ManufacturingCostLine.md +37 -0
  515. package/src/modules/manufacturing/docs/models/ManufacturingCostSettlementRecord.md +34 -0
  516. package/src/modules/manufacturing/docs/models/ProductionOrderBomSnapshot.md +35 -0
  517. package/src/modules/manufacturing/docs/models/ProductionOrderCostBaseline.md +36 -0
  518. package/src/modules/manufacturing/docs/models/ProductionOrderMaterialRequirement.md +35 -0
  519. package/src/modules/manufacturing/docs/models/ProductionOrderRoutingSnapshot.md +34 -0
  520. package/src/modules/manufacturing/docs/models/RoutingOperation.md +40 -0
  521. package/src/modules/manufacturing/docs/models/WorkOrderExecutionEvent.md +38 -0
  522. package/src/modules/manufacturing/docs/queries/ExplodeBillOfMaterial.md +1 -0
  523. package/src/modules/manufacturing/docs/queries/ListWorkCentersBySite.md +1 -0
  524. package/src/modules/manufacturing/module.ts +1 -0
  525. package/src/modules/organization/command/updateCompany.test.ts +6 -6
  526. package/src/modules/organization/command/updateCompany.ts +3 -4
  527. package/src/modules/organization/command/updateDepartment.test.ts +7 -7
  528. package/src/modules/organization/command/updateDepartment.ts +13 -12
  529. package/src/modules/organization/command/updateSite.test.ts +10 -10
  530. package/src/modules/organization/command/updateSite.ts +3 -4
  531. package/src/modules/organization/docs/commands/UpdateCompany.md +6 -6
  532. package/src/modules/organization/docs/commands/UpdateDepartment.md +9 -10
  533. package/src/modules/organization/docs/commands/UpdateSite.md +12 -12
  534. package/src/modules/organization/module.ts +1 -0
  535. package/src/modules/primitives/module.ts +1 -0
  536. package/src/modules/product-management/command/assignProductToCategory.test.ts +2 -2
  537. package/src/modules/product-management/command/assignProductToCategory.ts +2 -2
  538. package/src/modules/product-management/command/createProductAttribute.test.ts +1 -1
  539. package/src/modules/product-management/command/createProductAttribute.ts +1 -1
  540. package/src/modules/product-management/command/createProductAttributeValue.test.ts +1 -1
  541. package/src/modules/product-management/command/createProductAttributeValue.ts +1 -1
  542. package/src/modules/product-management/command/createProductCategory.test.ts +2 -2
  543. package/src/modules/product-management/command/createProductCategory.ts +1 -1
  544. package/src/modules/product-management/command/setProductAttributeAssignment.test.ts +3 -3
  545. package/src/modules/product-management/command/setProductAttributeAssignment.ts +2 -2
  546. package/src/modules/product-management/command/updateProduct.test.ts +17 -11
  547. package/src/modules/product-management/command/updateProduct.ts +45 -28
  548. package/src/modules/product-management/command/updateProductAttribute.test.ts +16 -21
  549. package/src/modules/product-management/command/updateProductAttribute.ts +40 -26
  550. package/src/modules/product-management/command/updateProductAttributeValue.ts +2 -3
  551. package/src/modules/product-management/command/updateProductCategory.test.ts +14 -19
  552. package/src/modules/product-management/command/updateProductCategory.ts +42 -26
  553. package/src/modules/product-management/docs/commands/UpdateProduct.md +16 -20
  554. package/src/modules/product-management/docs/commands/UpdateProductAttribute.md +10 -14
  555. package/src/modules/product-management/docs/commands/UpdateProductCategory.md +10 -14
  556. package/src/modules/product-management/module.ts +1 -0
  557. package/src/modules/purchase/command/activatePurchasePaymentTerm.test.ts +4 -4
  558. package/src/modules/purchase/command/activatePurchasePaymentTerm.ts +2 -2
  559. package/src/modules/purchase/command/deactivatePurchasePaymentTerm.test.ts +4 -4
  560. package/src/modules/purchase/command/deactivatePurchasePaymentTerm.ts +2 -2
  561. package/src/modules/purchase/command/updateGoodsReceipt.ts +2 -3
  562. package/src/modules/purchase/command/updatePurchaseBill.ts +2 -3
  563. package/src/modules/purchase/command/updatePurchaseOrder.ts +2 -3
  564. package/src/modules/purchase/command/updatePurchasePaymentTerm.test.ts +2 -2
  565. package/src/modules/purchase/command/updatePurchasePaymentTerm.ts +3 -4
  566. package/src/modules/purchase/command/updatePurchasePriceList.ts +2 -3
  567. package/src/modules/purchase/command/updatePurchasePriceRule.ts +2 -3
  568. package/src/modules/purchase/module.ts +1 -0
  569. package/src/modules/sales/command/createSalesOrder.ts +1 -1
  570. package/src/modules/sales/command/updateChannel.test.ts +4 -4
  571. package/src/modules/sales/command/updateChannel.ts +2 -3
  572. package/src/modules/sales/command/updateListing.test.ts +2 -2
  573. package/src/modules/sales/command/updateListing.ts +2 -3
  574. package/src/modules/sales/command/updateSalesCreditNote.test.ts +2 -2
  575. package/src/modules/sales/command/updateSalesCreditNote.ts +2 -3
  576. package/src/modules/sales/command/updateSalesInvoice.test.ts +2 -2
  577. package/src/modules/sales/command/updateSalesInvoice.ts +2 -3
  578. package/src/modules/sales/command/updateSalesOrder.test.ts +3 -3
  579. package/src/modules/sales/command/updateSalesOrder.ts +2 -3
  580. package/src/modules/sales/command/updateSalesPaymentTerm.test.ts +2 -2
  581. package/src/modules/sales/command/updateSalesPaymentTerm.ts +2 -3
  582. package/src/modules/sales/command/updateSalesPriceList.test.ts +3 -3
  583. package/src/modules/sales/command/updateSalesPriceList.ts +2 -3
  584. package/src/modules/sales/command/updateSalesPriceRule.test.ts +3 -3
  585. package/src/modules/sales/command/updateSalesPriceRule.ts +2 -3
  586. package/src/modules/sales/command/updateShipment.test.ts +2 -2
  587. package/src/modules/sales/command/updateShipment.ts +2 -3
  588. package/src/modules/sales/docs/commands/UpdateChannel.md +4 -4
  589. package/src/modules/sales/docs/commands/UpdateListing.md +2 -2
  590. package/src/modules/sales/docs/commands/UpdateSalesCreditNote.md +2 -2
  591. package/src/modules/sales/docs/commands/UpdateSalesInvoice.md +2 -2
  592. package/src/modules/sales/docs/commands/UpdateSalesOrder.md +3 -3
  593. package/src/modules/sales/docs/commands/UpdateSalesPaymentTerm.md +2 -2
  594. package/src/modules/sales/docs/commands/UpdateSalesPriceList.md +3 -3
  595. package/src/modules/sales/docs/commands/UpdateSalesPriceRule.md +3 -3
  596. package/src/modules/sales/docs/commands/UpdateShipment.md +2 -2
  597. package/src/modules/sales/module.ts +1 -0
  598. package/src/modules/user-management/README.md +2 -1
  599. package/src/modules/user-management/command/updateOwnProfile.generated.ts +6 -0
  600. package/src/modules/user-management/command/updateOwnProfile.test.ts +191 -0
  601. package/src/modules/user-management/command/updateOwnProfile.ts +82 -0
  602. package/src/modules/user-management/command/updateUser.generated.ts +6 -0
  603. package/src/modules/user-management/command/updateUser.test.ts +195 -0
  604. package/src/modules/user-management/command/updateUser.ts +76 -0
  605. package/src/modules/user-management/docs/commands/UpdateOwnProfile.md +68 -0
  606. package/src/modules/user-management/docs/commands/UpdateUser.md +67 -0
  607. package/src/modules/user-management/docs/features/user-account-management.md +28 -3
  608. package/src/modules/user-management/docs/models/User.md +2 -0
  609. package/src/modules/user-management/lib/errors.generated.ts +5 -0
  610. package/src/modules/user-management/lib/permissions.generated.ts +2 -0
  611. package/src/modules/user-management/module.ts +5 -0
  612. package/src/modules/user-management/seed/index.ts +19 -0
  613. package/templates/scaffold/app/backend/eslint.config.js +17 -0
  614. package/templates/scaffold/app/backend/package.json +1 -0
  615. package/templates/scaffold/app/backend/seed/data/AuditEntry.schema.ts +20 -0
  616. package/templates/scaffold/app/backend/seed/data/AuditPolicy.jsonl +7 -0
  617. package/templates/scaffold/app/backend/seed/data/AuditPolicy.schema.ts +15 -0
  618. package/templates/scaffold/app/backend/seed/data/AuditableEntity.jsonl +4 -0
  619. package/templates/scaffold/app/backend/seed/data/AuditableEntity.schema.ts +20 -0
  620. package/templates/scaffold/app/backend/seed/data/ChangeDetail.schema.ts +20 -0
  621. package/templates/scaffold/app/backend/seed/data/Company.schema.ts +15 -0
  622. package/templates/scaffold/app/backend/seed/data/Permission.jsonl +13 -0
  623. package/templates/scaffold/app/backend/seed/data/Permission.schema.ts +1 -1
  624. package/templates/scaffold/app/backend/seed/data/PolicyFieldRule.schema.ts +20 -0
  625. package/templates/scaffold/app/backend/seed/data/Role.jsonl +1 -0
  626. package/templates/scaffold/app/backend/seed/data/Role.schema.ts +1 -1
  627. package/templates/scaffold/app/backend/seed/data/RolePermission.jsonl +13 -0
  628. package/templates/scaffold/app/backend/seed/data/RolePermission.schema.ts +1 -1
  629. package/templates/scaffold/app/backend/seed/data/User.jsonl +1 -1
  630. package/templates/scaffold/app/backend/seed/data/User.schema.ts +1 -1
  631. package/templates/scaffold/app/backend/seed/data/UserRole.jsonl +1 -0
  632. package/templates/scaffold/app/backend/seed/data/UserRole.schema.ts +1 -1
  633. package/templates/scaffold/app/backend/seed/data/_User.jsonl +1 -1
  634. package/templates/scaffold/app/backend/seed/exec.mjs +12 -0
  635. package/templates/scaffold/app/backend/src/executors/permissionCreated.ts +2 -2
  636. package/templates/scaffold/app/backend/src/executors/permissionDeleted.ts +2 -2
  637. package/templates/scaffold/app/backend/src/generated/kysely-tailordb.ts +62 -0
  638. package/templates/scaffold/app/backend/src/modules-db.ts +13 -0
  639. package/templates/scaffold/app/backend/src/modules.ts +3 -5
  640. package/templates/scaffold/app/backend/src/resolvers/assignPermissionToRole.ts +70 -0
  641. package/templates/scaffold/app/backend/src/resolvers/assignRoleToUser.ts +72 -0
  642. package/templates/scaffold/app/backend/src/resolvers/createRole.ts +92 -0
  643. package/templates/scaffold/app/backend/src/resolvers/createUser.ts +113 -13
  644. package/templates/scaffold/app/backend/src/resolvers/deactivateUser.ts +67 -0
  645. package/templates/scaffold/app/backend/src/resolvers/reactivateUser.ts +63 -0
  646. package/templates/scaffold/app/backend/src/resolvers/revokePermissionFromRole.ts +72 -0
  647. package/templates/scaffold/app/backend/src/resolvers/revokeRoleFromUser.ts +72 -0
  648. package/templates/scaffold/app/backend/src/resolvers/updateOwnProfile.ts +107 -0
  649. package/templates/scaffold/app/backend/src/resolvers/updateUserProfile.ts +107 -0
  650. package/templates/scaffold/app/backend/src/tests/stories/audit-log/user--view-audit-log-detail.test.ts +79 -0
  651. package/templates/scaffold/app/backend/src/tests/stories/audit-log/user--view-audit-log.test.ts +86 -0
  652. package/templates/scaffold/app/backend/src/tests/stories/role-management/user--assign-role-to-user.test.ts +103 -0
  653. package/templates/scaffold/app/backend/src/tests/stories/role-management/user--create-role.test.ts +61 -0
  654. package/templates/scaffold/app/backend/src/tests/stories/role-management/user--remove-role-from-user.test.ts +89 -0
  655. package/templates/scaffold/app/backend/src/tests/stories/role-management/user--update-role-permissions.test.ts +125 -0
  656. package/templates/scaffold/app/backend/src/tests/stories/user-lifecycle/user--browse-user-list.test.ts +91 -0
  657. package/templates/scaffold/app/backend/src/tests/stories/user-lifecycle/user--create-user-account.test.ts +97 -0
  658. package/templates/scaffold/app/backend/src/tests/stories/user-lifecycle/user--toggle-user-status.test.ts +131 -0
  659. package/templates/scaffold/app/backend/src/tests/stories/user-lifecycle/user--update-own-profile.test.ts +85 -0
  660. package/templates/scaffold/app/backend/src/tests/stories/user-lifecycle/user--update-user-profile.test.ts +157 -0
  661. package/templates/scaffold/app/backend/src/tests/stories/user-lifecycle/user--view-own-profile.test.ts +30 -0
  662. package/templates/scaffold/app/backend/src/tests/stories/user-lifecycle/user--view-user-detail.test.ts +98 -0
  663. package/templates/scaffold/app/backend/tailor.config.ts +21 -3
  664. package/templates/scaffold/app/backend/tsconfig.json +1 -1
  665. package/templates/scaffold/app/docs/actors/user.md +11 -0
  666. package/templates/scaffold/app/docs/business-flow/audit-log/README.md +31 -0
  667. package/templates/scaffold/app/docs/business-flow/audit-log/story/user--view-audit-log-detail.md +35 -0
  668. package/templates/scaffold/app/docs/business-flow/audit-log/story/user--view-audit-log.md +44 -0
  669. package/templates/scaffold/app/docs/business-flow/role-management/README.md +33 -0
  670. package/templates/scaffold/app/docs/business-flow/role-management/story/user--assign-role-to-user.md +35 -0
  671. package/templates/scaffold/app/docs/business-flow/role-management/story/user--create-role.md +41 -0
  672. package/templates/scaffold/app/docs/business-flow/role-management/story/user--remove-role-from-user.md +33 -0
  673. package/templates/scaffold/app/docs/business-flow/role-management/story/user--update-role-permissions.md +41 -0
  674. package/templates/scaffold/app/docs/business-flow/user-lifecycle/README.md +48 -0
  675. package/templates/scaffold/app/docs/business-flow/user-lifecycle/story/user--browse-user-list.md +38 -0
  676. package/templates/scaffold/app/docs/business-flow/user-lifecycle/story/user--create-user-account.md +45 -0
  677. package/templates/scaffold/app/docs/business-flow/user-lifecycle/story/user--toggle-user-status.md +38 -0
  678. package/templates/scaffold/app/docs/business-flow/user-lifecycle/story/user--update-own-profile.md +36 -0
  679. package/templates/scaffold/app/docs/business-flow/user-lifecycle/story/user--update-user-profile.md +41 -0
  680. package/templates/scaffold/app/docs/business-flow/user-lifecycle/story/user--view-own-profile.md +30 -0
  681. package/templates/scaffold/app/docs/business-flow/user-lifecycle/story/user--view-user-detail.md +33 -0
  682. package/templates/scaffold/app/docs/resolver/assignPermissionToRole.md +16 -0
  683. package/templates/scaffold/app/docs/resolver/assignRoleToUser.md +17 -0
  684. package/templates/scaffold/app/docs/resolver/createRole.md +17 -0
  685. package/templates/scaffold/app/docs/resolver/createUser.md +23 -0
  686. package/templates/scaffold/app/docs/resolver/deactivateUser.md +17 -0
  687. package/templates/scaffold/app/docs/resolver/reactivateUser.md +16 -0
  688. package/templates/scaffold/app/docs/resolver/revokePermissionFromRole.md +17 -0
  689. package/templates/scaffold/app/docs/resolver/revokeRoleFromUser.md +17 -0
  690. package/templates/scaffold/app/docs/resolver/updateOwnProfile.md +20 -0
  691. package/templates/scaffold/app/docs/resolver/updateUserProfile.md +19 -0
  692. package/templates/scaffold/app/docs/screen/audit-entry-detail.md +30 -0
  693. package/templates/scaffold/app/docs/screen/audit-entry-list.md +25 -0
  694. package/templates/scaffold/app/docs/screen/my-profile-edit-form.md +22 -0
  695. package/templates/scaffold/app/docs/screen/my-profile.md +27 -0
  696. package/templates/scaffold/app/docs/screen/role-create-form.md +23 -0
  697. package/templates/scaffold/app/docs/screen/role-detail.md +27 -0
  698. package/templates/scaffold/app/docs/screen/role-edit-form.md +21 -0
  699. package/templates/scaffold/app/docs/screen/role-list.md +23 -0
  700. package/templates/scaffold/app/docs/screen/user-create-form.md +23 -0
  701. package/templates/scaffold/app/docs/screen/user-detail.md +33 -0
  702. package/templates/scaffold/app/docs/screen/user-edit-form.md +22 -0
  703. package/templates/scaffold/app/docs/screen/user-list.md +24 -0
  704. package/templates/scaffold/app/frontend/package.json +1 -1
  705. package/templates/scaffold/app/frontend/src/App.tsx +57 -12
  706. package/templates/scaffold/app/frontend/src/components/composed/error-fallback.tsx +1 -1
  707. package/templates/scaffold/app/frontend/src/graphql/generated/graphql-env.d.ts +59 -31
  708. package/templates/scaffold/app/frontend/src/graphql/generated/schema.graphql +1411 -688
  709. package/templates/scaffold/app/frontend/src/hooks/use-toast.ts +1 -1
  710. package/templates/scaffold/app/frontend/src/lib/permission-groups.ts +59 -0
  711. package/templates/scaffold/app/frontend/src/pages/audit/[id]/components/audit-entry-detail.tsx +102 -0
  712. package/templates/scaffold/app/frontend/src/pages/audit/[id]/page.tsx +65 -0
  713. package/templates/scaffold/app/frontend/src/pages/audit/components/audit-entries-table.tsx +90 -0
  714. package/templates/scaffold/app/frontend/src/pages/audit/page.tsx +52 -0
  715. package/templates/scaffold/app/frontend/src/pages/user-management/profile/edit/components/edit-profile-form.tsx +125 -0
  716. package/templates/scaffold/app/frontend/src/pages/user-management/profile/edit/page.tsx +19 -0
  717. package/templates/scaffold/app/frontend/src/pages/user-management/profile/page.tsx +41 -21
  718. package/templates/scaffold/app/frontend/src/pages/user-management/role/[id]/components/role-actions.tsx +26 -0
  719. package/templates/scaffold/app/frontend/src/pages/user-management/role/[id]/components/role-detail.tsx +69 -0
  720. package/templates/scaffold/app/frontend/src/pages/user-management/role/[id]/edit/components/edit-role-form.tsx +192 -0
  721. package/templates/scaffold/app/frontend/src/pages/user-management/role/[id]/edit/page.tsx +51 -0
  722. package/templates/scaffold/app/frontend/src/pages/user-management/role/[id]/page.tsx +56 -0
  723. package/templates/scaffold/app/frontend/src/pages/user-management/role/components/roles-table.tsx +85 -0
  724. package/templates/scaffold/app/frontend/src/pages/user-management/role/create/components/create-role-form.tsx +204 -0
  725. package/templates/scaffold/app/frontend/src/pages/user-management/role/create/page.tsx +19 -0
  726. package/templates/scaffold/app/frontend/src/pages/user-management/role/page.tsx +60 -0
  727. package/templates/scaffold/app/frontend/src/pages/user-management/user/[id]/components/user-actions.tsx +216 -0
  728. package/templates/scaffold/app/frontend/src/pages/user-management/user/[id]/components/user-detail.tsx +97 -33
  729. package/templates/scaffold/app/frontend/src/pages/user-management/user/[id]/edit/components/edit-user-form.tsx +115 -0
  730. package/templates/scaffold/app/frontend/src/pages/user-management/user/[id]/edit/page.tsx +51 -0
  731. package/templates/scaffold/app/frontend/src/pages/user-management/user/[id]/page.tsx +8 -2
  732. package/templates/scaffold/app/frontend/src/pages/user-management/user/components/users-table.tsx +43 -42
  733. package/templates/scaffold/app/frontend/src/pages/user-management/user/create/components/create-user-form.tsx +120 -45
  734. package/templates/scaffold/app/frontend/src/pages/user-management/user/page.tsx +3 -4
  735. package/templates/scaffold/app/frontend/src/providers/graphql-provider.tsx +8 -1
  736. package/templates/scaffold/module/eslint.config.js +32 -0
  737. package/templates/scaffold/module/module.ts +1 -0
  738. package/templates/scaffold/module/package.json +3 -1
  739. package/templates/scaffold/module/vitest.config.ts +11 -0
  740. package/templates/scaffold/project/__dot__gitignore +1 -0
  741. package/templates/scaffold/project/__pnpm-workspace.yaml +3 -0
  742. package/templates/scaffold/project/apps/.gitkeep +0 -0
  743. package/templates/scaffold/project/modules/.gitkeep +0 -0
  744. package/templates/scaffold/project/package.json +15 -0
  745. package/templates/workflows/erp-kit-check.yml +10 -4
  746. package/templates/scaffold/app/frontend/src/components/ui/badge.tsx +0 -39
  747. package/templates/scaffold/app/frontend/src/components/ui/button.tsx +0 -60
  748. package/templates/scaffold/app/frontend/src/components/ui/card.tsx +0 -75
  749. package/templates/scaffold/app/frontend/src/components/ui/input.tsx +0 -21
  750. package/templates/scaffold/app/frontend/src/components/ui/table.tsx +0 -90
  751. /package/src/modules/{supplier-portal → accounting/executor}/.gitkeep +0 -0
  752. /package/templates/scaffold/app/{docs/actors/.gitkeep → backend/seed/data/AuditEntry.jsonl} +0 -0
  753. /package/templates/scaffold/app/{docs/business-flow/.gitkeep → backend/seed/data/ChangeDetail.jsonl} +0 -0
  754. /package/templates/scaffold/app/{docs/resolver/.gitkeep → backend/seed/data/Company.jsonl} +0 -0
  755. /package/templates/scaffold/app/{docs/screen/.gitkeep → backend/seed/data/PolicyFieldRule.jsonl} +0 -0
  756. /package/templates/{config → scaffold/project}/license.config.json +0 -0
@@ -0,0 +1,152 @@
1
+ import type { Transaction } from "../generated/kysely-tailordb";
2
+
3
+ interface AllocationCycleLike {
4
+ id: string;
5
+ companyId: string;
6
+ accountingPeriodId: string;
7
+ allocationType: string;
8
+ }
9
+
10
+ interface AllocationResultLike {
11
+ id: string;
12
+ senderCostCenterId: string;
13
+ receiverType: string;
14
+ receiverId: string;
15
+ allocatedAmount: number;
16
+ costElementId: string;
17
+ }
18
+
19
+ interface JournalEntryLike {
20
+ id: string;
21
+ referenceNumber: string;
22
+ sourceDocumentReference: string | null;
23
+ }
24
+
25
+ const JOURNAL_TYPE = "MISCELLANEOUS";
26
+
27
+ function buildPostingReferenceNumber(cycleId: string, resultId: string) {
28
+ return `ALLOC-${cycleId}-${resultId}`;
29
+ }
30
+
31
+ function buildReversalReferenceNumber(referenceNumber: string) {
32
+ return `REV-${referenceNumber}`;
33
+ }
34
+
35
+ function buildPostingSourceDocumentReference(cycleId: string) {
36
+ return `AllocationCycle:${cycleId}`;
37
+ }
38
+
39
+ function buildReversalSourceDocumentReference(cycleId: string) {
40
+ return `AllocationCycleReversal:${cycleId}`;
41
+ }
42
+
43
+ function buildPostingDescription(
44
+ cycle: AllocationCycleLike,
45
+ result: AllocationResultLike,
46
+ costElementType: string | null,
47
+ ) {
48
+ const elementRole = cycle.allocationType === "ASSESSMENT" ? "secondary" : "primary";
49
+
50
+ return [
51
+ `${cycle.allocationType} allocation posting`,
52
+ `sender=${result.senderCostCenterId}`,
53
+ `receiver=${result.receiverType}:${result.receiverId}`,
54
+ `costElement=${result.costElementId}`,
55
+ `role=${costElementType ?? elementRole}`,
56
+ `amount=${result.allocatedAmount}`,
57
+ ].join(" | ");
58
+ }
59
+
60
+ export async function createAllocationPostingEntries(
61
+ db: Transaction,
62
+ cycle: AllocationCycleLike,
63
+ allocationResults: AllocationResultLike[],
64
+ ) {
65
+ const now = new Date();
66
+ const createdEntries = [];
67
+
68
+ for (const result of allocationResults) {
69
+ const costElement = await db
70
+ .selectFrom("CostElement")
71
+ .selectAll()
72
+ .where("id", "=", result.costElementId)
73
+ .executeTakeFirst();
74
+
75
+ const costElementType = costElement?.type ?? null;
76
+
77
+ const journalEntry = await db
78
+ .insertInto("JournalEntry" as never)
79
+ .values({
80
+ companyId: cycle.companyId,
81
+ accountingPeriodId: cycle.accountingPeriodId,
82
+ entryDate: now,
83
+ journalType: JOURNAL_TYPE,
84
+ referenceNumber: buildPostingReferenceNumber(cycle.id, result.id),
85
+ status: "POSTED",
86
+ description: buildPostingDescription(cycle, result, costElementType),
87
+ sourceDocumentReference: buildPostingSourceDocumentReference(cycle.id),
88
+ adjustingEntryType: null,
89
+ reversalOfId: null,
90
+ postedAt: now,
91
+ createdAt: now,
92
+ updatedAt: null,
93
+ } as never)
94
+ .returningAll()
95
+ .executeTakeFirst();
96
+
97
+ createdEntries.push(journalEntry);
98
+ }
99
+
100
+ return createdEntries;
101
+ }
102
+
103
+ export async function createAllocationReversalEntries(db: Transaction, cycle: AllocationCycleLike) {
104
+ const originalEntries = (await db
105
+ .selectFrom("JournalEntry" as never)
106
+ .selectAll()
107
+ .where(
108
+ "sourceDocumentReference" as never,
109
+ "=",
110
+ buildPostingSourceDocumentReference(cycle.id) as never,
111
+ )
112
+ .where("status" as never, "=", "POSTED" as never)
113
+ .execute()) as JournalEntryLike[];
114
+
115
+ const now = new Date();
116
+ const reversalEntries = [];
117
+
118
+ for (const entry of originalEntries) {
119
+ const reversalEntry = await db
120
+ .insertInto("JournalEntry" as never)
121
+ .values({
122
+ companyId: cycle.companyId,
123
+ accountingPeriodId: cycle.accountingPeriodId,
124
+ entryDate: now,
125
+ journalType: JOURNAL_TYPE,
126
+ referenceNumber: buildReversalReferenceNumber(entry.referenceNumber),
127
+ status: "POSTED",
128
+ description: `Reversal of ${entry.referenceNumber}`,
129
+ sourceDocumentReference: buildReversalSourceDocumentReference(cycle.id),
130
+ adjustingEntryType: null,
131
+ reversalOfId: entry.id,
132
+ postedAt: now,
133
+ createdAt: now,
134
+ updatedAt: null,
135
+ } as never)
136
+ .returningAll()
137
+ .executeTakeFirst();
138
+
139
+ await db
140
+ .updateTable("JournalEntry" as never)
141
+ .set({
142
+ status: "REVERSED",
143
+ updatedAt: now,
144
+ } as never)
145
+ .where("id" as never, "=", entry.id as never)
146
+ .executeTakeFirst();
147
+
148
+ reversalEntries.push(reversalEntry);
149
+ }
150
+
151
+ return reversalEntries;
152
+ }
@@ -0,0 +1,432 @@
1
+ // @generated — do not edit
2
+ import { createDomainError } from "@tailor-platform/erp-kit/module";
3
+
4
+ export const BudgetNotFoundError = createDomainError(
5
+ "BudgetNotFoundError", "ACCOUNTING_BUDGET_NOT_FOUND",
6
+ (identifier: string) => `Budget with the specified ID does not exist: ${identifier}`,
7
+ );
8
+
9
+ export const InvalidStateError = createDomainError(
10
+ "InvalidStateError", "ACCOUNTING_INVALID_STATE",
11
+ (identifier: string) => `Budget is not in APPROVED status: ${identifier}`,
12
+ );
13
+
14
+ export const DuplicateActiveBudgetError = createDomainError(
15
+ "DuplicateActiveBudgetError", "ACCOUNTING_DUPLICATE_ACTIVE_BUDGET",
16
+ (identifier: string) => `Another ACTIVE budget of type BUDGET already exists for the same cost object and fiscal year: ${identifier}`,
17
+ );
18
+
19
+ export const CostElementNotFoundError = createDomainError(
20
+ "CostElementNotFoundError", "ACCOUNTING_COST_ELEMENT_NOT_FOUND",
21
+ (identifier: string) => `Cost element with the specified ID does not exist: ${identifier}`,
22
+ );
23
+
24
+ export const ProfitCenterNotFoundError = createDomainError(
25
+ "ProfitCenterNotFoundError", "ACCOUNTING_PROFIT_CENTER_NOT_FOUND",
26
+ (identifier: string) => `Profit center with the specified ID does not exist: ${identifier}`,
27
+ );
28
+
29
+ export const SelfApprovalNotAllowedError = createDomainError(
30
+ "SelfApprovalNotAllowedError", "ACCOUNTING_SELF_APPROVAL_NOT_ALLOWED",
31
+ (identifier: string) => `Approver is the same user who created the budget (segregation of duties violation): ${identifier}`,
32
+ );
33
+
34
+ export const CostCenterNotFoundError = createDomainError(
35
+ "CostCenterNotFoundError", "ACCOUNTING_COST_CENTER_NOT_FOUND",
36
+ (identifier: string) => `Cost center with the specified ID does not exist: ${identifier}`,
37
+ );
38
+
39
+ export const HierarchyNodeNotFoundError = createDomainError(
40
+ "HierarchyNodeNotFoundError", "ACCOUNTING_HIERARCHY_NODE_NOT_FOUND",
41
+ (identifier: string) => `Target hierarchy node does not exist: ${identifier}`,
42
+ );
43
+
44
+ export const CompanyMismatchError = createDomainError(
45
+ "CompanyMismatchError", "ACCOUNTING_COMPANY_MISMATCH",
46
+ (identifier: string) => `Cost center and target hierarchy node do not belong to the same company: ${identifier}`,
47
+ );
48
+
49
+ export const InternalOrderNotFoundError = createDomainError(
50
+ "InternalOrderNotFoundError", "ACCOUNTING_INTERNAL_ORDER_NOT_FOUND",
51
+ (identifier: string) => `Internal order with the specified ID does not exist: ${identifier}`,
52
+ );
53
+
54
+ export const CommitmentNotFoundError = createDomainError(
55
+ "CommitmentNotFoundError", "ACCOUNTING_COMMITMENT_NOT_FOUND",
56
+ (identifier: string) => `No commitment exists for the specified cost element, cost object, and period: ${identifier}`,
57
+ );
58
+
59
+ export const InvalidConsumptionAmountError = createDomainError(
60
+ "InvalidConsumptionAmountError", "ACCOUNTING_INVALID_CONSUMPTION_AMOUNT",
61
+ (identifier: string) => `Consumption amount is not positive: ${identifier}`,
62
+ );
63
+
64
+ export const ConsumptionExceedsCommitmentError = createDomainError(
65
+ "ConsumptionExceedsCommitmentError", "ACCOUNTING_CONSUMPTION_EXCEEDS_COMMITMENT",
66
+ (identifier: string) => `Consumption amount exceeds the remaining commitment amount: ${identifier}`,
67
+ );
68
+
69
+ export const CompanyNotFoundError = createDomainError(
70
+ "CompanyNotFoundError", "ACCOUNTING_COMPANY_NOT_FOUND",
71
+ (identifier: string) => `Referenced company does not exist or is not in ACTIVE status: ${identifier}`,
72
+ );
73
+
74
+ export const InvalidAllocationTypeError = createDomainError(
75
+ "InvalidAllocationTypeError", "ACCOUNTING_INVALID_ALLOCATION_TYPE",
76
+ (identifier: string) => `Type is not ASSESSMENT or DISTRIBUTION: ${identifier}`,
77
+ );
78
+
79
+ export const AccountingPeriodNotFoundError = createDomainError(
80
+ "AccountingPeriodNotFoundError", "ACCOUNTING_ACCOUNTING_PERIOD_NOT_FOUND",
81
+ (identifier: string) => `Referenced accounting period does not exist: ${identifier}`,
82
+ );
83
+
84
+ export const InvalidNameError = createDomainError(
85
+ "InvalidNameError", "ACCOUNTING_INVALID_NAME",
86
+ (identifier: string) => `Name is missing or empty: ${identifier}`,
87
+ );
88
+
89
+ export const AllocationCycleNotFoundError = createDomainError(
90
+ "AllocationCycleNotFoundError", "ACCOUNTING_ALLOCATION_CYCLE_NOT_FOUND",
91
+ (identifier: string) => `Allocation cycle with the specified ID does not exist: ${identifier}`,
92
+ );
93
+
94
+ export const SenderNotFoundError = createDomainError(
95
+ "SenderNotFoundError", "ACCOUNTING_SENDER_NOT_FOUND",
96
+ (identifier: string) => `Referenced sender cost center does not exist: ${identifier}`,
97
+ );
98
+
99
+ export const ReceiverNotFoundError = createDomainError(
100
+ "ReceiverNotFoundError", "ACCOUNTING_RECEIVER_NOT_FOUND",
101
+ (identifier: string) => `One or more referenced receiver cost objects do not exist: ${identifier}`,
102
+ );
103
+
104
+ export const SenderIsReceiverError = createDomainError(
105
+ "SenderIsReceiverError", "ACCOUNTING_SENDER_IS_RECEIVER",
106
+ (identifier: string) => `Sender cost center appears as a receiver in the same rule: ${identifier}`,
107
+ );
108
+
109
+ export const InvalidPercentageError = createDomainError(
110
+ "InvalidPercentageError", "ACCOUNTING_INVALID_PERCENTAGE",
111
+ (identifier: string) => `One or more percentage values are not positive: ${identifier}`,
112
+ );
113
+
114
+ export const FiscalYearNotFoundError = createDomainError(
115
+ "FiscalYearNotFoundError", "ACCOUNTING_FISCAL_YEAR_NOT_FOUND",
116
+ (identifier: string) => `Referenced fiscal year does not exist: ${identifier}`,
117
+ );
118
+
119
+ export const CostObjectNotFoundError = createDomainError(
120
+ "CostObjectNotFoundError", "ACCOUNTING_COST_OBJECT_NOT_FOUND",
121
+ (identifier: string) => `Referenced cost object (cost center, profit center, or internal order) does not exist: ${identifier}`,
122
+ );
123
+
124
+ export const PlanVersionNotFoundError = createDomainError(
125
+ "PlanVersionNotFoundError", "ACCOUNTING_PLAN_VERSION_NOT_FOUND",
126
+ (identifier: string) => `Referenced plan version does not exist: ${identifier}`,
127
+ );
128
+
129
+ export const BudgetHolderRequiredError = createDomainError(
130
+ "BudgetHolderRequiredError", "ACCOUNTING_BUDGET_HOLDER_REQUIRED",
131
+ (identifier: string) => `Budget holder reference is missing: ${identifier}`,
132
+ );
133
+
134
+ export const InvalidCostElementError = createDomainError(
135
+ "InvalidCostElementError", "ACCOUNTING_INVALID_COST_ELEMENT",
136
+ (identifier: string) => `Referenced cost element does not exist, is not PRIMARY type, or is not in ACTIVE status: ${identifier}`,
137
+ );
138
+
139
+ export const InvalidPlannedAmountError = createDomainError(
140
+ "InvalidPlannedAmountError", "ACCOUNTING_INVALID_PLANNED_AMOUNT",
141
+ (identifier: string) => `Planned amount is not a positive value: ${identifier}`,
142
+ );
143
+
144
+ export const DuplicateLineItemError = createDomainError(
145
+ "DuplicateLineItemError", "ACCOUNTING_DUPLICATE_LINE_ITEM",
146
+ (identifier: string) => `A line item with the same cost element and period already exists in this budget: ${identifier}`,
147
+ );
148
+
149
+ export const DuplicateCostCenterCodeError = createDomainError(
150
+ "DuplicateCostCenterCodeError", "ACCOUNTING_DUPLICATE_COST_CENTER_CODE",
151
+ (identifier: string) => `A cost center with the same code already exists within the company: ${identifier}`,
152
+ );
153
+
154
+ export const InvalidCategoryError = createDomainError(
155
+ "InvalidCategoryError", "ACCOUNTING_INVALID_CATEGORY",
156
+ (identifier: string) => `Category is not one of the recognized values (overhead, production, administration, sales, research): ${identifier}`,
157
+ );
158
+
159
+ export const InvalidValidityPeriodError = createDomainError(
160
+ "InvalidValidityPeriodError", "ACCOUNTING_INVALID_VALIDITY_PERIOD",
161
+ (identifier: string) => `validTo is before validFrom: ${identifier}`,
162
+ );
163
+
164
+ export const HierarchyNotFoundError = createDomainError(
165
+ "HierarchyNotFoundError", "ACCOUNTING_HIERARCHY_NOT_FOUND",
166
+ (identifier: string) => `Referenced hierarchy does not exist: ${identifier}`,
167
+ );
168
+
169
+ export const ParentNodeNotFoundError = createDomainError(
170
+ "ParentNodeNotFoundError", "ACCOUNTING_PARENT_NODE_NOT_FOUND",
171
+ (identifier: string) => `Referenced parent node does not exist within the hierarchy: ${identifier}`,
172
+ );
173
+
174
+ export const DuplicateRootNodeError = createDomainError(
175
+ "DuplicateRootNodeError", "ACCOUNTING_DUPLICATE_ROOT_NODE",
176
+ (identifier: string) => `A root node already exists in this hierarchy: ${identifier}`,
177
+ );
178
+
179
+ export const SelfReferenceError = createDomainError(
180
+ "SelfReferenceError", "ACCOUNTING_SELF_REFERENCE",
181
+ (identifier: string) => `Node cannot reference itself as its parent: ${identifier}`,
182
+ );
183
+
184
+ export const CircularReferenceError = createDomainError(
185
+ "CircularReferenceError", "ACCOUNTING_CIRCULAR_REFERENCE",
186
+ (identifier: string) => `Creating this node would introduce a circular reference in the hierarchy: ${identifier}`,
187
+ );
188
+
189
+ export const DuplicateCostElementCodeError = createDomainError(
190
+ "DuplicateCostElementCodeError", "ACCOUNTING_DUPLICATE_COST_ELEMENT_CODE",
191
+ (identifier: string) => `A cost element with the same code already exists within the company: ${identifier}`,
192
+ );
193
+
194
+ export const InvalidCostElementTypeError = createDomainError(
195
+ "InvalidCostElementTypeError", "ACCOUNTING_INVALID_COST_ELEMENT_TYPE",
196
+ (identifier: string) => `Type is not PRIMARY or SECONDARY: ${identifier}`,
197
+ );
198
+
199
+ export const InvalidCategoryForTypeError = createDomainError(
200
+ "InvalidCategoryForTypeError", "ACCOUNTING_INVALID_CATEGORY_FOR_TYPE",
201
+ (identifier: string) => `Category does not match the cost element type (e.g., assessment category on a PRIMARY element): ${identifier}`,
202
+ );
203
+
204
+ export const GlAccountRequiredError = createDomainError(
205
+ "GlAccountRequiredError", "ACCOUNTING_GL_ACCOUNT_REQUIRED",
206
+ (identifier: string) => `PRIMARY cost element is missing the required glAccountId: ${identifier}`,
207
+ );
208
+
209
+ export const GlAccountNotFoundError = createDomainError(
210
+ "GlAccountNotFoundError", "ACCOUNTING_GL_ACCOUNT_NOT_FOUND",
211
+ (identifier: string) => `Referenced GL account does not exist or is not active within an active Chart of Accounts: ${identifier}`,
212
+ );
213
+
214
+ export const GlAccountNotAllowedError = createDomainError(
215
+ "GlAccountNotAllowedError", "ACCOUNTING_GL_ACCOUNT_NOT_ALLOWED",
216
+ (identifier: string) => `SECONDARY cost element must not reference a GL account: ${identifier}`,
217
+ );
218
+
219
+ export const DuplicateGlAccountReferenceError = createDomainError(
220
+ "DuplicateGlAccountReferenceError", "ACCOUNTING_DUPLICATE_GL_ACCOUNT_REFERENCE",
221
+ (identifier: string) => `Another PRIMARY cost element within the same company already references the specified GL account: ${identifier}`,
222
+ );
223
+
224
+ export const DuplicateOrderNumberError = createDomainError(
225
+ "DuplicateOrderNumberError", "ACCOUNTING_DUPLICATE_ORDER_NUMBER",
226
+ (identifier: string) => `An internal order with the same order number already exists within the company: ${identifier}`,
227
+ );
228
+
229
+ export const InvalidOrderTypeError = createDomainError(
230
+ "InvalidOrderTypeError", "ACCOUNTING_INVALID_ORDER_TYPE",
231
+ (identifier: string) => `Order type is not one of the recognized values (OVERHEAD, INVESTMENT, ACCRUAL): ${identifier}`,
232
+ );
233
+
234
+ export const DescriptionRequiredError = createDomainError(
235
+ "DescriptionRequiredError", "ACCOUNTING_DESCRIPTION_REQUIRED",
236
+ (identifier: string) => `Description is missing or empty: ${identifier}`,
237
+ );
238
+
239
+ export const ResponsiblePersonRequiredError = createDomainError(
240
+ "ResponsiblePersonRequiredError", "ACCOUNTING_RESPONSIBLE_PERSON_REQUIRED",
241
+ (identifier: string) => `Responsible person reference is missing: ${identifier}`,
242
+ );
243
+
244
+ export const InvalidVersionTypeError = createDomainError(
245
+ "InvalidVersionTypeError", "ACCOUNTING_INVALID_VERSION_TYPE",
246
+ (identifier: string) => `Type is not BUDGET, FORECAST, or SIMULATION: ${identifier}`,
247
+ );
248
+
249
+ export const BaseVersionNotFoundError = createDomainError(
250
+ "BaseVersionNotFoundError", "ACCOUNTING_BASE_VERSION_NOT_FOUND",
251
+ (identifier: string) => `Referenced base version does not exist: ${identifier}`,
252
+ );
253
+
254
+ export const DuplicateProfitCenterCodeError = createDomainError(
255
+ "DuplicateProfitCenterCodeError", "ACCOUNTING_DUPLICATE_PROFIT_CENTER_CODE",
256
+ (identifier: string) => `A profit center with the same code already exists within the company: ${identifier}`,
257
+ );
258
+
259
+ export const ValidFromRequiredError = createDomainError(
260
+ "ValidFromRequiredError", "ACCOUNTING_VALID_FROM_REQUIRED",
261
+ (identifier: string) => `validFrom date is required but not provided: ${identifier}`,
262
+ );
263
+
264
+ export const AllocationRuleNotFoundError = createDomainError(
265
+ "AllocationRuleNotFoundError", "ACCOUNTING_ALLOCATION_RULE_NOT_FOUND",
266
+ (identifier: string) => `Allocation rule with the specified ID does not exist: ${identifier}`,
267
+ );
268
+
269
+ export const BudgetLineItemNotFoundError = createDomainError(
270
+ "BudgetLineItemNotFoundError", "ACCOUNTING_BUDGET_LINE_ITEM_NOT_FOUND",
271
+ (identifier: string) => `Budget line item with the specified ID does not exist: ${identifier}`,
272
+ );
273
+
274
+ export const CostCenterHasPostingsError = createDomainError(
275
+ "CostCenterHasPostingsError", "ACCOUNTING_COST_CENTER_HAS_POSTINGS",
276
+ (identifier: string) => `Cost center has associated cost postings and cannot be deleted: ${identifier}`,
277
+ );
278
+
279
+ export const CostCenterHasBudgetItemsError = createDomainError(
280
+ "CostCenterHasBudgetItemsError", "ACCOUNTING_COST_CENTER_HAS_BUDGET_ITEMS",
281
+ (identifier: string) => `Cost center has associated budget line items and cannot be deleted: ${identifier}`,
282
+ );
283
+
284
+ export const CostCenterHasAllocationRulesError = createDomainError(
285
+ "CostCenterHasAllocationRulesError", "ACCOUNTING_COST_CENTER_HAS_ALLOCATION_RULES",
286
+ (identifier: string) => `Cost center is referenced by allocation rules and cannot be deleted: ${identifier}`,
287
+ );
288
+
289
+ export const NodeNotFoundError = createDomainError(
290
+ "NodeNotFoundError", "ACCOUNTING_NODE_NOT_FOUND",
291
+ (identifier: string) => `Hierarchy node with the specified ID does not exist: ${identifier}`,
292
+ );
293
+
294
+ export const NodeHasChildrenError = createDomainError(
295
+ "NodeHasChildrenError", "ACCOUNTING_NODE_HAS_CHILDREN",
296
+ (identifier: string) => `Node has child nodes that must be reassigned or removed first: ${identifier}`,
297
+ );
298
+
299
+ export const NodeHasAssignedCostCentersError = createDomainError(
300
+ "NodeHasAssignedCostCentersError", "ACCOUNTING_NODE_HAS_ASSIGNED_COST_CENTERS",
301
+ (identifier: string) => `Node has cost centers assigned that must be reassigned first: ${identifier}`,
302
+ );
303
+
304
+ export const NodeHasAssignedProfitCentersError = createDomainError(
305
+ "NodeHasAssignedProfitCentersError", "ACCOUNTING_NODE_HAS_ASSIGNED_PROFIT_CENTERS",
306
+ (identifier: string) => `Node has profit centers assigned that must be reassigned first: ${identifier}`,
307
+ );
308
+
309
+ export const VarianceReportNotFoundError = createDomainError(
310
+ "VarianceReportNotFoundError", "ACCOUNTING_VARIANCE_REPORT_NOT_FOUND",
311
+ (identifier: string) => `Variance report with the specified ID does not exist: ${identifier}`,
312
+ );
313
+
314
+ export const NoBudgetDataError = createDomainError(
315
+ "NoBudgetDataError", "ACCOUNTING_NO_BUDGET_DATA",
316
+ (identifier: string) => `No budget line items exist for the specified cost object and period: ${identifier}`,
317
+ );
318
+
319
+ export const PeriodNotOpenError = createDomainError(
320
+ "PeriodNotOpenError", "ACCOUNTING_PERIOD_NOT_OPEN",
321
+ (identifier: string) => `Accounting period is not in OPEN or FUTURE_ENTERABLE status (e.g., CLOSED or PERMANENTLY_CLOSED): ${identifier}`,
322
+ );
323
+
324
+ export const InvalidCommitmentAmountError = createDomainError(
325
+ "InvalidCommitmentAmountError", "ACCOUNTING_INVALID_COMMITMENT_AMOUNT",
326
+ (identifier: string) => `Commitment amount is not positive: ${identifier}`,
327
+ );
328
+
329
+ export const NoActiveBudgetError = createDomainError(
330
+ "NoActiveBudgetError", "ACCOUNTING_NO_ACTIVE_BUDGET",
331
+ (identifier: string) => `No active budget exists for the specified cost object: ${identifier}`,
332
+ );
333
+
334
+ export const ReasonRequiredError = createDomainError(
335
+ "ReasonRequiredError", "ACCOUNTING_REASON_REQUIRED",
336
+ (identifier: string) => `Rejection reason text is missing or empty: ${identifier}`,
337
+ );
338
+
339
+ export const NoCommitmentToReleaseError = createDomainError(
340
+ "NoCommitmentToReleaseError", "ACCOUNTING_NO_COMMITMENT_TO_RELEASE",
341
+ (identifier: string) => `Commitment has already been fully consumed or released (remaining amount is zero): ${identifier}`,
342
+ );
343
+
344
+ export const NoLineItemsError = createDomainError(
345
+ "NoLineItemsError", "ACCOUNTING_NO_LINE_ITEMS",
346
+ (identifier: string) => `Budget has no line items and cannot be submitted: ${identifier}`,
347
+ );
348
+
349
+ export const CodeChangeNotAllowedError = createDomainError(
350
+ "CodeChangeNotAllowedError", "ACCOUNTING_CODE_CHANGE_NOT_ALLOWED",
351
+ (identifier: string) => `Cost center code cannot be changed after creation: ${identifier}`,
352
+ );
353
+
354
+ export const TypeChangeNotAllowedError = createDomainError(
355
+ "TypeChangeNotAllowedError", "ACCOUNTING_TYPE_CHANGE_NOT_ALLOWED",
356
+ (identifier: string) => `Changing the type (PRIMARY/SECONDARY) is never permitted: ${identifier}`,
357
+ );
358
+
359
+ export const CategoryChangeNotAllowedError = createDomainError(
360
+ "CategoryChangeNotAllowedError", "ACCOUNTING_CATEGORY_CHANGE_NOT_ALLOWED",
361
+ (identifier: string) => `Category cannot be changed when the cost element is in ACTIVE status: ${identifier}`,
362
+ );
363
+
364
+ export const GlAccountChangeNotAllowedError = createDomainError(
365
+ "GlAccountChangeNotAllowedError", "ACCOUNTING_GL_ACCOUNT_CHANGE_NOT_ALLOWED",
366
+ (identifier: string) => `GL account reference cannot be changed after activation: ${identifier}`,
367
+ );
368
+
369
+ export const OrderTypeChangeNotAllowedError = createDomainError(
370
+ "OrderTypeChangeNotAllowedError", "ACCOUNTING_ORDER_TYPE_CHANGE_NOT_ALLOWED",
371
+ (identifier: string) => `Order type cannot be changed after the order is released: ${identifier}`,
372
+ );
373
+
374
+ export const FieldNotUpdatableError = createDomainError(
375
+ "FieldNotUpdatableError", "ACCOUNTING_FIELD_NOT_UPDATABLE",
376
+ (identifier: string) => `Attempted to change a field that is not updatable in ACTIVE status: ${identifier}`,
377
+ );
378
+
379
+ export const NoAllocationRulesError = createDomainError(
380
+ "NoAllocationRulesError", "ACCOUNTING_NO_ALLOCATION_RULES",
381
+ (identifier: string) => `Cycle has no allocation rules defined: ${identifier}`,
382
+ );
383
+
384
+ export const InvalidPercentageSumError = createDomainError(
385
+ "InvalidPercentageSumError", "ACCOUNTING_INVALID_PERCENTAGE_SUM",
386
+ (identifier: string) => `Allocation rule percentages for one or more senders do not sum to exactly 100%: ${identifier}`,
387
+ );
388
+
389
+ export const NoBudgetDefinedError = createDomainError(
390
+ "NoBudgetDefinedError", "ACCOUNTING_NO_BUDGET_DEFINED",
391
+ (identifier: string) => `No ACTIVE budget exists for the specified cost object and fiscal year — caller receives null availability: ${identifier}`,
392
+ );
393
+
394
+ export const NoBudgetLineItemError = createDomainError(
395
+ "NoBudgetLineItemError", "ACCOUNTING_NO_BUDGET_LINE_ITEM",
396
+ (identifier: string) => `ACTIVE budget exists but no line item matches the specified cost element and period — caller receives null availability: ${identifier}`,
397
+ );
398
+
399
+ export const CostCenterHierarchyNotFoundError = createDomainError(
400
+ "CostCenterHierarchyNotFoundError", "ACCOUNTING_COST_CENTER_HIERARCHY_NOT_FOUND",
401
+ (identifier: string) => `No cost center hierarchy matches the given id — caller receives null: ${identifier}`,
402
+ );
403
+
404
+ export const ProfitCenterHierarchyNotFoundError = createDomainError(
405
+ "ProfitCenterHierarchyNotFoundError", "ACCOUNTING_PROFIT_CENTER_HIERARCHY_NOT_FOUND",
406
+ (identifier: string) => `No profit center hierarchy matches the given id — caller receives null: ${identifier}`,
407
+ );
408
+
409
+ export const InvalidTypeFilterError = createDomainError(
410
+ "InvalidTypeFilterError", "ACCOUNTING_INVALID_TYPE_FILTER",
411
+ (identifier: string) => `Provided type value is not ASSESSMENT or DISTRIBUTION: ${identifier}`,
412
+ );
413
+
414
+ export const InvalidStatusFilterError = createDomainError(
415
+ "InvalidStatusFilterError", "ACCOUNTING_INVALID_STATUS_FILTER",
416
+ (identifier: string) => `Provided status value is not DRAFT, VALIDATED, EXECUTED, POSTED, or REVERSED: ${identifier}`,
417
+ );
418
+
419
+ export const InvalidCostObjectTypeFilterError = createDomainError(
420
+ "InvalidCostObjectTypeFilterError", "ACCOUNTING_INVALID_COST_OBJECT_TYPE_FILTER",
421
+ (identifier: string) => `Provided costObjectType is not a recognized cost object type: ${identifier}`,
422
+ );
423
+
424
+ export const InvalidCategoryFilterError = createDomainError(
425
+ "InvalidCategoryFilterError", "ACCOUNTING_INVALID_CATEGORY_FILTER",
426
+ (identifier: string) => `Provided category value is not a recognized cost center category: ${identifier}`,
427
+ );
428
+
429
+ export const InvalidOrderTypeFilterError = createDomainError(
430
+ "InvalidOrderTypeFilterError", "ACCOUNTING_INVALID_ORDER_TYPE_FILTER",
431
+ (identifier: string) => `Provided orderType value is not OVERHEAD, INVESTMENT, or ACCRUAL: ${identifier}`,
432
+ );
@@ -0,0 +1,61 @@
1
+ // @generated — do not edit
2
+ import { definePermissions } from "@tailor-platform/erp-kit/module";
3
+
4
+ export const { permissions, own, all } = definePermissions("accounting", [
5
+ "activateBudget",
6
+ "activateCostElement",
7
+ "activateProfitCenter",
8
+ "approveBudget",
9
+ "assignCostCenterToHierarchyNode",
10
+ "assignProfitCenterToHierarchyNode",
11
+ "closeBudget",
12
+ "closeInternalOrder",
13
+ "consumeCommitment",
14
+ "createAllocationCycle",
15
+ "createAllocationRule",
16
+ "createBudget",
17
+ "createBudgetLineItem",
18
+ "createCostCenter",
19
+ "createCostCenterHierarchy",
20
+ "createCostCenterHierarchyNode",
21
+ "createCostElement",
22
+ "createInternalOrder",
23
+ "createPlanVersion",
24
+ "createProfitCenter",
25
+ "createProfitCenterHierarchy",
26
+ "createProfitCenterHierarchyNode",
27
+ "deactivateCostElement",
28
+ "deactivateProfitCenter",
29
+ "deleteAllocationCycle",
30
+ "deleteAllocationRule",
31
+ "deleteBudget",
32
+ "deleteBudgetLineItem",
33
+ "deleteCostCenter",
34
+ "deleteCostCenterHierarchyNode",
35
+ "deleteCostElement",
36
+ "deleteInternalOrder",
37
+ "deleteProfitCenter",
38
+ "deleteProfitCenterHierarchyNode",
39
+ "executeAllocationCycle",
40
+ "finalizeVarianceReport",
41
+ "generateVarianceReport",
42
+ "invalidateAllocationCycle",
43
+ "moveCostCenterHierarchyNode",
44
+ "postAllocationCycle",
45
+ "reactivateCostElement",
46
+ "reactivateProfitCenter",
47
+ "recordCommitment",
48
+ "rejectBudget",
49
+ "releaseCommitment",
50
+ "releaseInternalOrder",
51
+ "reverseAllocationCycle",
52
+ "submitBudget",
53
+ "technicallyCompleteInternalOrder",
54
+ "updateAllocationCycle",
55
+ "updateBudget",
56
+ "updateCostCenter",
57
+ "updateCostElement",
58
+ "updateInternalOrder",
59
+ "updateProfitCenter",
60
+ "validateAllocationCycle",
61
+ ] as const);