1
0
forked from erp-dev/erp

feat: BalanceChangeRecord

This commit is contained in:
2025-12-01 15:22:59 +08:00
parent 9acc4e14fc
commit a3b4af2602
8 changed files with 359 additions and 14 deletions

View File

@@ -5,7 +5,7 @@
- `ReceiptOrder`:针对客户的资金收入单据,审批通过后代表“确认收款”。
- 两者均位于 `business` 模块API 路径分别为 `/api/v1/payment-orders/``/api/v1/receipt-orders/`
- 与采购/销售相比,不涉及产品与库存,仅维护资金方向、对方主体、金额与状态。
- 审批通过会同步更新供应商/客户余额表(`SupplierBalance` / `CustomerBalance`),提供 O(1) 的欠款查询。
- 审批通过会同步更新供应商/客户余额表(`SupplierBalance` / `CustomerBalance`并写入 `BalanceChangeRecord`提供 O(1) 的欠款查询与可追溯的余额流水
## 2. 创建流程
| 字段 | 付款单 | 收款单 |
@@ -20,8 +20,8 @@
## 3. 审批 / 作废
- 接口:`POST /api/v1/<payment|receipt>-orders/<id>/review/`
- 请求体:`{"action": "approve"}``{"action": "cancel"}`
- 审批通过:状态变为 `APPROVED`后续可用于应付/应收对账
- 作废:状态变为 `CANCELLED`若已是目标状态则返回原状态(幂等)。
- 审批通过:状态变为 `APPROVED`同步写入余额表与 `BalanceChangeRecord`(记录来源单据、方向、前后余额);审批成功后禁止再作废
- 作废:仅允许 `PENDING` 状态作废,状态变为 `CANCELLED`若已审批或已作废会抛出业务错误(幂等)。
## 4. 常见异常
| 场景 | 响应 |