1
0
forked from erp-dev/erp
Files
erpnew/docs/payment_receipt_workflow.md

1.8 KiB
Raw Blame History

付款单 / 收款单流程说明

1. 概述

  • PaymentOrder:针对供应商的资金支出单据,审批通过后代表“确认付款”。
  • ReceiptOrder:针对客户的资金收入单据,审批通过后代表“确认收款”。
  • 两者均位于 business 模块API 路径分别为 /api/v1/payment-orders//api/v1/receipt-orders/
  • 与采购/销售相比,不涉及产品与库存,仅维护资金方向、对方主体、金额与状态。

2. 创建流程

字段 付款单 收款单
对方主体 supplier (供应商 ID) customer (客户 ID)
日期 payment_date receipt_date
金额 amount,必须 > 0 amount,必须 > 0
其他 remarks(可选) remarks(可选)

创建成功返回 201,包含新建单据 ID、状态默认 PENDING)与提示信息。

3. 审批 / 作废

  • 接口:POST /api/v1/<payment|receipt>-orders/<id>/review/
  • 请求体:{"action": "approve"}{"action": "cancel"}
  • 审批通过:状态变为 APPROVED,后续可用于应付/应收对账。
  • 作废:状态变为 CANCELLED;若已是目标状态则返回原状态(幂等)。

4. 常见异常

场景 响应
缺少主体/日期/金额 400 + {"error": "缺少 ... "}
金额 ≤ 0 400 + {"error": "amount 必须大于 0"}
目标单据不存在或非当前商户 404
无权限(用户非员工) 403

5. 与采购/销售单的关系

  • 继承相同的方向抽象(get_direction()),可与采购/销售的金额统计组合成统一的应收/应付报表。
  • 不触发库存任务,也没有 items、仓库等字段;扩展字段(如付款方式、附件)可在此基础上继续添加。