Decision
正式架构决策
解决“对接金蝶”与“迪诺内置总账”的既有口径冲突。长期目标:迪诺学堂成为唯一正式财务系统
当前金蝶生产实例中的全部财务功能和全部可获得历史数据迁入迪诺。试运行采用阶段性双轨:先“金蝶主账、迪诺影子账”,再“迪诺主账、金蝶镜像”,随后金蝶只读,最后停用。双轨期间按账套、期间和单据类型明确唯一主写系统,禁止永久双主。
本文独立承接上一轮审查的 17 项部分覆盖、18 项未覆盖和 1 项口径冲突,不修改 14 财务 PRD。若涉及金蝶过渡期和退役口径,以本文为补充解释;14 财务 PRD 的长期“迪诺内置完整总账”目标保持不变。
Scope
范围、定义与非目标
“全部复制”必须有可验证边界,不能依赖口头理解。范围内
- 当前金蝶生产实例中已启用、已配置、历史使用或结账依赖的全部能力。
- 现有及历史账套、科目、凭证、账簿、报表、往来、资产、发票、预算、附件和审计证据。
- 财务 XMind 中所有部分覆盖、未覆盖和架构冲突项。
- 迁移、双轨对账、逐账套切换、回退、只读和退役能力。
范围外
- 金蝶源代码、页面素材、商标或受保护资料的复制。
- 当前生产版本未授权、不可见且业务从未要求的其他金蝶产品模块;新增时另行签署范围。
- 以 PRD 编写结果代替代码、生产、数据迁移或 UAT 完成。
- 最低费率和银行补贴等商务谈判结果;系统仅提供参数与对账能力。
完成定义
- 来源功能 100% 映射且没有未批准遗漏。
- 全部历史数据迁移或形成经批准的不可迁例外与只读档案。
- 至少两个连续完整月结在迪诺主写阶段对账无差异。
- 金蝶写权限和运行依赖关闭,迪诺可独立年结与审计取证。
Global Rules
所有财务能力共同遵循的规则
以下规则是数据库、接口、页面、任务、迁移和验收的共同门禁。| 规则 | 正式约束 |
|---|---|
| 正式目标 | 迪诺完整承接当前金蝶生产实例的财务功能和全部可获得历史,长期由迪诺独立完成核算、结账、报表、税务和审计。 |
| 双轨边界 | 双轨是阶段性验证机制,不是永久双主;任一账套、期间和单据类型只允许一个正式主写系统。 |
| 全量不减项 | 阶段仅表示实施和切换顺序,不表示删除功能;金蝶能力盘点和 36 个审查缺口都必须取得最终结论。 |
| 稳定业务 ID | 法人、账套、科目、维度、凭证、单据、员工、合同、资产、发票和迁移对象必须使用不可变 ID,名称只用于展示。 |
| 精确金额 | 金额、数量、汇率和税率使用 decimal/BigDecimal,禁止二进制浮点;已过账凭证借贷差必须为 0.00。 |
| 版本化规则 | 会计政策、路由、科目映射、预算、报表公式、汇率、折旧、成本和迁移映射均按生效期版本化,历史结果不使用当前配置倒算。 |
| 不可改历史 | 已付款、已过账、已结账、已申报、已签署和已迁移批准的数据只能用冲销、调整或新批次修正。 |
| 幂等防重 | 所有回调、事件、迁移批次、自动制证、付款、勾选和定时任务使用稳定幂等键,重复请求不得重复产生金额影响。 |
| 来源与血缘 | 页面、报表、凭证和迁移数据必须能够追溯来源单据、规则版本、审批、附件、来源系统主键和批次。 |
| 职责分离 | 制单与审核、付款与审批、迁移与验收、规则维护与发布等不相容职责必须分离,后端强制校验。 |
| 异常显式 | 接口超时、结果未知、数据过期、映射缺失和对账不平必须显示状态、责任人、重试/补偿入口和关闭证据,不得伪装成功。 |
| PRD 不等于开发完成 | 本文是新增产品与开发约束;每项仍需代码、数据库迁移、测试、历史迁移、双轨对账和财务 UAT 证据后才能认定完成。 |
UX & Ownership
新增页面、工作台和责任角色
页面不是孤立清单,每个入口必须绑定对象、状态、权限、异常和审计。| 页面编号 | 页面 | 核心内容 | 主要角色 |
|---|---|---|---|
| FIN-SUP-01 | 财务迁移总工作台 | 账套阶段、迁移进度、双轨差异、切换门禁和风险待办 | 总部财务、技术负责人、审计 |
| FIN-SUP-02 | 金蝶能力盘点 | 来源版本、模块、菜单、角色、功能等价映射和例外 | 财务产品负责人 |
| FIN-SUP-03 | 账套与会计政策 | 法人账套、科目、维度、币别、期间、期初和规则版本 | 总部/法人总账 |
| FIN-SUP-04 | 智能会计与凭证中心 | 业务事件、规则试算、凭证审核过账、冲销和失败重放 | 会计、审核、出纳 |
| FIN-SUP-05 | 应收应付与往来 | 应收应付、收付款核销、预收预付、账龄和内部往来 | 往来会计 |
| FIN-SUP-06 | 资金与银行 | 日记账、流水、自动对账、余额调节表、头寸、财资支付 | 出纳、资金经理 |
| FIN-SUP-07 | 借款报销与会计收单 | 借款、预算占用、核销、收单、特殊付款和员工往来 | 员工、审批人、会计、出纳 |
| FIN-SUP-08 | 发票与税务 | OCR、查重、验真、红冲巡检、勾选认证、申报和档案 | 会计、税务岗 |
| FIN-SUP-09 | 房租装修与摊销 | 租赁/装修合同、付款计划、验收、转固、摊销和凭证 | 行政、资产、财务 |
| FIN-SUP-10 | 全面预算 | 预算模板、编制、审批、占用、调整、看板和预测三表 | 预算责任人、财务、管理层 |
| FIN-SUP-11 | 报表与合并 | 法定/自定义/校区报表、实时性、阿米巴、合并抵销和签署 | 财务、管理层、审计 |
| FIN-SUP-12 | 迁移批次与映射 | 全量/增量抽取、暂存校验、映射、提交、回滚和血缘 | 迁移操作员、验收人 |
| FIN-SUP-13 | 双轨对账与差异 | 主数据、单据、凭证、余额报表四层对账及差异修复 | 财务、研发、测试 |
| FIN-SUP-14 | 切换与金蝶退役 | 演练、门禁、主系统切换、金蝶只读、停用和长期档案 | 财务负责人、技术负责人、业务负责人 |
Capability Baseline
金蝶能力等价基线
实际来源盘点结果只能增加或形成批准例外,不能删减以下财务基线。| 域 | 能力域 | 原子需求数 | 目标 |
|---|---|---|---|
| PAR | 金蝶功能等价与产品边界 | 6 | 把当前金蝶生产环境中的完整能力基线变成可盘点、可签署、可追踪、可验收的迪诺功能范围,并确定长期停用金蝶的目标架构。 |
| MAS | 账套、会计政策与基础资料 | 8 | 在迪诺内部承接金蝶建账、核算体系、基础资料和期初初始化能力,为 20+ 账套及后续扩展提供统一底座。 |
| GL | 总账、凭证与账簿 | 12 | 完整承接金蝶手工制证、自动制证、审核过账、冲销调整、期末处理、账簿和凭证打印能力。 |
| ARAP | 应收、应付与往来核销 | 7 | 承接金蝶应收应付、预收预付、核销、账龄、对账和内部往来功能,并与合同、收费、采购及总账打通。 |
| FUND | 出纳、资金、银行与收费 | 9 | 补齐独立收费后台、财资云、银行对账、余额调节表、资金头寸、付款回执和渠道费用能力。 |
| EXP | 借款、报销、会计收单与付款 | 9 | 补齐借款申请、预算占用/释放、借款核销、会计收单、不参与预算付款和员工往来闭环。 |
| TAX | 发票、票据与税务 | 7 | 补齐发票红冲持续巡检、进项自动勾选/抵扣认证,并保留 OCR、查重、验真、申报和电子档案闭环。 |
| AST | 固定资产、房租、装修、库存与成本 | 9 | 补齐房租和装修专项台账,承接固定资产、存货、成本、摊销及工资产品维度自动制证。 |
| BUD | 全面预算、执行控制与预测三表 | 13 | 建设独立财务预算域,覆盖收入、课消收入、费用、占用、预算外、调整、进度、差异和预测三表。 |
| RPT | 财务报表、管理报表与合并 | 9 | 补齐自定义现金流量表、校区现金收支表、实时口径、合并抵销及可追溯经营分析。 |
| INT | 业财联动、外部平台与专项规则 | 10 | 补齐收费、财资、发票平台适配,以及课消、专项台账、工资、活动奖励、代金券和协商退费的自动闭环。 |
| MIG | 历史迁移、双轨试运行与金蝶退役 | 15 | 完整迁移金蝶历史数据,以账套为单位经历影子运行、双轨对账、迪诺主写、金蝶只读和最终停用。 |
Detailed Requirements
功能与开发细节
每项包含产品行为、开发落点、异常边界和可执行验收。PAR金蝶功能等价与产品边界把当前金蝶生产环境中的完整能力基线变成可盘点、可签署、可追踪、可验收的迪诺功能范围,并确定长期停用金蝶的目标架构。6 项
| ID / 功能 | 产品行为 | 开发落点 | 异常与边界 | 验收标准 |
|---|---|---|---|---|
FR-FSP-PAR-01全量能力基线 | 系统必须盘点当前金蝶实例全部已启用、已配置、曾经使用或结账依赖的菜单、按钮、报表、接口、账套、角色、参数、任务和数据对象;无活动记录不等于可删除。 | 按来源版本生成不可变快照,记录 sourceProduct、edition、version、licenseModule、menuCode、roleGrant、usageEvidence、accountSetScope 和 ownerSignOff;每个能力映射到一个或多个迪诺需求 ID。 | 无法通过接口导出的配置允许截图、配置导出或财务签字补证,但不得默认为“不在范围”。 | 每个来源能力都有唯一 inventoryId、迪诺承接方式、责任人和验收结论;未映射数量必须为 0。 |
FR-FSP-PAR-02迪诺长期唯一正式账 | 所有金蝶财务功能在迪诺后台形成等价闭环;试运行结束后,新增业务、正式凭证、账簿、报表和结账只在迪诺完成。 | 以 accountSetId+effectivePeriod 版本化主账归属;切换前允许 KINGDEE_PRIMARY 或 DINUO_PRIMARY,最终统一为 DINUO_ONLY。所有查询和写入入口按生效规则阻断错误系统写入。 | 双轨期间不得让同一业务单据在两边自由修改;发现双写冲突时冻结该单据并进入差异处理。 | 所有账套进入 DINUO_ONLY,金蝶写入口关闭且迪诺可独立完成两个连续月结。 |
FR-FSP-PAR-03来源版本与授权快照 | 每次盘点、迁移和对账都必须绑定具体金蝶产品、版本、补丁、账套、会计期间、授权模块和导出时间。 | 快照保存配置哈希、导出文件 SHA-256、记录数、期间范围、操作者和审批单;后续差异不得覆盖原快照,只能创建新版本。 | 金蝶升级、补丁或参数变化后,旧快照自动失效并触发增量盘点。 | 任意迁移记录可追溯到唯一来源快照,快照文件哈希校验一致。 |
FR-FSP-PAR-04分账套主系统规则 | 允许不同法人账套按不同时间进入影子运行、迪诺主写、金蝶只读和停用阶段,不采用一次性大切换。 | 规则最小粒度为 tenant+legalEntity+accountSet+fiscalPeriod+documentType,变更需审批并在生效前校验未完成任务、未过账凭证和未处理差异。 | 规则重叠、空档或回溯修改一律阻断;紧急回退只能恢复到最近已签署版本。 | 任意业务日期只命中一条主系统规则,所有写入和同步日志显示命中的规则版本。 |
FR-FSP-PAR-05功能差异与例外审批 | 无法等价实现、因法规变化需调整或经业务确认不再使用的功能,必须形成可审计例外,不能静默遗漏。 | 例外单记录来源能力、影响账套/期间/数据、替代方案、风险、补偿控制、审批人和失效日期;到期自动重开。 | 涉及金额、税务、凭证、报表或审计链路的例外不得由单一角色批准。 | 上线时不存在未审批例外;已批准例外均有替代控制和到期复核任务。 |
FR-FSP-PAR-06功能等价而非代码界面复制 | “复制金蝶功能”指业务结果、会计口径、数据完整性和操作闭环等价,不复制金蝶源代码、商标、页面素材或受保护文档。 | 交互遵循迪诺设计系统,领域模型使用迪诺稳定业务 ID;迁移只通过授权 API、数据导出或经批准的只读数据库访问完成。 | 发现来源字段或算法权属不清时暂停该项导入,由法务/财务确认可使用的事实数据和重建规则。 | 代码扫描和设计评审无供应商源代码/素材复制;功能等价矩阵仍全部通过。 |
MAS账套、会计政策与基础资料在迪诺内部承接金蝶建账、核算体系、基础资料和期初初始化能力,为 20+ 账套及后续扩展提供统一底座。8 项
| ID / 功能 | 产品行为 | 开发落点 | 异常与边界 | 验收标准 |
|---|---|---|---|---|
FR-FSP-MAS-01法人、校区与多账套 | 支持法人、税务主体、校区、账套、账簿一对多配置,并保留金蝶账套编码映射;总部可跨账套监管,校区独立核算。 | 复用 finance_account_set,补 legalEntityId、sourceAccountSetCode、ledgerPolicyVersion、effectivePeriod;所有业务单据必须持久化 accountSetId。 | 校区无有效账套、法人和税务主体不一致或期间未启用时禁止记账。 | 导入全部现用账套后,账套数量、编码、法人、期间和状态与签署清单 100% 一致。 |
FR-FSP-MAS-02核算体系与会计政策 | 配置会计准则、记账本位币、会计年度、期间、折旧、成本、收入确认、坏账和外币政策,并按生效期间版本化。 | 新增 finance_accounting_policy 与 policy_version,凭证、成本、资产和报表快照固化命中版本。 | 已过账期间不得回改政策;变更从未来期间生效并生成影响评估。 | 同一账套期间只命中一个政策版本,历史报表重算仍使用历史版本。 |
FR-FSP-MAS-03会计科目体系 | 支持多级科目、余额方向、数量/外币核算、现金流量属性、受控科目、启停和跨账套复制。 | 扩展 finance_subject,使用 parentId、level、fullCode、balanceDirection、quantityUnit、currencyMode、cashFlowRequired 和 sourceSubjectId。 | 存在余额或历史凭证的科目不可物理删除;改码需建立旧新映射并校验报表影响。 | 金蝶末级科目及属性全部映射,试算平衡和科目余额逐账套逐期间差额为 0.00。 |
FR-FSP-MAS-04辅助核算与核算维度 | 支持部门、校区、产品、课程、项目、客户、供应商、员工、资金账户和自定义维度,科目可配置必填组合。 | 复用 finance_auxiliary_item 和 finance_subject_auxiliary_rule,增加版本、生效期、稳定业务 ID 和来源映射;凭证行保存维度快照。 | 维度停用不能影响历史查询;缺必填维度时禁止提交或自动制证。 | 所有来源辅助核算项可检索、可追溯,组合余额与金蝶一致且历史名称变更不改写旧快照。 |
FR-FSP-MAS-05币别与汇率 | 支持原币、本位币、折算币、直接/间接汇率、日/月汇率、汇兑损益和来源维护。 | finance_currency_rate 以 currencyPair+rateType+effectiveDate 唯一;凭证行保存原币金额、汇率、本位币金额和汇率版本。 | 缺失汇率时自动制证进入待处理,不允许默认为 1;人工覆盖必须审批。 | 外币余额、汇兑损益和报表折算与选定金蝶期间结果一致。 |
FR-FSP-MAS-06凭证字、编号与期间规则 | 按账套配置凭证字、编号重置周期、断号控制、日期边界、调整期间和特殊期间。 | 编号服务按 accountSetId+voucherType+period 加锁生成,保存 reservationId;失败回滚不产生重复号。 | 断号、重号、跨关闭期间和未批准调整期写入一律阻断并告警。 | 并发创建无重复编号,断号清单可解释,调整期间凭证单独查询。 |
FR-FSP-MAS-07期初余额与初始化 | 导入科目、辅助、数量、外币、往来、资产和预算期初,完成借贷、明细总账和勾稽校验后才允许启用。 | 使用 staging→validate→approve→commit 四阶段;锁定后通过期初调整单修正,不直接覆盖正式值。 | 借贷不平、总账与明细不平、来源缺失或维度未映射时整批不得提交。 | 期初校验项全部通过,来源记录数和金额对账签字,启用后首期试算平衡。 |
FR-FSP-MAS-08往来、银行、税务和资产基础档案 | 统一承接客户、供应商、员工往来、银行账户、现金账户、税号、发票抬头、资产类别和费用类型等基础资料。 | 基础档案使用 stableBusinessId 与 sourceObjectId 双标识;敏感银行账户加密存储、页面掩码展示,变更保留版本。 | 重复主体合并需审批和关系迁移;税号、银行卡校验失败不得用于付款或开票。 | 来源主档全部映射且无孤儿引用,敏感字段权限和审计测试通过。 |
GL总账、凭证与账簿完整承接金蝶手工制证、自动制证、审核过账、冲销调整、期末处理、账簿和凭证打印能力。12 项
| ID / 功能 | 产品行为 | 开发落点 | 异常与边界 | 验收标准 |
|---|---|---|---|---|
FR-FSP-GL-01手工凭证 | 财务可录入多行借贷分录、摘要、科目、辅助维度、原币/本位币、现金流量、附件和来源说明。 | 扩展现有 vouchers 接口,前后端共用校验器;保存草稿不占编号,提交时锁定编号和规则快照。 | 借贷不平、受控科目手工录入、缺辅助维度、期间关闭或附件必填未满足时禁止提交。 | 典型收付转凭证和外币凭证可完整录入,错误提示定位到具体分录行。 |
FR-FSP-GL-02业务事件自动制证 | 收款、退款、课消收入、借款、报销、房租、装修、折旧、出库成本、工资和税务事件自动生成凭证。 | 采用 finance_event+outbox;幂等键为 tenant+sourceType+sourceId+eventVersion+templateVersion,每个事件保留试算、正式凭证和失败重放链。 | 路由或科目映射缺失时进入待处理,不得生成临时错误科目或静默跳过。 | 同一事件重复投递只产生一张有效凭证,全部指定业务类型都有成功和异常用例。 |
FR-FSP-GL-03按付款银行路由 20+ 账套 | 过渡期按付款银行、法人、校区、业务类型和生效期确定迪诺账套及金蝶镜像账套;长期仅生成迪诺正式凭证。 | finance_voucher_route_rule 版本化 priority、conditions、targetAccountSetId、mirrorSourceAccountSetCode;提供规则试算和冲突检测。 | 无命中、多命中、目标账套停用或银行归属不清时阻断付款后制证并产生高优先级待办。 | 现有 20+ 路由场景逐条回放,目标账套、科目和金额 100% 符合签署矩阵。 |
FR-FSP-GL-04凭证模板、规则版本与试算 | 每类财务事件配置借贷模板、摘要模板、科目/辅助映射、金额公式、税额拆分和生效范围,发布前可批量试算。 | 模板采用 DRAFT→APPROVING→PUBLISHED→RETIRED;发布生成不可变版本,凭证保存命中输入、输出和版本。 | 新版本回放历史样本有差异时必须展示影响,不允许覆盖旧版本。 | 模板样本覆盖正常、退款、跨期、零金额、税额和多维度场景,试算与正式执行相同。 |
FR-FSP-GL-05借贷与辅助核算校验 | 提交、审核和过账三道门禁校验借贷平衡、科目状态、余额方向、辅助维度、汇率、现金流量和期间。 | 金额使用 BigDecimal 和 numeric 精度,禁止浮点;校验器返回稳定 errorCode、fieldPath 和 remediation。 | 任何一条分录失败时整张凭证不进入下一状态,批量过账按凭证独立事务并汇总结果。 | 随机与边界测试证明每张已过账凭证借贷差为 0.00,缺失维度无法绕过后端。 |
FR-FSP-GL-06审核、出纳复核与过账 | 按凭证类型配置制单、审核、出纳复核和过账步骤,支持单笔/批量处理及审批意见。 | 沿用 expectedVersion 乐观锁;记录 operator、delegatedIdentity、beforeState、afterState、ruleVersion 和 timestamp。 | 同一人员不得同时制单和审核受控凭证;并发操作返回版本冲突并刷新详情。 | 权限、并发、批量部分失败和审计回放用例全部通过。 |
FR-FSP-GL-07冲销、红字、反审核和调整 | 已过账凭证只能通过反向凭证、红字凭证或调整凭证修正,并保留原凭证关联;禁止直接改写。 | 复用 originalVoucherId/reversalVoucherId,增加 correctionReason、approvalId、affectedReports;关闭期间只能在开放调整期处理。 | 已被后续结转或报表签署引用时,先生成影响清单并取得增强审批。 | 原凭证、修正凭证和余额变化可双向追溯,历史审计值不变。 |
FR-FSP-GL-08周期凭证、计提与摊销 | 支持周期凭证、待摊/预提、房租装修摊销、自动复制上期和到期终止。 | finance_recurring_voucher_rule 保存频率、起止期、金额公式、分摊维度和模板版本;定时任务先试算再生成。 | 规则变更只影响未来期间,重复运行使用 period+ruleVersion 幂等。 | 跨 12 期样本金额合计与合同/计划一致,无重复、漏期或尾差。 |
FR-FSP-GL-09期末结转与损益结转 | 支持汇兑损益、成本结转、收入成本结转、税费计提、损益结转和自定义期末任务编排。 | finance_period_task 定义依赖图、前置校验、任务结果和重跑策略;任务产出凭证需正常审核过账。 | 存在未过账凭证、对账差异、未完成折旧或任务失败时不得结账。 | 与金蝶同期间结转凭证、科目余额和本年利润差额为 0.00。 |
FR-FSP-GL-10结账、反结账与调整期间 | 按账套和期间执行预检查、结账、封存、反结账和调整期管理。 | 扩展 finance_monthly_period,保存 checklistSnapshot、closeBatchId、signOff、reopenReason;写接口统一校验 periodStatus。 | 反结账需财务负责人审批并检查后续期间、税务申报和合并报表影响。 | 关闭期间所有写入口均被后端阻断;反结账后受影响报表自动失效重算。 |
FR-FSP-GL-11总账、明细账与余额表 | 提供总分类账、明细账、辅助账、多栏账、数量金额账、科目/辅助余额表、试算平衡和摘要汇总。 | 查询基于已过账凭证构建可重建余额快照,筛选契约在页面、导出和下钻间共用;快照保存 sourceMaxPostedAt。 | 快照落后、重建失败或存在未处理迁移差异时必须显示数据新鲜度和警告。 | 选定账套期间与金蝶账簿记录数、发生额、余额及维度汇总一致。 |
FR-FSP-GL-12凭证附件、打印和来源追溯 | 支持凭证封面、分录、附件、审批链和来源单据的查看、批量打印、导出和归档。 | 附件保存 objectKey、sha256、mimeType、sourceSnapshotId;打印模板版本化并记录导出审计和水印。 | 附件缺失或哈希不一致时标记证据不完整,敏感导出进入审批。 | 任一凭证可追溯到业务单据、规则版本、审批和附件,批量打印页码及合计正确。 |
ARAP应收、应付与往来核销承接金蝶应收应付、预收预付、核销、账龄、对账和内部往来功能,并与合同、收费、采购及总账打通。7 项
| ID / 功能 | 产品行为 | 开发落点 | 异常与边界 | 验收标准 |
|---|---|---|---|---|
FR-FSP-ARAP-01应收单与收款计划 | 由合同、订单、补充协议、监管款和其他业务生成应收,支持分期、到期日、税额、责任校区和收入计划。 | 以 sourceDocumentId 幂等生成 finance_receivable 与 schedule;变更通过调整单,不覆盖已确认应收。 | 合同撤销、金额变化或来源重复时暂停确认并提示差异。 | 来源金额、应收余额、收款和未收金额勾稽一致,可下钻原合同。 |
FR-FSP-ARAP-02应付单与付款计划 | 由采购、费用、租赁、装修、工资、税费和其他业务生成应付及付款计划。 | 保存供应商/员工、到期日、发票、预算、资金计划、账套和辅助维度;审批后才进入可付款池。 | 收款方银行信息变更、重复应付或超过合同未付余额时阻断。 | 应付、付款、发票和总账负债余额逐单据可对账。 |
FR-FSP-ARAP-03收付款核销 | 支持一对一、一对多、多对一、部分核销、预收预付转核销和跨单据匹配。 | 核销服务在事务内锁定可用余额,写 finance_writeoff_line 并产生财务事件;撤销通过反核销单。 | 核销金额超过可用余额、币别不一致或期间关闭时禁止提交。 | 并发核销无超额,核销前后应收应付余额与总账一致。 |
FR-FSP-ARAP-04预收、预付与转单 | 未匹配合同的收款进入预收,提前付款进入预付,后续可认领、转应收应付、退款或冲抵。 | 保存资金流水、客户/供应商候选、认领历史和转单关系;自动匹配低置信度时只给建议不自动入账。 | 跨法人或收款主体不一致需审批并生成内部往来。 | 预收预付余额、转单和退款链路完整,未认领项有账龄和责任人。 |
FR-FSP-ARAP-05账龄与往来对账 | 按到期日或业务日生成应收应付账龄,出具客户、供应商和员工往来对账单。 | 账龄桶、截止日、汇率和坏账规则版本化;对账单保存快照并支持确认/异议。 | 历史快照不得随主档或汇率变化,异议必须转差异单。 | 账龄合计等于往来科目余额,对账单下钻到每笔发生和核销。 |
FR-FSP-ARAP-06内部往来与抵销 | 跨法人、跨校区结算自动生成双方往来,支持对账、确认、差异处理和合并抵销。 | 使用 groupTransactionId 连接双方单据和凭证,单边成功时补偿任务重试;抵销规则按期间版本化。 | 金额、币别、期间或对方账套不一致时不得标记已对账。 | 双方记录数量和金额一致,合并抵销后集团内部余额为 0.00。 |
FR-FSP-ARAP-07坏账、调整与员工往来 | 支持坏账准备/核销、应收应付调整、员工借款往来和余额转移。 | 所有调整使用独立单据、原因、审批和凭证;员工离职前校验未结清往来。 | 不得用主档删除消除余额;坏账核销和恢复均保留原单据关系。 | 调整前后余额可解释,员工未结借款进入离职门禁。 |
FUND出纳、资金、银行与收费补齐独立收费后台、财资云、银行对账、余额调节表、资金头寸、付款回执和渠道费用能力。9 项
| ID / 功能 | 产品行为 | 开发落点 | 异常与边界 | 验收标准 |
|---|---|---|---|---|
FR-FSP-FUND-01现金与银行日记账 | 按账户、日期、凭证和业务来源记录现金/银行收支、余额、经办人和回单。 | 日记账由已确认资金事件自动生成,人工补录需来源类型和审批;余额通过前日余额+当日发生计算并定期校验。 | 已对账记录不可直接删除,修正使用反向流水。 | 日记账余额与总账现金银行科目逐日一致,任一行可追溯凭证和业务单据。 |
FR-FSP-FUND-02银行流水导入与开放银行 | 支持 API 拉取、回调接收、网银文件导入和手工补录四种方式,保存原始报文与银行唯一流水号。 | 适配器统一 normalize→deduplicate→validate→persist;幂等键使用 bankCode+accountNoHash+bankTransactionId。 | 授权过期、文件重复、字段缺失或回调验签失败进入隔离队列。 | 同一银行流水任何通道重复输入只保留一条正式记录,原始证据可下载。 |
FR-FSP-FUND-03独立收费后台与自动入账 | 收费无需行政二次录入;收费后台回调自动关联学员、合同、订单、校区和账套,核实后生成收款及凭证。 | 建立 paymentIntentId、channelTransactionId 和 contractPaymentId 映射;低置信度进入认领池,确认后锁定关联合同。 | 金额/主体不符、重复回调或合同已终止时不得自动入账。 | 正常收费从回调到合同收款及凭证全自动;重复回调不重复入账,异常有人工闭环。 |
FR-FSP-FUND-04自动对账与余额调节表 | 按金额、日期、对方、摘要、业务号和可配置容差匹配银行流水、日记账、收付款和凭证,生成标准余额调节表。 | 匹配规则版本化并保存 score;余额调节表分类银行已收企业未收、银行已付企业未付、企业已收银行未收、企业已付银行未付。 | 模糊匹配不得自动关闭;跨期未达项滚动并保留首次发生日期。 | 银行余额+调节项=企业账面余额,关闭批次差额为 0.00,所有未达项有责任人。 |
FR-FSP-FUND-05现金盘点与出纳结账 | 支持现金盘点、长短款、日结/月结、印章票据交接和出纳复核。 | 盘点单记录账面、实盘、差异、照片/附件和处理凭证;结账检查未处理差异及未回单付款。 | 长短款未审批或银行未知状态未处置时不得关闭出纳期间。 | 现金实盘与账面一致或差异已批准入账,出纳结账清单全部通过。 |
FR-FSP-FUND-06资金计划、头寸与调拨 | 按日/周/月汇总账户余额、预计收款、应付款、预算和资金缺口,支持法人内及跨法人调拨。 | 头寸快照记录数据截止时间;调拨使用双边单据和 groupTransactionId,跨法人自动形成内部往来。 | 单边入账、余额不足、受限账户或超授权额度时暂停并告警。 | 头寸可下钻来源,调拨两边金额与日期匹配且总账同步。 |
FR-FSP-FUND-07付款指令、回执与结果未知 | 审批后的借款、报销、退款、采购、工资和税费统一生成付款指令,接收受理、成功、失败、未知和回单。 | 复用 finance_payment_task,补 externalInstructionId、bankStatus、receiptObjectKey、lastQueryAt;UNKNOWN 定时查单,人工确认需双人复核。 | 网络超时不得直接重付;必须先查单,确认无成功记录后才允许新指令。 | 超时重试和重复回调不重复付款,成功指令都有回单或经批准的缺失说明。 |
FR-FSP-FUND-08财资云适配与降级 | 借款、报销、退费等出款可发送财资云,统一展示支付进度;财资云不可用时按批准策略切换网银文件或人工登记。 | 适配器实现认证、签名、限流、请求/回调、查单、对账和密钥轮换;通道配置与业务代码解耦。 | 通道故障切换不得更换幂等业务号;人工降级需记录原因、批准人和恢复对账。 | 沙箱和故障演练覆盖成功、失败、超时、重复、乱序回调和降级恢复。 |
FR-FSP-FUND-09手续费、费率与补贴参数 | 系统按渠道、卡种、法人、生效期维护费率、封顶、手续费承担方和银行补贴,用于对账和成本归集。 | finance_channel_fee_rule 版本化公式;商务谈判结果通过审批发布,系统不承担“获得最低费率”的商务目标。 | 实际扣费超规则容差时生成差异,不自动修改已发布费率。 | 样本交易手续费计算准确,实际扣费、渠道结算和总账费用可对账。 |
EXP借款、报销、会计收单与付款补齐借款申请、预算占用/释放、借款核销、会计收单、不参与预算付款和员工往来闭环。9 项
| ID / 功能 | 产品行为 | 开发落点 | 异常与边界 | 验收标准 |
|---|---|---|---|---|
FR-FSP-EXP-01借款报销全流程 | 统一承接填报、审批、会计收单、付款、入账和归档,页面明确当前节点、责任人、时限和下一步。 | 状态机由后端控制,审批底座只返回决定,不直接修改财务状态;每次流转写业务日志和消息 outbox。 | 审批流未命中、人员离职、节点超时或并发操作时进入可转派待办。 | 主流程和退回补件流程均可完整走通,任何状态不存在无责任人的悬挂记录。 |
FR-FSP-EXP-02借款申请与支付 | 借款单填写用途、金额、费用类型、预算、预计核销日、收款账户、校区和项目,审批后付款并进入员工往来。 | 借款号唯一,保存 applicantEmployeeId、budgetLineId、dueDate、paymentTaskId 和 sourceSnapshot;付款成功才形成未核销余额。 | 员工有逾期借款、账户校验失败或金额超限时按规则阻断或升级审批。 | 借款支付、员工往来和总账其他应收款金额一致。 |
FR-FSP-EXP-03预算占用、释放与转占用 | 借款审批通过占用预算,撤回/驳回释放;报销核销时释放借款占用并由报销实际金额重新占用/执行。 | 调用统一 budget occupation 服务,使用 businessType+businessId+lineId 幂等;每次变化保存 before/after 和原因。 | 预算版本失效、余额不足或并发占用冲突时禁止继续付款。 | 借款到报销全过程预算可用额守恒,无重复占用、漏释放或负余额。 |
FR-FSP-EXP-04借款核销 | 报销单可选择一笔或多笔借款进行部分/全部核销,超出部分另行付款,剩余借款继续挂账。 | finance_loan_writeoff_line 锁定借款可核销余额;核销过账后更新 employee balance,撤销通过反核销。 | 跨员工、跨法人、币别不一致或核销超过余额时阻断。 | 多次部分核销后累计不超过借款本金,凭证和员工往来余额正确。 |
FR-FSP-EXP-05会计收单与补件 | 审批通过后由会计登记电子票/纸票接收、页数、收单时间、核验结果;可退单补件、批量收单和超时催办。 | finance_accounting_receipt 绑定 expenseId、receiverId、receivedAt、documentType、attachmentIds 和 returnReason;RECEIVED 是付款前置。 | 电子票缺原件哈希、纸票未签收或发票状态异常时不得标记收单完成。 | 每张报销单有可审计收单记录,退单补件后重新收单且时限统计正确。 |
FR-FSP-EXP-06不参与预算的特殊付款单 | 内部资金结转、代收代付、税费、监管划转或经批准无法走预算的款项使用独立付款类型。 | 记录 exemptionType、legalBasis、approvalTemplateId、accountingTreatment 和 attachments;不得复用普通报销绕过预算。 | 未命中白名单类型、缺依据或收款人与业务主体不符时阻断。 | 所有非预算付款可按类型、金额和审批人审计,且不会改变预算执行额。 |
FR-FSP-EXP-07组织与条件审批路由 | 按法人、校区、部门、费用类型、金额、预算内外、项目、关联交易和申请人岗位自动匹配审批人。 | 审批规则版本化并提供试算;保存命中条件和代理链,组织快照按申请时固化。 | 无人、多人冲突、本人审批或代理循环时阻断提交并通知流程管理员。 | 覆盖典型组织和金额边界的路由用例,页面与后端命中结果一致。 |
FR-FSP-EXP-08付款批次与失败补偿 | 会计收单完成的单据进入付款池,可按法人、银行、日期、渠道组成批次并批量提交。 | 批次和单任务分层保存,单笔失败不回滚成功笔;重试前必须查单,付款成功后自动制证。 | 批次部分成功、结果未知、回单缺失和收款账户变更分别进入异常状态。 | 批次统计等于明细汇总,失败可单笔重试且无重复付款。 |
FR-FSP-EXP-09员工往来与逾期管理 | 按员工展示借款本金、已核销、未核销、逾期天数和责任部门,支持催办、承诺日期和离职清算。 | 每日任务生成余额快照和逾期级别,消息按 7/15/30 天升级;清算结果联动 HR 离职门禁。 | 员工调岗不改变历史责任,余额转移必须通过审批调整单。 | 员工余额等于借款减核销及调整,逾期和离职阻断规则可验证。 |
TAX发票、票据与税务补齐发票红冲持续巡检、进项自动勾选/抵扣认证,并保留 OCR、查重、验真、申报和电子档案闭环。7 项
| ID / 功能 | 产品行为 | 开发落点 | 异常与边界 | 验收标准 |
|---|---|---|---|---|
FR-FSP-TAX-01票据采集与电子档案 | 支持图片、PDF、OFD、结构化电子票和纸票扫描,绑定报销、采购、合同、付款和凭证。 | 原文件只读保存,记录 sha256、来源、采集人、电子签章校验和档案期限;派生 OCR 文本与原件分离。 | 文件损坏、格式不支持或电子签章失败进入人工复核,不能丢弃原件。 | 档案可按票号、业务单据、凭证和期间检索,原件哈希始终一致。 |
FR-FSP-TAX-02OCR、查重与官方验真 | 识别发票代码/号码、日期、金额、税额、买卖方、税号和明细,并调用官方能力验真及全库查重。 | 查重指纹使用票种+代码+号码+金额+日期+销方,官方请求/回执和人工修正均留日志。 | 低置信度、主体不符、重复、验真失败或接口限流时进入风险状态并阻断报销。 | 已知真票、假票、重复票、低置信度和接口故障样本均得到预期结果。 |
FR-FSP-TAX-03开票后红冲持续巡检 | 对已验真、已报销、已认证或已入账发票定时查询最新状态,识别红冲、作废和风险变化。 | finance_invoice_status_inspection 保存 beforeStatus、afterStatus、officialResponse、affectedDocuments;变化触发差异任务和通知。 | 官方接口不可用时按退避重试并显示最后成功巡检时间,不得把旧状态当实时。 | 红冲样本能定位原报销、进项税和凭证,生成处置任务且关闭前不能结账。 |
FR-FSP-TAX-04进项自动勾选与抵扣认证 | 按税期、主体、票种、用途、认证期限、风险和金额规则生成候选清单,支持自动/人工勾选、撤销和回执。 | 勾选规则版本化;任务保存 requestId、invoiceIds、官方批次号、回执和失败明细,只有 VERIFIED+AVAILABLE 可进入。 | 跨主体、已红冲、重复勾选、不可抵扣或超过认证期时阻断。 | 候选、提交、回执、撤销和申报引用全链路可重放,勾选金额与官方回执一致。 |
FR-FSP-TAX-05销项开票与红字处理 | 按合同、收款、退款和开票申请生成销项发票,支持拆分/合并、部分开票、红字和作废。 | 发票申请与收入、应收、退款建立稳定关联,开票平台适配器使用幂等业务号;红字必须关联原票。 | 金额超过可开票余额、抬头税号不一致或红字原因缺失时禁止提交。 | 可开票、已开票、红冲和剩余额勾稽,平台重复回调不重复更新。 |
FR-FSP-TAX-06税额测算与纳税申报 | 按法人、税期归集进销项、附加税、所得税和其他税种,生成测算、申报表、提交和受理回执。 | 复用 finance_tax_declaration,增加 sourceSnapshot、calculationVersion、attachmentSet 和 reconciliationResult;申报前锁定数据快照。 | 发票、总账和申报数据不平或存在红冲未处理时不得提交。 | 测算与申报回执金额一致,申报表可追溯发票和凭证。 |
FR-FSP-TAX-07税务归档与检查资料包 | 按法人、税期归档申报表、回执、发票清单、勾选结果、凭证和差异说明,支持检查资料包导出。 | 归档包生成 manifest 和每文件 SHA-256,封存后只能创建补充版本;敏感导出水印审计。 | 缺回执、文件哈希异常或资料不全时不可标记归档完成。 | 任一税期可生成完整可验证资料包,清单数量金额与系统快照一致。 |
AST固定资产、房租、装修、库存与成本补齐房租和装修专项台账,承接固定资产、存货、成本、摊销及工资产品维度自动制证。9 项
| ID / 功能 | 产品行为 | 开发落点 | 异常与边界 | 验收标准 |
|---|---|---|---|---|
FR-FSP-AST-01固定资产卡片 | 登记资产类别、原值、残值、年限、折旧方法、购置/启用日期、校区、部门、责任人、位置和来源单据。 | 复用物料资产域稳定 assetId,财务卡片保存 accountingPolicyVersion 和 accountSetId,实物与会计状态分离。 | 缺验收、来源金额不一致或资产已存在时禁止重复建卡。 | 来源资产、卡片、付款、发票和凭证可贯通,来源资产数量及原值全部对齐。 |
FR-FSP-AST-02折旧、减值与清理 | 按政策生成折旧,支持减值、减值转回、报废、出售和清理损益。 | 月度批次按 assetId+period 幂等,先试算后审核过账;历史政策和计算明细不可覆盖。 | 期间关闭、资产状态不允许或累计折旧超过可折旧额时阻断。 | 样本资产全生命周期折旧合计、净值和清理损益与签署结果一致。 |
FR-FSP-AST-03资产调拨、盘点与变更 | 支持校区/部门/责任人调拨、盘点盘盈盘亏、寿命/残值变更和组件拆分合并。 | 变更单保存前后快照、生效日期和审批,影响折旧的变更只作用未来期间。 | 已关闭期间不得回溯变更;跨法人调拨自动生成出售/购入或内部往来方案。 | 实物状态、财务卡片和总账余额一致,盘点差异都有处理结论。 |
FR-FSP-AST-04房租台账 | 管理租赁合同、校区、出租方、租期、免租期、递增、押金、付款计划、税票、续租、退租和到期提醒。 | finance_rent_contract/schedule 保存合同版本和日历拆分;付款、预付、费用/使用权资产口径按政策生成摊销和凭证。 | 合同变更、提前终止、付款逾期或发票缺失进入异常,不能直接改原计划。 | 从现用系统迁移全部房租合同及历史付款,计划合计等于合同金额且逐期凭证正确。 |
FR-FSP-AST-05装修台账 | 管理装修项目、预算、合同、供应商、付款、变更、验收、转固/长期待摊、摊销、结项和质保。 | finance_renovation_project 连接采购、付款、发票、资产和摊销;变更单重算未执行计划并保留旧版本。 | 未验收不得转固/开始摊销,超合同和超预算付款需增强审批。 | 项目累计合同、付款、发票、转固和摊销金额可勾稽,历史项目全部迁移。 |
FR-FSP-AST-06采购、入出库、调拨和盘点 | 承接金蝶存货的采购入库、其他入库、领用出库、销售/退货、调拨、盘点、报损和报废。 | 复用 asset 域单据,财务订阅已确认库存事件;每笔交易保存仓库、批次、数量、单价、金额和辅助维度。 | 负库存、重复确认、跨法人调拨单边成功或计量单位不一致时阻断。 | 库存数量金额、业务单据和财务凭证逐批次可追溯。 |
FR-FSP-AST-07存货计价、成本结转与凭证 | 按账套配置移动加权、月末一次加权或经批准方法,生成出库成本、盘盈盘亏和结转凭证。 | 成本批次保存输入快照、算法版本、尾差分配和结果明细;过账后锁定,重算通过冲销和新批次。 | 缺入库成本、负库存或批次不平时不得结转。 | 选定期间库存余额、出库成本和总账存货科目与来源系统差额为 0.00。 |
FR-FSP-AST-08工资计提的部门与产品维度 | 按员工发生时部门、校区、岗位、产品/课程和成本中心分摊工资、社保、公积金、奖金及课酬并自动制证。 | 工资快照输入稳定 employeeId 和组织/产品快照;finance_payroll_accrual_rule 版本化科目和分摊公式。 | 分摊维度缺失、合计不等于工资批次或员工跨主体未拆分时进入待处理。 | 分摊后各维度合计等于工资批次,凭证借贷平衡且可追溯员工快照。 |
FR-FSP-AST-09长期待摊与其他摊销 | 除房租装修外,支持保险、服务费和其他长期待摊项目的计划、变更、暂停、终止和自动制证。 | 统一 amortization schedule 按 sourceType 扩展,尾期自动吸收舍入差额;每期只生成一次。 | 来源合同终止或金额变化时先生成影响预览并审批新版本。 | 计划总额、已摊、未摊和总账余额准确,跨期无重复漏摊。 |
BUD全面预算、执行控制与预测三表建设独立财务预算域,覆盖收入、课消收入、费用、占用、预算外、调整、进度、差异和预测三表。13 项
| ID / 功能 | 产品行为 | 开发落点 | 异常与边界 | 验收标准 |
|---|---|---|---|---|
FR-FSP-BUD-01预算年度、版本与完整流程 | 按“填报提交→审批→备案→执行管控→差异分析→关账”管理预算,支持多版本但同范围同期间仅一个生效版本。 | 预算年度支持 3 月至次年 2 月等自定义日历;版本保存 scope、baselineVersionId、approvalId、filedAt 和 closeAt。 | 未备案版本不得占用,已关账版本不得回改。 | 完整状态机、权限、消息和审计用例通过,任意实际数能找到生效预算版本。 |
FR-FSP-BUD-02预算填报与调整模板 | 配置收入、课消、费用、资金和专项预算模板,定义维度、科目、期间、公式、必填、说明和导入格式。 | 模板版本化并提供 Excel 导入校验、错误定位和预览;已使用模板不可覆盖。 | 维度重复、公式循环、期间缺失或导入总计不平时拒绝提交。 | 模板页面、导入导出和后端校验口径一致,历史版本可重现。 |
FR-FSP-BUD-03现金收入预算 | 按校区+产品编制月/季/年现金收入,支持同比、汇总、拆分和滚动预测。 | 预算行使用 campusId+productId+period 唯一,季度/年度由月度汇总且不可独立产生矛盾值。 | 新产品无历史值时必须填写假设和责任人。 | 月度合计等于季/年,实际收费按相同维度归集并可计算完成率。 |
FR-FSP-BUD-04课消收入预算 | 按校区、产品、课程及月/季/年编制课消收入预算,明确课消量、单价和收入确认口径。 | 教务提供排课/课消预测,财务规则把数量转换为收入;保存输入快照和公式版本。 | 教务与财务口径未签署、课程映射缺失或跨期规则不明时不可备案。 | 课消预算可追溯数量和价格假设,与实际课消收入使用同一收入确认口径。 |
FR-FSP-BUD-05费用预算编制 | 按部门/校区、费用类型、项目、产品和月/季/年编制费用预算,支持 3 月至次年 2 月财年。 | 费用类型映射会计科目和报销类型;预算行保存 ownerEmployeeId 和 costCenterId。 | 无责任人、重复维度或汇总超过上级控制额时阻断提交。 | 现用费用预算完整迁移,层级汇总和控制额一致。 |
FR-FSP-BUD-06预算占用、释放与执行 | 申请、借款、采购和报销按规则占用;撤回/驳回释放;付款或入账转执行,页面实时显示预算额、占用、执行、可用和差异。 | 统一 occupation service 在事务内按 budgetLine 加锁,保持 budget=available+reserved+consumed 守恒。 | 并发占用、版本切换或可用额不足时后端阻断,不能只在前端提示。 | 并发压力下无超预算和负可用额,业务撤销后占用准确释放。 |
FR-FSP-BUD-07预算外费用审批与自动调预算 | 预算外费用不论金额均进入事业部和老板审批;通过后按批准类型自动新增预算、调剂或记录特批,不静默放行。 | 审批结果生成 finance_budget_adjustment,生效后再允许业务继续;保存原预算、调整额、来源单据和审批。 | 审批拒绝、版本已关闭或调整后仍不足时业务保持阻断。 | 预算外单据均可追溯增强审批和预算变更,不存在先付款后补预算。 |
FR-FSP-BUD-08收入预算年度调整 | 每财年按业务规则最多发起一次正式收入预算调整,展示调整前后和对预测报表影响。 | 系统按 budgetYear+adjustmentType 建唯一约束;审批通过生成新版本,旧版 SUPERSEDED。 | 第二次正式调整必须被阻断;撤回的草稿不占次数。 | 次数限制、版本切换、差异展示和实际对比均正确。 |
FR-FSP-BUD-09费用预算调增、调减与调剂 | 财年内支持同部门、跨部门、跨校区调增/调减/调剂,定义资金来源、接收方和生效期间。 | 调整单包含 fromLine/toLine、amount、reason、effectivePeriod;生效时同事务扣减和增加。 | 来源可用预算不足、已关闭期间或跨法人无授权时阻断。 | 调整前后预算总额按类型守恒,执行看板立即反映新版本。 |
FR-FSP-BUD-10预算进度推进看板 | 按法人、校区、部门、产品、费用类型、期间和责任人查看填报、审批、备案、执行和调整进度。 | 看板使用预算事实表和统一筛选契约,显示数据截止时间;支持下钻、导出和催办。 | 无权限维度不返回数据;刷新失败保留上次快照并显著标记过期。 | 看板汇总等于明细,筛选、导出和下钻口径一致。 |
FR-FSP-BUD-11预计资产负债表 | 根据期初、预算、资本支出、折旧、往来、资金和融资假设生成按月预计资产负债表。 | forecast engine 保存模型版本、输入快照和公式;执行资产=负债+所有者权益勾稽。 | 输入缺失或勾稽不平时不得发布,只能保存草稿并列出差异。 | 每月预测表勾稽为 0.00,可下钻到预算和假设。 |
FR-FSP-BUD-12预计利润表 | 按校区、部门、产品生成预计收入、成本、费用、利润和利润率,支持版本对比。 | 收入来自现金/课消预算及确认规则,成本费用来自预算和分摊规则;保存每个指标 lineage。 | 维度映射或分摊规则缺失时禁止发布。 | 预测利润表汇总与预算一致,维度加总等于法人总表。 |
FR-FSP-BUD-13预计现金流量表 | 按经营、投资、筹资活动生成月度预计现金流和期末资金余额,联动资金计划。 | 预算项目映射现金流项目和预计收付日期;期末现金=期初现金+净现金流。 | 未映射项目和负资金缺口必须显示,不能自动归入“其他”。 | 预计现金流勾稽正确,资金缺口可下钻并进入资金计划。 |
RPT财务报表、管理报表与合并补齐自定义现金流量表、校区现金收支表、实时口径、合并抵销及可追溯经营分析。9 项
| ID / 功能 | 产品行为 | 开发落点 | 异常与边界 | 验收标准 |
|---|---|---|---|---|
FR-FSP-RPT-01资产负债表与利润表 | 提供标准资产负债表和利润表,支持公式、期间、账套、调整期、上期/同期、审计快照和凭证下钻。 | 报表公式版本化,快照绑定最大过账时间和会计政策版本;签署后新凭证使快照失效。 | 公式缺科目、勾稽不平或快照过期时不得签署。 | 法定报表与总账余额完全勾稽,与金蝶并行期间差额为 0.00。 |
FR-FSP-RPT-02校区利润表与多维利润 | 按部门/校区、产品、课程、项目和团队查看收入、成本、费用、利润和利润率。 | 统一辅助维度和分摊规则,保存维度快照;总部汇总消除内部交易。 | 未分配金额必须单列,不允许静默摊入默认校区或产品。 | 各维度加总+未分配=法人利润表,任一指标可下钻凭证和业务单据。 |
FR-FSP-RPT-03标准与自定义现金流量表 | 支持标准现金流量表、现金流量项目指定、自动分配及独立的自定义现金流模板。 | 法定模板和管理模板隔离版本;凭证行保存 cashFlowItemId,自定义公式不改法定结果。 | 未指定现金流项目进入待办,关闭前必须处理。 | 现金净增加额与现金等价物余额变动一致,自定义模板可重现签署样例。 |
FR-FSP-RPT-04自定义报表公式与版本 | 财务可配置行列、科目/辅助取数、公式、筛选、展示格式和权限,发布前试算和审批。 | 公式 DSL 禁止任意代码执行,检测循环依赖;定义、参数、结果和 lineage 均版本化。 | 公式错误、除零、超时或无权限引用返回明确错误,不输出误导性 0。 | 公式单元测试、试算和发布回滚通过,历史快照使用原版本。 |
FR-FSP-RPT-05校区现金收支表 | 提供正式校区现金收支表,按部门/校区、产品、课程、项目、收支类型和期间分析。 | 定义固定基础口径并允许受控扩展;收入取已确认收款,支出取已成功付款,内部调拨独立展示。 | 退款、代收代付、跨校调拨和未认领流水必须按签署规则归类,不能重复计入。 | 表内期初+收入-支出=期末,汇总与日记账及银行余额可对账。 |
FR-FSP-RPT-06实时查看与数据新鲜度 | 凭证过账、收付款确认和预算调整后触发增量刷新;页面显示数据截止时间、刷新模式和失败状态。 | 核心余额和明细事件驱动更新,复杂报表异步快照;定义核心报表 5 分钟内、普通管理报表 30 分钟内的新鲜度目标。 | 刷新失败保留上次成功值并标记 STALE,不得展示为最新。 | 测试事件在 SLA 内出现在报表,故障时状态、告警和手工重算有效。 |
FR-FSP-RPT-07合并报表与内部抵销 | 支持跨法人汇总、币别折算、内部往来核对、抵销分录、合并调整和集团报表。 | consolidation batch 固化参与账套、汇率、抵销规则和来源快照;调整只存在合并层,不回写单账套。 | 子账套未结账、内部往来不平或折算规则缺失时不得签署。 | 合并范围完整,内部交易抵销后差额为 0.00,调整分录可追溯。 |
FR-FSP-RPT-08阿米巴与经营分析 | 按经营单元展示收入、直接成本、分摊费用、贡献毛利、利润和人效,并支持趋势、预算实际和下钻。 | 指标口径、分摊规则和组织映射版本化;竞品“经贝管家”仅作为交互参考,不作为验收名称。 | 组织变更不回写历史,未分摊差异显式列示。 | 同一筛选在看板、明细和导出结果一致,指标可追溯到财务事实。 |
FR-FSP-RPT-09报表快照、签署、导出和审计 | 关键报表生成不可变快照,支持编制、复核、签署、撤销签署、Excel/PDF 导出和水印。 | snapshot 保存 queryContract、formulaVersion、sourceMaxVersion、rowCount、amountHash 和 signOff;撤销签署需原因。 | 来源变化后旧快照标记 SUPERSEDED 但仍可查看,不能静默替换。 | 历史签署结果可重现,导出与页面总计和筛选完全一致。 |
INT业财联动、外部平台与专项规则补齐收费、财资、发票平台适配,以及课消、专项台账、工资、活动奖励、代金券和协商退费的自动闭环。10 项
| ID / 功能 | 产品行为 | 开发落点 | 异常与边界 | 验收标准 |
|---|---|---|---|---|
FR-FSP-INT-01独立收费后台适配器 | 配置收费渠道、商户、校区/法人映射、签名、回调、退款、结算和对账,不把供应商字段扩散到核心领域。 | 适配层输出统一 PaymentConfirmed/RefundConfirmed 事件,原始报文加密归档;渠道切换只改配置和适配器。 | 验签失败、商户未映射、乱序回调和渠道重复流水进入隔离队列。 | 适配器契约覆盖支付、退款、撤销、结算和异常,对核心收款结果一致。 |
FR-FSP-INT-02财资云与发票平台适配器 | 分别承接财资支付和发票勾选/开票能力,提供认证、签名、限流、重试、查单、回执、对账、密钥轮换和人工补偿。 | 使用 provider+tenant+legalEntity 配置,不在业务表保存明文密钥;外部状态映射为稳定内部枚举。 | 供应商限流、认证失效和字段变更触发熔断及告警,不自动丢弃任务。 | 沙箱、契约测试和故障演练通过,供应商切换不改变业务单据 ID。 |
FR-FSP-INT-03教务财务核实与收款凭证 | 教务确认收款归属、合同、学员、产品和校区后形成财务事件,自动生成收款及预收凭证。 | 事件保存 academicConfirmationVersion 和 contractSnapshot;财务更正通过调整事件且仅财务有权提交。 | 教务更改已锁定关联时只创建更正申请,不能直接覆盖财务结果。 | 确认、锁定、更正、冲销和凭证链路完整,非财务无法修改终态。 |
FR-FSP-INT-04课消收入自动确认 | 按已确认课消、合同单价、优惠分摊和收入规则确认收入、冲减预收并自动制证。 | 事件幂等键 student+contract+lesson+consumptionVersion;退款、撤课和补课产生反向或调整事件。 | 合同价格快照缺失、课消撤回或期间关闭时进入待处理。 | 课消数量、确认收入、预收余额和凭证逐课次可对账。 |
FR-FSP-INT-05房租、装修、资产、库存和工资自动制证 | 各专项域只发布已确认业务事实,财务规则统一生成摊销、折旧、成本和工资计提凭证。 | 事件契约包含 stableSourceId、version、accountSetId、dimensions、amountBreakdown;总账不直接查询上游可变表。 | 事件字段缺失或映射不完整进入财务事件待办,不得由上游直接写凭证表。 | 每类事件有幂等、冲销、跨期和映射失败用例,来源合计等于凭证合计。 |
FR-FSP-INT-06活动奖励核算与发放 | 统一管理活动奖励资格、规则、计算、审批、工资并入或财务付款、退费追回和争议处理。 | finance_activity_reward 保存 activityId、beneficiaryId、ruleVersion、calculationSnapshot、settlementType 和 reversalId。 | 活动取消、资格变化或退款后重新计算差异,不直接改已发金额。 | 奖励从业务事实到计算、审批、发放和追回全链路可追溯。 |
FR-FSP-INT-07营销与转介绍代金券自动发放 | 营销活动、转介绍等事件满足条件后自动发放代金券,支持券模板、适用范围、到账通知、撤销和退费回收。 | 幂等键 activity+triggerEvent+beneficiary+templateVersion;保存 grantId 与财务奖励/费用关联。 | 重复事件、资格撤销、模板停用或活动超预算时阻断或进入复核。 | 重复投递不重复发券,撤销和退费正确回收未使用券并处理已使用差异。 |
FR-FSP-INT-08协商额外费用特殊退费 | 对家长不认可系统学费的场景,按“系统学费+额外费用=协商认可总额”形成独立退费单、补充协议和审批。 | finance_negotiated_refund 保存 systemTuition、extraFee、negotiatedTotal、reason、responsibleOwner、agreementAttachment 和 regulatoryTreatment。 | 公式不平、额外费用无依据、协议未签或监管口径未确认时禁止付款。 | 试算、协议、审批、付款、凭证和监管数据金额一致且完整归档。 |
FR-FSP-INT-09关联合同锁定与财务更正 | 收费一旦核实关联合同即锁定,行政和教务不可直接修改;财务通过更正单调整并保留前后值。 | payment-contract link 保存 lockVersion、lockedBy、lockedAt;更正触发受影响应收、收入、奖励和凭证重算。 | 已结账期间的更正转为当前调整期,不能回改历史。 | 权限测试证明非财务终态修改全部被拒绝,更正链路可完整回放。 |
FR-FSP-INT-10事务消息、幂等、重放与死信 | 跨模块和外部集成统一使用 outbox/inbox,支持至少一次投递、幂等消费、退避重试、死信、人工重放和审计。 | outbox 与业务事务同库提交,消费者以 eventId+consumer 唯一;重放保留原事件并创建 replayAttempt。 | 反复失败达到阈值进入死信并通知责任人,禁止无限重试阻塞主队列。 | 重复、乱序、延迟和服务重启测试不产生重复金额或丢失事件。 |
MIG历史迁移、双轨试运行与金蝶退役完整迁移金蝶历史数据,以账套为单位经历影子运行、双轨对账、迪诺主写、金蝶只读和最终停用。15 项
| ID / 功能 | 产品行为 | 开发落点 | 异常与边界 | 验收标准 |
|---|---|---|---|---|
FR-FSP-MIG-01来源系统全量盘点 | 逐账套盘点版本、模块、参数、科目、维度、用户角色、接口、定时任务、报表、数据量、附件和历史期间。 | 生成 source snapshot 和 capability inventory,保存导出方法、权限、时间范围、记录数和哈希。 | 无权限或无法导出的对象进入阻塞清单并指定取证方案,不能跳过。 | 每个账套有财务签署的盘点包,未决阻塞为 0 才可进入映射。 |
FR-FSP-MIG-02主数据与规则映射 | 建立账套、科目、辅助、客户、供应商、员工、银行、税务、资产、费用、预算和报表公式映射。 | mapping 使用 sourceType+sourceId+mappingVersion 唯一,支持一对一、一对多、合并和人工例外;发布后不可覆盖。 | 未映射、重复映射或目标停用时阻断相关数据迁移。 | 来源引用全部命中有效映射,无孤儿记录,映射变更可影响分析。 |
FR-FSP-MIG-03全部历史数据抽取 | 迁移所有可获得历史:基础资料、期初、凭证分录、账簿余额、往来、收付、银行流水、资产、存货、发票税务、预算、报表、附件和审计证据。 | 按对象和期间分片导出,保留 sourcePrimaryKey、sourceUpdatedAt、sourceAccountSetCode 和 extractSnapshotId;禁止只迁近期数据替代全量。 | 来源确实无法提供的历史必须形成签署例外和只读档案方案。 | 每类对象迁移范围和最早/最晚日期与来源盘点一致,缺失均有批准例外。 |
FR-FSP-MIG-04暂存、校验与批次提交 | 数据先进入 staging,完成结构、引用、唯一、金额、借贷、期间和业务规则校验后整批提交。 | 批次状态和 item error 独立保存;commit 使用事务或可恢复分段提交,写入 migrationBatchId。 | 校验失败不进入正式表,批次部分提交必须可识别并继续/回滚。 | 故意注入脏数据能准确定位,正式提交后记录数和哈希与批准批次一致。 |
FR-FSP-MIG-05附件与审计证据迁移 | 迁移凭证附件、合同、发票、回单、报表、审批和操作证据,保存原文件、元数据和哈希。 | 对象存储采用 source/target 双哈希清单;无法下载的附件进入缺失证据任务。 | 文件损坏、重名或字符编码问题不得导致静默跳过。 | 附件总数、总字节和哈希核对通过,随机抽样可从迪诺打开并关联原业务。 |
FR-FSP-MIG-06增量迁移与变更捕获 | 全量批次后按来源更新时间、日志或接口增量同步,直到切换冻结点。 | 维护 highWatermark 和 overlapWindow,重复读取通过 sourceId+version 幂等;删除以 tombstone 表示。 | 来源时间漂移、漏页或接口回退时扩大窗口并重算哈希。 | 连续增量批次无漏数,冻结点后来源与迪诺记录差异为 0。 |
FR-FSP-MIG-07阶段 A:金蝶主账、迪诺影子账 | 初期金蝶保持正式账,迪诺接收同一业务事实并影子制证、结账和报表,不对外作为正式结果。 | 系统主账规则设 KINGDEE_PRIMARY;影子结果标 shadow=true,禁止混入正式迪诺报表。 | 影子失败不阻塞金蝶业务,但必须进入差异待办和上线阻塞指标。 | 至少完成一个完整月结影子回放,全部财务层级差异关闭。 |
FR-FSP-MIG-08阶段 B:迪诺主账、金蝶镜像 | 账套通过首轮门禁后,新增业务以迪诺为主写,按过渡需要将凭证/汇总镜像到金蝶用于复核。 | 规则切到 DINUO_PRIMARY,镜像适配器只读迪诺已审核结果并保存金蝶回执,不允许金蝶反向覆盖。 | 镜像失败不回滚迪诺已提交交易,但必须在结账前解决或取得明确批准。 | 迪诺独立完成制证和结账,金蝶镜像与迪诺结果逐日逐月一致。 |
FR-FSP-MIG-09四层双轨对账 | 双轨期间每天及月末对账:主数据、业务单据、凭证分录、科目/辅助余额与报表四层。 | reconciliation batch 保存双方快照、匹配键、数量、金额、哈希和差异类型;金额比较使用精确 decimal。 | 舍入差异必须由明确规则解释,不允许设置静默容差关闭差异。 | 每层记录数匹配,账套/期间/科目/辅助维度金额差为 0.00,未处理差异为 0。 |
FR-FSP-MIG-10差异分类、修复与重放 | 差异按缺失、重复、映射、期间、维度、汇率、舍入、状态、规则版本和来源修改分类,指定责任人与 SLA。 | 修复通过映射新版本、迁移修正批次或业务调整单完成;关闭记录 rootCause、fixEvidence 和 prevention。 | 禁止直接改正式库“抹平”差异;同类反复出现自动升级。 | 每条差异有来源、影响金额、根因、修复、复核和关闭证据,重跑不复发。 |
FR-FSP-MIG-11切换演练与回退 | 每个账套至少执行一次生产等价演练,验证冻结、增量追平、角色切换、业务入口、结账、报表和回退。 | cutover rehearsal 保存时间线、负责人、脚本版本、数据快照、门禁结果和回退点;回退不删除迪诺数据而是恢复主系统规则。 | 演练超窗、数据差异、关键接口失败或角色缺失立即回退。 | 演练在批准窗口完成,回退可在目标时间内恢复且无丢单重复。 |
FR-FSP-MIG-12逐账套切换门禁 | 账套只有在功能等价、全量迁移、权限、性能、两次完整月结对账和财务 UAT 全部通过后才能切换。 | finance_cutover_gate 对每项保存 metric、threshold、actual、evidenceUrl 和 signOff;门禁自动阻断未满足状态。 | 任何重大/高风险差异、未迁附件、未关闭税期或未完成备份都阻断。 | 切换审批中所有门禁 PASS,三方签署完整且可审计。 |
FR-FSP-MIG-13金蝶只读阶段 | 切换后金蝶进入只读查询和审计备用,禁止新增、修改、审核、过账和结账;保留限定周期复核。 | 撤销写权限和接口密钥,保存角色/授权前后快照;入口提示迪诺正式账链接。 | 发现必要写操作必须回退主系统规则或走批准的历史更正流程,不临时开权绕过。 | 权限验证证明所有金蝶写路径不可用,历史查询仍可完成。 |
FR-FSP-MIG-14金蝶停用与长期档案 | 全部账套通过稳定期后停止金蝶日常使用,保留法律和审计要求的只读导出、备份、许可终止及销毁计划。 | decommission record 包含最终快照、备份校验、保留期、访问责任人、合同/许可、密钥销毁和供应商确认。 | 未验证备份、未满足法定保留期或仍有依赖接口时不得退役。 | 金蝶无生产写入和运行依赖,迪诺能独立完成业务、月结、年结、审计取证。 |
FR-FSP-MIG-15全链路数据血缘与来源键 | 每个迁移对象和关键汇总保留来源系统、账套、主键、版本、批次、映射版本和哈希,可从迪诺反查金蝶来源。 | 所有迁移表统一字段 sourceSystem、sourceAccountSetCode、sourceObjectType、sourceObjectId、sourceVersion、migrationBatchId。 | 来源键冲突或血缘断裂时禁止提交,人工合并保留全部旧键。 | 抽样和自动检查可从报表→凭证→业务→迁移项→来源快照完整追溯。 |
Gap Closure
上一轮 36 项不完善、欠缺与冲突的闭环映射
来源为“新系统财务功能清单及 PRD 核对报告”;2 个非产品项不计入缺口。| 原需求 ID | 原 PRD 结论 | 本补充 PRD 承接 | 闭环说明 |
|---|---|---|---|
FND-01 | 部分覆盖 | FR-FSP-FUND-03 FR-FSP-INT-09 | 补齐自动收费入账、合同锁定和财务更正。 |
FND-02 | 部分覆盖 | FR-FSP-FUND-03 FR-FSP-INT-01 | 补齐独立收费后台适配、回调、对账和切换。 |
FND-04 | 部分覆盖 | FR-FSP-FUND-08 FR-FSP-INT-02 | 补齐财资云支付、回执、查单、降级和对账。 |
FND-05 | 部分覆盖 | FR-FSP-FUND-04 | 补齐标准余额调节表和未达项闭环。 |
EXP-01 | 部分覆盖 | FR-FSP-EXP-01 FR-FSP-EXP-05 | 把会计收单纳入完整借款报销状态机。 |
EXP-02 | 未覆盖 | FR-FSP-EXP-02 FR-FSP-EXP-03 FR-FSP-EXP-04 FR-FSP-EXP-09 | 新增借款、预算占用/释放、核销和员工往来。 |
EXP-03 | 部分覆盖 | FR-FSP-EXP-03 FR-FSP-EXP-04 FR-FSP-BUD-06 | 补齐核销和预算执行进度。 |
EXP-04 | 部分覆盖 | FR-FSP-EXP-06 | 新增不参与预算的特殊付款单及白名单规则。 |
EXP-06 | 未覆盖 | FR-FSP-EXP-05 | 新增会计收单、退单补件、纸票/电子票接收。 |
EXP-08 | 未覆盖 | FR-FSP-TAX-03 | 新增发票红冲/作废持续巡检和影响处置。 |
EXP-09 | 部分覆盖 | FR-FSP-TAX-04 FR-FSP-INT-02 | 新增发票自动勾选、认证、撤销和平台回执。 |
ACC-03 | 口径冲突 | FR-FSP-PAR-02 FR-FSP-GL-03 FR-FSP-MIG-07 FR-FSP-MIG-08 FR-FSP-MIG-14 | 确定长期迪诺唯一正式账;金蝶仅在迁移和双轨期镜像,最终停用。 |
ACC-07 | 部分覆盖 | FR-FSP-GL-02 FR-FSP-AST-04 FR-FSP-AST-05 FR-FSP-AST-09 | 补齐房租、装修及其他专项摊销自动制证。 |
ACC-10 | 部分覆盖 | FR-FSP-AST-08 FR-FSP-INT-05 | 补齐工资产品维度分摊和自动计提凭证。 |
ACC-14 | 部分覆盖 | FR-FSP-RPT-06 | 明确事件刷新、数据新鲜度和失败兜底。 |
ACC-15 | 部分覆盖 | FR-FSP-RPT-03 FR-FSP-RPT-04 | 补齐自定义现金流模板、公式和版本隔离。 |
ACC-16 | 部分覆盖 | FR-FSP-RPT-05 | 建设正式校区现金收支表及多维口径。 |
ACC-17 | 部分覆盖 | FR-FSP-RPT-06 | 补齐校区现金收支表实时刷新和异常提示。 |
ACC-18 | 未覆盖 | FR-FSP-AST-04 | 迁移并完善房租合同、付款、摊销和到期台账。 |
ACC-19 | 未覆盖 | FR-FSP-AST-05 | 新增装修项目、付款、验收、转固/摊销和结项台账。 |
BUD-01 | 未覆盖 | FR-FSP-BUD-01 | 建设完整预算状态机。 |
BUD-02 | 未覆盖 | FR-FSP-BUD-02 | 新增预算填报和调整模板。 |
BUD-03 | 未覆盖 | FR-FSP-BUD-03 | 迁移并完善现金收入预算。 |
BUD-04 | 未覆盖 | FR-FSP-BUD-04 | 新增课消收入预算及教务财务共同口径。 |
BUD-05 | 未覆盖 | FR-FSP-BUD-05 | 迁移费用预算及 3 月至次年 2 月财年规则。 |
BUD-06 | 部分覆盖 | FR-FSP-BUD-06 FR-FSP-EXP-03 | 补齐预算余额、占用、释放、超限阻断和差异。 |
BUD-07 | 未覆盖 | FR-FSP-BUD-07 | 新增预算外增强审批及自动调预算。 |
BUD-08 | 未覆盖 | FR-FSP-BUD-08 | 新增收入预算每财年一次正式调整。 |
BUD-09 | 未覆盖 | FR-FSP-BUD-09 | 新增费用预算调增、调减和调剂。 |
BUD-10 | 未覆盖 | FR-FSP-BUD-10 | 新增可筛选预算进度和执行看板。 |
BUD-11 | 未覆盖 | FR-FSP-BUD-11 | 新增预计资产负债表及勾稽。 |
BUD-12 | 未覆盖 | FR-FSP-BUD-12 | 新增多维预计利润表。 |
BUD-13 | 未覆盖 | FR-FSP-BUD-13 | 新增预计现金流量表及资金计划联动。 |
PAY-06 | 部分覆盖 | FR-FSP-INT-06 | 建设统一活动奖励计算、发放和追回对象。 |
EDU-02 | 部分覆盖 | FR-FSP-INT-07 | 补齐活动触发代金券自动发放、撤销和回收。 |
EDU-04 | 未覆盖 | FR-FSP-INT-08 | 新增协商额外费用退费及补充协议闭环。 |
Business Flows
必须端到端验收的核心流程
单个页面完成不等于财务结果完成。收费与自动制证
验签、幂等、商户映射
学员、订单、校区、账套
锁定关联,仅财务更正
应收/预收及手续费
路由账套、审核过账
借款、预算与报销
预算、用途、到期日
预算占用和条件路由
员工往来、付款回执
释放/转占用、部分核销
补件、付款、凭证、归档
双轨迁移与停用
版本、功能、账套、历史
全量+增量、血缘和哈希
金蝶主账、四层对账
金蝶镜像、两个月结
备份、审计、移除依赖
Data Design
数据对象、表和迁移字段
基于现有 Spring Boot + PostgreSQL + Flyway 架构扩展,不建立重复财务底座。| 分组 | 表/对象 | 开发要求 |
|---|---|---|
| 现有核心表 | finance_account_set / subject / auxiliary_item / invoice / expense_report / payment_task / voucher / voucher_line / tax_declaration / monthly_period | 继续复用;禁止另建同义平行表;通过追加 Flyway 迁移补字段和约束。 |
| 能力盘点 | finance_source_snapshot / capability_inventory / parity_exception / system_of_record_rule | 保存来源版本、功能范围、例外和分账套主系统规则。 |
| 凭证规则 | finance_event / voucher_template / voucher_route_rule / period_task / ledger_balance | 自动制证、20+ 账套路由、期末任务和账簿余额。 |
| 往来资金 | finance_receivable / payable / writeoff / bank_reconciliation / balance_reconciliation_statement / fund_transfer | 应收应付、核销、银行对账和资金调拨。 |
| 借款报销 | finance_loan_application / loan_writeoff / accounting_receipt / non_budget_payment / employee_balance | 借款、预算、核销、收单和员工往来。 |
| 发票税务 | finance_invoice_status_inspection / invoice_selection_task / output_invoice / tax_archive | 红冲巡检、进项勾选、销项和税档案。 |
| 专项台账 | finance_fixed_asset_card / rent_contract / rent_schedule / renovation_project / amortization_schedule / cost_calculation | 资产、房租、装修、摊销及存货成本。 |
| 预算预测 | finance_budget_year / template / version / line / occupation / adjustment / actual / forecast_snapshot | 完整预算域和预测三表。 |
| 报表合并 | finance_report_definition / version / snapshot / lineage / consolidation_batch / elimination_entry | 法定、管理、自定义和集团合并报表。 |
| 迁移双轨 | finance_migration_batch / item / source_object_mapping / parallel_run_period / reconciliation_batch / line / issue / cutover_plan / gate | 历史迁移、双轨对账和切换证据。 |
| 公共字段 | id, tenant_id, legal_entity_id, account_set_id, source_system, source_object_id, idempotency_key, status, version, created_at/by, updated_at/by, is_deleted | 所有新表必须包含租户、账套、来源、幂等、乐观锁和审计字段;金额列使用 numeric。 |
数据库实施约束:只新增后续 Flyway 版本,不修改已发布迁移;所有正式金额使用 numeric,Java 使用 BigDecimal;大表索引至少覆盖 tenant_id、account_set_id、fiscal_period/status 和稳定来源键;逻辑删除不适用于已过账凭证和审计事实。
API, Events & Jobs
接口、领域事件和定时任务
现有 /api/v1/finance-admin 契约保持兼容,新能力按子域扩展。接口资源组
| 类别 | 资源组 | 约束 |
|---|---|---|
| 兼容原则 | /api/v1/finance-admin/account-sets|invoices|expenses|payment-tasks|vouchers|tax-declarations|periods | 保留现有路径和请求契约;新增能力不得破坏现有调用方。 |
| 总账 | /api/v1/finance-admin/finance-events|voucher-templates|ledger-balances|period-tasks | 事件试算、模板发布、账簿查询、期末任务。 |
| 往来 | /api/v1/finance-admin/receivables|payables|writeoffs|counterparty-statements | 应收应付、核销、对账单和账龄。 |
| 资金 | /api/v1/finance-admin/funds/* | 流水导入、匹配、余额调节表、头寸、调拨和回单。 |
| 借款报销 | /api/v1/finance-admin/loans|loan-writeoffs|accounting-receipts|non-budget-payments | 借款、核销、收单和特殊付款。 |
| 发票税务 | /api/v1/finance-admin/invoice-inspections|invoice-selections|output-invoices | 红冲巡检、勾选认证和销项。 |
| 预算 | /api/v1/finance-admin/budgets/* | 年度、模板、版本、占用、调整、执行和预测。 |
| 台账 | /api/v1/finance-admin/rent-contracts|renovation-projects|amortizations|cost-calculations | 房租、装修、摊销和成本。 |
| 报表 | /api/v1/finance-admin/reports/*|consolidations | 定义、试算、快照、签署、合并和导出。 |
| 迁移 | /api/v1/finance-admin/migrations/*|parallel-runs|reconciliations|cutovers | 迁移批次、映射、对账、差异、演练、切换和退役。 |
| 写接口约束 | Idempotency-Key + expectedVersion + Authorization | 必须校验租户/法人/账套数据范围、业务状态、职责分离、幂等、乐观锁和审计。 |
| 列表导出约束 | 统一 QueryContract | 页面列表、总数、汇总、下钻和导出使用相同筛选、权限、快照和排序语义。 |
领域事件
| 事件 | 生产方 | 财务结果 |
|---|---|---|
| PaymentConfirmed | 收费后台/银行 | 应收核销、合同收款、收款凭证、渠道手续费 |
| RefundConfirmed | 售后/支付 | 退款、应收调整、收入冲销、奖励追回 |
| CourseConsumptionConfirmed | 教务 | 课消收入确认、预收转收入、业绩依据 |
| LoanPaid | 财务 | 员工往来、预算占用状态、借款凭证 |
| ExpenseAccountingReceived | 财务 | 进入付款池、付款时限和档案完整性 |
| ExpensePaid | 财务/财资云 | 费用/往来凭证、预算执行、回单归档 |
| InvoiceStatusChanged | 发票平台 | 红冲处置、进项税调整、凭证/申报待办 |
| AssetDepreciationCalculated | 资产 | 折旧审核及自动制证 |
| InventoryCostClosed | 物料资产 | 出库成本和存货凭证 |
| PayrollApproved | 人力 | 部门/产品维度工资计提和付款 |
| BudgetAdjusted | 预算 | 占用重算、看板刷新和预测重算 |
| MigrationBatchCommitted | 迁移 | 双轨对账、血缘索引和迁移报告 |
后台任务
| 任务 | 触发 | 要求 |
|---|---|---|
| invoice-status-inspection | 每日+税期关闭前 | 巡检已使用发票红冲/作废状态;失败退避重试并告警。 |
| invoice-selection-status-query | 提交后轮询 | 查询勾选/认证回执;幂等更新。 |
| bank-statement-pull | 按通道频率 | 拉取银行流水并去重;授权失效告警。 |
| payment-unknown-query | 分钟级退避 | 付款结果未知先查单,禁止盲目重付。 |
| recurring-voucher-generate | 每日检查 | 按期间生成周期凭证和摊销试算。 |
| loan-overdue-scan | 每日 | 更新员工逾期并升级消息/离职门禁。 |
| report-snapshot-refresh | 事件触发+定时兜底 | 刷新核心报表并记录新鲜度。 |
| kingdee-incremental-extract | 双轨期间按计划 | 从批准水位增量抽取并保存重叠窗口。 |
| parallel-reconciliation | 每日及月结 | 四层对账并自动创建差异单。 |
| cutover-gate-evaluate | 门禁证据变化时 | 重新计算账套切换条件,任何失败自动阻断。 |
State & Access
状态机、权限和不相容职责
状态决定可执行动作,数据范围决定可操作对象。核心状态机
| 对象 | 状态主线 | 门禁 |
|---|---|---|
| 凭证 | DRAFT→SUBMITTED→AUDITED→POSTED→REVERSED | 关闭期间不能提交;制单人与审核人分离;POSTED 后只能冲销/调整。 |
| 借款报销 | DRAFT→SUBMITTED→APPROVING→APPROVED→ACCOUNTING_RECEIVING→RECEIVED→PAYING→PAID→WRITTEN_OFF | 收单是付款前置;预算不足、票据异常和收款账户变化阻断。 |
| 预算 | DRAFT→SUBMITTED→APPROVING→FILED→ACTIVE→SUPERSEDED→CLOSED | 未备案不占用;生效版只通过调整单变化。 |
| 预算占用 | RESERVED→CONSUMED/RELEASED/TRANSFERRED | 状态变化必须保持预算守恒并使用业务幂等键。 |
| 银行对账 | IMPORTED→MATCHING→MATCHED/PARTIAL→ADJUSTING→CLOSED | 余额调节差额不为 0.00 不可关闭。 |
| 发票 | CAPTURED→VERIFIED→AVAILABLE→SELECTED/CERTIFIED→ACCOUNTED→ARCHIVED | 红冲/作废随时转风险状态并触发原业务处置。 |
| 迁移批次 | CREATED→EXTRACTED→STAGED→VALIDATED→APPROVED→COMMITTED/ROLLED_BACK | 未验证、未批准或血缘不完整不得写正式表。 |
| 账套切换 | DISCOVERY→SHADOW→DINUO_PRIMARY→KINGDEE_READ_ONLY→DINUO_ONLY | 每次跃迁由自动门禁和三方签署共同控制。 |
角色与职责
| 角色 | 主要权限 | 限制 |
|---|---|---|
| HQ_FINANCE_ADMIN | 跨法人账套、政策、模板、报表、迁移和切换管理 | 不能代替业务负责人签署 UAT。 |
| LEGAL_ENTITY_CHIEF_ACCOUNTANT | 本法人凭证审核、结账、报表签署和差异复核 | 不能审核本人制单。 |
| CAMPUS_FINANCE | 本校收款、费用、往来、台账查询和补充资料 | 不可跨校区、修改已锁定财务终态。 |
| CASHIER | 日记账、付款、回单、银行对账和资金盘点 | 不可批准付款申请或审核付款凭证。 |
| ACCOUNTANT | 制证、收单、核销、账簿和报表编制 | 与审核/过账按职责分离。 |
| TAX_ACCOUNTANT | 发票核验、勾选、税额测算、申报和税档案 | 不能修改来源业务金额。 |
| BUDGET_OWNER | 本责任范围预算填报、说明和执行查看 | 不可自行批准预算外和重大调整。 |
| BUDGET_APPROVER | 预算审批、备案和调整审批 | 审批范围按组织和金额控制。 |
| MIGRATION_OPERATOR | 来源抽取、暂存、校验和迁移批次执行 | 不能批准自己的批次或切换。 |
| MIGRATION_ACCEPTOR | 迁移结果、对账和抽样验收 | 无来源写权限。 |
| FINANCE_AUDITOR | 只读全部证据、审计日志、签署快照和来源血缘 | 不可执行写操作。 |
Migration & Parallel Run
历史迁移、双轨试运行和逐步停用金蝶
每个账套独立推进,阶段只表示顺序,不表示范围删减。| 阶段 | 正式主系统 | 主要工作 | 退出条件 |
|---|---|---|---|
| M0 能力盘点 | 金蝶仍为正式系统 | 逐账套冻结来源版本、功能、主数据、历史范围和接口清单;建立 100% 功能等价矩阵。 | 未映射功能=0,阻塞项=0,财务签署。 |
| M1 基础建设与试迁 | 金蝶正式、迪诺非正式 | 完成账套、科目、维度、规则和核心功能;全量试迁、修复映射和性能问题。 | 结构/引用校验通过,期初和历史抽样一致。 |
| M2 影子运行 | 金蝶主账,迪诺影子账 | 相同业务事实驱动迪诺制证、结账和报表;每天和月末四层对账。 | 至少一个完整月结差异归零。 |
| M3 迪诺主写双轨 | 迪诺主账,金蝶镜像 | 按账套切换新增业务主写;金蝶保留镜像与复核,两边继续月结对账。 | 连续两个完整月结、全部高风险差异关闭。 |
| M4 金蝶只读 | 迪诺唯一正式账 | 撤销金蝶写权限和同步写入;保留历史查询、审计和回退观察期。 | 无金蝶生产写入、迪诺独立年/月结通过。 |
| M5 金蝶停用 | 迪诺唯一系统 | 完成最终备份、长期档案、许可和密钥处理,移除所有运行依赖。 | 停用记录三方签署,备份可验证,无残余接口。 |
逐账套切换与停用门禁
| 门禁 | 必须满足 |
|---|---|
| 功能等价 | 来源能力映射率 100%,未批准差异 0,36 个审查缺口全部通过 UAT。 |
| 历史迁移 | 范围内记录/附件全部提交;来源和目标数量、哈希、金额对账通过;批准例外有长期档案。 |
| 会计一致 | 逐账套逐期间借贷、科目、辅助、往来、资产、预算和报表差额 0.00。 |
| 双轨稳定 | 至少两个连续完整月结由迪诺主写完成;重大/高风险差异为 0。 |
| 业务闭环 | 收费、借款报销、付款、发票、预算、课消、资产库存、工资和退费端到端通过。 |
| 权限审计 | 职责分离、数据范围、敏感导出、迁移和切换权限测试全部通过。 |
| 性能可靠性 | 关键接口、月结、报表、迁移和对账满足签署的容量目标;故障重试和回退演练通过。 |
| 备份回退 | 切换前全量备份及恢复演练通过,回退时间和负责人明确。 |
| 三方签署 | 财务负责人、技术负责人、业务负责人共同签署账套切换和金蝶停用。 |
双轨写入原则:同一账套、期间和单据类型始终只有一个正式主写系统。镜像同步失败不会回滚主系统已提交交易,但必须在结账前关闭差异;任何“为了赶进度”而同时人工修改两边的做法都属于上线阻断问题。
Quality
非功能要求与验证矩阵
财务系统的正确性、可恢复性和审计性与功能同时交付。非功能要求
| 维度 | 目标 |
|---|---|
| 一致性 | 已过账凭证借贷差 0.00;总账=明细账;报表=总账;业务财务对账差异显式关闭。 |
| 性能 | 普通列表 p95≤2 秒;单张凭证提交 p95≤3 秒;复杂报表超过 10 秒转异步;具体容量以生产数据压测签署。 |
| 可靠性 | 付款、制证、迁移和外部回调幂等;结果未知先查单;任务可重试、可补偿、可告警。 |
| 可用性 | 财务核心服务生产月可用性目标 99.9%;RPO≤5 分钟、RTO≤60 分钟,并完成恢复演练。 |
| 安全 | 银行账号、证件、密钥和税务凭证加密;最小权限、字段脱敏、敏感导出审批和水印。 |
| 审计 | 关键动作记录操作者、代理身份、前后值、单号、版本、请求 ID、审批、附件、IP 和时间。 |
| 数据保留 | 财务凭证、账簿、报表、税务和迁移证据按适用法规及公司制度配置保留期;删除需法务/财务批准。 |
| 可观测性 | 按账套监控事件积压、制证失败、付款未知、对账差异、数据新鲜度、迁移吞吐和切换门禁。 |
验证层级
| 层级 | 必须覆盖 |
|---|---|
| 规则单测 | 会计科目、借贷、预算守恒、路由、汇率、折旧、成本、报表公式和状态机边界。 |
| API 契约 | 现有 finance-admin 接口兼容;新增接口鉴权、幂等、乐观锁、错误码和分页汇总。 |
| 数据库 | Flyway 只追加;外键、唯一、金额精度、索引、历史回填、回滚/修复路径。 |
| 集成契约 | 收费、财资云、银行、发票平台、教务、人力和物料事件的重复、乱序、超时和失败。 |
| 迁移固定数据集 | 来源导出→暂存→映射→提交→对账→回滚,校验数量、金额、哈希和血缘。 |
| 双轨黄金账套 | 选择复杂账套覆盖完整月结,凭证、余额、往来、资产、预算和报表逐层比较。 |
| 权限与职责分离 | 跨租户/跨法人/跨校区越权、本人审批、制审同人、迁移自审和敏感导出。 |
| 端到端 | 收费→合同→凭证、借款→预算→核销、发票→勾选→申报、课消→收入、资产→折旧、退费→冲销。 |
| 故障演练 | 付款未知、渠道故障、事件积压、报表过期、迁移中断、数据库恢复和账套切换回退。 |
| 财务 UAT | 逐能力 ID 记录场景、输入、预期、实际、截图/导出/对账证据、签署人和结论。 |
Release Gate
上线、切换和金蝶停用验收
全部证据齐备后才可声明补充 PRD 完成。功能完成
114 个需求 ID 均有代码/配置、接口、数据、测试和财务 UAT 证据;36 个缺口无遗漏。
数据完成
所有历史对象有迁移或批准例外;记录数、金额、哈希、附件和血缘对账通过。
运营完成
迪诺主写连续两个完整月结无重大差异,权限、监控、备份、回退和审计取证可用。
PRD 文档生成、页面存在、接口返回 200、迁移脚本运行成功或金蝶仍能查到数据,均不能单独证明功能平移完成。最终结论必须以逐能力 UAT、历史数据对账、双轨月结和账套切换签署为准。
签署
签字/日期:
签字/日期:
签字/日期: