供应商对账台账(第二版需求:先有发票,再匹配订单)

供应商对账台账需求说明书

一、项目背景

公司目前已有一套供应商对账台账系统,实现了供应商信息管理、采购订单同步、付款记录同步等基础功能。

本次需求的核心调整:将「未开票金额」的计算口径从"已收货金额—已开票金额"调整为 “已付款金额—已开票金额” ,核心理念从以订单/收货为中心转变为以付款为中心——钱已付、票未到,才需管理。

二、数据来源与维护边界

数据类型 来源 维护方式
供应商信息(名称、联系人、电话) 系统同步 只读
采购订单信息(订单号、金额等) 系统同步 只读
付款记录(付款金额、付款日期、对应订单号) 系统同步 只读
批次号 系统自动生成 仅作为批次唯一标识
发票号码 用户手动输入 对账操作时填写
发票总金额 用户手动输入 对账操作时填写
开票日期 系统后续自动补齐 上传发票后自动关联
凭证号 系统后续自动补齐 上传发票后自动关联
其他发票信息(税率、类型等) 系统后续自动补齐 上传发票后自动关联

三、首页汇总看板

3.1 顶部汇总卡片

指标 计算方式
供应商总数 系统中供应商数量
订单总额 所有采购订单金额合计
已付总额 所有付款记录金额合计
未付总额 订单总额 — 已付总额
已开票总额 所有已关联发票的付款金额合计
未开票总额 已付总额 — 已开票总额

3.2 供应商汇总列表

字段 来源
供应商名称 系统同步
联系人 系统同步
联系电话 系统同步
对账状态 系统同步/计算
最后对账日期 系统同步
订单数 系统同步
订单总额 系统同步
已收金额 系统同步
已付总额 系统同步
未付总额 系统同步/计算
已开票 用户操作维护
未开票 自动计算(已付总额 — 已开票)
操作 含"明细"按钮
对账 含"对账"按钮

:asterisk: 未开票目前的计算逻辑是:已付总额-已开票,但我认为结果受付款日期和对账日期两边时间筛选影响,不好把控,直接获取对账-付款记录列表未开票的金额更简单,只需要筛选一处的时间。

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 主表与展开层信息对照

信息项 主表 展开 - 卡片一 展开 - 卡片二
批次号 :white_check_mark:
发票总金额 :white_check_mark:
开票日期 :white_check_mark:(待补齐)
操作人 :white_check_mark:
订单编号 :white_check_mark:
付款日期 :white_check_mark:
付款金额 :white_check_mark:
本次开票金额 :white_check_mark:
发票号码 :white_check_mark:
凭证号 :white_check_mark:(待补齐)

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(已开票≥付款金额,“已开票”,“部分开票”))
未开票金额(供应商汇总) Σ已付金额 — Σ已开票金额(核心指标)

九、发票信息状态流转

信息项 当前状态 补齐时机 补齐方式
发票号码 :white_check_mark: 已有 操作时已存在 用户手动输入
发票总金额 :white_check_mark: 已有 操作时已存在 用户手动输入
开票日期 :white_large_square: 待补齐 统一上传发票后 系统自动关联填入
凭证号 :white_large_square: 待补齐 统一上传发票后 系统自动关联填入
发票类型 :white_large_square: 待补齐 统一上传发票后 系统自动关联填入
税率 :white_large_square: 待补齐 统一上传发票后 系统自动关联填入

十、用户操作与系统处理边界

动作 负责方
填写发票号码 用户
填写发票总金额 用户
勾选付款记录 用户
填写本次开票金额 用户
生成批次号 系统
补齐开票日期 系统(上传发票后)
补齐凭证号 系统(上传发票后)
补齐发票类型、税率等 系统(上传发票后)
更新已开票/未开票金额 系统
更新开票状态 系统
刷新首页汇总 系统

用户当前操作(4项):发票号码、发票总金额、勾选付款记录、本次开票金额。其余全部由系统自动完成或后续补齐。

十一、非功能性需求

  • 付款记录和订单信息同步后不可修改(只读)

  • 每次操作自动记录操作人和操作时间

  • 操作提交后,首页汇总数据实时刷新

  • 金额不匹配时"提交"按钮不可用,且有明确提示

  • 不设自动催票提醒,由用户主观判断