财务模块 · 需求文档

保证金与往来款 · 需求文档

版本 V1.7 · 2026-10-09 · 支持在线查看与原文下载
下载 Markdown 原文

保证金与往来款 · 需求文档

项目 内容
所属模块 财务模块(保证金管理 / 付款管理 / 收款管理 / 财务待办)
文档版本 V1.3
关联文档 保证金数据流转图.md、deposit.html、payment.html、receipt.html

一、需求背景与目标

1.1 背景

企业的保证金、往来款分散在投标、租赁、采购、借款等多个业务环节,靠 Excel 手工登记,存在三类问题: - 来源不清:一笔保证金是"我们付出去的"还是"对方付进来的"、从哪张审批单/应收单来的,查不到; - 状态失真:审批通过 ≠ 已经付款,只有银行流水匹配上才算真正付了款,现状直接记为"冻结中",口径不准确; - 退还失控:到期该退的不提醒、退了多少没记录、被扣款项说不清。

1.2 目标

  1. 统一管理不同类型的保证金与往来款,支持全生命周期(生成 → 冻结 → 退还/转履约/没收)追踪;
  2. 每种单据可反查生成来源链路(审批单 / 应收单+收款单 / 付款单);
  3. 状态与真实资金动作一致:审批通过 → 待支付 → 流水匹配 → 冻结中;
  4. 到期自动提醒、退还留痕、扣款可追溯。

1.3 名词定义


二、业务对象与类型

2.1 保证金类型

类型 典型场景 资金方向 生成来源 应退触发
投标保证金 参加招投标缴纳给招标方 付款(我方付出) 投标审批 → 付款单 中标转履约 / 落标退还 / 违约没收
履约保证金 工程/服务合同按约定缴纳 付款或收款 投标转履约 / 审批+付款 / 应收+收款 合同履约完毕退还
租赁押金 租入物业/场地缴纳或收取 收款(对方付出) 应收单 + 收款单核销 / 独立登记入口 退租/到期,扣除欠费后退还
质保金 采购/服务合同按约定预留 收款 应收单 + 收款单核销 质保期满退还
代理保证金 代理公司收取的代理/履约保证金 收款(代理公司付出) 独立登记入口 / 应收单+收款核销 代理合同终止 / 项目结清后退还

2.2 往来款

类型 典型场景 生成来源
备用金借出 员工借款、部门备用金 借款审批单
保证金代垫 投标保证金由个人/部门代垫 往来款审批单
企业往来款(关联拆借) 集团内兄弟公司/合作方资金拆借 往来款审批单
分公司往来款 分公司向总公司划款、或总公司向分公司拨款 收方向:独立登记入口 / 支出方向:往来款审批单

三、生成来源(核心需求)

保证金与往来款不允许手工随意新增(保留手工补录兜底),必须能追溯到生成来源。共三条生成链路:

3.1 收款方向:应收单 + 收款单核销 → 自动生成

合同签订(押金条款) → 生成押金应收单(AR-xxx-DEP) → 收款单核销 → 自动生成保证金记录(冻结中)
项 说明
适用类型 租赁押金、履约保证金(收取)、质保金
触发条件 应收单与收款单核销完成
生成动作 系统自动生成保证金记录,状态=冻结中
链路字段 应收单号 arNo、收款单号 receiptNo
前置条件 合同已生效;应收单金额与收款金额一致(允许部分核销→按实收生成)

3.2 付款方向:投标审批 → 付款单 → 自动生成

投标/线索审批通过 → 生成付款单(待支付) → 付款完成(银行流水匹配) → 自动生成保证金记录(冻结中)
项 说明
适用类型 投标保证金、履约保证金(缴纳)
触发条件 审批通过即生成"待支付"记录;流水匹配/确认付款后才变"冻结中"
关键规则 审批通过 ≠ 已付款。只有导入银行流水并匹配上(或人工确认已付)才算付款完成
链路字段 投标审批号 approvalNo、付款单号 payNo / sourcePayId
待支付态 审批已通过、付款单已生成、但未付款时,保证金记录处于"待支付"

3.3 审批单:往来款

借款/往来款审批通过 → 自动生成往来款记录(冻结中)
项 说明
适用类型 备用金借出、保证金代垫、企业往来款(关联拆借)、分公司往来款(支出方向:总公司拨款给分公司)
触发条件 业务审批单审批通过
链路字段 审批单号 approvalNo(界面显示"来源审批单")
特殊点 不经过应收/收款核销,链路为"审批单 → 自动生成"两段

3.4 收款方向:独立登记入口(代理保证金收 / 分公司往来款收)

代理公司交来的保证金、分公司向总公司划款这类场景,不经过应收单+收款核销链路(没有前置合同或应收单),也不依赖银行流水识别(可能走的是现金、网银互转无备注),需要一个独立的"登记入口"直接生成记录。

财务/业务在"收代理保证金登记" / "收分公司往来款登记" 入口录入 → 直接生成保证金/往来款记录(冻结中)
项 说明
适用类型 代理保证金(收方向)、租赁押金(收方向·无应收核销场景)、分公司往来款(收方向:分公司划进来)
触发方式 独立页面入口手动登记("收代理保证金登记" / "收分公司往来款登记")
生成动作 直接生成记录,状态 = 冻结中(款已到账,登记即确认),不走审批、不经待支付
必填字段 对方单位/代理公司、金额、到账日期、到账账户、备注
选填字段 关联项目/代理合同、应退日期、流水号(若已匹配可回填)
链路字段 来源标记 source='manual_register'、登记人、登记时间、matchFlowId(可选,若同时绑定流水)
关键规则 登记即默认款已到账(冻结中)—— 这是与"审批→待支付"的根本区别。若登记时尚未到账,走"应收单+收款核销"链路
入口归属 财务模块侧边栏:收代理保证金登记、收分公司往来款登记

3.5 付款方向:独立保证金付款申请入口

当前付款方向绑定在"投标审批 → 付款单"链路上,但实际业务中存在独立发起的保证金付款需求——比如: - 中标后另行缴纳履约保证金(不走投标审批自动流转) - 租赁押金缴付给业主(非招投标场景) - 代理公司缴纳代理履约保证金

这些场景没有前置的投标审批,需要一个独立的"保证金付款申请"入口,直接走 审批通过 → 待支付 → 流水匹配 → 冻结中 的标准链路。

发起保证金付款申请(独立入口)→ 审批通过 → 生成付款单 → 进入"待支付" → 流水匹配 → 冻结中
项 说明
适用类型 履约保证金(独立缴纳)、租赁押金(我方付出)、投标保证金(非招投标系统发起)
与 3.2 的关系 3.2 是"投标审批自动触发"的付款链路;本小节是手动独立发起的付款链路——两条链路共用"审批→待支付→流水匹配→冻结中"这同一段状态流转
触发方式 独立页面入口手动发起申请("保证金付款申请")
必填字段 保证金类型、收款方、金额、缴纳原因、关联项目/合同、应退日期
链路字段 审批单号 approvalNo、付款单号 payNo(审批通过后自动生成)
入口归属 财务模块侧边栏:保证金付款申请

3.6 往来款收方向:分公司划款进来

分公司向总公司划款(资金集中管理、利润上缴、内部拆借归还等场景),属于往来款的收入方向。

场景 生成方式
分公司划款 + 银行流水备注命中"往来款/划款" 走 3.8 流水识别生成(冻结中)
分公司划款 + 流水无备注,或走现金/网银互转 走 3.4 独立登记入口(收分公司往来款登记 → 冻结中)
分公司划款 + 已做审批 走 3.3 审批单链路(审批通过 → 冻结中)—— 少见,收方向一般不做审批

关键规则:往来款收方向不经待支付,无论是流水识别、独立登记还是审批,到账后直接冻结中。

3.7 生成规则汇总

生成方式 链路展示(详情弹窗"生成来源") 判断依据
收款方向(应收核销) 应收单 AR-xxx →(+)收款单 RC-xxx → 自动生成 有 arNo/receiptNo,无 payNo/approvalNo
收款方向(独立登记) 手动登记(财务:张三)→ 自动生成 source = 'manual_register',无 arNo/approvalNo
付款方向(投标触发,已付) 投标审批 BZJ-xxx →(→)付款单 PAY-xxx → 自动生成 有 payNo/sourcePayId + approvalNo 含 BZJ 前缀
付款方向(投标触发,待支付) 投标审批 BZJ-xxx →(→)付款单「待付款」(橙) → 自动生成 有 approvalNo 含 BZJ 但无 payNo
付款方向(独立申请,已付) 保证金付款申请 XXX →(→)付款单 PAY-xxx → 自动生成 有 payNo + approvalNo 非 BZJ 前缀
付款方向(独立申请,待支付) 保证金付款申请 XXX →(→)付款单「待付款」(橙) → 自动生成 有 approvalNo 非 BZJ 但无 payNo
往来款(审批单) 审批单 xxx → 自动生成(隐藏中间节点) type = 往来款 + 有 approvalNo
往来款(独立登记·收方向) 收分公司往来款登记 → 自动生成 type = 往来款 + source = 'manual_register'
流水识别生成 银行流水(收入)备注命中关键词 → 直接生成(冻结中) 方向=收入,备注含"保证金/往来款"关键词

3.8 流水导入识别生成(收入方向)

银行流水(收入/汇入/贷方/转入)+ 备注含"保证金/往来款"关键词 ──> 直接生成记录(冻结中)
项 说明
适用类型 保证金(收进)、往来款(收到)
触发条件 导入银行流水,方向=收入,且备注/用途/摘要命中关键词(保证金、往来款等,可配置)
生成动作 直接生成保证金/往来款记录,状态=冻结中(款已到账),无需审批、不经待支付
链路字段 匹配流水号 matchFlowId、对方户名、命中关键词
特殊点 收入方向直接冻结;支出方向才走"审批 → 待办 → 待支付 → 流水匹配"

四、状态机

4.1 状态定义

状态 含义 标签色
待支付 审批通过、付款单已生成、尚未付款(流水未匹配) 橙
冻结中 款项已付/已收(流水已匹配),保证金生效 蓝
待退还 到期/退租/落标,应退未退 琥珀
退还中 退款单已发起,退款处理中 琥珀
部分退还 已退部分,剩余未退(扣除欠费/违约扣款) 紫
已退还 保证金全部退还完成 绿
已转履约 投标保证金转为履约保证金 紫
已没收 违约没收,不再退还 红
已逾期 应退日期已过仍未退还 红

4.2 状态流转

生成(付款/收款/审批) ──> 待支付 ──流水匹配──> 冻结中
                                                  │
                    ┌─────────────┬──────────────┼────────────────┐
                    ▼             ▼              ▼                ▼
                到期/退租       转履约          没收            退租有扣款
                    │             │              │                │
                待退还         已转履约        已没收         部分退还
                    │                                           │
                发起退款                                    剩余退还
                    │                                           │
                退还中 ──────── 退款完成 ──> 已退还 <───────────┘
                    │
                 已逾期(超应退日仍未退)

4.3 待支付状态说明(新增)


五、流水导入与匹配(状态变更依据)

保证金/往来款的付款、退款、收款是否真实发生,以银行流水为准。以实际银行流水(建行 / 联合 / 工行)为例,不同银行字段名不同,导入后先做方向归一,再按两条核心规则处理。

5.1 流水字段识别(方向归一)

银行/账户 收入列(贷方) 支出列(借方) 摘要/备注列
建行-彭埠 贷方发生额(收入) 借方发生额(支取) 摘要 + 备注
联合-彭埠 汇入金额 汇出金额 摘要 + 用途 + 备注
工行-望京东路 转入金额 转出金额 摘要 / 附言

统一口径:收入 = 汇入 / 贷方 / 转入;支出 = 汇出 / 借方 / 转出。

5.2 两条核心规则

规则 A:收入方向 + 备注含关键词 → 直接生成记录(无需审批)

规则 B:支出方向 → 找「待支付」记录匹配(必须走审批)

5.3 匹配维度(规则 B:支出流水 → 待支付记录)

匹配维度 说明 匹配强度
业务单号 流水摘要/备注含付款单号(PAY-xxx)、审批号(BZJ-xxx)或保证金单号(DP-xxx) 强(唯一命中)
金额 流水支出金额与待支付记录金额一致(容差 ±0.01;支持多笔流水分批合计等于单据金额) 强
对方户名 流水对方户名与待支付记录收款方(payee)一致(支持关键词) 中
银行账号 我方账户或对方账号与单据记录一致 中
日期 流水日期与待支付记录创建日期相差在 ±3 个自然日内 辅助
摘要关键词 项目名、招标编号、审批单号关键词命中 辅助

5.4 匹配策略(优先级)

  1. 自动匹配(强命中):业务单号唯一命中;或"金额 + 对方户名 + 日期"三项全中 → 自动确认;
  2. 候选匹配:金额 + 日期命中、但户名/账号不一致 → 列出候选待支付记录,由财务人工确认;
  3. 未匹配:找不到对应待支付记录 → 进入"待匹配流水"清单,人工核实(是否漏走审批 / 补录单据)。

5.5 匹配结果与状态变更

流水方向 场景 匹配/识别结果 状态变更
收入 备注含"保证金/往来款"关键词 直接生成记录 生成新记录(冻结中)
支出 匹配到待支付记录 匹配成功 待支付 → 冻结中
支出 未匹配 / 候选未确认 挂"待匹配" 待支付保持,标记"待付款"
支出 退款流水(退还中/待退还) 匹配到退款单 退还中 → 已退还(全额)或 部分退还

5.6 记录与提示


六、功能需求

6.1 保证金管理(deposit.html)

页面布局:顶部统计卡区 → 类型 Tab 区 → 筛选/搜索栏 → 列表(含分页)→ 右侧详情弹窗 → 新增弹窗。

  1. 统计卡区:保证金余额(在保)、待支付、待退还、各类型在保金额,统计口径见第七章;
  2. 类型 Tab 筛选:全部 / 租赁押金 / 投标保证金 / 履约保证金 / 质保金 / 代理保证金 / 往来款,Tab 上显示对应笔数;
  3. 状态筛选:全部状态 / 待支付 / 冻结中 / 待退还 / 退还中 / 部分退还 / 已退还 / 已转履约 / 已没收 / 已逾期(多选);
  4. 搜索:按单号、关联项目、对方单位、来源单号(AR/RC/PAY/BZJ)关键词模糊搜索;
  5. 排序:默认按缴纳日期倒序;支持按金额、应退日期排序;
  6. 分页:每页 10/20/50 条可选,显示总条数;
  7. 列表字段:单号、类型、关联项目/招标、对方单位、保证金金额、已退金额、未退金额、缴纳日期、应退日期、状态、操作;
  8. 状态标签:配色符合 4.1;"已逾期"整行红色高亮;
  9. 操作列:按状态动态显示(确认已付 / 发起保证金退款 / 发起往来款退款 / 详情等,见 6.3);
  10. 到期自动提醒:到应退日期未退 → 状态变"待退还"并写日志;超过应退日 → "已逾期"。

6.2 详情弹窗

  1. 展示金额概要、基本信息、生成来源链路(按 3.7 动态渲染)、关联信息(应收单/收款单/付款单/合同/退款流水)、退还记录、操作日志;
  2. 待支付记录来源说明:"审批已通过,等待实际付款;导入银行流水并匹配成功后,状态自动变更为冻结中"。
  3. 独立登记来源(3.4)的记录说明:"由财务通过独立登记入口录入,款已到账"。

6.3 操作规则

操作 入口 前置条件 结果
确认已付 列表操作列(待支付) 银行流水已匹配 待支付 → 冻结中,写日志
发起保证金退款 列表(待退还/已逾期)、详情(冻结中可退),按记录 type 自动弹出"退保证金表" 状态=待退还/已逾期/冻结中,且 type ∈ 保证金类型(投标/履约/租赁押金/质保金/代理保证金) 生成退款单 → 付款管理 → 退还中 → 已退还
发起往来款退款/归还 列表(待退还/已逾期)、详情(冻结中可退),按记录 type=往来款 自动弹出"退往来款表" 状态=待退还/已逾期/冻结中,且 type=往来款 生成退款单 → 付款管理 → 退还中 → 已退还;往来款归还后可走审批关闭
部分退还 详情 存在扣款(水电欠费/违约扣款/违约没收) 部分退还,记录扣除明细;代理保证金退还可扣代理费后退还
转履约 投标管理中标登记 状态=冻结中,type=投标保证金 冻结中 → 已转履约
没收 投标管理中标登记 / 代理合同违约登记 状态=冻结中 冻结中 → 已没收
手动补录 新增保证金弹窗 兜底场景(不建议) 生成记录,默认冻结中,source='manual_fallback'

说明:退款操作按记录的 type 字段自动分发表单——保证金类走"退保证金表",往来款类走"退往来款表"。两表均支持全额退还、部分退还(含扣款明细)、关联退款流水匹配,核心差异在于往来款退还后可走审批关闭而非仅靠流水确认。

6.4 页面职责与数据流

页面 职责
线索/投标管理 发起投标保证金审批;中标/落标登记触发退还/转履约/没收
合同管理 签订含押金条款的合同 → 生成押金应收单
应收账款 展示押金应收单,供核销
收款管理 收款核销 → 写入保证金记录(冻结中)
财务待办 展示"保证金缴纳"待办(待付款)
流水管理(flow.html) 导入银行流水;按第五章匹配维度自动/候选匹配待支付、待退还单据并变更状态
付款管理 展示付款/退款单;付款完成 → 写入保证金记录(待支付→冻结中/退还中→已退还)
保证金付款申请 独立发起保证金付款(非投标审批触发);审批通过→生成付款单→待支付
收代理保证金登记 独立登记代理公司缴入的保证金(款已到账,不经应收核销/审批)
收分公司往来款登记 独立登记分公司划进总公司的往来款(款已到账,不经审批)
保证金管理 统一展示 + 状态管理 + 生成来源追溯 + 发起退款(自动按 type 分发表单)

数据流方向(单向):

线索/投标 ──> 财务待办 ──> 付款管理 ──> 保证金管理
保证金付款申请 ──> 财务待办 ──> 付款管理 ──> 保证金管理
合同管理 ──> 应收账款 ──> 收款管理 ──> 保证金管理
借款/往来款审批 ─────────────────────> 保证金管理
收代理保证金登记 ─────────────────────> 保证金管理(独立登记,直接冻结中)
收分公司往来款登记 ──────────────────> 保证金管理(独立登记,直接冻结中)

6.5 权限与角色

角色 可看 可操作
财务出纳 全部保证金/往来款 确认已付、发起保证金退款、发起往来款退款、匹配流水、登记收/付保证金、登记收往来款、导出
财务会计 全部 + 详情 + 日志 部分退还、手动补录、修改到期日/项目(留痕)
财务经理 全部 + 统计 + 日志 全部操作 + 转履约/没收审批确认 + 异常流水处理
业务发起人(投标/借款) 本人发起的记录 查看详情、催办
管理员 全部 类型/关键词/权限配置

权限规则: - 新增/删除记录仅会计及以上;确认已付、发起退款(保证金/往来款)、登记收/付保证金、登记收往来款仅出纳及以上; - 转履约、没收需财务经理确认(走审批留痕); - 只读角色(老板/审计)可查看全部与日志,不可操作; - 所有越权操作前端禁用 + 后端校验双保险。

6.6 提醒与通知

提醒 触发 方式 对象
待支付催办 审批通过进入待支付即提醒 财务待办 + 站内消息 出纳/会计
待支付超时 待支付超过 N 天未付款(默认 5 天,可配) 财务待办标红 + 消息 财务经理
到期待退还 到应退日期未退 状态变"待退还" + 待办 会计/经理
已逾期 超过应退日仍未退 列表高亮 + 待办标红 会计/经理
流水匹配异常 支出流水未匹配到待支付 流水管理"待匹配"标记 出纳
退款完成 退款单付款完成 状态变更 + 消息 发起人

七、统计口径与仪表盘

7.1 统计口径定义(金额均取"未退金额" = 金额 - 已退)

指标 计算口径 说明
在保余额 Σ(冻结中 + 已转履约 + 部分退还的未退部分) 实际仍在占用、尚未进入退还流程的保证金
待支付 Σ(待支付) 审批已过未付款,不计入在保余额
待退还 Σ(待退还 + 已逾期) 已应退但未退,不再计入在保
各类型在保 在保余额按 type 分组 租赁押金 / 投标 / 履约 / 质保金 / 往来款
已退还 / 退还中 / 已没收 单独展示,不计入在保与待退 终态或罚没,用于历史追溯

7.2 仪表盘(保证金管理页顶部统计卡)

统计卡 展示 点击行为
保证金余额 在保总额(元) 跳转"全部"列表
待支付 金额 + 笔数 跳转"状态=待支付"筛选
待退还 金额 + 笔数 跳转"状态=待退还/已逾期"筛选
各类型在保(租赁/投标/履约/质保金) 金额 + 笔数 跳转对应类型 Tab

要求:统计卡实时计算(非写死),任何状态变更、新增、匹配后立即刷新;金额千分位显示。


八、数据需求

8.1 保证金记录字段(syncDeposits / deposit 记录)

字段 说明 必填
id 保证金单号(DP-xxx / WL-xxx) 是
type 类型:投标保证金/履约保证金/租赁押金/质保金/代理保证金/往来款 是
project / party 关联项目(招标/代理合同)/ 对方单位(代理公司/分公司) 是
amount / refunded 金额 / 已退金额 是
date / dueDate 缴纳日期 / 应退日期 是
status 状态(见 4.1) 是
source 生成来源:ar_receipt(应收核销)/ manual_register(独立登记入口)/ pay_approval(投标/付款申请触发)/ loan_approval(往来款审批单)/ flow_match(流水识别)/ manual_fallback(兜底补录) 是
arNo 来源应收单号(收款方向·应收核销链路) 条件
receiptNo 来源收款单号(收款方向·应收核销链路) 条件
approvalNo 来源审批号(投标审批/保证金付款申请/往来款审批单) 条件
payNo / sourcePayId 来源付款单号(付款方向) 条件
registerBy / registerAt 独立登记入口的登记人 / 登记时间(source=manual_register 时有值) 条件
refundNo 退款单号 否
matchFlowId 匹配的银行流水号(导入流水匹配后回填) 否
matchedAt / matchedBy 匹配时间 / 匹配操作人 否
refunds 退还记录数组(单号/金额/日期/方式/银行/扣款明细) 否
logs 操作日志数组(时间/操作人/动作/前后值) 否
entity 收款主体 否

8.2 日志要求

所有状态变更必须写操作日志(谁、什么时候、做了什么),用于审计追溯。


九、非功能需求

类别 要求
审计留痕 所有状态变更、匹配、退款、补录写入不可篡改操作日志(操作人/时间/前后值/流水号);支持按单据查询完整轨迹
数据一致性 状态变更后,统计卡、列表、详情三处实时一致;本地数据桥(syncDeposits)与页面数据合并去重(按 id)
幂等性 流水重复导入、重复匹配不产生重复记录、不重复变更状态
权限安全 前端禁用 + 后端校验;越权操作记录并告警;金额字段防篡改(前端只读回显)
性能 千条级流水导入秒级完成;列表 10 万条内分页无卡顿;统计实时计算
导出 列表支持导出 Excel(含当前筛选结果);详情支持导出单据轨迹
兼容 适配手机端(列表、详情、操作按钮可用);主流浏览器(Chrome / Edge / 微信内置)

十、异常与边界

场景 处理
审批通过但长期未付款 保持"待支付",统计卡提醒;不允许跳过直接冻结
银行流水与付款单不匹配 不自动变更状态,人工核对后确认已付
应收单与收款金额不一致 按实收核销金额生成保证金记录
退租有欠费/违约扣款 支持部分退还,扣除明细写入退还记录
到期未退 状态自动转"待退还"→"已逾期",整行红色高亮
重复付款 付款管理侧拦截,不重复生成保证金记录
重复导入同一笔流水 匹配幂等:已匹配过的流水重复导入不重复变更状态、不重复写日志
一笔流水匹配到多张候选单 不自动确认,进入候选清单由财务人工选择
已转履约 原投标保证金记录关闭,生成/关联履约保证金记录

十一、验收标准

  1. 通过投标审批创建的保证金,初始状态为待支付,不进入在保余额;
  2. 待支付记录点"确认已付"后变冻结中,统计卡"待支付"金额实时减为 0;
  3. 详情"生成来源"按来源方向正确渲染四种链路(收款/付款已付/付款待支付/往来款);
  4. 租赁押金由"应收单+收款单核销"自动生成,反查得到 AR/RC 单号;
  5. 往来款由审批单生成,链路无中间节点;
  6. 到期自动转"待退还"、超期转"已逾期"并高亮;
  7. 部分退还/全额退还/转履约/没收状态流转正确,日志留痕;
  8. 所有状态变更后统计卡、列表、详情三处数据一致,console 无报错;
  9. 导入银行流水后,待支付记录按"金额 + 对方户名 + 日期"自动匹配成功 → 变"冻结中",写匹配日志;
  10. 流水中含付款单号(PAY-xxx)时按业务单号强命中,优先自动匹配;
  11. 金额或户名不一致的流水进入"候选/待匹配",状态保持不变,人工确认后才变更;
  12. 同一笔流水重复导入不重复匹配、不重复变更状态(幂等);
  13. 收入流水(汇入/贷方/转入)备注含"保证金"或"往来款"关键词 → 直接生成记录(冻结中),无需审批、不经待支付;
  14. 支出流水导入后直接在"待支付"清单匹配;匹配成功变"冻结中",匹配不到挂"待匹配";
  15. 建行(贷方/借方)、联合(汇入/汇出)、工行(转入/转出)字段方向归一正确;
  16. 统计口径正确:在保余额不含待支付、待退还;待支付、待退还卡金额随数据实时变化;
  17. 收入方向(租赁押金/质保金/往来款收入)不经过待支付,直接冻结中或挂应收;
  18. 独立登记入口(收代理保证金登记、收分公司往来款登记)登记后直接生成记录(冻结中),状态可追溯 source=manual_register、登记人、登记时间;
  19. 独立保证金付款申请入口发起的付款,走标准"审批→待支付→流水匹配→冻结中"链路;审批号非 BZJ 前缀,详情来源链路与投标触发可区分;
  20. 发起退款操作按记录 type 自动分发表单:保证金类(投标/履约/租赁押金/质保金/代理保证金)弹出"退保证金表",往来款类弹出"退往来款表";
  21. 没收操作支持两类触发:投标保证金走"投标管理中标登记·违约没收",代理保证金走"代理合同违约登记";
  22. 操作日志完整:每笔状态变更/匹配/退款可查询前后值与操作人;详情可导出单据轨迹(含独立登记来源)。