销售与财务管理
核心定位
這是 ERP 系統的財務子模組,由 yudao-module-erp 的 finance 包實現。它不獨立存在,而是緊密整合在 ERP 的採購和銷售流程中,負責資金流的記錄和管理。
一句話:採購了要付款,銷售了要收款,退貨了要退款——財務模組就是管這些「錢」的事情。
解決什麼問題
| 痛點 | 財務模組如何解決 |
|---|---|
| 不知道哪個供應商欠了多少錢 | 結算賬戶餘額清晰可見 |
| 付款後無法關聯到具體採購單 | 付款單關聯採購入庫單 |
| 收款和銷售訂單脫節 | 收款單關聯銷售出庫單 |
| 退款流程混亂 | 退貨單自動觸發退款流程 |
使用者角色
graph LR
subgraph 角色
FINANCE2["財務人員
管理結算賬戶
處理付款/收款
處理退款
核對賬目"] end
管理結算賬戶
處理付款/收款
處理退款
核對賬目"] 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 供應商結算賬戶」 |
| 當前餘額 | 實時更新,付款減、收款加 |
| 狀態 | 啟用/禁用 |