@tailor-platform/erp-kit 0.4.0 → 0.5.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 (1402) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +12 -12
  3. package/dist/cli.mjs +476 -29
  4. package/package.json +2 -11
  5. package/skills/erp-kit-app-1-requirements/SKILL.md +31 -3
  6. package/skills/{erp-kit-app-3-plan → erp-kit-app-1-requirements}/references/story-extraction.md +3 -9
  7. package/skills/erp-kit-app-2-requirements-review/SKILL.md +31 -7
  8. package/skills/erp-kit-app-2-requirements-review/references/best-practices-check.md +1 -1
  9. package/skills/erp-kit-app-2-requirements-review/references/story-quality-check.md +67 -0
  10. package/skills/erp-kit-app-3-plan/SKILL.md +33 -32
  11. package/skills/erp-kit-app-3-plan/references/resolver-extraction.md +10 -5
  12. package/skills/erp-kit-app-3-plan/references/screen-extraction.md +5 -3
  13. package/skills/erp-kit-app-4-plan-review/SKILL.md +19 -14
  14. package/skills/erp-kit-app-4-plan-review/references/orphan-detection.md +3 -0
  15. package/skills/erp-kit-app-4-plan-review/references/story-resolver-parity.md +21 -3
  16. package/skills/erp-kit-app-5-impl-backend/SKILL.md +22 -3
  17. package/skills/erp-kit-app-6-impl-frontend/SKILL.md +19 -4
  18. package/skills/erp-kit-app-7-impl-review/SKILL.md +19 -15
  19. package/skills/erp-kit-app-shared/references/resolver-classification.md +3 -0
  20. package/skills/erp-kit-module-2-requirements-review/SKILL.md +17 -36
  21. package/skills/erp-kit-module-3-update-plan/SKILL.md +132 -0
  22. package/skills/erp-kit-module-3-update-plan/references/command-extraction.md +87 -0
  23. package/skills/erp-kit-module-3-update-plan/references/model-extraction.md +72 -0
  24. package/skills/erp-kit-module-3-update-plan/references/naming.md +73 -0
  25. package/skills/erp-kit-module-3-update-plan/references/query-extraction.md +59 -0
  26. package/skills/erp-kit-module-4-plan-review/SKILL.md +17 -76
  27. package/skills/erp-kit-module-5-impl/SKILL.md +1 -0
  28. package/skills/erp-kit-module-6-impl-review/SKILL.md +42 -120
  29. package/skills/erp-kit-module-6-impl-review/references/command-doc-test-parity.md +1 -1
  30. package/skills/erp-kit-module-6-impl-review/references/{error-implementation-parity.md → command-error-implementation-parity.md} +3 -3
  31. package/skills/erp-kit-module-6-impl-review/references/impl-parity-report-format.md +1 -1
  32. package/skills/erp-kit-module-6-impl-review/references/query-doc-code-parity.md +110 -0
  33. package/skills/erp-kit-module-6-impl-review/references/query-doc-test-parity.md +108 -0
  34. package/skills/erp-kit-module-6-impl-review/references/query-error-implementation-parity.md +100 -0
  35. package/skills/erp-kit-module-shared/references/commands.md +1 -1
  36. package/skills/erp-kit-module-shared/references/queries.md +5 -6
  37. package/src/commands/app/index.ts +18 -3
  38. package/src/commands/check.test.ts +1 -1
  39. package/src/commands/doc/module.ts +2 -3
  40. package/src/commands/doc/modules.test.ts +0 -7
  41. package/src/commands/doc/modules.ts +1 -2
  42. package/src/commands/doc/search.ts +1 -2
  43. package/src/commands/init.ts +4 -0
  44. package/src/commands/lib/distribute.test.ts +32 -1
  45. package/src/commands/lib/distribute.ts +47 -5
  46. package/src/commands/lib/sync-check-source.test.ts +1 -1
  47. package/src/commands/update.test.ts +16 -0
  48. package/src/commands/update.ts +4 -1
  49. package/src/generator/generate-code-boilerplate.test.ts +0 -1
  50. package/src/generator/generate-code.test.ts +10 -6
  51. package/src/generator/generate-errors.ts +1 -1
  52. package/src/generator/generate-permissions.ts +1 -1
  53. package/src/generator/generate-seed.ts +69 -0
  54. package/src/generator/generate-shells.ts +2 -2
  55. package/src/generator/stub-templates.ts +5 -5
  56. package/src/module.ts +59 -0
  57. package/src/modules/audit/command/activateAuditPolicy.generated.ts +1 -1
  58. package/src/modules/audit/command/activateAuditPolicy.test.ts +1 -1
  59. package/src/modules/audit/command/activateAuditPolicy.ts +1 -1
  60. package/src/modules/audit/command/createAuditPolicy.generated.ts +1 -1
  61. package/src/modules/audit/command/createAuditPolicy.test.ts +1 -1
  62. package/src/modules/audit/command/createAuditPolicy.ts +1 -1
  63. package/src/modules/audit/command/deactivateAuditPolicy.generated.ts +1 -1
  64. package/src/modules/audit/command/deactivateAuditPolicy.test.ts +2 -2
  65. package/src/modules/audit/command/deactivateAuditPolicy.ts +1 -1
  66. package/src/modules/audit/command/deleteAuditPolicy.generated.ts +1 -1
  67. package/src/modules/audit/command/deleteAuditPolicy.test.ts +1 -1
  68. package/src/modules/audit/command/deleteAuditPolicy.ts +1 -1
  69. package/src/modules/audit/command/logAuditEvent.generated.ts +1 -1
  70. package/src/modules/audit/command/logAuditEvent.test.ts +1 -1
  71. package/src/modules/audit/command/logAuditEvent.ts +1 -1
  72. package/src/modules/audit/command/reactivateAuditPolicy.generated.ts +1 -1
  73. package/src/modules/audit/command/reactivateAuditPolicy.test.ts +2 -2
  74. package/src/modules/audit/command/reactivateAuditPolicy.ts +1 -1
  75. package/src/modules/audit/command/registerAuditableEntity.generated.ts +1 -1
  76. package/src/modules/audit/command/registerAuditableEntity.test.ts +1 -1
  77. package/src/modules/audit/command/registerAuditableEntity.ts +1 -1
  78. package/src/modules/audit/command/replaceAuditPolicy.generated.ts +1 -1
  79. package/src/modules/audit/command/replaceAuditPolicy.test.ts +1 -1
  80. package/src/modules/audit/command/replaceAuditPolicy.ts +1 -1
  81. package/src/modules/audit/command/updateAuditPolicy.generated.ts +1 -1
  82. package/src/modules/audit/command/updateAuditPolicy.test.ts +1 -1
  83. package/src/modules/audit/command/updateAuditPolicy.ts +1 -1
  84. package/src/modules/audit/lib/errors.generated.ts +1 -1
  85. package/src/modules/audit/lib/permissions.generated.ts +1 -1
  86. package/src/modules/audit/lib/types.ts +6 -1
  87. package/src/modules/audit/permissions.ts +1 -1
  88. package/src/modules/audit/query/getAuditEntry.generated.ts +1 -1
  89. package/src/modules/audit/query/getAuditEntry.test.ts +2 -2
  90. package/src/modules/audit/query/getAuditEntry.ts +7 -1
  91. package/src/modules/audit/query/getAuditPolicy.generated.ts +1 -1
  92. package/src/modules/audit/query/getAuditPolicy.test.ts +2 -2
  93. package/src/modules/audit/query/getAuditPolicy.ts +7 -1
  94. package/src/modules/audit/query/getAuditSummary.generated.ts +1 -1
  95. package/src/modules/audit/query/getAuditSummary.test.ts +2 -2
  96. package/src/modules/audit/query/getAuditSummary.ts +7 -1
  97. package/src/modules/audit/query/getChangeDetails.generated.ts +1 -1
  98. package/src/modules/audit/query/getChangeDetails.test.ts +2 -2
  99. package/src/modules/audit/query/getChangeDetails.ts +7 -1
  100. package/src/modules/audit/query/listAuditPolicies.generated.ts +1 -1
  101. package/src/modules/audit/query/listAuditPolicies.test.ts +2 -2
  102. package/src/modules/audit/query/listAuditPolicies.ts +3 -3
  103. package/src/modules/audit/query/searchAuditEntries.generated.ts +1 -1
  104. package/src/modules/audit/query/searchAuditEntries.test.ts +2 -2
  105. package/src/modules/audit/query/searchAuditEntries.ts +7 -7
  106. package/src/modules/business-partner/README.md +2 -2
  107. package/src/modules/business-partner/command/activatePartner.generated.ts +1 -1
  108. package/src/modules/business-partner/command/activatePartner.ts +1 -1
  109. package/src/modules/business-partner/command/assignRoleToPartner.generated.ts +1 -1
  110. package/src/modules/business-partner/command/assignRoleToPartner.test.ts +1 -1
  111. package/src/modules/business-partner/command/assignRoleToPartner.ts +1 -1
  112. package/src/modules/business-partner/command/createContactPerson.generated.ts +1 -1
  113. package/src/modules/business-partner/command/createContactPerson.ts +1 -1
  114. package/src/modules/business-partner/command/createPartner.generated.ts +1 -1
  115. package/src/modules/business-partner/command/createPartner.test.ts +1 -1
  116. package/src/modules/business-partner/command/createPartner.ts +3 -4
  117. package/src/modules/business-partner/command/createPartnerAddress.generated.ts +1 -1
  118. package/src/modules/business-partner/command/createPartnerAddress.ts +1 -1
  119. package/src/modules/business-partner/command/createPartnerBankAccount.generated.ts +1 -1
  120. package/src/modules/business-partner/command/createPartnerBankAccount.test.ts +1 -1
  121. package/src/modules/business-partner/command/createPartnerBankAccount.ts +1 -1
  122. package/src/modules/business-partner/command/createPartnerIdentification.generated.ts +1 -1
  123. package/src/modules/business-partner/command/createPartnerIdentification.test.ts +1 -1
  124. package/src/modules/business-partner/command/createPartnerIdentification.ts +1 -1
  125. package/src/modules/business-partner/command/deactivateContactPerson.generated.ts +1 -1
  126. package/src/modules/business-partner/command/deactivateContactPerson.ts +1 -1
  127. package/src/modules/business-partner/command/deactivatePartner.generated.ts +1 -1
  128. package/src/modules/business-partner/command/deactivatePartner.ts +1 -1
  129. package/src/modules/business-partner/command/deleteContactPerson.generated.ts +1 -1
  130. package/src/modules/business-partner/command/deleteContactPerson.ts +1 -1
  131. package/src/modules/business-partner/command/deletePartner.generated.ts +1 -1
  132. package/src/modules/business-partner/command/deletePartner.ts +1 -1
  133. package/src/modules/business-partner/command/deletePartnerAddress.generated.ts +1 -1
  134. package/src/modules/business-partner/command/deletePartnerAddress.test.ts +1 -1
  135. package/src/modules/business-partner/command/deletePartnerAddress.ts +1 -1
  136. package/src/modules/business-partner/command/deletePartnerBankAccount.generated.ts +1 -1
  137. package/src/modules/business-partner/command/deletePartnerBankAccount.test.ts +1 -1
  138. package/src/modules/business-partner/command/deletePartnerBankAccount.ts +1 -1
  139. package/src/modules/business-partner/command/deletePartnerIdentification.generated.ts +1 -1
  140. package/src/modules/business-partner/command/deletePartnerIdentification.test.ts +1 -1
  141. package/src/modules/business-partner/command/deletePartnerIdentification.ts +1 -1
  142. package/src/modules/business-partner/command/reactivateContactPerson.generated.ts +1 -1
  143. package/src/modules/business-partner/command/reactivateContactPerson.ts +1 -1
  144. package/src/modules/business-partner/command/reactivatePartner.generated.ts +1 -1
  145. package/src/modules/business-partner/command/reactivatePartner.ts +1 -1
  146. package/src/modules/business-partner/command/removeRoleFromPartner.generated.ts +1 -1
  147. package/src/modules/business-partner/command/removeRoleFromPartner.test.ts +1 -1
  148. package/src/modules/business-partner/command/removeRoleFromPartner.ts +1 -1
  149. package/src/modules/business-partner/command/setDefaultPartnerAddress.generated.ts +1 -1
  150. package/src/modules/business-partner/command/setDefaultPartnerAddress.ts +1 -1
  151. package/src/modules/business-partner/command/setDefaultPartnerBankAccount.generated.ts +1 -1
  152. package/src/modules/business-partner/command/setDefaultPartnerBankAccount.test.ts +1 -1
  153. package/src/modules/business-partner/command/setDefaultPartnerBankAccount.ts +1 -1
  154. package/src/modules/business-partner/command/setPrimaryContactPerson.generated.ts +1 -1
  155. package/src/modules/business-partner/command/setPrimaryContactPerson.ts +1 -1
  156. package/src/modules/business-partner/command/updateContactPerson.generated.ts +1 -1
  157. package/src/modules/business-partner/command/updateContactPerson.ts +1 -1
  158. package/src/modules/business-partner/command/updatePartner.generated.ts +1 -1
  159. package/src/modules/business-partner/command/updatePartner.test.ts +1 -1
  160. package/src/modules/business-partner/command/updatePartner.ts +1 -1
  161. package/src/modules/business-partner/command/updatePartnerAddress.generated.ts +1 -1
  162. package/src/modules/business-partner/command/updatePartnerAddress.ts +1 -1
  163. package/src/modules/business-partner/command/updatePartnerBankAccount.generated.ts +1 -1
  164. package/src/modules/business-partner/command/updatePartnerBankAccount.test.ts +1 -1
  165. package/src/modules/business-partner/command/updatePartnerBankAccount.ts +1 -1
  166. package/src/modules/business-partner/command/updatePartnerIdentification.generated.ts +1 -1
  167. package/src/modules/business-partner/command/updatePartnerIdentification.test.ts +1 -1
  168. package/src/modules/business-partner/command/updatePartnerIdentification.ts +1 -1
  169. package/src/modules/business-partner/lib/errors.generated.ts +1 -1
  170. package/src/modules/business-partner/lib/permissions.generated.ts +1 -1
  171. package/src/modules/business-partner/lib/types.ts +6 -1
  172. package/src/modules/business-partner/module.ts +1 -1
  173. package/src/modules/business-partner/permissions.ts +1 -1
  174. package/src/modules/business-partner/query/getContactPerson.generated.ts +1 -1
  175. package/src/modules/business-partner/query/getContactPerson.ts +1 -1
  176. package/src/modules/business-partner/query/getDefaultPartnerAddress.generated.ts +1 -1
  177. package/src/modules/business-partner/query/getDefaultPartnerAddress.ts +1 -1
  178. package/src/modules/business-partner/query/getDefaultPartnerBankAccount.generated.ts +1 -1
  179. package/src/modules/business-partner/query/getDefaultPartnerBankAccount.ts +1 -1
  180. package/src/modules/business-partner/query/getPartner.generated.ts +1 -1
  181. package/src/modules/business-partner/query/getPartner.ts +1 -1
  182. package/src/modules/business-partner/query/getPartnerAddress.generated.ts +1 -1
  183. package/src/modules/business-partner/query/getPartnerAddress.ts +1 -1
  184. package/src/modules/business-partner/query/getPartnerBankAccount.generated.ts +1 -1
  185. package/src/modules/business-partner/query/getPartnerBankAccount.ts +1 -1
  186. package/src/modules/business-partner/query/getPartnerIdentification.generated.ts +1 -1
  187. package/src/modules/business-partner/query/getPartnerIdentification.ts +1 -1
  188. package/src/modules/business-partner/query/getPartnerRole.generated.ts +1 -1
  189. package/src/modules/business-partner/query/getPartnerRole.ts +1 -1
  190. package/src/modules/business-partner/query/getPrimaryContactPerson.generated.ts +1 -1
  191. package/src/modules/business-partner/query/getPrimaryContactPerson.ts +1 -1
  192. package/src/modules/business-partner/query/listContactPersonsByPartner.generated.ts +1 -1
  193. package/src/modules/business-partner/query/listContactPersonsByPartner.ts +2 -2
  194. package/src/modules/business-partner/query/listPartnerAddressesByPartner.generated.ts +1 -1
  195. package/src/modules/business-partner/query/listPartnerAddressesByPartner.ts +3 -3
  196. package/src/modules/business-partner/query/listPartnerBankAccountsByPartner.generated.ts +1 -1
  197. package/src/modules/business-partner/query/listPartnerBankAccountsByPartner.ts +2 -2
  198. package/src/modules/business-partner/query/listPartnerIdentificationsByPartner.generated.ts +1 -1
  199. package/src/modules/business-partner/query/listPartnerIdentificationsByPartner.ts +3 -3
  200. package/src/modules/business-partner/query/listPartnersByRole.generated.ts +1 -1
  201. package/src/modules/business-partner/query/listPartnersByRole.ts +4 -4
  202. package/src/modules/coa-management/command/activateAccount.generated.ts +1 -1
  203. package/src/modules/coa-management/command/activateAccount.test.ts +1 -1
  204. package/src/modules/coa-management/command/activateAccount.ts +1 -1
  205. package/src/modules/coa-management/command/activateChartOfAccounts.generated.ts +1 -1
  206. package/src/modules/coa-management/command/activateChartOfAccounts.test.ts +1 -1
  207. package/src/modules/coa-management/command/activateChartOfAccounts.ts +1 -1
  208. package/src/modules/coa-management/command/createAccount.generated.ts +1 -1
  209. package/src/modules/coa-management/command/createAccount.test.ts +1 -1
  210. package/src/modules/coa-management/command/createAccount.ts +1 -1
  211. package/src/modules/coa-management/command/createAccountGroup.generated.ts +1 -1
  212. package/src/modules/coa-management/command/createAccountGroup.test.ts +1 -1
  213. package/src/modules/coa-management/command/createAccountGroup.ts +1 -1
  214. package/src/modules/coa-management/command/createChartOfAccounts.generated.ts +1 -1
  215. package/src/modules/coa-management/command/createChartOfAccounts.test.ts +1 -1
  216. package/src/modules/coa-management/command/createChartOfAccounts.ts +1 -1
  217. package/src/modules/coa-management/command/deactivateAccount.generated.ts +1 -1
  218. package/src/modules/coa-management/command/deactivateAccount.test.ts +1 -1
  219. package/src/modules/coa-management/command/deactivateAccount.ts +1 -1
  220. package/src/modules/coa-management/command/deactivateChartOfAccounts.generated.ts +1 -1
  221. package/src/modules/coa-management/command/deactivateChartOfAccounts.test.ts +1 -1
  222. package/src/modules/coa-management/command/deactivateChartOfAccounts.ts +1 -1
  223. package/src/modules/coa-management/command/deleteAccount.generated.ts +1 -1
  224. package/src/modules/coa-management/command/deleteAccount.test.ts +1 -1
  225. package/src/modules/coa-management/command/deleteAccount.ts +1 -1
  226. package/src/modules/coa-management/command/deleteAccountGroup.generated.ts +1 -1
  227. package/src/modules/coa-management/command/deleteAccountGroup.test.ts +1 -1
  228. package/src/modules/coa-management/command/deleteAccountGroup.ts +1 -1
  229. package/src/modules/coa-management/command/deleteChartOfAccounts.generated.ts +1 -1
  230. package/src/modules/coa-management/command/deleteChartOfAccounts.test.ts +1 -1
  231. package/src/modules/coa-management/command/deleteChartOfAccounts.ts +1 -1
  232. package/src/modules/coa-management/command/moveAccountGroup.generated.ts +1 -1
  233. package/src/modules/coa-management/command/moveAccountGroup.test.ts +1 -1
  234. package/src/modules/coa-management/command/moveAccountGroup.ts +1 -1
  235. package/src/modules/coa-management/command/reactivateAccount.generated.ts +1 -1
  236. package/src/modules/coa-management/command/reactivateAccount.test.ts +1 -1
  237. package/src/modules/coa-management/command/reactivateAccount.ts +1 -1
  238. package/src/modules/coa-management/command/updateAccount.generated.ts +1 -1
  239. package/src/modules/coa-management/command/updateAccount.test.ts +1 -1
  240. package/src/modules/coa-management/command/updateAccount.ts +1 -1
  241. package/src/modules/coa-management/command/updateAccountGroup.generated.ts +1 -1
  242. package/src/modules/coa-management/command/updateAccountGroup.test.ts +1 -1
  243. package/src/modules/coa-management/command/updateAccountGroup.ts +1 -1
  244. package/src/modules/coa-management/command/updateChartOfAccounts.generated.ts +1 -1
  245. package/src/modules/coa-management/command/updateChartOfAccounts.test.ts +1 -1
  246. package/src/modules/coa-management/command/updateChartOfAccounts.ts +1 -1
  247. package/src/modules/coa-management/lib/errors.generated.ts +1 -1
  248. package/src/modules/coa-management/lib/permissions.generated.ts +1 -1
  249. package/src/modules/coa-management/lib/types.ts +6 -1
  250. package/src/modules/coa-management/module.ts +1 -1
  251. package/src/modules/coa-management/permissions.ts +1 -1
  252. package/src/modules/coa-management/query/detectCircularReference.generated.ts +1 -1
  253. package/src/modules/coa-management/query/detectCircularReference.ts +1 -1
  254. package/src/modules/coa-management/query/getAccount.generated.ts +1 -1
  255. package/src/modules/coa-management/query/getAccount.ts +1 -1
  256. package/src/modules/coa-management/query/getAccountGroup.generated.ts +1 -1
  257. package/src/modules/coa-management/query/getAccountGroup.ts +1 -1
  258. package/src/modules/coa-management/query/getChartOfAccounts.generated.ts +1 -1
  259. package/src/modules/coa-management/query/getChartOfAccounts.ts +1 -1
  260. package/src/modules/coa-management/query/listAccountGroups.generated.ts +1 -1
  261. package/src/modules/coa-management/query/listAccountGroups.ts +2 -2
  262. package/src/modules/coa-management/query/listAccounts.generated.ts +1 -1
  263. package/src/modules/coa-management/query/listAccounts.ts +3 -3
  264. package/src/modules/coa-management/query/listUnassignedAccounts.generated.ts +1 -1
  265. package/src/modules/coa-management/query/listUnassignedAccounts.ts +2 -2
  266. package/src/modules/inventory/README.md +65 -0
  267. package/src/modules/inventory/command/approveCountLine.generated.ts +6 -0
  268. package/src/modules/inventory/command/approveCountLine.test.ts +89 -0
  269. package/src/modules/inventory/command/approveCountLine.ts +68 -0
  270. package/src/modules/inventory/command/approveInventoryAdjustment.generated.ts +6 -0
  271. package/src/modules/inventory/command/approveInventoryAdjustment.test.ts +56 -0
  272. package/src/modules/inventory/command/approveInventoryAdjustment.ts +50 -0
  273. package/src/modules/inventory/command/assignSerialNumber.generated.ts +6 -0
  274. package/src/modules/inventory/command/assignSerialNumber.test.ts +133 -0
  275. package/src/modules/inventory/command/assignSerialNumber.ts +83 -0
  276. package/src/modules/inventory/command/cancelInventoryCount.generated.ts +6 -0
  277. package/src/modules/inventory/command/cancelInventoryCount.test.ts +114 -0
  278. package/src/modules/inventory/command/cancelInventoryCount.ts +62 -0
  279. package/src/modules/inventory/command/cancelStockMovement.generated.ts +6 -0
  280. package/src/modules/inventory/command/cancelStockMovement.test.ts +102 -0
  281. package/src/modules/inventory/command/cancelStockMovement.ts +56 -0
  282. package/src/modules/inventory/command/completeInventoryCount.generated.ts +6 -0
  283. package/src/modules/inventory/command/completeInventoryCount.test.ts +99 -0
  284. package/src/modules/inventory/command/completeInventoryCount.ts +70 -0
  285. package/src/modules/inventory/command/confirmInventoryAdjustment.generated.ts +6 -0
  286. package/src/modules/inventory/command/confirmInventoryAdjustment.test.ts +324 -0
  287. package/src/modules/inventory/command/confirmInventoryAdjustment.ts +194 -0
  288. package/src/modules/inventory/command/confirmStockMovement.generated.ts +6 -0
  289. package/src/modules/inventory/command/confirmStockMovement.test.ts +126 -0
  290. package/src/modules/inventory/command/confirmStockMovement.ts +131 -0
  291. package/src/modules/inventory/command/createInventoryAdjustment.generated.ts +6 -0
  292. package/src/modules/inventory/command/createInventoryAdjustment.test.ts +298 -0
  293. package/src/modules/inventory/command/createInventoryAdjustment.ts +124 -0
  294. package/src/modules/inventory/command/createInventoryCount.generated.ts +6 -0
  295. package/src/modules/inventory/command/createInventoryCount.test.ts +157 -0
  296. package/src/modules/inventory/command/createInventoryCount.ts +72 -0
  297. package/src/modules/inventory/command/createLot.generated.ts +6 -0
  298. package/src/modules/inventory/command/createLot.test.ts +106 -0
  299. package/src/modules/inventory/command/createLot.ts +72 -0
  300. package/src/modules/inventory/command/createStockMovement.generated.ts +6 -0
  301. package/src/modules/inventory/command/createStockMovement.test.ts +342 -0
  302. package/src/modules/inventory/command/createStockMovement.ts +172 -0
  303. package/src/modules/inventory/command/createStorageLocation.generated.ts +6 -0
  304. package/src/modules/inventory/command/createStorageLocation.test.ts +246 -0
  305. package/src/modules/inventory/command/createStorageLocation.ts +126 -0
  306. package/src/modules/inventory/command/createValuationPolicy.generated.ts +6 -0
  307. package/src/modules/inventory/command/createValuationPolicy.test.ts +75 -0
  308. package/src/modules/inventory/command/createValuationPolicy.ts +52 -0
  309. package/src/modules/inventory/command/createWarehouse.generated.ts +6 -0
  310. package/src/modules/inventory/command/createWarehouse.test.ts +143 -0
  311. package/src/modules/inventory/command/createWarehouse.ts +76 -0
  312. package/src/modules/inventory/command/deactivateStorageLocation.generated.ts +6 -0
  313. package/src/modules/inventory/command/deactivateStorageLocation.test.ts +69 -0
  314. package/src/modules/inventory/command/deactivateStorageLocation.ts +51 -0
  315. package/src/modules/inventory/command/deactivateWarehouse.generated.ts +6 -0
  316. package/src/modules/inventory/command/deactivateWarehouse.test.ts +75 -0
  317. package/src/modules/inventory/command/deactivateWarehouse.ts +45 -0
  318. package/src/modules/inventory/command/executeStockMovement.generated.ts +6 -0
  319. package/src/modules/inventory/command/executeStockMovement.test.ts +502 -0
  320. package/src/modules/inventory/command/executeStockMovement.ts +303 -0
  321. package/src/modules/inventory/command/reactivateStorageLocation.generated.ts +6 -0
  322. package/src/modules/inventory/command/reactivateStorageLocation.test.ts +78 -0
  323. package/src/modules/inventory/command/reactivateStorageLocation.ts +63 -0
  324. package/src/modules/inventory/command/reactivateWarehouse.generated.ts +6 -0
  325. package/src/modules/inventory/command/reactivateWarehouse.test.ts +87 -0
  326. package/src/modules/inventory/command/reactivateWarehouse.ts +65 -0
  327. package/src/modules/inventory/command/recordCountLine.generated.ts +6 -0
  328. package/src/modules/inventory/command/recordCountLine.test.ts +211 -0
  329. package/src/modules/inventory/command/recordCountLine.ts +81 -0
  330. package/src/modules/inventory/command/rejectCountLine.generated.ts +6 -0
  331. package/src/modules/inventory/command/rejectCountLine.test.ts +66 -0
  332. package/src/modules/inventory/command/rejectCountLine.ts +50 -0
  333. package/src/modules/inventory/command/rejectInventoryAdjustment.generated.ts +6 -0
  334. package/src/modules/inventory/command/rejectInventoryAdjustment.test.ts +69 -0
  335. package/src/modules/inventory/command/rejectInventoryAdjustment.ts +50 -0
  336. package/src/modules/inventory/command/releaseReservation.generated.ts +6 -0
  337. package/src/modules/inventory/command/releaseReservation.test.ts +65 -0
  338. package/src/modules/inventory/command/releaseReservation.ts +50 -0
  339. package/src/modules/inventory/command/reserveStock.generated.ts +6 -0
  340. package/src/modules/inventory/command/reserveStock.test.ts +141 -0
  341. package/src/modules/inventory/command/reserveStock.ts +88 -0
  342. package/src/modules/inventory/command/reviseInventoryAdjustment.generated.ts +6 -0
  343. package/src/modules/inventory/command/reviseInventoryAdjustment.test.ts +68 -0
  344. package/src/modules/inventory/command/reviseInventoryAdjustment.ts +48 -0
  345. package/src/modules/inventory/command/startInventoryCount.generated.ts +6 -0
  346. package/src/modules/inventory/command/startInventoryCount.test.ts +100 -0
  347. package/src/modules/inventory/command/startInventoryCount.ts +90 -0
  348. package/src/modules/inventory/command/submitInventoryAdjustment.generated.ts +6 -0
  349. package/src/modules/inventory/command/submitInventoryAdjustment.test.ts +53 -0
  350. package/src/modules/inventory/command/submitInventoryAdjustment.ts +47 -0
  351. package/src/modules/inventory/command/updateLot.generated.ts +6 -0
  352. package/src/modules/inventory/command/updateLot.test.ts +88 -0
  353. package/src/modules/inventory/command/updateLot.ts +52 -0
  354. package/src/modules/inventory/command/updateStockMovement.generated.ts +6 -0
  355. package/src/modules/inventory/command/updateStockMovement.test.ts +250 -0
  356. package/src/modules/inventory/command/updateStockMovement.ts +164 -0
  357. package/src/modules/inventory/command/updateStorageLocation.generated.ts +6 -0
  358. package/src/modules/inventory/command/updateStorageLocation.test.ts +72 -0
  359. package/src/modules/inventory/command/updateStorageLocation.ts +77 -0
  360. package/src/modules/inventory/command/updateValuationPolicy.generated.ts +6 -0
  361. package/src/modules/inventory/command/updateValuationPolicy.test.ts +68 -0
  362. package/src/modules/inventory/command/updateValuationPolicy.ts +74 -0
  363. package/src/modules/inventory/command/updateWarehouse.generated.ts +6 -0
  364. package/src/modules/inventory/command/updateWarehouse.test.ts +88 -0
  365. package/src/modules/inventory/command/updateWarehouse.ts +64 -0
  366. package/src/modules/inventory/db/costLayer.ts +54 -0
  367. package/src/modules/inventory/db/inventoryAdjustment.ts +88 -0
  368. package/src/modules/inventory/db/inventoryCount.ts +58 -0
  369. package/src/modules/inventory/db/inventoryCountLine.ts +61 -0
  370. package/src/modules/inventory/db/itemValuation.ts +50 -0
  371. package/src/modules/inventory/db/lot.ts +51 -0
  372. package/src/modules/inventory/db/lotStockLevel.ts +48 -0
  373. package/src/modules/inventory/db/serialNumber.ts +53 -0
  374. package/src/modules/inventory/db/stockLevel.ts +51 -0
  375. package/src/modules/inventory/db/stockMoveLine.ts +78 -0
  376. package/src/modules/inventory/db/stockMovement.ts +48 -0
  377. package/src/modules/inventory/db/storageLocation.ts +56 -0
  378. package/src/modules/inventory/db/valuationPolicy.ts +33 -0
  379. package/src/modules/inventory/db/warehouse.ts +45 -0
  380. package/src/modules/inventory/docs/commands/ApproveCountLine.md +44 -0
  381. package/src/modules/inventory/docs/commands/ApproveInventoryAdjustment.md +37 -0
  382. package/src/modules/inventory/docs/commands/AssignSerialNumber.md +46 -0
  383. package/src/modules/inventory/docs/commands/CancelInventoryCount.md +49 -0
  384. package/src/modules/inventory/docs/commands/CancelStockMovement.md +44 -0
  385. package/src/modules/inventory/docs/commands/CompleteInventoryCount.md +47 -0
  386. package/src/modules/inventory/docs/commands/ConfirmInventoryAdjustment.md +72 -0
  387. package/src/modules/inventory/docs/commands/ConfirmStockMovement.md +43 -0
  388. package/src/modules/inventory/docs/commands/CreateInventoryAdjustment.md +75 -0
  389. package/src/modules/inventory/docs/commands/CreateInventoryCount.md +49 -0
  390. package/src/modules/inventory/docs/commands/CreateLot.md +40 -0
  391. package/src/modules/inventory/docs/commands/CreateStockMovement.md +76 -0
  392. package/src/modules/inventory/docs/commands/CreateStorageLocation.md +66 -0
  393. package/src/modules/inventory/docs/commands/CreateValuationPolicy.md +45 -0
  394. package/src/modules/inventory/docs/commands/CreateWarehouse.md +47 -0
  395. package/src/modules/inventory/docs/commands/DeactivateStorageLocation.md +39 -0
  396. package/src/modules/inventory/docs/commands/DeactivateWarehouse.md +38 -0
  397. package/src/modules/inventory/docs/commands/ExecuteStockMovement.md +82 -0
  398. package/src/modules/inventory/docs/commands/ReactivateStorageLocation.md +42 -0
  399. package/src/modules/inventory/docs/commands/ReactivateWarehouse.md +42 -0
  400. package/src/modules/inventory/docs/commands/RecordCountLine.md +52 -0
  401. package/src/modules/inventory/docs/commands/RejectCountLine.md +42 -0
  402. package/src/modules/inventory/docs/commands/RejectInventoryAdjustment.md +38 -0
  403. package/src/modules/inventory/docs/commands/ReleaseReservation.md +37 -0
  404. package/src/modules/inventory/docs/commands/ReserveStock.md +49 -0
  405. package/src/modules/inventory/docs/commands/ReviseInventoryAdjustment.md +38 -0
  406. package/src/modules/inventory/docs/commands/StartInventoryCount.md +47 -0
  407. package/src/modules/inventory/docs/commands/SubmitInventoryAdjustment.md +37 -0
  408. package/src/modules/inventory/docs/commands/UpdateLot.md +41 -0
  409. package/src/modules/inventory/docs/commands/UpdateStockMovement.md +45 -0
  410. package/src/modules/inventory/docs/commands/UpdateStorageLocation.md +41 -0
  411. package/src/modules/inventory/docs/commands/UpdateValuationPolicy.md +44 -0
  412. package/src/modules/inventory/docs/commands/UpdateWarehouse.md +42 -0
  413. package/src/modules/inventory/docs/features/inventory-adjustment.md +64 -0
  414. package/src/modules/inventory/docs/features/inventory-count.md +78 -0
  415. package/src/modules/inventory/docs/features/inventory-valuation.md +77 -0
  416. package/src/modules/inventory/docs/features/lot-and-batch-tracking.md +81 -0
  417. package/src/modules/inventory/docs/features/scrap-management.md +63 -0
  418. package/src/modules/inventory/docs/features/serial-number-tracking.md +68 -0
  419. package/src/modules/inventory/docs/features/stock-movement.md +72 -0
  420. package/src/modules/inventory/docs/features/stock-tracking.md +78 -0
  421. package/src/modules/inventory/docs/features/warehouse-management.md +97 -0
  422. package/src/modules/inventory/docs/models/CostLayer.md +37 -0
  423. package/src/modules/inventory/docs/models/InventoryAdjustment.md +69 -0
  424. package/src/modules/inventory/docs/models/InventoryCount.md +53 -0
  425. package/src/modules/inventory/docs/models/InventoryCountLine.md +53 -0
  426. package/src/modules/inventory/docs/models/ItemValuation.md +38 -0
  427. package/src/modules/inventory/docs/models/Lot.md +45 -0
  428. package/src/modules/inventory/docs/models/LotStockLevel.md +34 -0
  429. package/src/modules/inventory/docs/models/SerialNumber.md +53 -0
  430. package/src/modules/inventory/docs/models/StockLevel.md +41 -0
  431. package/src/modules/inventory/docs/models/StockMoveLine.md +44 -0
  432. package/src/modules/inventory/docs/models/StockMovement.md +52 -0
  433. package/src/modules/inventory/docs/models/StorageLocation.md +55 -0
  434. package/src/modules/inventory/docs/models/ValuationPolicy.md +38 -0
  435. package/src/modules/inventory/docs/models/Warehouse.md +50 -0
  436. package/src/modules/inventory/docs/queries/GetInventoryAdjustment.md +40 -0
  437. package/src/modules/inventory/docs/queries/GetInventoryCount.md +43 -0
  438. package/src/modules/inventory/docs/queries/GetItemValuation.md +42 -0
  439. package/src/modules/inventory/docs/queries/GetLot.md +42 -0
  440. package/src/modules/inventory/docs/queries/GetSerialNumber.md +43 -0
  441. package/src/modules/inventory/docs/queries/GetSerialNumberHistory.md +50 -0
  442. package/src/modules/inventory/docs/queries/GetStockLevel.md +42 -0
  443. package/src/modules/inventory/docs/queries/GetStockMovement.md +41 -0
  444. package/src/modules/inventory/docs/queries/GetStorageLocation.md +40 -0
  445. package/src/modules/inventory/docs/queries/GetValuationPolicy.md +38 -0
  446. package/src/modules/inventory/docs/queries/GetWarehouse.md +40 -0
  447. package/src/modules/inventory/docs/queries/GetWarehouseStockSummary.md +50 -0
  448. package/src/modules/inventory/docs/queries/ListCostLayers.md +49 -0
  449. package/src/modules/inventory/docs/queries/ListExpiringLots.md +51 -0
  450. package/src/modules/inventory/docs/queries/ListInventoryAdjustments.md +47 -0
  451. package/src/modules/inventory/docs/queries/ListInventoryCounts.md +57 -0
  452. package/src/modules/inventory/docs/queries/ListItemValuations.md +44 -0
  453. package/src/modules/inventory/docs/queries/ListLots.md +57 -0
  454. package/src/modules/inventory/docs/queries/ListSerialNumbers.md +44 -0
  455. package/src/modules/inventory/docs/queries/ListStockLevels.md +49 -0
  456. package/src/modules/inventory/docs/queries/ListStockMovements.md +47 -0
  457. package/src/modules/inventory/docs/queries/ListStorageLocations.md +47 -0
  458. package/src/modules/inventory/docs/queries/ListValuationPolicies.md +38 -0
  459. package/src/modules/inventory/docs/queries/ListWarehouses.md +42 -0
  460. package/src/modules/inventory/docs/queries/TraceLotBackward.md +46 -0
  461. package/src/modules/inventory/docs/queries/TraceLotForward.md +46 -0
  462. package/src/modules/inventory/generated/.gitkeep +0 -0
  463. package/src/modules/inventory/generated/enums.ts +131 -0
  464. package/src/modules/inventory/generated/kysely-tailordb.ts +201 -0
  465. package/src/modules/inventory/index.ts +2 -0
  466. package/src/modules/inventory/lib/_db_deps.ts +17 -0
  467. package/src/modules/inventory/lib/errors.generated.ts +317 -0
  468. package/src/modules/inventory/lib/permissions.generated.ts +38 -0
  469. package/src/modules/inventory/lib/types.ts +92 -0
  470. package/src/modules/inventory/module.ts +202 -0
  471. package/src/modules/inventory/permissions.ts +3 -0
  472. package/src/modules/inventory/query/.gitkeep +0 -0
  473. package/src/modules/inventory/query/getInventoryAdjustment.generated.ts +5 -0
  474. package/src/modules/inventory/query/getInventoryAdjustment.test.ts +58 -0
  475. package/src/modules/inventory/query/getInventoryAdjustment.ts +16 -0
  476. package/src/modules/inventory/query/getInventoryCount.generated.ts +5 -0
  477. package/src/modules/inventory/query/getInventoryCount.test.ts +65 -0
  478. package/src/modules/inventory/query/getInventoryCount.ts +27 -0
  479. package/src/modules/inventory/query/getItemValuation.generated.ts +5 -0
  480. package/src/modules/inventory/query/getItemValuation.test.ts +72 -0
  481. package/src/modules/inventory/query/getItemValuation.ts +29 -0
  482. package/src/modules/inventory/query/getLot.generated.ts +5 -0
  483. package/src/modules/inventory/query/getLot.test.ts +62 -0
  484. package/src/modules/inventory/query/getLot.ts +28 -0
  485. package/src/modules/inventory/query/getSerialNumber.generated.ts +5 -0
  486. package/src/modules/inventory/query/getSerialNumber.test.ts +59 -0
  487. package/src/modules/inventory/query/getSerialNumber.ts +18 -0
  488. package/src/modules/inventory/query/getSerialNumberHistory.generated.ts +5 -0
  489. package/src/modules/inventory/query/getSerialNumberHistory.test.ts +80 -0
  490. package/src/modules/inventory/query/getSerialNumberHistory.ts +30 -0
  491. package/src/modules/inventory/query/getStockLevel.generated.ts +5 -0
  492. package/src/modules/inventory/query/getStockLevel.test.ts +70 -0
  493. package/src/modules/inventory/query/getStockLevel.ts +24 -0
  494. package/src/modules/inventory/query/getStockMovement.generated.ts +5 -0
  495. package/src/modules/inventory/query/getStockMovement.test.ts +62 -0
  496. package/src/modules/inventory/query/getStockMovement.ts +26 -0
  497. package/src/modules/inventory/query/getStorageLocation.generated.ts +5 -0
  498. package/src/modules/inventory/query/getStorageLocation.test.ts +54 -0
  499. package/src/modules/inventory/query/getStorageLocation.ts +26 -0
  500. package/src/modules/inventory/query/getValuationPolicy.generated.ts +5 -0
  501. package/src/modules/inventory/query/getValuationPolicy.test.ts +42 -0
  502. package/src/modules/inventory/query/getValuationPolicy.ts +16 -0
  503. package/src/modules/inventory/query/getWarehouse.generated.ts +5 -0
  504. package/src/modules/inventory/query/getWarehouse.test.ts +61 -0
  505. package/src/modules/inventory/query/getWarehouse.ts +26 -0
  506. package/src/modules/inventory/query/getWarehouseStockSummary.generated.ts +5 -0
  507. package/src/modules/inventory/query/getWarehouseStockSummary.test.ts +97 -0
  508. package/src/modules/inventory/query/getWarehouseStockSummary.ts +82 -0
  509. package/src/modules/inventory/query/listCostLayers.generated.ts +5 -0
  510. package/src/modules/inventory/query/listCostLayers.test.ts +58 -0
  511. package/src/modules/inventory/query/listCostLayers.ts +45 -0
  512. package/src/modules/inventory/query/listExpiringLots.generated.ts +5 -0
  513. package/src/modules/inventory/query/listExpiringLots.test.ts +70 -0
  514. package/src/modules/inventory/query/listExpiringLots.ts +74 -0
  515. package/src/modules/inventory/query/listInventoryAdjustments.generated.ts +5 -0
  516. package/src/modules/inventory/query/listInventoryAdjustments.test.ts +89 -0
  517. package/src/modules/inventory/query/listInventoryAdjustments.ts +59 -0
  518. package/src/modules/inventory/query/listInventoryCounts.generated.ts +5 -0
  519. package/src/modules/inventory/query/listInventoryCounts.test.ts +78 -0
  520. package/src/modules/inventory/query/listInventoryCounts.ts +55 -0
  521. package/src/modules/inventory/query/listItemValuations.generated.ts +5 -0
  522. package/src/modules/inventory/query/listItemValuations.test.ts +54 -0
  523. package/src/modules/inventory/query/listItemValuations.ts +39 -0
  524. package/src/modules/inventory/query/listLots.generated.ts +5 -0
  525. package/src/modules/inventory/query/listLots.test.ts +120 -0
  526. package/src/modules/inventory/query/listLots.ts +68 -0
  527. package/src/modules/inventory/query/listSerialNumbers.generated.ts +5 -0
  528. package/src/modules/inventory/query/listSerialNumbers.test.ts +58 -0
  529. package/src/modules/inventory/query/listSerialNumbers.ts +53 -0
  530. package/src/modules/inventory/query/listStockLevels.generated.ts +5 -0
  531. package/src/modules/inventory/query/listStockLevels.test.ts +73 -0
  532. package/src/modules/inventory/query/listStockLevels.ts +79 -0
  533. package/src/modules/inventory/query/listStockMovements.generated.ts +5 -0
  534. package/src/modules/inventory/query/listStockMovements.test.ts +98 -0
  535. package/src/modules/inventory/query/listStockMovements.ts +105 -0
  536. package/src/modules/inventory/query/listStorageLocations.generated.ts +5 -0
  537. package/src/modules/inventory/query/listStorageLocations.test.ts +70 -0
  538. package/src/modules/inventory/query/listStorageLocations.ts +53 -0
  539. package/src/modules/inventory/query/listValuationPolicies.generated.ts +5 -0
  540. package/src/modules/inventory/query/listValuationPolicies.test.ts +38 -0
  541. package/src/modules/inventory/query/listValuationPolicies.ts +39 -0
  542. package/src/modules/inventory/query/listWarehouses.generated.ts +5 -0
  543. package/src/modules/inventory/query/listWarehouses.test.ts +60 -0
  544. package/src/modules/inventory/query/listWarehouses.ts +39 -0
  545. package/src/modules/inventory/query/traceLotBackward.generated.ts +5 -0
  546. package/src/modules/inventory/query/traceLotBackward.test.ts +63 -0
  547. package/src/modules/inventory/query/traceLotBackward.ts +36 -0
  548. package/src/modules/inventory/query/traceLotForward.generated.ts +5 -0
  549. package/src/modules/inventory/query/traceLotForward.test.ts +63 -0
  550. package/src/modules/inventory/query/traceLotForward.ts +36 -0
  551. package/src/modules/inventory/tailor.config.ts +13 -0
  552. package/src/modules/inventory/tailor.d.ts +13 -0
  553. package/src/modules/inventory/testing/commandTestUtils.ts +29 -0
  554. package/src/modules/inventory/testing/fixtures.ts +412 -0
  555. package/src/modules/item-management/command/activateItem.generated.ts +1 -1
  556. package/src/modules/item-management/command/activateItem.ts +1 -1
  557. package/src/modules/item-management/command/assignItemToTaxonomy.generated.ts +1 -1
  558. package/src/modules/item-management/command/assignItemToTaxonomy.ts +1 -1
  559. package/src/modules/item-management/command/createItem.generated.ts +1 -1
  560. package/src/modules/item-management/command/createItem.test.ts +1 -1
  561. package/src/modules/item-management/command/createItem.ts +1 -1
  562. package/src/modules/item-management/command/createTaxonomyNode.generated.ts +1 -1
  563. package/src/modules/item-management/command/createTaxonomyNode.test.ts +1 -1
  564. package/src/modules/item-management/command/createTaxonomyNode.ts +1 -1
  565. package/src/modules/item-management/command/deactivateItem.generated.ts +1 -1
  566. package/src/modules/item-management/command/deactivateItem.ts +1 -1
  567. package/src/modules/item-management/command/deleteItem.generated.ts +1 -1
  568. package/src/modules/item-management/command/deleteItem.ts +1 -1
  569. package/src/modules/item-management/command/deleteTaxonomyNode.generated.ts +1 -1
  570. package/src/modules/item-management/command/deleteTaxonomyNode.ts +1 -1
  571. package/src/modules/item-management/command/moveTaxonomyNode.generated.ts +1 -1
  572. package/src/modules/item-management/command/moveTaxonomyNode.test.ts +1 -1
  573. package/src/modules/item-management/command/moveTaxonomyNode.ts +1 -1
  574. package/src/modules/item-management/command/reactivateItem.generated.ts +1 -1
  575. package/src/modules/item-management/command/reactivateItem.ts +1 -1
  576. package/src/modules/item-management/command/removeItemFromTaxonomy.generated.ts +1 -1
  577. package/src/modules/item-management/command/removeItemFromTaxonomy.ts +1 -1
  578. package/src/modules/item-management/command/updateItem.generated.ts +1 -1
  579. package/src/modules/item-management/command/updateItem.test.ts +1 -1
  580. package/src/modules/item-management/command/updateItem.ts +1 -1
  581. package/src/modules/item-management/command/updateTaxonomyNode.generated.ts +1 -1
  582. package/src/modules/item-management/command/updateTaxonomyNode.ts +1 -1
  583. package/src/modules/item-management/docs/models/{item.md → Item.md} +1 -1
  584. package/src/modules/item-management/lib/errors.generated.ts +1 -1
  585. package/src/modules/item-management/lib/permissions.generated.ts +1 -1
  586. package/src/modules/item-management/lib/types.ts +6 -1
  587. package/src/modules/item-management/module.ts +1 -1
  588. package/src/modules/item-management/query/calculateNodeDepth.generated.ts +1 -1
  589. package/src/modules/item-management/query/calculateNodeDepth.ts +1 -1
  590. package/src/modules/item-management/query/calculateSubtreeDepth.generated.ts +1 -1
  591. package/src/modules/item-management/query/calculateSubtreeDepth.ts +1 -1
  592. package/src/modules/item-management/query/detectCircularReference.generated.ts +1 -1
  593. package/src/modules/item-management/query/detectCircularReference.ts +1 -1
  594. package/src/modules/item-management/query/getItem.generated.ts +1 -1
  595. package/src/modules/item-management/query/getItem.ts +1 -1
  596. package/src/modules/item-management/query/getItemTaxonomyAssignment.generated.ts +1 -1
  597. package/src/modules/item-management/query/getItemTaxonomyAssignment.ts +1 -1
  598. package/src/modules/item-management/query/getTaxonomyNode.generated.ts +1 -1
  599. package/src/modules/item-management/query/getTaxonomyNode.ts +1 -1
  600. package/src/modules/item-management/query/getTaxonomyNodeAssignments.generated.ts +1 -1
  601. package/src/modules/item-management/query/getTaxonomyNodeAssignments.ts +1 -1
  602. package/src/modules/item-management/query/getTaxonomyNodeChildren.generated.ts +1 -1
  603. package/src/modules/item-management/query/getTaxonomyNodeChildren.ts +1 -1
  604. package/src/modules/organization/command/activateCompany.generated.ts +1 -1
  605. package/src/modules/organization/command/activateCompany.test.ts +1 -1
  606. package/src/modules/organization/command/activateCompany.ts +1 -1
  607. package/src/modules/organization/command/createCompany.generated.ts +1 -1
  608. package/src/modules/organization/command/createCompany.test.ts +1 -1
  609. package/src/modules/organization/command/createCompany.ts +1 -1
  610. package/src/modules/organization/command/createDepartment.generated.ts +1 -1
  611. package/src/modules/organization/command/createDepartment.ts +1 -1
  612. package/src/modules/organization/command/createSite.generated.ts +1 -1
  613. package/src/modules/organization/command/createSite.ts +1 -1
  614. package/src/modules/organization/command/deactivateCompany.generated.ts +1 -1
  615. package/src/modules/organization/command/deactivateCompany.ts +1 -1
  616. package/src/modules/organization/command/deactivateDepartment.generated.ts +1 -1
  617. package/src/modules/organization/command/deactivateDepartment.ts +1 -1
  618. package/src/modules/organization/command/deactivateSite.generated.ts +1 -1
  619. package/src/modules/organization/command/deactivateSite.ts +1 -1
  620. package/src/modules/organization/command/deleteCompany.generated.ts +1 -1
  621. package/src/modules/organization/command/deleteCompany.ts +1 -1
  622. package/src/modules/organization/command/reactivateCompany.generated.ts +1 -1
  623. package/src/modules/organization/command/reactivateCompany.ts +1 -1
  624. package/src/modules/organization/command/reactivateDepartment.generated.ts +1 -1
  625. package/src/modules/organization/command/reactivateDepartment.ts +1 -1
  626. package/src/modules/organization/command/reactivateSite.generated.ts +1 -1
  627. package/src/modules/organization/command/reactivateSite.ts +1 -1
  628. package/src/modules/organization/command/updateCompany.generated.ts +1 -1
  629. package/src/modules/organization/command/updateCompany.test.ts +1 -1
  630. package/src/modules/organization/command/updateCompany.ts +1 -1
  631. package/src/modules/organization/command/updateDepartment.generated.ts +1 -1
  632. package/src/modules/organization/command/updateDepartment.ts +1 -1
  633. package/src/modules/organization/command/updateSite.generated.ts +1 -1
  634. package/src/modules/organization/command/updateSite.ts +1 -1
  635. package/src/modules/organization/lib/errors.generated.ts +1 -1
  636. package/src/modules/organization/lib/permissions.generated.ts +1 -1
  637. package/src/modules/organization/lib/types.ts +6 -1
  638. package/src/modules/organization/module.ts +1 -1
  639. package/src/modules/organization/permissions.ts +1 -1
  640. package/src/modules/organization/query/detectDepartmentCircularReference.generated.ts +1 -1
  641. package/src/modules/organization/query/detectDepartmentCircularReference.ts +1 -1
  642. package/src/modules/organization/query/getCompany.generated.ts +1 -1
  643. package/src/modules/organization/query/getCompany.ts +1 -1
  644. package/src/modules/organization/query/getDepartment.generated.ts +1 -1
  645. package/src/modules/organization/query/getDepartment.ts +1 -1
  646. package/src/modules/organization/query/getDepartmentChildren.generated.ts +1 -1
  647. package/src/modules/organization/query/getDepartmentChildren.ts +1 -1
  648. package/src/modules/organization/query/getSite.generated.ts +1 -1
  649. package/src/modules/organization/query/getSite.ts +1 -1
  650. package/src/modules/organization/query/listDepartmentsByCompany.generated.ts +1 -1
  651. package/src/modules/organization/query/listDepartmentsByCompany.ts +2 -2
  652. package/src/modules/organization/query/listSitesByCompany.generated.ts +1 -1
  653. package/src/modules/organization/query/listSitesByCompany.ts +2 -2
  654. package/src/modules/primitives/command/activateCategory.generated.ts +1 -1
  655. package/src/modules/primitives/command/activateCategory.ts +1 -1
  656. package/src/modules/primitives/command/activateCurrency.generated.ts +1 -1
  657. package/src/modules/primitives/command/activateCurrency.ts +1 -1
  658. package/src/modules/primitives/command/activateUnit.generated.ts +1 -1
  659. package/src/modules/primitives/command/activateUnit.ts +1 -1
  660. package/src/modules/primitives/command/createCategory.generated.ts +1 -1
  661. package/src/modules/primitives/command/createCategory.ts +1 -1
  662. package/src/modules/primitives/command/createCurrency.generated.ts +1 -1
  663. package/src/modules/primitives/command/createCurrency.ts +1 -1
  664. package/src/modules/primitives/command/createExchangeRate.generated.ts +1 -1
  665. package/src/modules/primitives/command/createExchangeRate.ts +1 -1
  666. package/src/modules/primitives/command/createUnit.generated.ts +1 -1
  667. package/src/modules/primitives/command/createUnit.ts +1 -1
  668. package/src/modules/primitives/command/deactivateCategory.generated.ts +1 -1
  669. package/src/modules/primitives/command/deactivateCategory.ts +1 -1
  670. package/src/modules/primitives/command/deactivateCurrency.generated.ts +1 -1
  671. package/src/modules/primitives/command/deactivateCurrency.ts +1 -1
  672. package/src/modules/primitives/command/deactivateUnit.generated.ts +1 -1
  673. package/src/modules/primitives/command/deactivateUnit.ts +1 -1
  674. package/src/modules/primitives/command/setBaseCurrency.generated.ts +1 -1
  675. package/src/modules/primitives/command/setBaseCurrency.ts +1 -1
  676. package/src/modules/primitives/command/setReferenceUnit.generated.ts +1 -1
  677. package/src/modules/primitives/command/setReferenceUnit.ts +1 -1
  678. package/src/modules/primitives/lib/errors.generated.ts +1 -1
  679. package/src/modules/primitives/lib/permissions.generated.ts +1 -1
  680. package/src/modules/primitives/lib/types.ts +6 -1
  681. package/src/modules/primitives/module.ts +1 -1
  682. package/src/modules/primitives/query/convertAmount.generated.ts +1 -1
  683. package/src/modules/primitives/query/convertAmount.test.ts +1 -1
  684. package/src/modules/primitives/query/convertAmount.ts +1 -1
  685. package/src/modules/primitives/query/convertQuantity.generated.ts +1 -1
  686. package/src/modules/primitives/query/convertQuantity.test.ts +1 -1
  687. package/src/modules/primitives/query/convertQuantity.ts +1 -1
  688. package/src/modules/primitives/query/getBaseCurrency.generated.ts +1 -1
  689. package/src/modules/primitives/query/getBaseCurrency.test.ts +1 -1
  690. package/src/modules/primitives/query/getBaseCurrency.ts +1 -1
  691. package/src/modules/primitives/query/getCurrency.generated.ts +1 -1
  692. package/src/modules/primitives/query/getCurrency.ts +1 -1
  693. package/src/modules/primitives/query/getUnit.generated.ts +1 -1
  694. package/src/modules/primitives/query/getUnit.ts +1 -1
  695. package/src/modules/primitives/query/getUoMCategory.generated.ts +1 -1
  696. package/src/modules/primitives/query/getUoMCategory.ts +1 -1
  697. package/src/modules/primitives/query/listUnitsByCategory.generated.ts +1 -1
  698. package/src/modules/primitives/query/listUnitsByCategory.ts +2 -2
  699. package/src/modules/primitives/seed/currencies.ts +22 -0
  700. package/src/modules/primitives/seed/exchangeRates.ts +22 -0
  701. package/src/modules/primitives/seed/index.ts +4 -0
  702. package/src/modules/primitives/seed/seed.test.ts +80 -0
  703. package/src/modules/primitives/seed/units.ts +62 -0
  704. package/src/modules/primitives/seed/uomCategories.ts +24 -0
  705. package/src/modules/product-management/command/activateProduct.generated.ts +1 -1
  706. package/src/modules/product-management/command/activateProduct.ts +1 -1
  707. package/src/modules/product-management/command/assignProductToCategory.generated.ts +1 -1
  708. package/src/modules/product-management/command/assignProductToCategory.ts +1 -1
  709. package/src/modules/product-management/command/createProduct.generated.ts +1 -1
  710. package/src/modules/product-management/command/createProduct.test.ts +1 -1
  711. package/src/modules/product-management/command/createProduct.ts +1 -1
  712. package/src/modules/product-management/command/createProductAttribute.generated.ts +1 -1
  713. package/src/modules/product-management/command/createProductAttribute.ts +1 -1
  714. package/src/modules/product-management/command/createProductAttributeValue.generated.ts +1 -1
  715. package/src/modules/product-management/command/createProductAttributeValue.ts +1 -1
  716. package/src/modules/product-management/command/createProductCategory.generated.ts +1 -1
  717. package/src/modules/product-management/command/createProductCategory.test.ts +1 -1
  718. package/src/modules/product-management/command/createProductCategory.ts +1 -1
  719. package/src/modules/product-management/command/deactivateProduct.generated.ts +1 -1
  720. package/src/modules/product-management/command/deactivateProduct.ts +1 -1
  721. package/src/modules/product-management/command/deleteProduct.generated.ts +1 -1
  722. package/src/modules/product-management/command/deleteProduct.ts +1 -1
  723. package/src/modules/product-management/command/deleteProductAttribute.generated.ts +1 -1
  724. package/src/modules/product-management/command/deleteProductAttribute.ts +1 -1
  725. package/src/modules/product-management/command/deleteProductAttributeValue.generated.ts +1 -1
  726. package/src/modules/product-management/command/deleteProductAttributeValue.ts +1 -1
  727. package/src/modules/product-management/command/deleteProductCategory.generated.ts +1 -1
  728. package/src/modules/product-management/command/deleteProductCategory.ts +1 -1
  729. package/src/modules/product-management/command/generateVariants.generated.ts +1 -1
  730. package/src/modules/product-management/command/generateVariants.test.ts +1 -1
  731. package/src/modules/product-management/command/generateVariants.ts +1 -1
  732. package/src/modules/product-management/command/moveProductCategory.generated.ts +1 -1
  733. package/src/modules/product-management/command/moveProductCategory.test.ts +1 -1
  734. package/src/modules/product-management/command/moveProductCategory.ts +1 -1
  735. package/src/modules/product-management/command/reactivateProduct.generated.ts +1 -1
  736. package/src/modules/product-management/command/reactivateProduct.ts +1 -1
  737. package/src/modules/product-management/command/removeProductFromCategory.generated.ts +1 -1
  738. package/src/modules/product-management/command/removeProductFromCategory.ts +1 -1
  739. package/src/modules/product-management/command/setProductAttributeAssignment.generated.ts +1 -1
  740. package/src/modules/product-management/command/setProductAttributeAssignment.ts +1 -1
  741. package/src/modules/product-management/command/updateProduct.generated.ts +1 -1
  742. package/src/modules/product-management/command/updateProduct.test.ts +1 -1
  743. package/src/modules/product-management/command/updateProduct.ts +1 -1
  744. package/src/modules/product-management/command/updateProductAttribute.generated.ts +1 -1
  745. package/src/modules/product-management/command/updateProductAttribute.ts +1 -1
  746. package/src/modules/product-management/command/updateProductAttributeValue.generated.ts +1 -1
  747. package/src/modules/product-management/command/updateProductAttributeValue.ts +1 -1
  748. package/src/modules/product-management/command/updateProductCategory.generated.ts +1 -1
  749. package/src/modules/product-management/command/updateProductCategory.ts +1 -1
  750. package/src/modules/product-management/lib/errors.generated.ts +1 -1
  751. package/src/modules/product-management/lib/permissions.generated.ts +1 -1
  752. package/src/modules/product-management/lib/types.ts +6 -1
  753. package/src/modules/product-management/module.ts +1 -1
  754. package/src/modules/product-management/query/calculateCategoryDepth.generated.ts +1 -1
  755. package/src/modules/product-management/query/calculateCategoryDepth.ts +1 -1
  756. package/src/modules/product-management/query/detectCategoryCircularReference.generated.ts +1 -1
  757. package/src/modules/product-management/query/detectCategoryCircularReference.ts +1 -1
  758. package/src/modules/product-management/query/getProduct.generated.ts +1 -1
  759. package/src/modules/product-management/query/getProduct.ts +1 -1
  760. package/src/modules/product-management/query/getProductAttribute.generated.ts +1 -1
  761. package/src/modules/product-management/query/getProductAttribute.ts +1 -1
  762. package/src/modules/product-management/query/getProductAttributeAssignment.generated.ts +1 -1
  763. package/src/modules/product-management/query/getProductAttributeAssignment.ts +1 -1
  764. package/src/modules/product-management/query/getProductAttributeValue.generated.ts +1 -1
  765. package/src/modules/product-management/query/getProductAttributeValue.ts +1 -1
  766. package/src/modules/product-management/query/getProductCategory.generated.ts +1 -1
  767. package/src/modules/product-management/query/getProductCategory.ts +1 -1
  768. package/src/modules/product-management/query/getProductCategoryAssignment.generated.ts +1 -1
  769. package/src/modules/product-management/query/getProductCategoryAssignment.ts +1 -1
  770. package/src/modules/product-management/query/getProductVariant.generated.ts +1 -1
  771. package/src/modules/product-management/query/getProductVariant.ts +1 -1
  772. package/src/modules/product-management/query/listAttributeAssignmentsByAttribute.generated.ts +1 -1
  773. package/src/modules/product-management/query/listAttributeAssignmentsByAttribute.ts +1 -1
  774. package/src/modules/product-management/query/listCategoryAssignmentsByProduct.generated.ts +1 -1
  775. package/src/modules/product-management/query/listCategoryAssignmentsByProduct.ts +1 -1
  776. package/src/modules/product-management/query/listProductAttributeAssignments.generated.ts +1 -1
  777. package/src/modules/product-management/query/listProductAttributeAssignments.ts +1 -1
  778. package/src/modules/product-management/query/listProductAttributeValues.generated.ts +1 -1
  779. package/src/modules/product-management/query/listProductAttributeValues.ts +1 -1
  780. package/src/modules/product-management/query/listProductCategoryAssignments.generated.ts +1 -1
  781. package/src/modules/product-management/query/listProductCategoryAssignments.ts +1 -1
  782. package/src/modules/product-management/query/listProductCategoryChildren.generated.ts +1 -1
  783. package/src/modules/product-management/query/listProductCategoryChildren.ts +1 -1
  784. package/src/modules/product-management/query/listProductVariants.generated.ts +1 -1
  785. package/src/modules/product-management/query/listProductVariants.ts +1 -1
  786. package/src/modules/purchase/README.md +63 -0
  787. package/src/modules/purchase/command/.gitkeep +0 -0
  788. package/src/modules/purchase/command/activatePurchasePaymentTerm.generated.ts +6 -0
  789. package/src/modules/purchase/command/activatePurchasePaymentTerm.test.ts +53 -0
  790. package/src/modules/purchase/command/activatePurchasePaymentTerm.ts +39 -0
  791. package/src/modules/purchase/command/activatePurchasePriceList.generated.ts +6 -0
  792. package/src/modules/purchase/command/activatePurchasePriceList.test.ts +39 -0
  793. package/src/modules/purchase/command/activatePurchasePriceList.ts +32 -0
  794. package/src/modules/purchase/command/activatePurchasePriceRule.generated.ts +6 -0
  795. package/src/modules/purchase/command/activatePurchasePriceRule.test.ts +133 -0
  796. package/src/modules/purchase/command/activatePurchasePriceRule.ts +75 -0
  797. package/src/modules/purchase/command/approvePurchaseOrder.generated.ts +6 -0
  798. package/src/modules/purchase/command/approvePurchaseOrder.test.ts +161 -0
  799. package/src/modules/purchase/command/approvePurchaseOrder.ts +89 -0
  800. package/src/modules/purchase/command/cancelGoodsReceipt.generated.ts +6 -0
  801. package/src/modules/purchase/command/cancelGoodsReceipt.test.ts +37 -0
  802. package/src/modules/purchase/command/cancelGoodsReceipt.ts +29 -0
  803. package/src/modules/purchase/command/cancelPurchaseBill.generated.ts +6 -0
  804. package/src/modules/purchase/command/cancelPurchaseBill.test.ts +101 -0
  805. package/src/modules/purchase/command/cancelPurchaseBill.ts +84 -0
  806. package/src/modules/purchase/command/cancelPurchaseOrder.generated.ts +6 -0
  807. package/src/modules/purchase/command/cancelPurchaseOrder.test.ts +119 -0
  808. package/src/modules/purchase/command/cancelPurchaseOrder.ts +65 -0
  809. package/src/modules/purchase/command/closePurchaseOrder.generated.ts +6 -0
  810. package/src/modules/purchase/command/closePurchaseOrder.test.ts +128 -0
  811. package/src/modules/purchase/command/closePurchaseOrder.ts +58 -0
  812. package/src/modules/purchase/command/createGoodsReceipt.generated.ts +6 -0
  813. package/src/modules/purchase/command/createGoodsReceipt.test.ts +233 -0
  814. package/src/modules/purchase/command/createGoodsReceipt.ts +93 -0
  815. package/src/modules/purchase/command/createPurchaseBill.generated.ts +6 -0
  816. package/src/modules/purchase/command/createPurchaseBill.test.ts +277 -0
  817. package/src/modules/purchase/command/createPurchaseBill.ts +107 -0
  818. package/src/modules/purchase/command/createPurchaseOrder.generated.ts +6 -0
  819. package/src/modules/purchase/command/createPurchaseOrder.test.ts +291 -0
  820. package/src/modules/purchase/command/createPurchaseOrder.ts +131 -0
  821. package/src/modules/purchase/command/createPurchasePaymentTerm.generated.ts +6 -0
  822. package/src/modules/purchase/command/createPurchasePaymentTerm.test.ts +140 -0
  823. package/src/modules/purchase/command/createPurchasePaymentTerm.ts +66 -0
  824. package/src/modules/purchase/command/createPurchasePriceList.generated.ts +6 -0
  825. package/src/modules/purchase/command/createPurchasePriceList.test.ts +108 -0
  826. package/src/modules/purchase/command/createPurchasePriceList.ts +63 -0
  827. package/src/modules/purchase/command/createPurchasePriceRule.generated.ts +6 -0
  828. package/src/modules/purchase/command/createPurchasePriceRule.test.ts +139 -0
  829. package/src/modules/purchase/command/createPurchasePriceRule.ts +95 -0
  830. package/src/modules/purchase/command/deactivatePurchasePaymentTerm.generated.ts +6 -0
  831. package/src/modules/purchase/command/deactivatePurchasePaymentTerm.test.ts +49 -0
  832. package/src/modules/purchase/command/deactivatePurchasePaymentTerm.ts +41 -0
  833. package/src/modules/purchase/command/deactivatePurchasePriceList.generated.ts +6 -0
  834. package/src/modules/purchase/command/deactivatePurchasePriceList.test.ts +50 -0
  835. package/src/modules/purchase/command/deactivatePurchasePriceList.ts +32 -0
  836. package/src/modules/purchase/command/deactivatePurchasePriceRule.generated.ts +6 -0
  837. package/src/modules/purchase/command/deactivatePurchasePriceRule.test.ts +50 -0
  838. package/src/modules/purchase/command/deactivatePurchasePriceRule.ts +32 -0
  839. package/src/modules/purchase/command/matchPurchaseBill.generated.ts +6 -0
  840. package/src/modules/purchase/command/matchPurchaseBill.test.ts +188 -0
  841. package/src/modules/purchase/command/matchPurchaseBill.ts +146 -0
  842. package/src/modules/purchase/command/postGoodsReceipt.generated.ts +6 -0
  843. package/src/modules/purchase/command/postGoodsReceipt.test.ts +210 -0
  844. package/src/modules/purchase/command/postGoodsReceipt.ts +143 -0
  845. package/src/modules/purchase/command/rejectPurchaseOrder.generated.ts +6 -0
  846. package/src/modules/purchase/command/rejectPurchaseOrder.test.ts +79 -0
  847. package/src/modules/purchase/command/rejectPurchaseOrder.ts +41 -0
  848. package/src/modules/purchase/command/releasePurchaseBill.generated.ts +6 -0
  849. package/src/modules/purchase/command/releasePurchaseBill.test.ts +94 -0
  850. package/src/modules/purchase/command/releasePurchaseBill.ts +111 -0
  851. package/src/modules/purchase/command/setSupplierDefaultPurchasePaymentTerm.generated.ts +6 -0
  852. package/src/modules/purchase/command/setSupplierDefaultPurchasePaymentTerm.test.ts +171 -0
  853. package/src/modules/purchase/command/setSupplierDefaultPurchasePaymentTerm.ts +90 -0
  854. package/src/modules/purchase/command/submitPurchaseOrder.generated.ts +6 -0
  855. package/src/modules/purchase/command/submitPurchaseOrder.test.ts +98 -0
  856. package/src/modules/purchase/command/submitPurchaseOrder.ts +73 -0
  857. package/src/modules/purchase/command/updateGoodsReceipt.generated.ts +6 -0
  858. package/src/modules/purchase/command/updateGoodsReceipt.test.ts +115 -0
  859. package/src/modules/purchase/command/updateGoodsReceipt.ts +73 -0
  860. package/src/modules/purchase/command/updatePurchaseBill.generated.ts +6 -0
  861. package/src/modules/purchase/command/updatePurchaseBill.test.ts +137 -0
  862. package/src/modules/purchase/command/updatePurchaseBill.ts +89 -0
  863. package/src/modules/purchase/command/updatePurchaseOrder.generated.ts +6 -0
  864. package/src/modules/purchase/command/updatePurchaseOrder.test.ts +195 -0
  865. package/src/modules/purchase/command/updatePurchaseOrder.ts +121 -0
  866. package/src/modules/purchase/command/updatePurchasePaymentTerm.generated.ts +6 -0
  867. package/src/modules/purchase/command/updatePurchasePaymentTerm.test.ts +154 -0
  868. package/src/modules/purchase/command/updatePurchasePaymentTerm.ts +73 -0
  869. package/src/modules/purchase/command/updatePurchasePriceList.generated.ts +6 -0
  870. package/src/modules/purchase/command/updatePurchasePriceList.test.ts +73 -0
  871. package/src/modules/purchase/command/updatePurchasePriceList.ts +55 -0
  872. package/src/modules/purchase/command/updatePurchasePriceRule.generated.ts +6 -0
  873. package/src/modules/purchase/command/updatePurchasePriceRule.test.ts +191 -0
  874. package/src/modules/purchase/command/updatePurchasePriceRule.ts +104 -0
  875. package/src/modules/purchase/db/.gitkeep +0 -0
  876. package/src/modules/purchase/db/goodsReceipt.ts +62 -0
  877. package/src/modules/purchase/db/purchaseBill.ts +74 -0
  878. package/src/modules/purchase/db/purchaseOrder.ts +100 -0
  879. package/src/modules/purchase/db/purchasePaymentTerm.ts +46 -0
  880. package/src/modules/purchase/db/purchasePriceList.ts +53 -0
  881. package/src/modules/purchase/db/purchasePriceRule.ts +74 -0
  882. package/src/modules/purchase/db/supplierProfile.ts +59 -0
  883. package/src/modules/purchase/docs/commands/ActivatePurchasePaymentTerm.md +39 -0
  884. package/src/modules/purchase/docs/commands/ActivatePurchasePriceList.md +37 -0
  885. package/src/modules/purchase/docs/commands/ActivatePurchasePriceRule.md +47 -0
  886. package/src/modules/purchase/docs/commands/ApprovePurchaseOrder.md +55 -0
  887. package/src/modules/purchase/docs/commands/CancelGoodsReceipt.md +39 -0
  888. package/src/modules/purchase/docs/commands/CancelPurchaseBill.md +49 -0
  889. package/src/modules/purchase/docs/commands/CancelPurchaseOrder.md +47 -0
  890. package/src/modules/purchase/docs/commands/ClosePurchaseOrder.md +49 -0
  891. package/src/modules/purchase/docs/commands/CreateGoodsReceipt.md +54 -0
  892. package/src/modules/purchase/docs/commands/CreatePurchaseBill.md +59 -0
  893. package/src/modules/purchase/docs/commands/CreatePurchaseOrder.md +66 -0
  894. package/src/modules/purchase/docs/commands/CreatePurchasePaymentTerm.md +52 -0
  895. package/src/modules/purchase/docs/commands/CreatePurchasePriceList.md +48 -0
  896. package/src/modules/purchase/docs/commands/CreatePurchasePriceRule.md +62 -0
  897. package/src/modules/purchase/docs/commands/DeactivatePurchasePaymentTerm.md +42 -0
  898. package/src/modules/purchase/docs/commands/DeactivatePurchasePriceList.md +39 -0
  899. package/src/modules/purchase/docs/commands/DeactivatePurchasePriceRule.md +39 -0
  900. package/src/modules/purchase/docs/commands/MatchPurchaseBill.md +63 -0
  901. package/src/modules/purchase/docs/commands/PostGoodsReceipt.md +61 -0
  902. package/src/modules/purchase/docs/commands/RejectPurchaseOrder.md +44 -0
  903. package/src/modules/purchase/docs/commands/ReleasePurchaseBill.md +48 -0
  904. package/src/modules/purchase/docs/commands/SetSupplierDefaultPurchasePaymentTerm.md +50 -0
  905. package/src/modules/purchase/docs/commands/SubmitPurchaseOrder.md +51 -0
  906. package/src/modules/purchase/docs/commands/UpdateGoodsReceipt.md +48 -0
  907. package/src/modules/purchase/docs/commands/UpdatePurchaseBill.md +51 -0
  908. package/src/modules/purchase/docs/commands/UpdatePurchaseOrder.md +59 -0
  909. package/src/modules/purchase/docs/commands/UpdatePurchasePaymentTerm.md +51 -0
  910. package/src/modules/purchase/docs/commands/UpdatePurchasePriceList.md +43 -0
  911. package/src/modules/purchase/docs/commands/UpdatePurchasePriceRule.md +60 -0
  912. package/src/modules/purchase/docs/features/goods-receipt-matching.md +71 -0
  913. package/src/modules/purchase/docs/features/purchase-order-lifecycle.md +87 -0
  914. package/src/modules/purchase/docs/features/purchase-payment-terms.md +67 -0
  915. package/src/modules/purchase/docs/features/supplier-bill-matching.md +79 -0
  916. package/src/modules/purchase/docs/features/supplier-purchase-pricing.md +72 -0
  917. package/src/modules/purchase/docs/models/GoodsReceipt.md +58 -0
  918. package/src/modules/purchase/docs/models/PurchaseBill.md +68 -0
  919. package/src/modules/purchase/docs/models/PurchaseOrder.md +88 -0
  920. package/src/modules/purchase/docs/models/PurchasePaymentTerm.md +59 -0
  921. package/src/modules/purchase/docs/models/PurchasePriceList.md +53 -0
  922. package/src/modules/purchase/docs/models/PurchasePriceRule.md +58 -0
  923. package/src/modules/purchase/docs/models/SupplierProfile.md +37 -0
  924. package/src/modules/purchase/docs/queries/CalculatePurchaseBillDueSchedule.md +47 -0
  925. package/src/modules/purchase/docs/queries/CalculatePurchasePrice.md +53 -0
  926. package/src/modules/purchase/docs/queries/GetGoodsReceipt.md +36 -0
  927. package/src/modules/purchase/docs/queries/GetPurchaseBill.md +41 -0
  928. package/src/modules/purchase/docs/queries/GetPurchaseOrder.md +42 -0
  929. package/src/modules/purchase/docs/queries/GetPurchasePaymentTerm.md +36 -0
  930. package/src/modules/purchase/docs/queries/GetPurchasePriceList.md +36 -0
  931. package/src/modules/purchase/docs/queries/GetSupplierProfile.md +36 -0
  932. package/src/modules/purchase/executor/.gitkeep +0 -0
  933. package/src/modules/purchase/generated/.gitkeep +0 -0
  934. package/src/modules/purchase/generated/enums.ts +63 -0
  935. package/src/modules/purchase/generated/kysely-tailordb.ts +186 -0
  936. package/src/modules/purchase/index.ts +2 -0
  937. package/src/modules/purchase/lib/_db_deps.ts +77 -0
  938. package/src/modules/purchase/lib/domain.ts +467 -0
  939. package/src/modules/purchase/lib/errors.generated.ts +367 -0
  940. package/src/modules/purchase/lib/permissions.generated.ts +34 -0
  941. package/src/modules/purchase/lib/types.ts +65 -0
  942. package/src/modules/purchase/module.ts +218 -0
  943. package/src/modules/purchase/permissions.ts +1 -0
  944. package/src/modules/purchase/query/.gitkeep +0 -0
  945. package/src/modules/purchase/query/calculatePurchaseBillDueSchedule.generated.ts +5 -0
  946. package/src/modules/purchase/query/calculatePurchaseBillDueSchedule.test.ts +183 -0
  947. package/src/modules/purchase/query/calculatePurchaseBillDueSchedule.ts +41 -0
  948. package/src/modules/purchase/query/calculatePurchasePrice.generated.ts +5 -0
  949. package/src/modules/purchase/query/calculatePurchasePrice.test.ts +143 -0
  950. package/src/modules/purchase/query/calculatePurchasePrice.ts +113 -0
  951. package/src/modules/purchase/query/getGoodsReceipt.generated.ts +5 -0
  952. package/src/modules/purchase/query/getGoodsReceipt.test.ts +42 -0
  953. package/src/modules/purchase/query/getGoodsReceipt.ts +27 -0
  954. package/src/modules/purchase/query/getPurchaseBill.generated.ts +5 -0
  955. package/src/modules/purchase/query/getPurchaseBill.test.ts +69 -0
  956. package/src/modules/purchase/query/getPurchaseBill.ts +35 -0
  957. package/src/modules/purchase/query/getPurchaseOrder.generated.ts +5 -0
  958. package/src/modules/purchase/query/getPurchaseOrder.test.ts +65 -0
  959. package/src/modules/purchase/query/getPurchaseOrder.ts +33 -0
  960. package/src/modules/purchase/query/getPurchasePaymentTerm.generated.ts +5 -0
  961. package/src/modules/purchase/query/getPurchasePaymentTerm.test.ts +44 -0
  962. package/src/modules/purchase/query/getPurchasePaymentTerm.ts +30 -0
  963. package/src/modules/purchase/query/getPurchasePriceList.generated.ts +5 -0
  964. package/src/modules/purchase/query/getPurchasePriceList.test.ts +48 -0
  965. package/src/modules/purchase/query/getPurchasePriceList.ts +30 -0
  966. package/src/modules/purchase/query/getSupplierProfile.generated.ts +5 -0
  967. package/src/modules/purchase/query/getSupplierProfile.test.ts +50 -0
  968. package/src/modules/purchase/query/getSupplierProfile.ts +18 -0
  969. package/src/modules/purchase/tailor.config.ts +13 -0
  970. package/src/modules/purchase/tailor.d.ts +13 -0
  971. package/src/modules/purchase/testing/commandTestUtils.ts +35 -0
  972. package/src/modules/purchase/testing/fixtures.ts +317 -0
  973. package/src/modules/sales/README.md +69 -0
  974. package/src/modules/sales/command/.gitkeep +0 -0
  975. package/src/modules/sales/command/activateChannel.generated.ts +6 -0
  976. package/src/modules/sales/command/activateChannel.test.ts +70 -0
  977. package/src/modules/sales/command/activateChannel.ts +48 -0
  978. package/src/modules/sales/command/activateListing.generated.ts +6 -0
  979. package/src/modules/sales/command/activateListing.test.ts +87 -0
  980. package/src/modules/sales/command/activateListing.ts +49 -0
  981. package/src/modules/sales/command/activateSalesPaymentTerm.generated.ts +6 -0
  982. package/src/modules/sales/command/activateSalesPaymentTerm.test.ts +58 -0
  983. package/src/modules/sales/command/activateSalesPaymentTerm.ts +50 -0
  984. package/src/modules/sales/command/activateSalesPriceList.generated.ts +6 -0
  985. package/src/modules/sales/command/activateSalesPriceList.test.ts +55 -0
  986. package/src/modules/sales/command/activateSalesPriceList.ts +46 -0
  987. package/src/modules/sales/command/activateSalesPriceRule.generated.ts +6 -0
  988. package/src/modules/sales/command/activateSalesPriceRule.test.ts +83 -0
  989. package/src/modules/sales/command/activateSalesPriceRule.ts +58 -0
  990. package/src/modules/sales/command/cancelChannelOrder.generated.ts +6 -0
  991. package/src/modules/sales/command/cancelChannelOrder.test.ts +47 -0
  992. package/src/modules/sales/command/cancelChannelOrder.ts +30 -0
  993. package/src/modules/sales/command/cancelSalesInvoice.generated.ts +6 -0
  994. package/src/modules/sales/command/cancelSalesInvoice.test.ts +47 -0
  995. package/src/modules/sales/command/cancelSalesInvoice.ts +37 -0
  996. package/src/modules/sales/command/cancelSalesOrder.generated.ts +6 -0
  997. package/src/modules/sales/command/cancelSalesOrder.test.ts +70 -0
  998. package/src/modules/sales/command/cancelSalesOrder.ts +48 -0
  999. package/src/modules/sales/command/cancelSyncJob.generated.ts +6 -0
  1000. package/src/modules/sales/command/cancelSyncJob.test.ts +58 -0
  1001. package/src/modules/sales/command/cancelSyncJob.ts +30 -0
  1002. package/src/modules/sales/command/closeSalesOrder.generated.ts +6 -0
  1003. package/src/modules/sales/command/closeSalesOrder.test.ts +41 -0
  1004. package/src/modules/sales/command/closeSalesOrder.ts +51 -0
  1005. package/src/modules/sales/command/confirmSalesOrder.generated.ts +6 -0
  1006. package/src/modules/sales/command/confirmSalesOrder.test.ts +68 -0
  1007. package/src/modules/sales/command/confirmSalesOrder.ts +67 -0
  1008. package/src/modules/sales/command/convertChannelOrder.generated.ts +6 -0
  1009. package/src/modules/sales/command/convertChannelOrder.test.ts +118 -0
  1010. package/src/modules/sales/command/convertChannelOrder.ts +151 -0
  1011. package/src/modules/sales/command/createChannel.generated.ts +6 -0
  1012. package/src/modules/sales/command/createChannel.test.ts +100 -0
  1013. package/src/modules/sales/command/createChannel.ts +58 -0
  1014. package/src/modules/sales/command/createListing.generated.ts +6 -0
  1015. package/src/modules/sales/command/createListing.test.ts +88 -0
  1016. package/src/modules/sales/command/createListing.ts +76 -0
  1017. package/src/modules/sales/command/createSalesCreditNote.generated.ts +6 -0
  1018. package/src/modules/sales/command/createSalesCreditNote.test.ts +56 -0
  1019. package/src/modules/sales/command/createSalesCreditNote.ts +75 -0
  1020. package/src/modules/sales/command/createSalesInvoice.generated.ts +6 -0
  1021. package/src/modules/sales/command/createSalesInvoice.test.ts +85 -0
  1022. package/src/modules/sales/command/createSalesInvoice.ts +94 -0
  1023. package/src/modules/sales/command/createSalesOrder.generated.ts +6 -0
  1024. package/src/modules/sales/command/createSalesOrder.test.ts +134 -0
  1025. package/src/modules/sales/command/createSalesOrder.ts +140 -0
  1026. package/src/modules/sales/command/createSalesPaymentTerm.generated.ts +6 -0
  1027. package/src/modules/sales/command/createSalesPaymentTerm.test.ts +59 -0
  1028. package/src/modules/sales/command/createSalesPaymentTerm.ts +50 -0
  1029. package/src/modules/sales/command/createSalesPriceList.generated.ts +6 -0
  1030. package/src/modules/sales/command/createSalesPriceList.test.ts +67 -0
  1031. package/src/modules/sales/command/createSalesPriceList.ts +45 -0
  1032. package/src/modules/sales/command/createSalesPriceRule.generated.ts +6 -0
  1033. package/src/modules/sales/command/createSalesPriceRule.test.ts +137 -0
  1034. package/src/modules/sales/command/createSalesPriceRule.ts +66 -0
  1035. package/src/modules/sales/command/createShipment.generated.ts +6 -0
  1036. package/src/modules/sales/command/createShipment.test.ts +75 -0
  1037. package/src/modules/sales/command/createShipment.ts +86 -0
  1038. package/src/modules/sales/command/deactivateChannel.generated.ts +6 -0
  1039. package/src/modules/sales/command/deactivateChannel.test.ts +29 -0
  1040. package/src/modules/sales/command/deactivateChannel.ts +30 -0
  1041. package/src/modules/sales/command/deactivateSalesPaymentTerm.generated.ts +6 -0
  1042. package/src/modules/sales/command/deactivateSalesPaymentTerm.test.ts +29 -0
  1043. package/src/modules/sales/command/deactivateSalesPaymentTerm.ts +37 -0
  1044. package/src/modules/sales/command/deactivateSalesPriceList.generated.ts +6 -0
  1045. package/src/modules/sales/command/deactivateSalesPriceList.test.ts +33 -0
  1046. package/src/modules/sales/command/deactivateSalesPriceList.ts +37 -0
  1047. package/src/modules/sales/command/deactivateSalesPriceRule.generated.ts +6 -0
  1048. package/src/modules/sales/command/deactivateSalesPriceRule.test.ts +33 -0
  1049. package/src/modules/sales/command/deactivateSalesPriceRule.ts +37 -0
  1050. package/src/modules/sales/command/issueSalesCreditNote.generated.ts +6 -0
  1051. package/src/modules/sales/command/issueSalesCreditNote.test.ts +62 -0
  1052. package/src/modules/sales/command/issueSalesCreditNote.ts +71 -0
  1053. package/src/modules/sales/command/issueSalesInvoice.generated.ts +6 -0
  1054. package/src/modules/sales/command/issueSalesInvoice.test.ts +88 -0
  1055. package/src/modules/sales/command/issueSalesInvoice.ts +115 -0
  1056. package/src/modules/sales/command/markChannelOrderException.generated.ts +6 -0
  1057. package/src/modules/sales/command/markChannelOrderException.test.ts +59 -0
  1058. package/src/modules/sales/command/markChannelOrderException.ts +49 -0
  1059. package/src/modules/sales/command/pauseListing.generated.ts +6 -0
  1060. package/src/modules/sales/command/pauseListing.test.ts +40 -0
  1061. package/src/modules/sales/command/pauseListing.ts +30 -0
  1062. package/src/modules/sales/command/placeSalesOrderOnCreditHold.generated.ts +6 -0
  1063. package/src/modules/sales/command/placeSalesOrderOnCreditHold.test.ts +74 -0
  1064. package/src/modules/sales/command/placeSalesOrderOnCreditHold.ts +46 -0
  1065. package/src/modules/sales/command/postShipment.generated.ts +6 -0
  1066. package/src/modules/sales/command/postShipment.test.ts +97 -0
  1067. package/src/modules/sales/command/postShipment.ts +89 -0
  1068. package/src/modules/sales/command/recordChannelOrder.generated.ts +6 -0
  1069. package/src/modules/sales/command/recordChannelOrder.test.ts +124 -0
  1070. package/src/modules/sales/command/recordChannelOrder.ts +93 -0
  1071. package/src/modules/sales/command/rejectSalesOrder.generated.ts +6 -0
  1072. package/src/modules/sales/command/rejectSalesOrder.test.ts +78 -0
  1073. package/src/modules/sales/command/rejectSalesOrder.ts +42 -0
  1074. package/src/modules/sales/command/releaseSalesOrderCreditHold.generated.ts +6 -0
  1075. package/src/modules/sales/command/releaseSalesOrderCreditHold.test.ts +50 -0
  1076. package/src/modules/sales/command/releaseSalesOrderCreditHold.ts +51 -0
  1077. package/src/modules/sales/command/retireListing.generated.ts +6 -0
  1078. package/src/modules/sales/command/retireListing.test.ts +42 -0
  1079. package/src/modules/sales/command/retireListing.ts +30 -0
  1080. package/src/modules/sales/command/retrySyncJob.generated.ts +6 -0
  1081. package/src/modules/sales/command/retrySyncJob.test.ts +54 -0
  1082. package/src/modules/sales/command/retrySyncJob.ts +44 -0
  1083. package/src/modules/sales/command/sendSalesInvoice.generated.ts +6 -0
  1084. package/src/modules/sales/command/sendSalesInvoice.test.ts +50 -0
  1085. package/src/modules/sales/command/sendSalesInvoice.ts +43 -0
  1086. package/src/modules/sales/command/startSyncJob.generated.ts +6 -0
  1087. package/src/modules/sales/command/startSyncJob.test.ts +65 -0
  1088. package/src/modules/sales/command/startSyncJob.ts +54 -0
  1089. package/src/modules/sales/command/submitSalesOrder.generated.ts +6 -0
  1090. package/src/modules/sales/command/submitSalesOrder.test.ts +58 -0
  1091. package/src/modules/sales/command/submitSalesOrder.ts +49 -0
  1092. package/src/modules/sales/command/updateChannel.generated.ts +6 -0
  1093. package/src/modules/sales/command/updateChannel.test.ts +71 -0
  1094. package/src/modules/sales/command/updateChannel.ts +68 -0
  1095. package/src/modules/sales/command/updateListing.generated.ts +6 -0
  1096. package/src/modules/sales/command/updateListing.test.ts +56 -0
  1097. package/src/modules/sales/command/updateListing.ts +60 -0
  1098. package/src/modules/sales/command/updateSalesCreditNote.generated.ts +6 -0
  1099. package/src/modules/sales/command/updateSalesCreditNote.test.ts +68 -0
  1100. package/src/modules/sales/command/updateSalesCreditNote.ts +68 -0
  1101. package/src/modules/sales/command/updateSalesInvoice.generated.ts +6 -0
  1102. package/src/modules/sales/command/updateSalesInvoice.test.ts +73 -0
  1103. package/src/modules/sales/command/updateSalesInvoice.ts +80 -0
  1104. package/src/modules/sales/command/updateSalesOrder.generated.ts +6 -0
  1105. package/src/modules/sales/command/updateSalesOrder.test.ts +93 -0
  1106. package/src/modules/sales/command/updateSalesOrder.ts +121 -0
  1107. package/src/modules/sales/command/updateSalesPaymentTerm.generated.ts +6 -0
  1108. package/src/modules/sales/command/updateSalesPaymentTerm.test.ts +66 -0
  1109. package/src/modules/sales/command/updateSalesPaymentTerm.ts +59 -0
  1110. package/src/modules/sales/command/updateSalesPriceList.generated.ts +6 -0
  1111. package/src/modules/sales/command/updateSalesPriceList.test.ts +71 -0
  1112. package/src/modules/sales/command/updateSalesPriceList.ts +52 -0
  1113. package/src/modules/sales/command/updateSalesPriceRule.generated.ts +6 -0
  1114. package/src/modules/sales/command/updateSalesPriceRule.test.ts +95 -0
  1115. package/src/modules/sales/command/updateSalesPriceRule.ts +81 -0
  1116. package/src/modules/sales/command/updateShipment.generated.ts +6 -0
  1117. package/src/modules/sales/command/updateShipment.test.ts +78 -0
  1118. package/src/modules/sales/command/updateShipment.ts +84 -0
  1119. package/src/modules/sales/db/.gitkeep +0 -0
  1120. package/src/modules/sales/db/channel.ts +43 -0
  1121. package/src/modules/sales/db/channelOrder.ts +109 -0
  1122. package/src/modules/sales/db/channelOrderLine.ts +84 -0
  1123. package/src/modules/sales/db/listing.ts +81 -0
  1124. package/src/modules/sales/db/salesCreditNote.ts +63 -0
  1125. package/src/modules/sales/db/salesCreditNoteLine.ts +49 -0
  1126. package/src/modules/sales/db/salesInvoice.ts +95 -0
  1127. package/src/modules/sales/db/salesInvoiceLine.ts +64 -0
  1128. package/src/modules/sales/db/salesOrder.ts +103 -0
  1129. package/src/modules/sales/db/salesOrderLine.ts +82 -0
  1130. package/src/modules/sales/db/salesPaymentTerm.ts +46 -0
  1131. package/src/modules/sales/db/salesPriceList.ts +61 -0
  1132. package/src/modules/sales/db/salesPriceRule.ts +96 -0
  1133. package/src/modules/sales/db/shipment.ts +78 -0
  1134. package/src/modules/sales/db/shipmentLine.ts +58 -0
  1135. package/src/modules/sales/db/syncJob.ts +70 -0
  1136. package/src/modules/sales/docs/commands/ActivateChannel.md +42 -0
  1137. package/src/modules/sales/docs/commands/ActivateListing.md +46 -0
  1138. package/src/modules/sales/docs/commands/ActivateSalesPaymentTerm.md +41 -0
  1139. package/src/modules/sales/docs/commands/ActivateSalesPriceList.md +39 -0
  1140. package/src/modules/sales/docs/commands/ActivateSalesPriceRule.md +48 -0
  1141. package/src/modules/sales/docs/commands/CancelChannelOrder.md +37 -0
  1142. package/src/modules/sales/docs/commands/CancelSalesInvoice.md +39 -0
  1143. package/src/modules/sales/docs/commands/CancelSalesOrder.md +40 -0
  1144. package/src/modules/sales/docs/commands/CancelSyncJob.md +36 -0
  1145. package/src/modules/sales/docs/commands/CloseSalesOrder.md +39 -0
  1146. package/src/modules/sales/docs/commands/ConfirmSalesOrder.md +43 -0
  1147. package/src/modules/sales/docs/commands/ConvertChannelOrder.md +44 -0
  1148. package/src/modules/sales/docs/commands/CreateChannel.md +40 -0
  1149. package/src/modules/sales/docs/commands/CreateListing.md +40 -0
  1150. package/src/modules/sales/docs/commands/CreateSalesCreditNote.md +37 -0
  1151. package/src/modules/sales/docs/commands/CreateSalesInvoice.md +39 -0
  1152. package/src/modules/sales/docs/commands/CreateSalesOrder.md +51 -0
  1153. package/src/modules/sales/docs/commands/CreateSalesPaymentTerm.md +38 -0
  1154. package/src/modules/sales/docs/commands/CreateSalesPriceList.md +37 -0
  1155. package/src/modules/sales/docs/commands/CreateSalesPriceRule.md +46 -0
  1156. package/src/modules/sales/docs/commands/CreateShipment.md +38 -0
  1157. package/src/modules/sales/docs/commands/DeactivateChannel.md +35 -0
  1158. package/src/modules/sales/docs/commands/DeactivateSalesPaymentTerm.md +35 -0
  1159. package/src/modules/sales/docs/commands/DeactivateSalesPriceList.md +35 -0
  1160. package/src/modules/sales/docs/commands/DeactivateSalesPriceRule.md +35 -0
  1161. package/src/modules/sales/docs/commands/IssueSalesCreditNote.md +38 -0
  1162. package/src/modules/sales/docs/commands/IssueSalesInvoice.md +43 -0
  1163. package/src/modules/sales/docs/commands/MarkChannelOrderException.md +37 -0
  1164. package/src/modules/sales/docs/commands/PauseListing.md +36 -0
  1165. package/src/modules/sales/docs/commands/PlaceSalesOrderOnCreditHold.md +41 -0
  1166. package/src/modules/sales/docs/commands/PostShipment.md +41 -0
  1167. package/src/modules/sales/docs/commands/RecordChannelOrder.md +45 -0
  1168. package/src/modules/sales/docs/commands/RejectSalesOrder.md +41 -0
  1169. package/src/modules/sales/docs/commands/ReleaseSalesOrderCreditHold.md +36 -0
  1170. package/src/modules/sales/docs/commands/RetireListing.md +36 -0
  1171. package/src/modules/sales/docs/commands/RetrySyncJob.md +39 -0
  1172. package/src/modules/sales/docs/commands/SendSalesInvoice.md +38 -0
  1173. package/src/modules/sales/docs/commands/StartSyncJob.md +39 -0
  1174. package/src/modules/sales/docs/commands/SubmitSalesOrder.md +43 -0
  1175. package/src/modules/sales/docs/commands/UpdateChannel.md +43 -0
  1176. package/src/modules/sales/docs/commands/UpdateListing.md +38 -0
  1177. package/src/modules/sales/docs/commands/UpdateSalesCreditNote.md +38 -0
  1178. package/src/modules/sales/docs/commands/UpdateSalesInvoice.md +38 -0
  1179. package/src/modules/sales/docs/commands/UpdateSalesOrder.md +45 -0
  1180. package/src/modules/sales/docs/commands/UpdateSalesPaymentTerm.md +41 -0
  1181. package/src/modules/sales/docs/commands/UpdateSalesPriceList.md +40 -0
  1182. package/src/modules/sales/docs/commands/UpdateSalesPriceRule.md +49 -0
  1183. package/src/modules/sales/docs/commands/UpdateShipment.md +38 -0
  1184. package/src/modules/sales/docs/commands/bin/rm.md +52 -0
  1185. package/src/modules/sales/docs/commands/opt/homebrew/bin/codex.md +52 -0
  1186. package/src/modules/sales/docs/commands/opt/homebrew/bin/ps2ps2.md +52 -0
  1187. package/src/modules/sales/docs/commands/opt/homebrew/bin/rg.md +52 -0
  1188. package/src/modules/sales/docs/commands/opt/homebrew/bin/sha384sum.md +52 -0
  1189. package/src/modules/sales/docs/commands/opt/homebrew/opt/libpq/bin/pg_combinebackup.md +52 -0
  1190. package/src/modules/sales/docs/commands/sbin/mount_msdos.md +52 -0
  1191. package/src/modules/sales/docs/commands/sbin/mount_nfs.md +52 -0
  1192. package/src/modules/sales/docs/commands/usr/bin/cupstestppd.md +52 -0
  1193. package/src/modules/sales/docs/commands/usr/bin/enc2xs.md +52 -0
  1194. package/src/modules/sales/docs/commands/usr/bin/hash.md +52 -0
  1195. package/src/modules/sales/docs/commands/usr/bin/jarsigner.md +52 -0
  1196. package/src/modules/sales/docs/commands/usr/bin/mpsgraphtool.md +52 -0
  1197. package/src/modules/sales/docs/commands/usr/bin/nano.md +52 -0
  1198. package/src/modules/sales/docs/commands/usr/bin/pod2html5.34.md +52 -0
  1199. package/src/modules/sales/docs/commands/usr/bin/ri.md +52 -0
  1200. package/src/modules/sales/docs/commands/usr/bin/rs.md +52 -0
  1201. package/src/modules/sales/docs/commands/usr/bin/trustcachectl.md +52 -0
  1202. package/src/modules/sales/docs/commands/usr/sbin/htpasswd.md +52 -0
  1203. package/src/modules/sales/docs/commands/usr/sbin/lpadmin.md +52 -0
  1204. package/src/modules/sales/docs/commands/usr/sbin/setkey.md +52 -0
  1205. package/src/modules/sales/docs/features/channel-listing-management.md +68 -0
  1206. package/src/modules/sales/docs/features/channel-order-sync.md +78 -0
  1207. package/src/modules/sales/docs/features/customer-invoicing.md +89 -0
  1208. package/src/modules/sales/docs/features/customer-sales-pricing.md +72 -0
  1209. package/src/modules/sales/docs/features/sales-order-lifecycle.md +96 -0
  1210. package/src/modules/sales/docs/features/sales-payment-terms.md +67 -0
  1211. package/src/modules/sales/docs/features/shipment-fulfillment.md +71 -0
  1212. package/src/modules/sales/docs/models/Channel.md +48 -0
  1213. package/src/modules/sales/docs/models/ChannelOrder.md +56 -0
  1214. package/src/modules/sales/docs/models/ChannelOrderLine.md +39 -0
  1215. package/src/modules/sales/docs/models/Listing.md +56 -0
  1216. package/src/modules/sales/docs/models/SalesCreditNote.md +47 -0
  1217. package/src/modules/sales/docs/models/SalesCreditNoteLine.md +37 -0
  1218. package/src/modules/sales/docs/models/SalesInvoice.md +55 -0
  1219. package/src/modules/sales/docs/models/SalesInvoiceLine.md +39 -0
  1220. package/src/modules/sales/docs/models/SalesOrder.md +79 -0
  1221. package/src/modules/sales/docs/models/SalesOrderLine.md +42 -0
  1222. package/src/modules/sales/docs/models/SalesPaymentTerm.md +53 -0
  1223. package/src/modules/sales/docs/models/SalesPriceList.md +50 -0
  1224. package/src/modules/sales/docs/models/SalesPriceRule.md +51 -0
  1225. package/src/modules/sales/docs/models/Shipment.md +49 -0
  1226. package/src/modules/sales/docs/models/ShipmentLine.md +38 -0
  1227. package/src/modules/sales/docs/models/SyncJob.md +53 -0
  1228. package/src/modules/sales/docs/queries/CalculateInvoiceDueSchedule.md +37 -0
  1229. package/src/modules/sales/docs/queries/GetApplicableSalesPrice.md +38 -0
  1230. package/src/modules/sales/docs/queries/GetChannel.md +34 -0
  1231. package/src/modules/sales/docs/queries/GetChannelOrder.md +34 -0
  1232. package/src/modules/sales/docs/queries/GetListing.md +34 -0
  1233. package/src/modules/sales/docs/queries/GetListingByExternalIdentifier.md +35 -0
  1234. package/src/modules/sales/docs/queries/GetSalesCreditNote.md +34 -0
  1235. package/src/modules/sales/docs/queries/GetSalesInvoice.md +34 -0
  1236. package/src/modules/sales/docs/queries/GetSalesOrder.md +36 -0
  1237. package/src/modules/sales/docs/queries/GetSalesPaymentTerm.md +34 -0
  1238. package/src/modules/sales/docs/queries/GetSalesPriceList.md +34 -0
  1239. package/src/modules/sales/docs/queries/GetShipment.md +34 -0
  1240. package/src/modules/sales/docs/queries/GetSyncJob.md +34 -0
  1241. package/src/modules/sales/docs/queries/ListChannelOrdersByStatus.md +34 -0
  1242. package/src/modules/sales/docs/queries/ListChannels.md +33 -0
  1243. package/src/modules/sales/docs/queries/ListListingsByChannel.md +33 -0
  1244. package/src/modules/sales/docs/queries/ListSalesCreditNotesByInvoice.md +33 -0
  1245. package/src/modules/sales/docs/queries/ListSalesInvoicesBySalesOrder.md +33 -0
  1246. package/src/modules/sales/docs/queries/ListSalesOrders.md +36 -0
  1247. package/src/modules/sales/docs/queries/ListSalesPaymentTerms.md +33 -0
  1248. package/src/modules/sales/docs/queries/ListSalesPriceLists.md +33 -0
  1249. package/src/modules/sales/docs/queries/ListSalesPriceRulesByPriceList.md +33 -0
  1250. package/src/modules/sales/docs/queries/ListShipmentsBySalesOrder.md +33 -0
  1251. package/src/modules/sales/docs/queries/ListSyncJobs.md +34 -0
  1252. package/src/modules/sales/executor/.gitkeep +0 -0
  1253. package/src/modules/sales/generated/.gitkeep +0 -0
  1254. package/src/modules/sales/generated/enums.ts +119 -0
  1255. package/src/modules/sales/generated/kysely-tailordb.ts +332 -0
  1256. package/src/modules/sales/index.ts +2 -0
  1257. package/src/modules/sales/lib/_db_deps.ts +67 -0
  1258. package/src/modules/sales/lib/domain.ts +354 -0
  1259. package/src/modules/sales/lib/errors.generated.ts +417 -0
  1260. package/src/modules/sales/lib/permissions.generated.ts +53 -0
  1261. package/src/modules/sales/lib/repository.ts +137 -0
  1262. package/src/modules/sales/lib/types.ts +105 -0
  1263. package/src/modules/sales/module.ts +418 -0
  1264. package/src/modules/sales/permissions.ts +3 -0
  1265. package/src/modules/sales/query/.gitkeep +0 -0
  1266. package/src/modules/sales/query/calculateInvoiceDueSchedule.generated.ts +5 -0
  1267. package/src/modules/sales/query/calculateInvoiceDueSchedule.test.ts +107 -0
  1268. package/src/modules/sales/query/calculateInvoiceDueSchedule.ts +35 -0
  1269. package/src/modules/sales/query/getApplicableSalesPrice.generated.ts +5 -0
  1270. package/src/modules/sales/query/getApplicableSalesPrice.test.ts +110 -0
  1271. package/src/modules/sales/query/getApplicableSalesPrice.ts +81 -0
  1272. package/src/modules/sales/query/getChannel.generated.ts +5 -0
  1273. package/src/modules/sales/query/getChannel.test.ts +39 -0
  1274. package/src/modules/sales/query/getChannel.ts +15 -0
  1275. package/src/modules/sales/query/getChannelOrder.generated.ts +5 -0
  1276. package/src/modules/sales/query/getChannelOrder.test.ts +50 -0
  1277. package/src/modules/sales/query/getChannelOrder.ts +29 -0
  1278. package/src/modules/sales/query/getListing.generated.ts +5 -0
  1279. package/src/modules/sales/query/getListing.test.ts +39 -0
  1280. package/src/modules/sales/query/getListing.ts +15 -0
  1281. package/src/modules/sales/query/getListingByExternalIdentifier.generated.ts +5 -0
  1282. package/src/modules/sales/query/getListingByExternalIdentifier.test.ts +61 -0
  1283. package/src/modules/sales/query/getListingByExternalIdentifier.ts +23 -0
  1284. package/src/modules/sales/query/getSalesCreditNote.generated.ts +5 -0
  1285. package/src/modules/sales/query/getSalesCreditNote.test.ts +44 -0
  1286. package/src/modules/sales/query/getSalesCreditNote.ts +14 -0
  1287. package/src/modules/sales/query/getSalesInvoice.generated.ts +5 -0
  1288. package/src/modules/sales/query/getSalesInvoice.test.ts +44 -0
  1289. package/src/modules/sales/query/getSalesInvoice.ts +14 -0
  1290. package/src/modules/sales/query/getSalesOrder.generated.ts +5 -0
  1291. package/src/modules/sales/query/getSalesOrder.test.ts +57 -0
  1292. package/src/modules/sales/query/getSalesOrder.ts +20 -0
  1293. package/src/modules/sales/query/getSalesPaymentTerm.generated.ts +5 -0
  1294. package/src/modules/sales/query/getSalesPaymentTerm.test.ts +44 -0
  1295. package/src/modules/sales/query/getSalesPaymentTerm.ts +24 -0
  1296. package/src/modules/sales/query/getSalesPriceList.generated.ts +5 -0
  1297. package/src/modules/sales/query/getSalesPriceList.test.ts +39 -0
  1298. package/src/modules/sales/query/getSalesPriceList.ts +15 -0
  1299. package/src/modules/sales/query/getShipment.generated.ts +5 -0
  1300. package/src/modules/sales/query/getShipment.test.ts +44 -0
  1301. package/src/modules/sales/query/getShipment.ts +12 -0
  1302. package/src/modules/sales/query/getSyncJob.generated.ts +5 -0
  1303. package/src/modules/sales/query/getSyncJob.test.ts +43 -0
  1304. package/src/modules/sales/query/getSyncJob.ts +24 -0
  1305. package/src/modules/sales/query/listChannelOrdersByStatus.generated.ts +5 -0
  1306. package/src/modules/sales/query/listChannelOrdersByStatus.test.ts +58 -0
  1307. package/src/modules/sales/query/listChannelOrdersByStatus.ts +53 -0
  1308. package/src/modules/sales/query/listChannels.generated.ts +5 -0
  1309. package/src/modules/sales/query/listChannels.test.ts +36 -0
  1310. package/src/modules/sales/query/listChannels.ts +39 -0
  1311. package/src/modules/sales/query/listListingsByChannel.generated.ts +5 -0
  1312. package/src/modules/sales/query/listListingsByChannel.test.ts +36 -0
  1313. package/src/modules/sales/query/listListingsByChannel.ts +39 -0
  1314. package/src/modules/sales/query/listSalesCreditNotesByInvoice.generated.ts +5 -0
  1315. package/src/modules/sales/query/listSalesCreditNotesByInvoice.test.ts +36 -0
  1316. package/src/modules/sales/query/listSalesCreditNotesByInvoice.ts +42 -0
  1317. package/src/modules/sales/query/listSalesInvoicesBySalesOrder.generated.ts +5 -0
  1318. package/src/modules/sales/query/listSalesInvoicesBySalesOrder.test.ts +36 -0
  1319. package/src/modules/sales/query/listSalesInvoicesBySalesOrder.ts +42 -0
  1320. package/src/modules/sales/query/listSalesOrders.generated.ts +5 -0
  1321. package/src/modules/sales/query/listSalesOrders.test.ts +79 -0
  1322. package/src/modules/sales/query/listSalesOrders.ts +67 -0
  1323. package/src/modules/sales/query/listSalesPaymentTerms.generated.ts +5 -0
  1324. package/src/modules/sales/query/listSalesPaymentTerms.test.ts +36 -0
  1325. package/src/modules/sales/query/listSalesPaymentTerms.ts +42 -0
  1326. package/src/modules/sales/query/listSalesPriceLists.generated.ts +5 -0
  1327. package/src/modules/sales/query/listSalesPriceLists.test.ts +36 -0
  1328. package/src/modules/sales/query/listSalesPriceLists.ts +39 -0
  1329. package/src/modules/sales/query/listSalesPriceRulesByPriceList.generated.ts +5 -0
  1330. package/src/modules/sales/query/listSalesPriceRulesByPriceList.test.ts +39 -0
  1331. package/src/modules/sales/query/listSalesPriceRulesByPriceList.ts +47 -0
  1332. package/src/modules/sales/query/listShipmentsBySalesOrder.generated.ts +5 -0
  1333. package/src/modules/sales/query/listShipmentsBySalesOrder.test.ts +36 -0
  1334. package/src/modules/sales/query/listShipmentsBySalesOrder.ts +36 -0
  1335. package/src/modules/sales/query/listSyncJobs.generated.ts +5 -0
  1336. package/src/modules/sales/query/listSyncJobs.test.ts +50 -0
  1337. package/src/modules/sales/query/listSyncJobs.ts +47 -0
  1338. package/src/modules/sales/tailor.config.ts +13 -0
  1339. package/src/modules/sales/tailor.d.ts +13 -0
  1340. package/src/modules/sales/testing/commandTestUtils.ts +35 -0
  1341. package/src/modules/sales/testing/fixtures.ts +520 -0
  1342. package/src/modules/user-management/command/.gitkeep +0 -0
  1343. package/src/modules/user-management/command/activateUser.generated.ts +1 -1
  1344. package/src/modules/user-management/command/activateUser.ts +1 -1
  1345. package/src/modules/user-management/command/assignPermissionToRole.generated.ts +1 -1
  1346. package/src/modules/user-management/command/assignPermissionToRole.ts +1 -1
  1347. package/src/modules/user-management/command/assignRoleToUser.generated.ts +1 -1
  1348. package/src/modules/user-management/command/assignRoleToUser.ts +1 -1
  1349. package/src/modules/user-management/command/createPermission.generated.ts +1 -1
  1350. package/src/modules/user-management/command/createPermission.ts +1 -1
  1351. package/src/modules/user-management/command/createRole.generated.ts +1 -1
  1352. package/src/modules/user-management/command/createRole.ts +1 -1
  1353. package/src/modules/user-management/command/createUser.generated.ts +1 -1
  1354. package/src/modules/user-management/command/createUser.ts +1 -1
  1355. package/src/modules/user-management/command/deactivateUser.generated.ts +1 -1
  1356. package/src/modules/user-management/command/deactivateUser.ts +1 -1
  1357. package/src/modules/user-management/command/reactivateUser.generated.ts +1 -1
  1358. package/src/modules/user-management/command/reactivateUser.ts +1 -1
  1359. package/src/modules/user-management/command/revokePermissionFromRole.generated.ts +1 -1
  1360. package/src/modules/user-management/command/revokePermissionFromRole.ts +1 -1
  1361. package/src/modules/user-management/command/revokeRoleFromUser.generated.ts +1 -1
  1362. package/src/modules/user-management/command/revokeRoleFromUser.ts +1 -1
  1363. package/src/modules/user-management/db/.gitkeep +0 -0
  1364. package/src/modules/user-management/executor/.gitkeep +0 -0
  1365. package/src/modules/user-management/generated/.gitkeep +0 -0
  1366. package/src/modules/user-management/lib/errors.generated.ts +1 -6
  1367. package/src/modules/user-management/lib/permissions.generated.ts +1 -1
  1368. package/src/modules/user-management/lib/recomputeUserPermissions.ts +4 -2
  1369. package/src/modules/user-management/lib/types.ts +6 -1
  1370. package/src/modules/user-management/module.ts +1 -1
  1371. package/src/modules/user-management/permissions.ts +3 -0
  1372. package/src/modules/user-management/query/.gitkeep +0 -0
  1373. package/src/modules/user-management/query/listRolePermissionsByRole.generated.ts +5 -0
  1374. package/src/modules/user-management/query/listRolePermissionsByRole.test.ts +20 -0
  1375. package/src/modules/user-management/query/listRolePermissionsByRole.ts +28 -0
  1376. package/src/modules/user-management/query/listUserRolesByUser.generated.ts +5 -0
  1377. package/src/modules/user-management/query/listUserRolesByUser.test.ts +20 -0
  1378. package/src/modules/user-management/query/listUserRolesByUser.ts +28 -0
  1379. package/src/schemas.ts +6 -6
  1380. package/src/shared/defineCommand.ts +1 -1
  1381. package/src/shared/entityTypes.ts +1 -1
  1382. package/src/shared/uuidv5.test.ts +18 -0
  1383. package/src/shared/uuidv5.ts +23 -0
  1384. package/src/testing/index.ts +1 -1
  1385. package/templates/scaffold/app/backend/package.json +1 -3
  1386. package/templates/scaffold/app/backend/seed/exec.mjs +7 -5
  1387. package/templates/scaffold/app/backend/src/generated/kysely-tailordb.ts +0 -11
  1388. package/templates/scaffold/module/lib/types.ts +6 -1
  1389. package/templates/scaffold/module/permissions.ts +1 -1
  1390. package/templates/scaffold/module/seed/index.ts +19 -0
  1391. package/src/modules/business-partner/lib/errors.ts +0 -2
  1392. package/src/modules/organization/lib/errors.ts +0 -1
  1393. package/templates/scaffold/module/lib/errors.ts +0 -1
  1394. /package/schemas/{app-compose → app}/actors.yml +0 -0
  1395. /package/schemas/{app-compose → app}/business-flow.yml +0 -0
  1396. /package/schemas/{app-compose → app}/requirements.yml +0 -0
  1397. /package/schemas/{app-compose → app}/resolver.yml +0 -0
  1398. /package/schemas/{app-compose → app}/screen.yml +0 -0
  1399. /package/schemas/{app-compose → app}/story.yml +0 -0
  1400. /package/src/modules/{purchase → inventory/command}/.gitkeep +0 -0
  1401. /package/src/modules/{audit/lib/errors.ts → inventory/db/.gitkeep} +0 -0
  1402. /package/src/modules/{coa-management/lib/errors.ts → inventory/executor/.gitkeep} +0 -0
@@ -0,0 +1,59 @@
1
+ # CreatePurchaseBill
2
+
3
+ ## Overview
4
+
5
+ CreatePurchaseBill creates a supplier bill in `DRAFT` status with invoice identity, purchase references, line quantities, tax snapshot inputs, and the payment-term snapshot that will later drive payable scheduling.
6
+
7
+ ## Business Rules
8
+
9
+ - Company, supplier, invoice number, invoice date, and at least one line are required
10
+ - Duplicate supplier invoice numbers are rejected within the same supplier and company
11
+ - Each line must reference a valid purchase-order line and record billed quantity greater than zero
12
+ - Supplier bill cannot reference a cancelled purchase order
13
+ - Assigned payment term snapshot and supplier tax identification must be captured at create time
14
+ - New purchase bills are created in `DRAFT` status
15
+
16
+ ## Process Flow
17
+
18
+ ```mermaid
19
+ flowchart TD
20
+ A[Receive create request] --> B{Supplier and company valid?}
21
+ B -->|No| C[Return supplier or company error]
22
+ B -->|Yes| D{Duplicate invoice number?}
23
+ D -->|Yes| E[Return DUPLICATE_SUPPLIER_INVOICE_NUMBER]
24
+ D -->|No| F{At least one valid bill line?}
25
+ F -->|No| G[Return line validation error]
26
+ F -->|Yes| H[Snapshot payment term and supplier tax identity]
27
+ H --> I[Insert purchase bill in DRAFT]
28
+ I --> J[Return created bill]
29
+ ```
30
+
31
+ ## External Dependencies
32
+
33
+ - [business-partner::GetPartner](../../../business-partner/docs/queries/GetPartner.md) - Validate supplier identity and status
34
+ - [business-partner::ListPartnerIdentificationsByPartner](../../../business-partner/docs/queries/ListPartnerIdentificationsByPartner.md) - Source supplier tax identification snapshot
35
+
36
+ ## Error Scenarios
37
+
38
+ - **SUPPLIER_NOT_FOUND**: Referenced supplier does not exist
39
+ - **DUPLICATE_SUPPLIER_INVOICE_NUMBER**: Supplier invoice number already exists in the same company and supplier scope
40
+ - **EMPTY_BILL_LINES**: No purchase-bill lines were provided
41
+ - **PURCHASE_ORDER_LINE_NOT_FOUND**: Referenced purchase-order line does not exist
42
+ - **INVALID_BILLED_QUANTITY**: Billed quantity is zero or negative
43
+ - **PURCHASE_ORDER_CANCELLED**: Referenced purchase order is cancelled
44
+ - **PAYMENT_TERM_SNAPSHOT_MISSING**: No valid payment-term snapshot is available for the bill
45
+ - **SUPPLIER_TAX_IDENTIFICATION_MISSING**: Required supplier tax identification cannot be snapshotted
46
+
47
+ ## Test Cases
48
+
49
+ - creates a draft purchase bill with valid line references
50
+ - snapshots payment-term data at create time
51
+ - snapshots supplier tax identification at create time
52
+ - returns error when supplier does not exist
53
+ - returns error when invoice number is duplicated
54
+ - returns error when no bill lines are provided
55
+ - returns error when a purchase-order line does not exist
56
+ - returns error when billed quantity is zero or negative
57
+ - returns error when referenced purchase order is cancelled
58
+ - returns error when no payment-term snapshot is available
59
+ - returns error when supplier tax identification cannot be snapshotted
@@ -0,0 +1,66 @@
1
+ # CreatePurchaseOrder
2
+
3
+ ## Overview
4
+
5
+ CreatePurchaseOrder creates a new purchase order in `DRAFT` status with supplier, company, receiving context, payment-term snapshot seed, and one or more commercial lines.
6
+
7
+ ## Business Rules
8
+
9
+ - Company, supplier, and at least one line are required
10
+ - Supplier must exist, be active, and carry the `SUPPLIER` role
11
+ - Each line must reference an active item, have quantity greater than zero, and have a non-negative unit price
12
+ - Lines that require physical receipt must identify a valid receiving site
13
+ - If a default purchase payment term is inherited from the supplier profile, it must be active at creation time
14
+ - Order is always created in `DRAFT` status
15
+
16
+ ## Process Flow
17
+
18
+ ```mermaid
19
+ flowchart TD
20
+ A[Receive create request] --> B{Supplier valid and active?}
21
+ B -->|No| C[Return supplier error]
22
+ B -->|Yes| D{At least one line?}
23
+ D -->|No| E[Return EMPTY_PURCHASE_ORDER_LINES]
24
+ D -->|Yes| F{Validate each line item, quantity, price, site}
25
+ F -->|No| G[Return line validation error]
26
+ F -->|Yes| H{Resolve default payment term if needed}
27
+ H -->|Invalid| I[Return payment term error]
28
+ H -->|Valid| J[Insert order and lines in DRAFT]
29
+ J --> K[Return created order]
30
+ ```
31
+
32
+ ## External Dependencies
33
+
34
+ - [business-partner::GetPartner](../../../business-partner/docs/queries/GetPartner.md) - Validate supplier identity, status, and supplier role
35
+ - [item-management::GetItem](../../../item-management/docs/queries/GetItem.md) - Validate each referenced item and item status
36
+ - [organization::GetSite](../../../organization/docs/queries/GetSite.md) - Validate receiving site references
37
+
38
+ ## Error Scenarios
39
+
40
+ - **SUPPLIER_NOT_FOUND**: Referenced supplier does not exist
41
+ - **SUPPLIER_NOT_ACTIVE**: Referenced supplier is inactive
42
+ - **PARTNER_NOT_SUPPLIER**: Referenced partner does not carry the `SUPPLIER` role
43
+ - **EMPTY_PURCHASE_ORDER_LINES**: No purchase-order lines were provided
44
+ - **ITEM_NOT_FOUND**: Referenced item does not exist
45
+ - **ITEM_NOT_ACTIVE**: Referenced item is inactive
46
+ - **INVALID_QUANTITY**: Ordered quantity is zero or negative
47
+ - **INVALID_UNIT_PRICE**: Unit price is negative
48
+ - **RECEIVING_SITE_NOT_FOUND**: Referenced receiving site does not exist
49
+ - **RECEIVING_SITE_REQUIRED**: A physical-receipt line has no receiving site
50
+ - **PAYMENT_TERM_INACTIVE**: Inherited default payment term is inactive
51
+
52
+ ## Test Cases
53
+
54
+ - creates a draft purchase order with valid supplier and lines
55
+ - inherits default payment term from supplier profile when present
56
+ - returns error when supplier does not exist
57
+ - returns error when supplier is inactive
58
+ - returns error when partner is not a supplier
59
+ - returns error when no lines are provided
60
+ - returns error when an item does not exist
61
+ - returns error when an item is inactive
62
+ - returns error when quantity is zero or negative
63
+ - returns error when unit price is negative
64
+ - returns error when receiving site is missing for a physical line
65
+ - returns error when receiving site does not exist
66
+ - returns error when inherited payment term is inactive
@@ -0,0 +1,52 @@
1
+ # CreatePurchasePaymentTerm
2
+
3
+ ## Overview
4
+
5
+ CreatePurchasePaymentTerm creates a new company-scoped supplier payment term in `ACTIVE` status with one or more schedule lines and optional early-payment discount metadata.
6
+
7
+ ## Business Rules
8
+
9
+ - `companyId`, name, and at least one schedule line are required
10
+ - Percentage-based installment lines must total 100 percent
11
+ - Schedule lines must not contain negative percentages or negative fixed amounts
12
+ - Discount cutoff must occur on or before the generated final due date
13
+ - Discount base must be explicitly `GROSS_AMOUNT` or `NET_AMOUNT` when discounting is enabled
14
+ - New payment terms are created in `ACTIVE` status
15
+
16
+ ## Process Flow
17
+
18
+ ```mermaid
19
+ flowchart TD
20
+ A[Receive create request] --> B{Company exists?}
21
+ B -->|No| C[Return company error]
22
+ B -->|Yes| D{At least one schedule line?}
23
+ D -->|No| E[Return EMPTY_SCHEDULE]
24
+ D -->|Yes| F{Lines valid and percentages balanced?}
25
+ F -->|No| G[Return schedule validation error]
26
+ F -->|Yes| H{Discount metadata valid?}
27
+ H -->|No| I[Return discount validation error]
28
+ H -->|Yes| J[Insert payment term and lines in ACTIVE]
29
+ J --> K[Return created term]
30
+ ```
31
+
32
+ ## External Dependencies
33
+
34
+ - [organization::GetCompany](../../../organization/docs/queries/GetCompany.md) - Validate company scope for the new payment term
35
+
36
+ ## Error Scenarios
37
+
38
+ - **COMPANY_NOT_FOUND**: Referenced company does not exist
39
+ - **EMPTY_SCHEDULE**: No payment term schedule lines were provided
40
+ - **INVALID_INSTALLMENT_TOTAL**: Percentage-based installment lines do not total 100 percent
41
+ - **INVALID_SCHEDULE_LINE**: A schedule line contains a negative percentage or negative fixed amount
42
+ - **INVALID_DISCOUNT_CONFIGURATION**: Discount metadata is incomplete or inconsistent with the final due date
43
+
44
+ ## Test Cases
45
+
46
+ - creates an active payment term with one schedule line
47
+ - creates an installment payment term when percentages total 100 percent
48
+ - returns error when company does not exist
49
+ - returns error when no schedule lines are provided
50
+ - returns error when installment percentages do not total 100 percent
51
+ - returns error when a schedule line contains a negative amount or percentage
52
+ - returns error when discount cutoff is after the final due date
@@ -0,0 +1,48 @@
1
+ # CreatePurchasePriceList
2
+
3
+ ## Overview
4
+
5
+ CreatePurchasePriceList creates a new active supplier-specific price list container for one company. The list provides the parent contract context for later purchase price rules.
6
+
7
+ ## Business Rules
8
+
9
+ - `companyId`, `supplierId`, and a list name or code are required
10
+ - Supplier must exist, be active, and carry the `SUPPLIER` role
11
+ - List priority must be valid within the supplier and company scope
12
+ - New price lists are created in `ACTIVE` status
13
+
14
+ ## Process Flow
15
+
16
+ ```mermaid
17
+ flowchart TD
18
+ A[Receive create request] --> B{Company exists?}
19
+ B -->|No| C[Return company error]
20
+ B -->|Yes| D{Supplier exists, active, SUPPLIER?}
21
+ D -->|No| E[Return supplier error]
22
+ D -->|Yes| F{Priority valid?}
23
+ F -->|No| G[Return priority error]
24
+ F -->|Yes| H[Insert price list in ACTIVE]
25
+ H --> I[Return created list]
26
+ ```
27
+
28
+ ## External Dependencies
29
+
30
+ - [business-partner::GetPartner](../../../business-partner/docs/queries/GetPartner.md) - Validate supplier identity and role classification
31
+ - [organization::GetCompany](../../../organization/docs/queries/GetCompany.md) - Validate company scope
32
+
33
+ ## Error Scenarios
34
+
35
+ - **COMPANY_NOT_FOUND**: Referenced company does not exist
36
+ - **SUPPLIER_NOT_FOUND**: Referenced supplier does not exist
37
+ - **SUPPLIER_NOT_ACTIVE**: Referenced supplier is inactive
38
+ - **PARTNER_NOT_SUPPLIER**: Referenced partner does not carry the `SUPPLIER` role
39
+ - **INVALID_LIST_PRIORITY**: List priority conflicts with deterministic supplier ordering rules
40
+
41
+ ## Test Cases
42
+
43
+ - creates an active price list for an active supplier
44
+ - returns error when company does not exist
45
+ - returns error when supplier does not exist
46
+ - returns error when supplier is inactive
47
+ - returns error when partner is not a supplier
48
+ - returns error when list priority is invalid
@@ -0,0 +1,62 @@
1
+ # CreatePurchasePriceRule
2
+
3
+ ## Overview
4
+
5
+ CreatePurchasePriceRule adds a new active supplier pricing condition to an existing price list for one item, currency, purchase unit, quantity break, and validity window.
6
+
7
+ ## Business Rules
8
+
9
+ - Target price list must exist
10
+ - Referenced item must exist and be active
11
+ - Referenced currency and purchase unit must exist
12
+ - Unit price must be greater than zero
13
+ - Minimum quantity must be zero or greater
14
+ - Effective end date cannot be earlier than effective start date
15
+ - A new rule must not duplicate another rule with indistinguishable precedence in the same supplier context
16
+
17
+ ## Process Flow
18
+
19
+ ```mermaid
20
+ flowchart TD
21
+ A[Receive create request] --> B{Price list exists?}
22
+ B -->|No| C[Return PRICE_LIST_NOT_FOUND]
23
+ B -->|Yes| D{Item, currency, and unit valid?}
24
+ D -->|No| E[Return reference error]
25
+ D -->|Yes| F{Price and dates valid?}
26
+ F -->|No| G[Return validation error]
27
+ F -->|Yes| H{Unique precedence?}
28
+ H -->|No| I[Return DUPLICATE_RULE_PRECEDENCE]
29
+ H -->|Yes| J[Insert rule in ACTIVE]
30
+ J --> K[Return created rule]
31
+ ```
32
+
33
+ ## External Dependencies
34
+
35
+ - [item-management::GetItem](../../../item-management/docs/queries/GetItem.md) - Validate item existence and active status
36
+ - [primitives::GetCurrency](../../../primitives/docs/queries/GetCurrency.md) - Validate transaction currency
37
+ - [primitives::GetUnit](../../../primitives/docs/queries/GetUnit.md) - Validate purchase unit of measure
38
+
39
+ ## Error Scenarios
40
+
41
+ - **PRICE_LIST_NOT_FOUND**: Target price list does not exist
42
+ - **ITEM_NOT_FOUND**: Referenced item does not exist
43
+ - **ITEM_NOT_ACTIVE**: Referenced item is inactive
44
+ - **CURRENCY_NOT_FOUND**: Referenced currency does not exist
45
+ - **UNIT_NOT_FOUND**: Referenced purchase unit does not exist
46
+ - **INVALID_UNIT_PRICE**: Unit price is zero or negative
47
+ - **INVALID_MINIMUM_QUANTITY**: Minimum quantity is negative
48
+ - **INVALID_EFFECTIVE_RANGE**: Effective end date is earlier than effective start date
49
+ - **DUPLICATE_RULE_PRECEDENCE**: Another rule already owns the same precedence context
50
+
51
+ ## Test Cases
52
+
53
+ - creates an active purchase price rule with valid references
54
+ - returns error when price list does not exist
55
+ - returns error when item does not exist
56
+ - returns error when item is inactive
57
+ - returns error when currency does not exist
58
+ - returns error when unit does not exist
59
+ - returns error when unit price is not positive
60
+ - returns error when minimum quantity is negative
61
+ - returns error when effective range is invalid
62
+ - returns error when another rule already has the same precedence
@@ -0,0 +1,42 @@
1
+ # DeactivatePurchasePaymentTerm
2
+
3
+ ## Overview
4
+
5
+ DeactivatePurchasePaymentTerm retires a payment term from future draft procurement documents while preserving all historical snapshots already copied onto orders and bills.
6
+
7
+ ## Business Rules
8
+
9
+ - Target payment term must exist
10
+ - Deactivating an already inactive payment term returns success without changing state
11
+ - A payment term cannot be deactivated while it is still configured as the default on an active supplier profile
12
+ - Historical purchase-order and purchase-bill snapshots remain valid after deactivation
13
+
14
+ ## Process Flow
15
+
16
+ ```mermaid
17
+ flowchart TD
18
+ A[Receive deactivate request] --> B{Payment term exists?}
19
+ B -->|No| C[Return PAYMENT_TERM_NOT_FOUND]
20
+ B -->|Yes| D{Already inactive?}
21
+ D -->|Yes| E[Return success with no-op]
22
+ D -->|No| F{Used as active supplier default?}
23
+ F -->|Yes| G[Return PAYMENT_TERM_IN_USE]
24
+ F -->|No| H[Set status to INACTIVE]
25
+ H --> I[Return deactivated term]
26
+ ```
27
+
28
+ ## External Dependencies
29
+
30
+ - [getSupplierProfile](../queries/GetSupplierProfile.md) - Check whether the term is still defaulted on any active supplier profile in scope
31
+
32
+ ## Error Scenarios
33
+
34
+ - **PAYMENT_TERM_NOT_FOUND**: Target payment term does not exist
35
+ - **PAYMENT_TERM_IN_USE**: Payment term is still configured as an active supplier default
36
+
37
+ ## Test Cases
38
+
39
+ - deactivates an active payment term
40
+ - returns success when the payment term is already inactive
41
+ - returns error when payment term does not exist
42
+ - returns error when payment term is still configured as a supplier default
@@ -0,0 +1,39 @@
1
+ # DeactivatePurchasePriceList
2
+
3
+ ## Overview
4
+
5
+ DeactivatePurchasePriceList retires a supplier price list from future defaulting while preserving all orders that already used one of its rules.
6
+
7
+ ## Business Rules
8
+
9
+ - Target price list must exist
10
+ - Deactivating an already inactive list returns success without changing state
11
+ - Deactivated lists are ignored by price resolution for new draft orders
12
+ - Historical purchase orders keep their ordered prices and matched rule references
13
+
14
+ ## Process Flow
15
+
16
+ ```mermaid
17
+ flowchart TD
18
+ A[Receive deactivate request] --> B{Price list exists?}
19
+ B -->|No| C[Return PRICE_LIST_NOT_FOUND]
20
+ B -->|Yes| D{Already inactive?}
21
+ D -->|Yes| E[Return success with no-op]
22
+ D -->|No| F[Set status to INACTIVE]
23
+ F --> G[Return deactivated list]
24
+ ```
25
+
26
+ ## External Dependencies
27
+
28
+ - None
29
+
30
+ ## Error Scenarios
31
+
32
+ - **PRICE_LIST_NOT_FOUND**: Target price list does not exist
33
+
34
+ ## Test Cases
35
+
36
+ - deactivates an active price list
37
+ - returns success when the list is already inactive
38
+ - preserves historical purchase-order snapshots after deactivation
39
+ - returns error when price list does not exist
@@ -0,0 +1,39 @@
1
+ # DeactivatePurchasePriceRule
2
+
3
+ ## Overview
4
+
5
+ DeactivatePurchasePriceRule retires one supplier purchase pricing condition from future rule resolution while preserving all historical purchase orders that already used it.
6
+
7
+ ## Business Rules
8
+
9
+ - Target rule must exist
10
+ - Deactivating an already inactive rule returns success without changing state
11
+ - Deactivated rules are ignored by automatic price calculation for new draft orders
12
+ - Historical purchase orders keep their ordered prices and matched rule references
13
+
14
+ ## Process Flow
15
+
16
+ ```mermaid
17
+ flowchart TD
18
+ A[Receive deactivate request] --> B{Rule exists?}
19
+ B -->|No| C[Return PRICE_RULE_NOT_FOUND]
20
+ B -->|Yes| D{Already inactive?}
21
+ D -->|Yes| E[Return success with no-op]
22
+ D -->|No| F[Set status to INACTIVE]
23
+ F --> G[Return deactivated rule]
24
+ ```
25
+
26
+ ## External Dependencies
27
+
28
+ - None
29
+
30
+ ## Error Scenarios
31
+
32
+ - **PRICE_RULE_NOT_FOUND**: Target price rule does not exist
33
+
34
+ ## Test Cases
35
+
36
+ - deactivates an active price rule
37
+ - returns success when the rule is already inactive
38
+ - preserves historical purchase-order snapshots after deactivation
39
+ - returns error when rule does not exist
@@ -0,0 +1,63 @@
1
+ # MatchPurchaseBill
2
+
3
+ ## Overview
4
+
5
+ MatchPurchaseBill runs procurement matching on a draft supplier bill. It compares each bill line against the referenced purchase-order line and, when 3-way matching is required, against cumulative posted goods receipts. The bill then becomes `MATCHED` or `BLOCKED`.
6
+
7
+ ## Business Rules
8
+
9
+ - Target purchase bill must exist
10
+ - Only bills in `DRAFT` status can be matched
11
+ - Matching mode must be explicitly recorded as `TWO_WAY` or `THREE_WAY`
12
+ - 2-way matching compares billed quantity and billed price to the purchase order
13
+ - 3-way matching also requires billed quantity to stay within cumulative posted receipt quantity, subject to configured tolerance
14
+ - Price variance above tolerance results in `BLOCKED` instead of `MATCHED`
15
+ - Matched bills calculate due schedule from the payment-term snapshot and increase purchase-order billed quantity
16
+ - Blocked bills preserve variance reason and comparison basis without emitting downstream AP readiness
17
+
18
+ ## Process Flow
19
+
20
+ ```mermaid
21
+ flowchart TD
22
+ A[Receive match request] --> B{Purchase bill exists and is DRAFT?}
23
+ B -->|No| C[Return not found or invalid status]
24
+ B -->|Yes| D{Matching mode provided?}
25
+ D -->|No| E[Return MATCH_MODE_REQUIRED]
26
+ D -->|Yes| F[Compare each bill line to PO line]
27
+ F --> G{THREE_WAY?}
28
+ G -->|Yes| H[Compare billed qty to posted receipts]
29
+ G -->|No| I[Skip receipt comparison]
30
+ H --> J{Within quantity and price tolerance?}
31
+ I --> J
32
+ J -->|No| K[Record variance evidence and set BLOCKED]
33
+ J -->|Yes| L[Calculate due schedule and set MATCHED]
34
+ L --> M[Increase PO billed quantity and prepare bill-ready handoff]
35
+ K --> N[Return blocked bill]
36
+ M --> O[Return matched bill]
37
+ ```
38
+
39
+ ## External Dependencies
40
+
41
+ - [getGoodsReceipt](../queries/GetGoodsReceipt.md) - Source cumulative posted receipt evidence for 3-way matching
42
+
43
+ ## Error Scenarios
44
+
45
+ - **PURCHASE_BILL_NOT_FOUND**: Target purchase bill does not exist
46
+ - **PURCHASE_BILL_NOT_DRAFT**: Purchase bill is not in `DRAFT` status
47
+ - **MATCH_MODE_REQUIRED**: No matching mode was provided
48
+ - **PURCHASE_ORDER_CANCELLED**: Referenced purchase order is cancelled
49
+ - **PAYMENT_SCHEDULE_CALCULATION_FAILED**: Due schedule could not be derived from the payment-term snapshot
50
+
51
+ ## Test Cases
52
+
53
+ - matches a valid 2-way purchase bill
54
+ - matches a valid 3-way purchase bill when posted receipt quantity is sufficient
55
+ - blocks a bill when 3-way quantity exceeds posted receipt quantity
56
+ - blocks a bill when price variance exceeds tolerance
57
+ - records matching mode on the bill
58
+ - increases purchase-order billed quantity when the bill is matched
59
+ - returns error when purchase bill does not exist
60
+ - returns error when purchase bill is not draft
61
+ - returns error when matching mode is missing
62
+ - returns error when a referenced purchase order is cancelled
63
+ - returns error when payment schedule calculation fails
@@ -0,0 +1,61 @@
1
+ # PostGoodsReceipt
2
+
3
+ ## Overview
4
+
5
+ PostGoodsReceipt validates a draft receipt, updates cumulative received quantities on the referenced purchase-order lines, transitions the purchase order to the correct receiving state, and emits the inbound inventory handoff when required.
6
+
7
+ ## Business Rules
8
+
9
+ - Target goods receipt must exist
10
+ - Only receipts in `DRAFT` status can be posted
11
+ - Each receipt line must still reference open purchase-order quantity
12
+ - Over-receipt beyond configured tolerance is blocked unless an explicit override path is provided
13
+ - Only posted goods receipts count toward 3-way supplier bill matching
14
+ - Stock-item lines emit the `InboundReceiptHandoff` exactly once; service lines do not require inventory execution
15
+
16
+ ## Process Flow
17
+
18
+ ```mermaid
19
+ flowchart TD
20
+ A[Receive post request] --> B{Goods receipt exists and is DRAFT?}
21
+ B -->|No| C[Return not found or invalid status]
22
+ B -->|Yes| D{Receipt lines still have open quantity and are within tolerance?}
23
+ D -->|No| E[Return receipt validation error]
24
+ D -->|Yes| F[Increase PO line received quantities]
25
+ F --> G[Set goods receipt to POSTED]
26
+ G --> H{Stock line present?}
27
+ H -->|Yes| I[Emit inbound receipt handoff]
28
+ H -->|No| J[Skip inventory handoff]
29
+ I --> K[Roll up PO receiving status]
30
+ J --> K
31
+ K --> L[Return posted receipt]
32
+ ```
33
+
34
+ ## External Dependencies
35
+
36
+ - [inventory::CreateStockMovement](../../../inventory/docs/commands/CreateStockMovement.md) - Downstream stock execution target for stock-item receipts
37
+
38
+ ## Error Scenarios
39
+
40
+ - **GOODS_RECEIPT_NOT_FOUND**: Target goods receipt does not exist
41
+ - **GOODS_RECEIPT_NOT_DRAFT**: Goods receipt is not in `DRAFT` status
42
+ - **PURCHASE_ORDER_NOT_RECEIVABLE**: Purchase order is cancelled or closed
43
+ - **NO_OPEN_RECEIPT_QUANTITY**: Purchase-order line has no remaining open quantity to receive
44
+ - **OVER_RECEIPT_TOLERANCE_EXCEEDED**: Received quantity exceeds allowed tolerance
45
+ - **INACTIVE_EXECUTION_REFERENCE**: Supplier or item is no longer valid for execution
46
+ - **INVENTORY_HANDOFF_FAILED**: Downstream inventory handoff could not be recorded
47
+
48
+ ## Test Cases
49
+
50
+ - posts a valid goods receipt and increases purchase-order received quantity
51
+ - transitions purchase order to partially received when open quantity remains
52
+ - transitions purchase order to received when all quantity is posted
53
+ - emits inventory handoff once for a stock-item receipt
54
+ - skips inventory handoff for a service receipt
55
+ - returns error when goods receipt does not exist
56
+ - returns error when goods receipt is not draft
57
+ - returns error when posting exceeds tolerance
58
+ - returns error when inventory handoff fails
59
+ - returns error when purchase order is no longer receivable
60
+ - returns error when posting a receipt line with no open quantity remaining
61
+ - returns error when execution references are inactive
@@ -0,0 +1,44 @@
1
+ # RejectPurchaseOrder
2
+
3
+ ## Overview
4
+
5
+ RejectPurchaseOrder returns a submitted purchase order to `DRAFT` status and records the rejection reason so the buyer can revise the document.
6
+
7
+ ## Business Rules
8
+
9
+ - Target purchase order must exist
10
+ - Only orders in `SUBMITTED` status can be rejected
11
+ - Rejection reason is required and preserved for audit
12
+ - Rejection does not alter commercial line content; it only changes control status back to draft
13
+
14
+ ## Process Flow
15
+
16
+ ```mermaid
17
+ flowchart TD
18
+ A[Receive reject request] --> B{Purchase order exists?}
19
+ B -->|No| C[Return PURCHASE_ORDER_NOT_FOUND]
20
+ B -->|Yes| D{Status is SUBMITTED?}
21
+ D -->|No| E[Return PURCHASE_ORDER_NOT_SUBMITTED]
22
+ D -->|Yes| F{Reason provided?}
23
+ F -->|No| G[Return REJECTION_REASON_REQUIRED]
24
+ F -->|Yes| H[Store rejection reason and set status to DRAFT]
25
+ H --> I[Return rejected order]
26
+ ```
27
+
28
+ ## External Dependencies
29
+
30
+ - None
31
+
32
+ ## Error Scenarios
33
+
34
+ - **PURCHASE_ORDER_NOT_FOUND**: Target purchase order does not exist
35
+ - **PURCHASE_ORDER_NOT_SUBMITTED**: Purchase order is not in `SUBMITTED` status
36
+ - **REJECTION_REASON_REQUIRED**: No rejection reason was provided
37
+
38
+ ## Test Cases
39
+
40
+ - rejects a submitted purchase order back to draft
41
+ - records the rejection reason for audit
42
+ - returns error when purchase order does not exist
43
+ - returns error when purchase order is not submitted
44
+ - returns error when rejection reason is missing
@@ -0,0 +1,48 @@
1
+ # ReleasePurchaseBill
2
+
3
+ ## Overview
4
+
5
+ ReleasePurchaseBill moves a blocked supplier bill to `MATCHED` after an authorized user confirms that the recorded variance is acceptable or has been resolved outside the original comparison.
6
+
7
+ ## Business Rules
8
+
9
+ - Target purchase bill must exist
10
+ - Only bills in `BLOCKED` status can be released
11
+ - Release reason or override note is required for audit
12
+ - Released bills preserve the original blocked variance evidence in addition to the release decision
13
+ - Releasing a bill recalculates the due schedule if needed and prepares the downstream bill-ready handoff
14
+
15
+ ## Process Flow
16
+
17
+ ```mermaid
18
+ flowchart TD
19
+ A[Receive release request] --> B{Purchase bill exists?}
20
+ B -->|No| C[Return PURCHASE_BILL_NOT_FOUND]
21
+ B -->|Yes| D{Status is BLOCKED?}
22
+ D -->|No| E[Return PURCHASE_BILL_NOT_BLOCKED]
23
+ D -->|Yes| F{Override reason provided?}
24
+ F -->|No| G[Return RELEASE_REASON_REQUIRED]
25
+ F -->|Yes| H[Preserve variance evidence and set MATCHED]
26
+ H --> I[Prepare due schedule and bill-ready handoff]
27
+ I --> J[Return released bill]
28
+ ```
29
+
30
+ ## External Dependencies
31
+
32
+ - None
33
+
34
+ ## Error Scenarios
35
+
36
+ - **PURCHASE_BILL_NOT_FOUND**: Target purchase bill does not exist
37
+ - **PURCHASE_BILL_NOT_BLOCKED**: Purchase bill is not in `BLOCKED` status
38
+ - **RELEASE_REASON_REQUIRED**: No override or resolution reason was provided
39
+ - **PAYMENT_SCHEDULE_CALCULATION_FAILED**: Due schedule could not be derived from the payment-term snapshot
40
+
41
+ ## Test Cases
42
+
43
+ - releases a blocked purchase bill with an override reason
44
+ - preserves original variance evidence when releasing
45
+ - returns error when purchase bill does not exist
46
+ - returns error when purchase bill is not blocked
47
+ - returns error when override reason is missing
48
+ - returns error when payment schedule calculation fails