Files
docs/财务管理/财务管理产品确认表.md
T
2026-08-20 18:02:22 +08:00

196 lines
20 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.
# 财务管理产品确认表
> 版本:V1.1
> 创建日期:2026-08-10
> 状态:一期 5 页范围已确认
> 适用范围:客户账户、客户应收应付、客户对账单、结算单应收、结算单应付
> 技术方案说明:服务边界、跨服务访问、事件幂等、金额存储、状态留痕和正式模块发布方式已按当前仓库架构直接确认,不再要求产品确认;以 XLSX 的“技术结论”工作表为准。
正式技术决策见:[财务服务边界设计](财务服务边界设计.md)。
一期领导验收及接口事实以[财务一期五页产品与接口验收契约](财务一期五页产品与接口验收契约.md)为准;本文后续 F2-F4 历史问题不自动进入一期。
产品回传版 XLSX 的逐项复核和剩余确认门禁见:[财务管理产品确认版差异与剩余待确认](财务管理产品确认版差异与剩余待确认.md)。
## 一、确认说明
本表用于把财务原型中的全量能力转换为可开发的产品结论。原型只作为页面和字段参考,不能代替状态、权限、金额口径和数据来源确认。
- “建议结论”是可直接评审的默认方案,不是已确认需求。
- “最终结论”由产品/业务负责人填写;确认后状态改为“已确认”。
- 暂时无法确认的事项改为“暂缓”,同时填写本阶段临时处理方式。
- F0 是全量财务共同底座;F1/F2 可在 F0 契约冻结后并行;F3/F4 依赖前序台账。
### 1.1 2026-08-10 本轮已确认结论
| 决策 | 已确认结论 |
|---|---|
| 平台财务主体 | “我的资料”作为平台主体信息维护入口;Finance 内部保存独立主体记录和历史快照,不绑定某个员工账号 |
| 币种与汇率 | 首期只支持 RMB/CNY;不做 USD、汇率折算或汇兑损益 |
| 首期账单币种 | 首期只支持 RMB/CNY;不做外币账单、汇率折算或汇兑损益 |
| 客户账期 | 每个客户维护自己的账期配置;默认账期 30 天 |
| 财务期间 | 使用自定义账期;关账后允许平台财务重开,必须记录原因和审计,不覆盖关账历史 |
| 单据编号 | 按成熟财务软件规则由服务端分类发号,采用单据类型+年月+流水号,重试不换号、作废不回收 |
| 费用冻结 | 未出账费用允许按权限修改;进入有效账单后冻结,不允许覆盖原金额 |
| 历史迁移 | 首发不迁移历史费用,只处理 Finance 正式启用后的来源 |
| 客户财务角色 | 客户管理员自行创建角色并决定哪些客户用户进入财务模块;获权用户共享本客户财务数据范围 |
| 客户端动作 | 客户端只读查看,不在线确认、争议、登记收款、核销、反核销、关账或修改金额;异议线下反馈 |
| 平台财务调整 | 只有平台财务可人工调整;已出账时通过调整/作废重开保留原金额、原因和版本,不直接覆盖历史 |
| 收款登记 | 全部由平台财务人工填写收款表单并上传收款凭证图片;首期不接银行流水 |
| 收款分配 | 客户一次付款可对应多张账单;财务在每张账单上填写对应收款金额,并关联同一张收款凭证;首期不做预收、多收、手续费和退款规则 |
| 成本归属 | 单票成本直接归属单票;整柜公共成本(如清关、拖车)按柜内体积进行分摊 |
| 利润统计范围 | 首期只统计 CNY 账单;不做汇率、不做月结,只按账单统计 |
| 实施复杂度 | 首期全部由平台财务人工填写账单、收款和成本表单并上传凭证;不建设自动银行对账、自动核销、复杂审批、钱包、发票或总账 |
| 审批复杂度 | 首期不做强制双人复核和金额分级审批;保留独立权限、操作原因和完整审计 |
| 成员停用 | 客户子用户停用只撤销访问权限;客户账单、应收、余额等仍归客户企业,不触发财务单据转交;历史保留操作人快照 |
| 一期页面 | 只做客户账户、客户应收应付、客户对账单、结算单应收、结算单应付;费用分析和利润表不进菜单/路由 |
| 客户账户性质 | 财务往来派生总览,不是钱包;删除手动充值、预收、可消费余额和自动扣款入口 |
| 费用来源链路 | 入库单费用和柜子费用审核通过后自动发布到 Finance 来源池并成为结算候选;不保留人工“是否结算”标记 |
## 二、全量范围确认
| 编号 | 范围 | 建议结论 | 最终结论 | 状态 |
|---|---|---|---|---|
| S1 | 客户账户 | 做预充值、冻结、解冻、扣款、退款和账户流水;账户余额与应收核销分开,任何抵扣都产生核销记录 | 只做账单、收款和应收应付来源派生的财务往来总览;不做钱包、预收、充值和自动扣款 | 已确认 |
| S2 | 客户应收 | 做客户费用池、对账单、应收单、到期/逾期、收款、部分核销、结清、反核销 | 纳入一期 5 页;平台财务操作,客户只读 | 已确认 |
| S3 | 客户应付 | 仅在确有平台向客户付款的业务场景时启用;否则不开放菜单和数据方向 | 客户应收应付页按来源方向展示;没有真实 PAYABLE 来源时为空,不造模拟数据 | 已确认 |
| S4 | 客户对账单 | 按客户 + 币种 + 账期生成,支持平台内部复核、发送、关闭和财务重开;客户只读查看 | 平台财务出账,客户只读,异议线下反馈 | 已确认 |
| S5 | 供应商应付 | 做供应商成本池、供应商对账、应付单、付款、付款核销和反核销 | 结算单应付纳入一期;只使用具有供应商和真实来源的 CNY 应付费用,付款人工登记 | 已确认 |
| S6 | 发票 | 做发票申请、开票登记、票号/文件关联、红冲和作废;不直接假定外部开票平台 | 一期不做,不设计菜单、路由或按钮 | 已确认 |
| S7 | 费用分析 | 按费用项目、客户、供应商、期间统计发生额、已结算额和余额,支持钻取来源单据 | 一期不做,不进菜单/路由 | 已确认 |
| S8 | 利润 | 支持客户、货柜、单票、月份维度;收入、成本、分摊、汇率和利润率必须可追溯 | 一期不做,不进菜单/路由;应付页删除利润字段和利润审批 | 已确认 |
## 三、F0 财务底座确认
### 3.1 平台、客户、角色与用户边界补充
以下事实已由当前对话确认:产品层只有平台、客户两种身份;平台管理平台角色/用户,客户管理本客户角色/用户。子用户属于客户成员,是操作人,不自动成为财务主体。
客户企业与对客结算对象的一对一关系已确认;客户子用户只是本客户的操作人,停用只影响登录和权限,不影响客户主体的账单、应收和余额。对应条目已补充至 XLSX 的“待确认事项”页。
| 编号 | 需要确认的事项 | 建议结论 | 最终结论 | 状态 |
|---|---|---|---|---|
| F0-11 | 客户与财务主体关系 | 客户企业作为客户数据归属和对客结算对象;首期一客户一结算对象;平台财务主体/账套单独建模,客户子用户不成为新主体 | 一客户企业对应一个对客结算对象;客户子用户共享本客户财务范围;平台收付款/开票主体独立 | 已确认 |
| F0-12 | 客户子用户数据范围 | 具有财务权限的客户子用户查看本客户全部财务数据,不按“本人创建”或部门切分 | 客户管理员决定角色和成员;获权成员共享本客户财务范围 | 已确认 |
| F0-13 | 客户财务权限分配 | 平台定义权限目录和越界规则;客户管理员仅能在本客户内创建角色并分配允许的客户侧权限 | 客户自行创建客户角色并决定哪些成员进入财务模块 | 已确认 |
| F0-14 | 平台与客户财务动作边界 | 客户侧只读;收付款、核销/反核销、关账、调整、应付、成本和利润属于平台财务权限 | 客户不能执行财务写操作,异议线下反馈,由平台财务处理 | 已确认 |
| F0-15 | 职责分离与高风险操作 | 首期不强制双人或金额分级;仍使用独立权限、操作原因和审计 | 财务先按最简单方式处理,不需要强制双人/金额分级审批 | 已确认 |
| F0-16 | 成员停用与历史追溯 | 停用立即撤销访问;历史保留 userId/memberId、操作时姓名快照;不改变客户财务归属,不触发财务单据转交 | 客户子用户停用只撤销访问权限,不影响客户账单、应收和余额;不触发财务单据转交;历史操作人快照继续保留 | 已确认 |
| 编号 | 需要确认的事项 | 建议结论 | 最终结论 | 状态 |
|---|---|---|---|---|
| F0-01 | 财务服务边界 | 新增独立 Finance 服务和财务数据库;Firstleg 只提供不可变业务费用来源,不承载应收应付余额 | 按当前架构采用独立 Finance 服务/财务库 | 技术已确认 |
| F0-02 | 财务主体/账套 | “我的资料”提供主体信息入口;Finance 保存独立平台主体记录和历史快照,主体与员工账号、客户隔离键分开 | 首期一个平台主体,在“我的资料”维护 | 已确认 |
| F0-03 | 往来单位 | Finance 引用客户/供应商主数据并保存名称快照;不复制业务实体,不跨库 Join | 待填写 | 待确认 |
| F0-04 | 币种与精度 | 支持 CNY/USD;原币金额不可覆盖;不同币种不合并、不核销 | 首期只支持 RMB/CNY;金额定点存储 | 已确认 |
| F0-05 | 汇率 | 保留汇率扩展字段,首期不自动折算、不计算汇兑损益 | 首期不做汇率能力、不做汇兑损益 | 已确认 |
| F0-06 | 财务期间 | 自定义账期;支持 OPEN/CLOSED 和重开;重开必须记录原因、操作人和前后版本 | 自定义账期,关账后允许重开 | 已确认 |
| F0-07 | 编号 | 服务端按单据类型+年月+流水号发号;重试返回原号,作废号不回收 | 按成熟软件规则实现 | 已确认 |
| F0-08 | 来源费用入池 | 所有有效费用都需要结算;`APPROVED + PUBLISHED + AVAILABLE + CNY + amount>0` 自动成为结算候选,不保留“是否结算/参与结算”人工开关;未出账允许调整,进入有效账单后冻结 | 审核通过自动发布并进入结算候选;出账冻结,未出账允许修改 | 已确认 |
| F0-09 | 事件可靠性 | Firstleg Outbox 发布费用事件,Finance 消费幂等并保存来源快照;失败可重试、可查结果 | 按现有 Outbox 与幂等模式实现 | 技术已确认 |
| F0-10 | 审计与权限 | 首期不强制双人复核/金额分级;财务写操作仍使用独立权限、原因和审计事件 | 平台财务按最简单方式处理,不增加强制审批 | 已确认 |
## 四、F1 客户应收与对账确认
| 编号 | 需要确认的事项 | 建议结论 | 最终结论 | 状态 |
|---|---|---|---|---|
| F1-01 | 账单聚合维度 | 客户 + 币种 + 账期;不同币种不合并 | 首期只支持 RMB/CNY;支持多种费用项;多笔订单分别出账 | 已确认 |
| F1-02 | 生成方式 | 支持按筛选结果人工生成;后续可增加定时生成,但不得重复出账 | 按截止时间或财务勾选合格来源生成;同一来源版本不得重复进入有效对账单 | 已确认 |
| F1-03 | 账单状态 | 主状态独立于客户确认状态;平台出账后进入 `PENDING_CONFIRMATION`,客户确认后为 `CONFIRMED`,账单调整后重新待确认 | 客户确认不改变结算主状态;调整、作废和重开均保留审计 | 已确认 |
| F1-04 | 应收状态 | OPEN → PARTIALLY_SETTLED → SETTLED;到期后增加 OVERDUE 标记,不改变余额 | 客户账期由客户配置,默认 30 天;到期日按账单日期+客户账期计算 | 已确认 |
| F1-05 | 客户确认 | 客户使用登录态确认本人已出账对账单,不接受前端 customerId;使用独立权限、乐观锁和幂等键 | 客户可在线确认,平台和客户均展示确认状态、确认人和确认时间;不做在线争议 | 已确认 |
| F1-06 | 收款登记 | 首版人工登记到账日、金额、币种、方式、凭证号、附件和登记人 | 平台财务人工填写收款表单并上传收款凭证图片 | 已确认 |
| F1-07 | 核销关系 | 支持一笔收款核销多张应收、一张应收被多笔收款核销;禁止跨币种和超额 | 一笔客户付款可分配到多张账单;财务分别填写各账单对应金额并关联同一收款凭证;首期不处理预收、多收、手续费、退款 | 已确认 |
| F1-08 | 反核销/作废 | 独立高风险权限,填写原因并保留原记录;不物理删除 | 首期不做复杂反核销;未收单据可作废,已出账调整/作废重开必须留原因、版本和原记录 | 已确认 |
| F1-09 | 出账后调整 | 已出账冻结;平台财务通过调整/作废重开形成新版本,保留原金额和原因 | 仅平台财务手工调整,不允许客户修改 | 已确认 |
| F1-10 | 预收/多收/手续费/退款 | 单独建模为预收、其他应付款或退款,不直接冲减应收金额 | 一期全部不做;不设计钱包或预收入口 | 已确认 |
| F1-11 | 应收款统计表 | 按结算单生成自然月和客户汇总 CNY 正式应收 | 展示应收总额、已收合计、余额未收,支持打印和异步 Excel;不做 FBA 渠道拆分、USD、编辑或零头减免 | 已确认 |
## 五、F2 供应商应付与结算确认
| 编号 | 需要确认的事项 | 建议结论 | 最终结论 | 状态 |
|---|---|---|---|---|
| F2-01 | 成本来源 | 只有具备 Warehouse 供应商、真实业务来源、审核和 CNY 正金额的 PAYABLE 来源才能进入应付池 | 供应商必须为 `ACTIVE`,名称只取 Warehouse 快照;费用项目 `supplierCategory` 为空时允许任意启用供应商,非空时严格匹配类别 | 已确认 |
| F2-02 | 成本确认节点 | 费用审核通过后自动发布并进入 Finance 结算候选,确认后冻结成本快照 | 不保留“参与结算”开关;来源版本冻结 | 已确认 |
| F2-03 | 供应商账单 | DRAFT → INTERNAL_REVIEW → SENT → CONFIRMED → CLOSED;差异走争议/补差/冲销 | 一期不单独做供应商对账页,直接在结算单应付中生成、审核和付款 | 已确认 |
| F2-04 | 应付状态 | OPEN → PARTIALLY_PAID → PAID;到期增加 OVERDUE 标记 | DRAFT → PENDING_REVIEW → ISSUED → PARTIALLY_PAID → PAID;可拒绝/作废并留痕 | 已确认 |
| F2-05 | 付款与核销 | 付款单独登记,支持多对多付款核销;禁止跨币种和超额 | 平台财务人工登记付款表单和凭证;不得跨供应商或超额 | 已确认 |
| F2-06 | 审批 | 应付确认和付款前复核使用独立权限;是否需要金额分级审批待确认 | 使用独立审核权限;一期不做金额分级或强制双人 | 已确认 |
| F2-07 | 预付/押金/代付/退款 | 不混入普通应付余额,单独建模并保留关联单据 | 一期不做 | 已确认 |
| F2-08 | 当前人工 PAYABLE 明细 | 仅作为待补充来源,不得直接视为供应商应付闭环 | 没有供应商、审核和发布事实的明细不得进入结算单应付 | 已确认 |
| F2-09 | 账期应付与已付成本 | 费用方向只表示收付对象,支付时点另建字段 | `direction` 保持 `RECEIVABLE/PAYABLE`;PAYABLE 必填 `settlementMode=ON_ACCOUNT/DIRECT_PAID`。ON_ACCOUNT 进入 AP,DIRECT_PAID 只计成本且永不进入 AP 或待付金额 | 已确认 |
| F2-10 | 已付成本凭证 | 已付事实必须具备时间、方式和可追溯证据 | DIRECT_PAID 必填 `paidAt`、`paymentMethod`;方式限 `ONLINE/BANK_TRANSFER/CASH/OTHER`,`paymentReferenceNo` 与付款凭证至少一项 | 已确认 |
| F2-11 | 成本、已付和待付口径 | 成本事实与付款资金动作分离,禁止同源重复累计 | 总成本=ON_ACCOUNT来源成本+DIRECT_PAID成本事实;待付只取正式AP outstanding;已付=AP paid+DIRECT_PAID;AP付款不再次确认成本 | 已确认 |
| F2-12 | 同一来源无重复 | 来源版本只允许确认一次成本,不允许 PAYABLE 来源与人工成本重复 | DIRECT_PAID 来源按 `sourceSystem+sourceType+sourceFeeId+sourceVersion` 唯一物化到 `fin_cost`;旧版本作废/替代时同步失效;ON_ACCOUNT 不物化重复成本记录 | 已确认 |
## 六、F3 客户账户与发票确认
| 编号 | 需要确认的事项 | 建议结论 | 最终结论 | 状态 |
|---|---|---|---|---|
| F3-01 | 账户余额性质 | 明确是客户预付款余额还是平台内部授信;充值必须有到账凭证,余额变更原子落流水 | 不是资金余额;客户账户页只展示账单、收款和费用来源派生指标 | 已确认 |
| F3-02 | 账户与应收关系 | 账户扣款可以核销应收,但不得直接修改应收原金额;余额、扣款、核销三条记录均保留 | 不做账户扣款;收款只通过结算单分配更新未收余额 | 已确认 |
| F3-03 | 冻结与解冻 | 明确冻结触发、解冻人、原因、部分冻结和失败补偿 | 不做钱包冻结/解冻;待出账金额由合格未出账来源派生 | 已确认 |
| F3-04 | 退款 | 退款必须关联原充值/收款,记录审批、到账方式、退款凭证和余额恢复规则 | 一期不做充值和退款 | 已确认 |
| F3-05 | 发票主体 | 明确开票主体、税率、含税/未税、发票类型和客户抬头校验 | 待填写 | 待确认 |
| F3-06 | 开票流程 | 申请 → 审核 → 开票登记 → 票据/文件关联;红冲、作废不可删除原票 | 待填写 | 待确认 |
| F3-07 | 外部平台 | 首版可人工登记,外部开票平台和银行流水接口另定接入契约 | 待填写 | 待确认 |
## 七、F4 费用分析与利润确认
| 编号 | 需要确认的事项 | 建议结论 | 最终结论 | 状态 |
|---|---|---|---|---|
| F4-01 | 收入口径 | 按已确认/已发布应收还是已收款确认收入,二者报表分开显示 | 费用分析/利润表一期不做 | 已确认 |
| F4-02 | 成本口径 | 按已确认应付还是已付款确认成本,二者报表分开显示 | 费用分析/利润表一期不做;来源成本仍用于应付结算 | 已确认 |
| F4-03 | 分摊维度 | 支持客户、订单、单票、柜次、费用项目;明确公共成本分摊算法 | 一期只为来源和结算保留真实分摊,不开发利润分析页面 | 已确认 |
| F4-04 | 汇率 | 明确交易日、账单日或月末汇率,以及本位币和汇兑损益 | 一期只支持 CNY,不做汇率 | 已确认 |
| F4-05 | 期间锁定 | 月结后报表冻结;调整通过新期间补差/冲销反映 | 一期不做月结 | 已确认 |
| F4-06 | 利润维度 | 客户、货柜、单票、月份均支持;每个结果可钻取到收入、成本、分摊和原始单据 | 一期不做利润表 | 已确认 |
| F4-07 | 导出与权限 | 导出按财务数据权限控制,客户不可见供应商成本和内部利润 | 一期无利润菜单、路由或权限 | 已确认 |
## 八、全量验收主链路
### 8.1 客户应收
```text
Firstleg 已发布费用
→ Finance 来源池
→ 客户对账单
→ 平台财务出账
→ 客户只读查看(异议线下反馈)
→ 应收单
→ 部分收款
→ 多对多核销
→ 结清
→ 反核销恢复余额
```
### 8.2 供应商应付
```text
已审核供应商成本
→ 供应商对账单
→ 应付审批/确认
→ 付款登记
→ 付款核销
→ 结清
→ 反核销/付款撤销
```
### 8.3 账户、发票和利润
```text
充值/收款 → 账户流水 → 应收核销
应收确认 → 开票申请 → 开票登记/红冲
应收收入 + 应付成本 + 分摊 + 汇率 → 利润分析/利润表
```
## 九、进入设计与开发的门槛
- S1-S8、F0-01 至 F0-16 全部形成结论,或明确暂缓处理方式。
- F1/F2 的账单、应收应付、收付款和核销对象关系冻结。
- F2 供应商成本来源不能继续使用没有供应商和凭证的人工 PAYABLE 明细替代。
- 财务服务与 Firstleg 的事件、查询接口、来源版本和幂等契约完成书面确认。
- F3 钱包资金性质、发票税务主体和 F4 收入成本/汇率/分摊口径完成确认后,才能进入对应开发阶段。
- 每阶段至少准备正常、重复提交、并发、越权、跨币种、超额核销、已关账调整和反核销验收案例。