Files
docs/财务管理/财务开工门禁与F0-F1任务清单.md
T
2026-08-11 09:25:45 +08:00

98 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 财务开工门禁与 F0/F1 任务清单
> 版本:V1.0
> 日期:2026-08-10
> 当前阶段:开发前详细设计
> 结论:技术方案可继续;业务开发须按门禁逐项放行
## 一、总控结论
Finance 的服务拆分、独立数据库、服务内部模块边界和 Firstleg 协作方式已经技术确认,可以继续做详细设计和契约测试准备。
F0 的平台主体、首期仅 RMB/CNY、自定义账期、编号、费用冻结、无历史迁移、客户角色和首期简化审批已经确认。当前采用人工简化方案:账单、收款、成本均由平台财务填写表单并上传凭证;客户账户、发票、供应商在线应付、银行接口、复杂审批和月结首期不做。原表状态已归一为 25 项已确认、7 项暂缓。详见[产品确认版差异与剩余待确认](财务管理产品确认版差异与剩余待确认.md)。
## 二、文档交付状态
| 材料 | 状态 | 作用 |
|---|---|---|
| 财务服务边界设计 | 已完成 | 确认 `finance-service`、`baiyue_finance`、9203 预留和部署改造清单 |
| 财务管理产品确认表/XLSX | 部分已确认 | 会议继续填写剩余业务项;技术结论单独列示 |
| 财务领域模型与数据字典 | 草案完成 | F0/F1 模型、表和约束;未确认口径显式标记 |
| Firstleg-Finance 跨服务契约 | 草案完成 | 事件、快照查询、幂等、重试、权限和契约测试 |
| 财务历史迁移与上线验收方案 | 首发不启用历史迁移 | 保留未来补迁参考;首发使用其中 F0/F1 灰度和验收部分 |
## 三、分阶段开工门禁
### G0:详细设计门禁
可立即进行。条件已满足:
- 独立服务/独立库结论已记录;
- Finance 与 Firstleg 的数据归属和禁止事项已记录;
- 领域模型、跨服务契约、迁移验收方案已有草案;
- 产品待确认项与技术结论已分离。
G0 允许:完善 API/OpenAPI、数据库迁移草案、契约测试样例、页面线框和任务拆分;不允许写入生产财务数据。
### G1:F0 财务底座开发门禁
进入 F0 开发前必须满足:
1. 产品确认表中的 F0 主体/账套、往来单位、币种精度、汇率预留、期间、编号、来源入池、权限审计和历史迁移口径已填写,或明确书面暂缓方案。
其中 F0-11“一客户企业=一个对客结算对象”已确认;客户子用户仍不成为新的财务主体。
2. `finance-service` 的模块目录、端口、数据库名、Nacos 配置和 Gateway 路由完成技术评审。
3. 事件信封、来源版本、Inbox/Outbox、幂等冲突和内部快照查询契约冻结。
4. Finance 权限码、客户范围校验、平台员工操作范围和审计事件清单冻结。
### G2:F1 客户应收开发门禁
进入 F1 前必须满足:
- 账单聚合维度(首期固定 RMB/CNY)和账期计算规则冻结;
- 平台出账、关闭、重开和线下异议录入状态冻结;客户首期只读;
- 应收生成节点、人工收款表单字段、凭证关联和到期日冻结;首期不实现复杂多对多核销模型;
- 预收、多收、手续费、退款、反核销的处理方式冻结;
- 至少准备一组真实或脱敏费用来源样本,能够完成费用→账单→应收→收款→核销回归。
### G3/G4:F2-F4 门禁
供应商应付、客户账户、发票、费用分析和利润必须分别满足产品确认表中的阶段门禁。没有供应商成本凭证、资金性质、税务主体、汇率和分摊口径时,只能保留预留模型和页面草案。
## 四、F0/F1 任务清单
| 编号 | 任务 | 产出 | 依赖 | 放行标准 |
|---|---|---|---|---|
| F0-T01 | 创建 Finance 服务骨架 | `finance/`、Maven 模块、启动类、健康检查 | G1-2 | 独立构建/启动,不改 Firstleg 数据库 |
| F0-T02 | 建立 Finance 数据库与迁移 | `baiyue_finance` 表结构、迁移脚本、版本记录 | F0-T01 | 无跨库外键/Join;迁移可重复执行 |
| F0-T03 | 财务基础主数据 | 主体、账套、币种、期间、编号、往来单位快照 | 产品 F0 | 关闭期间、币种和编号规则服务端生效 |
| F0-T04 | 来源池与事件消费 | Inbox、来源池、快照、事件结果查询 | 契约冻结 | 重复/乱序/重试/冲突均有可验收结果 |
| F0-T05 | 财务权限与审计 | 权限码、客户范围、操作审计和高风险操作保护 | G1-3 | 越权和反核销等操作被服务端拒绝并留痕 |
| F1-T01 | 应收费用池 | 跨入库单筛选、排除原因、来源版本锁定 | F0-T04 | 一条有效来源只能进入一张有效账单 |
| F1-T02 | 客户对账单 | 生成、复核、发送、关闭、平台重开/调整、线下异议录入 | 产品 F1 | 状态迁移和版本并发校验完整 |
| F1-T03 | 应收单 | 应收金额、已核销额、余额、到期/逾期 | F1-T02 | 账单与应收金额可追溯且不可覆盖历史 |
| F1-T04 | 收款与核销 | 收款登记、多对多核销、反核销 | 产品 F1 | 禁止跨币种、超额和重复核销 |
| F1-T05 | 客户侧账单 | 客户只读查看、余额和收款记录 | F1-T02/F1-T04 | 客户不可见内部备注、供应商成本和内部附件 |
| F1-T06 | F1 回归验收 | 正常、重复、并发、越权、冲销、迁移案例 | 以上任务 | 通过迁移与上线验收方案中的 F0/F1 用例 |
## 五、当前可立即执行与必须等待
### 现在可以继续
- 把草案契约转换为 OpenAPI/事件契约测试样例;
- 完善 F0/F1 数据字典、状态转移表和权限矩阵;
- 设计 Finance Admin/Client 页面和空态、错误态、线下异议录入态;
- 准备脱敏历史费用样本与迁移校验脚本设计;
- 按 F0-T01~F0-T05 拆解开发任务,但暂不合入业务代码。
### 必须等待产品确认
- 生产账单、应收、收款、核销的正式业务规则;
- 客户账户、发票、供应商应付和利润的正式口径;
- 历史费用是否迁移、线下已结算排除台账和灰度客户范围。
## 六、总控放行结论
当前状态为:**G0 已通过,G1/G2 待产品确认后放行。**
这意味着可以继续做开发前详细设计和可逆的契约/测试准备;产品回传 XLSX 并冻结 F0/F1 后,即可进入 `finance-service` 骨架、独立数据库和客户应收闭环开发。