销售与财务管理

销售与财务管理

核心定位

这是 ERP 系统的财务子模块,由 yudao-module-erpfinance 包实现。它不独立存在,而是紧密集成在 ERP 的采购和销售流程中,负责资金流的记录和管理。

一句话:采购了要付款,销售了要收款,退货了要退款——财务模块就是管这些「钱」的事情。


解决什么问题

痛点 财务模块如何解决
不知道哪个供应商欠了多少钱 结算账户余额清晰可见
付款后无法关联到具体采购单 付款单关联采购入库单
收款和销售订单脱节 收款单关联销售出库单
退款流程混乱 退货单自动触发退款流程

用户角色

graph LR subgraph 角色 FINANCE2["财务人员
管理结算账户
处理付款/收款
处理退款
核对账目"] end

核心 ER 图

erDiagram ERP_ACCOUNT ||--o{ ERP_FINANCE_PAYMENT : "付款" ERP_ACCOUNT ||--o{ ERP_FINANCE_RECEIPT : "收款" ERP_PURCHASE_IN ||--o{ ERP_FINANCE_PAYMENT : "采购入库→付款" ERP_PURCHASE_RETURN ||--o{ ERP_FINANCE_PAYMENT : "采购退货→退款" ERP_SALE_OUT ||--o{ ERP_FINANCE_RECEIPT : "销售出库→收款" ERP_SALE_RETURN ||--o{ ERP_FINANCE_RECEIPT : "销售退货→退款" ERP_ACCOUNT { bigint id PK varchar name "账户名称" decimal balance "当前余额" tinyint status "状态" } ERP_FINANCE_PAYMENT { bigint id PK varchar no "付款单号" bigint account_id FK "结算账户" bigint in_id FK "采购入库单" decimal price "付款金额" datetime time "付款时间" } ERP_FINANCE_RECEIPT { bigint id PK varchar no "收款单号" bigint account_id FK "结算账户" bigint out_id FK "销售出库单" decimal price "收款金额" datetime time "收款时间" }

业务场景

场景一:采购付款

sequenceDiagram participant P2 as 采购员 participant F2 as 财务 participant ERP5 as ERP participant ACC as 结算账户 P2->>ERP5: 完成采购入库 F2->>ERP5: 查看待付款的采购入库单 F2->>ERP5: 选择结算账户,创建付款单 ERP5->>ACC: 扣减账户余额 ERP5->>ERP5: 记录付款流水

场景二:销售收款

sequenceDiagram participant S3 as 销售员 participant F3 as 财务 participant ERP6 as ERP participant ACC2 as 结算账户 S3->>ERP6: 完成销售出库 F3->>ERP6: 查看待收款的销售出库单 F3->>ERP6: 选择结算账户,创建收款单 ERP6->>ACC2: 增加账户余额 ERP6->>ERP6: 记录收款流水

结算账户

结算账户代表公司与供应商/客户之间的资金账户关系,每笔收付款都会影响对应账户的余额。

属性 说明
账户名称 如「XX 供应商结算账户」
当前余额 实时更新,付款减、收款加
状态 启用/禁用
docs