供应商对账台账需求说明书
一、项目背景
公司目前已有一套供应商对账台账系统,实现了供应商信息管理、采购订单同步、付款记录同步等基础功能。
本次需求的核心调整:将「未开票金额」的计算口径从"已收货金额—已开票金额"调整为 “已付款金额—已开票金额” ,核心理念从以订单/收货为中心转变为以付款为中心——钱已付、票未到,才需管理。
二、数据来源与维护边界
| 数据类型 | 来源 | 维护方式 |
|---|---|---|
| 供应商信息(名称、联系人、电话) | 系统同步 | 只读 |
| 采购订单信息(订单号、金额等) | 系统同步 | 只读 |
| 付款记录(付款金额、付款日期、对应订单号) | 系统同步 | 只读 |
| 批次号 | 系统自动生成 | 仅作为批次唯一标识 |
| 发票号码 | 用户手动输入 | 对账操作时填写 |
| 发票总金额 | 用户手动输入 | 对账操作时填写 |
| 开票日期 | 系统后续自动补齐 | 上传发票后自动关联 |
| 凭证号 | 系统后续自动补齐 | 上传发票后自动关联 |
| 其他发票信息(税率、类型等) | 系统后续自动补齐 | 上传发票后自动关联 |
三、首页汇总看板
3.1 顶部汇总卡片
| 指标 | 计算方式 |
|---|---|
| 供应商总数 | 系统中供应商数量 |
| 订单总额 | 所有采购订单金额合计 |
| 已付总额 | 所有付款记录金额合计 |
| 未付总额 | 订单总额 — 已付总额 |
| 已开票总额 | 所有已关联发票的付款金额合计 |
| 未开票总额 | 已付总额 — 已开票总额 |
3.2 供应商汇总列表
| 字段 | 来源 |
|---|---|
| 供应商名称 | 系统同步 |
| 联系人 | 系统同步 |
| 联系电话 | 系统同步 |
| 对账状态 | 系统同步/计算 |
| 最后对账日期 | 系统同步 |
| 订单数 | 系统同步 |
| 订单总额 | 系统同步 |
| 已收金额 | 系统同步 |
| 已付总额 | 系统同步 |
| 未付总额 | 系统同步/计算 |
| 已开票 | 用户操作维护 |
| 未开票 | 自动计算(已付总额 — 已开票) |
| 操作 | 含"明细"按钮 |
| 对账 | 含"对账"按钮 |
未开票目前的计算逻辑是:已付总额-已开票,但我认为结果受付款日期和对账日期两边时间筛选影响,不好把控,直接获取对账-付款记录列表未开票的金额更简单,只需要筛选一处的时间。
3.3 界面示意
text
┌─────────────────────────────────────────────────────────────────────────────┐
│ 首页 > 供应商台账 │
├─────────────────────────────────────────────────────────────────────────────┤
│ 供应商总数 │ 订单总额 │ 已付总额 │ 未付总额 │ 已开票总额 │ 未开票总额 │
│ 206 │1,005,527│978,287 │27,240 │8,699 │969,588 │
├─────────────────────────────────────────────────────────────────────────────┤
│ 供应商 │联系人│电话│状态│最后对账│ 操作 │订单数│订单总额│已收│已付│未付│已开票│未开票│
│ 则森 │刘仙华│... │未对账│2026-08│明细│对账│ 6 │174,053│...│174,053│0│0│174,053│
│ ... │... │... │... │... │... │... │ ... │ ... │...│ ... │...│...│ ... │
└─────────────────────────────────────────────────────────────────────────────┘
四、对账操作页面
4.1 页面定位
在首页汇总看板点击某供应商行的 “对账” 按钮,弹出一个独立页面,在该页面完成发票关联操作。
4.2 操作步骤
4.3 页面布局
text
┌─────────────────────────────────────────────────────────────────────────────┐
│ 对账操作 - 义乌市则森日用品有限公司 ✕ 关闭 │
├─────────────────────────────────────────────────────────────────────────────┤
│ 供应商汇总信息(只读) │
│ 已付总额: ¥174,053.00 │ 已开票: ¥26,541.00 │ 未开票: ¥147,512.00 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 【步骤1】填写发票信息 │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ 发票号码: [________] 发票总金额: [________] │ │
│ │ 💡 开票日期、凭证号等其他发票信息,待后续统一上传发票后自动补齐 │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ 【步骤2】勾选付款记录进行匹配 │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ 已勾选金额合计: ¥0.00 (需等于发票总金额 ¥________) │ │
│ │ │ │
│ │ ┌───────────────────────────────────────────────────────────────┐ │ │
│ │ │ ☑ │ 订单编号 │ 付款日期 │ 付款金额 │ 剩余未开票 │本次开票金额│ │ │
│ │ │ □ │ PO002 │ 06-22 │ 66,582 │ 66,582 │ [________] │ │ │
│ │ │ □ │ PO003 │ 06-18 │ 1,620 │ 1,620 │ [________] │ │ │
│ │ └───────────────────────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ 金额匹配状态: ⚠️ 已勾选 ¥0.00,还需勾选 ¥______ 才等于发票总金额 │
│ │
│ [取消] [提交] (金额不等时不可用)│
└─────────────────────────────────────────────────────────────────────────────┘
4.4 关键业务规则
| 规则 | 说明 |
|---|---|
| 用户当前填写字段 | 发票号码、发票总金额 |
| 用户操作字段 | 勾选付款记录、填写本次开票金额 |
| 系统后续补齐 | 开票日期、凭证号等其他发票信息,待统一上传发票后自动关联填入 |
| 金额强制匹配 | 勾选的付款记录"本次开票金额"之和 必须等于 发票总金额,不允许差异 |
| 一笔付款多次开票 | 支持。每次填写"本次开票金额"后,系统累加至"已开票金额"列,剩余未开票自动减少 |
| 可勾选范围 | 仅限"剩余未开票金额 > 0"的付款记录 |
4.5 批次号生成规则
批次号格式为 INVYYYYMMDD序号,由系统自动生成,仅作为该批次的唯一标识:
| 操作日期 | 当日第几笔 | 生成的批次号 |
|---|---|---|
| 2026-08-26 | 第1笔 | INV20260826001 |
| 2026-08-26 | 第2笔 | INV20260826002 |
| 2026-08-27 | 第1笔 | INV20260827001 |
五、明细查看页面
5.1 页面定位
在首页汇总看板点击某供应商行的 “明细” 按钮,弹出一个独立页面,该页面展示该供应商所有发票批次记录,点击批次号可展开查看关联的付款记录明细及发票信息。
5.2 页面布局(收起状态)
text
┌─────────────────────────────────────────────────────────────────────────────┐
│ 明细查看 - 义乌市则森日用品有限公司 ✕ 关闭 │
├─────────────────────────────────────────────────────────────────────────────┤
│ 供应商汇总信息(只读) │
│ 已付总额: ¥174,053.00 │ 已开票: ¥26,541.00 │ 未开票: ¥147,512.00 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 【采购订单】 【付款记录】 │
│ │
│ ─── 付款记录(按发票批次号聚合) ─── │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ 批次号 │ 发票总金额 │ 开票日期 │ 操作人 │ │
│ │ INV-20260826-001 │ 26,541.00 │ 待补齐 │ 范欣 │ │
│ │ INV-20260825-001 │ 8,699.00 │ 待补齐 │ 范欣 │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ 点击批次号可展开查看该批次关联的付款记录明细及发票信息 │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
主表展示字段:批次号、发票总金额、开票日期、操作人
主表不展示:发票号码、凭证号
5.3 批次号展开(展开状态)
点击批次号,在该行下方展开显示两个卡片模块:
text
┌─────────────────────────────────────────────────────────────────────────────┐
│ ▼ INV20260826001 │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ 【关联付款记录明细】 │ │
│ │ ┌──────────────────────────────────────────────────────────────┐ │ │
│ │ │ 订单编号 │ 付款日期 │ 付款金额 │ 本次开票金额 │ │ │
│ │ │ PO001 │ 2026-06-23 │ 10,000.00 │ 10,000.00 │ │ │
│ │ │ PO002 │ 2026-06-22 │ 66,582.00 │ 16,541.00 │ │ │
│ │ └──────────────────────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ 【发票信息】 │ │
│ │ 发票号码: 12345678 凭证号: JZ-1005 │ │
│ │ 💡 凭证号待统一上传发票后自动补齐 │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘
5.4 卡片说明
| 卡片 | 展示内容 | 数据状态 |
|---|---|---|
| 卡片一:关联付款记录明细 | 订单编号、付款日期、付款金额、本次开票金额 | 提交匹配后即时生成 |
| 卡片二:发票信息 | 发票号码、凭证号 | 发票号码为手动录入;凭证号为上传发票后自动补齐 |
5.5 主表与展开层信息对照
| 信息项 | 主表 | 展开 - 卡片一 | 展开 - 卡片二 |
|---|---|---|---|
| 批次号 | — | — | |
| 发票总金额 | — | — | |
| 开票日期 | — | — | |
| 操作人 | — | — | |
| 订单编号 | — | — | |
| 付款日期 | — | — | |
| 付款金额 | — | — | |
| 本次开票金额 | — | — | |
| 发票号码 | — | — | |
| 凭证号 | — | — |
5.6 标签页说明
| 标签页 | 内容 |
|---|---|
| 采购订单 | 该供应商所有采购订单明细 |
| 付款记录 | 按发票批次聚合的付款记录,点击批次号可展开查看关联的付款明细及发票信息 |
六、两个页面的关系
| 页面 | 入口 | 功能定位 | 用户操作 |
|---|---|---|---|
| 对账操作页面 | 点击首页的"对账"按钮 | 发票关联操作台 | 填写发票号、总金额 → 勾选付款 → 填写本次开票金额 → 提交匹配 |
| 明细查看页面 | 点击首页的"明细"按钮 | 关联明细查看器 | 按批次查看,点击展开查看付款明细及发票信息 |
七、一笔付款多次开票示例
| 操作场景 | 付款金额 | 本次开票(用户填) | 已开票(累计) | 剩余未开票(自动算) | 状态 |
|---|---|---|---|---|---|
| 初始同步 | 10,000 | — | 0 | 10,000 | 未开票 |
| 第一次开票 | 10,000 | 6,000 | 6,000 | 4,000 | 部分开票 |
| 第二次开票 | 10,000 | 4,000 | 10,000 | 0 | 已开票 |
八、核心计算公式汇总
| 指标 | 计算公式 |
|---|---|
| 未付总额 | Σ订单金额 — Σ已付金额 |
| 已开票金额(单笔付款) | Σ该笔付款关联的发票金额(累计值) |
| 剩余未开票(单笔付款) | 付款金额 — 已开票金额 |
| 开票状态 | IF(已开票=0,“未开票”,IF(已开票≥付款金额,“已开票”,“部分开票”)) |
| 未开票金额(供应商汇总) | Σ已付金额 — Σ已开票金额(核心指标) |
九、发票信息状态流转
| 信息项 | 当前状态 | 补齐时机 | 补齐方式 |
|---|---|---|---|
| 发票号码 | 操作时已存在 | 用户手动输入 | |
| 发票总金额 | 操作时已存在 | 用户手动输入 | |
| 开票日期 | 统一上传发票后 | 系统自动关联填入 | |
| 凭证号 | 统一上传发票后 | 系统自动关联填入 | |
| 发票类型 | 统一上传发票后 | 系统自动关联填入 | |
| 税率 | 统一上传发票后 | 系统自动关联填入 |
十、用户操作与系统处理边界
| 动作 | 负责方 |
|---|---|
| 填写发票号码 | 用户 |
| 填写发票总金额 | 用户 |
| 勾选付款记录 | 用户 |
| 填写本次开票金额 | 用户 |
| 生成批次号 | 系统 |
| 补齐开票日期 | 系统(上传发票后) |
| 补齐凭证号 | 系统(上传发票后) |
| 补齐发票类型、税率等 | 系统(上传发票后) |
| 更新已开票/未开票金额 | 系统 |
| 更新开票状态 | 系统 |
| 刷新首页汇总 | 系统 |
用户当前操作(4项):发票号码、发票总金额、勾选付款记录、本次开票金额。其余全部由系统自动完成或后续补齐。
十一、非功能性需求
-
付款记录和订单信息同步后不可修改(只读)
-
每次操作自动记录操作人和操作时间
-
操作提交后,首页汇总数据实时刷新
-
金额不匹配时"提交"按钮不可用,且有明确提示
-
不设自动催票提醒,由用户主观判断
