16 KiB
REV-005 财务后台发票管理前端设计
Feature: 002-rev005-invoice-flow
Date: 2026-05-12
Audience: 财务经办、财务主管、客服协同、系统管理员
Purpose: 在既有 REV-005 发票业务流正式工件基础上,补充面向财务人员的前端页面、菜单层级、字段组织、状态模型与跳转关系设计,作为 water-frontend 页面实现的直接输入。
1. 设计目标
本设计聚焦 SYS-002 > REV-005 发票管理 后台前端,服务对象为财务人员,遵循以下目标:
- 采用现有仓库已验证的前端页面模板,不引入新的页面组织范式。
- 以财务批量处理为主、单笔处理为辅,保证高频操作路径最短。
- 以缴费记录作为发票开具主数据源,以客户汇总作为大客户辅助视图,账单维度仅作为特殊补充能力。
- 将红冲、作废、异常从普通查询中独立出来,形成可追踪、可授权、可审计的任务池页面。
- 让财务人员进入页面后优先看到金额、状态、号码与失败原因,降低筛选和定位成本。
2. 设计范围
本轮仅覆盖 REV-005 财务后台前端,不扩展到:
CS-004客户侧电子发票服务WECHAT-004微网厅电子发票服务SYS-008发票服务子系统自身后台- 发票物理打印页面
- 复杂自由拆票规则配置页面
本设计作为 REV-005 前端实现补充,不替代既有 spec.md、plan.md、tasks.md、contracts/ 与 data-model.md 的正式业务口径。
3. 用户与职责边界
3.1 目标用户
- 财务经办:待开票记录筛选、批量开票、查看结果
- 财务主管:红冲、作废、大额合并开票、异常处理
- 客服协同:只读查询、查看发票状态、查看开票信息
- 系统管理员:全量权限、配置联调与问题核查
3.2 高风险动作
以下动作必须单独授权,不能仅因拥有列表查看权限而自动获得:
- 客户汇总合并开票
- 红冲处理
- 作废处理
- 异常改派
- 账单维度补充开票
- 大额批量开票
- 人工强制重试
4. 页面模板选型
4.1 主模板
采用 water-frontend 既有 标准列表查询页 模板,参考:
src/views/infra/config/index.vuesrc/views/settings/config/invoiceTaxRate/index.vue
适用于以下页面:
- 发票开具
- 发票查询
- 红冲处理
- 作废处理
- 异常处理
4.2 辅模板
- 详情展示页:发票详情页
- 弹窗表单页:开票信息维护、批量开票确认、红冲原因、作废原因、异常日志
4.3 不采用的模式
本轮不采用新的“首页工作台”或“多栏组合工作台”模式,避免偏离现有模板体系。
5. 菜单层级设计
5.1 菜单树
- 一级菜单:营收业务
- 二级菜单:发票管理
- 三级菜单:
- 发票开具
- 发票查询
- 红冲处理
- 作废处理
- 异常处理
5.2 菜单命名原则
- 名称面向财务人员理解,不使用技术化名称。
- 菜单名称直接对应主要任务,不采用“管理中心”“作业平台”等泛化命名。
- 红冲、作废、异常分别独立,不与“发票查询”混合。
6. 总体交互原则
- 财务主入口固定为 发票开具。
- 发票开具默认展示 缴费记录视图,并在页内切换到 客户汇总视图。
- 发票查询作为历史结果与后续处理入口页。
- 红冲、作废、异常均按“任务池”组织,优先突出待处理量和失败原因。
- 所有高风险动作都需要二次确认。
- 所有列表页均支持批量操作、导出与列配置。
7. 数据源口径
7.1 主数据源:缴费记录待开票
适用于:
- 居民用户电子普票
- 中小客户单笔开票
- 后台财务批量开票
- 特殊开账缴费后的开票
页面表现:
- 发票开具页默认视图
- 一笔缴费记录是一个待开票对象
- 支持同一客户多笔缴费记录批量开票
7.2 辅助数据源:客户汇总待开票
适用于:
- 大客户
- 政企客户
- 需要合并开票的集团户
- 专票场景
页面表现:
- 仅在发票开具页内切换视图
- 先看客户聚合,再展开客户下的待开票缴费记录
7.3 备用数据源:账单维度待开票
仅用于极特殊场景,不作为常规菜单或默认视图:
- 预付费特殊口径
- 协议先票后款
- 历史遗留修复
页面表现:
- 不提供独立菜单
- 仅通过特殊权限入口进入
8. 页面设计
8.1 发票开具页
页面定位
财务主作业页,用于待开票记录筛选、批量开票、单笔开票、查看开票信息。
页面结构
-
查询区
- 缴费日期范围
- 缴费单号
- 客户编号
- 客户名称
- 用户类型
- 开票状态
- 发票类型
- 营业网点 / 水司
- 收费渠道
- 是否大客户
- 特殊开账标识
-
统计条区
- 待开票笔数
- 待开票金额
- 今日新增待开票
- 大客户待开票金额
-
工具栏区
- 查询
- 重置
- 批量开票
- 批量校验
- 导出
- 切换视图(缴费记录 / 客户汇总)
-
表格区
- 默认:缴费记录待开票表
- 切换:客户汇总待开票表
缴费记录视图字段
- 选择框
- 缴费日期
- 缴费单号
- 客户编号
- 客户名称
- 户号
- 水表号
- 账期
- 缴费金额
- 可开票金额
- 费用类型
- 发票类型
- 开票抬头
- 税号
- 开票状态
- 特殊开账标识
- 收费渠道
- 收费员
- 操作
客户汇总视图字段
- 选择框
- 客户编号
- 客户名称
- 客户类型
- 税号
- 未开票笔数
- 未开票金额
- 默认发票类型
- 默认开票信息完整度
- 最近开票日期
- 操作(展开明细 / 合并开票)
行内动作
- 查看明细
- 查看开票信息
- 单笔开票
批量动作
- 批量开票
- 批量校验
- 批量导出
页面内视图切换要求
- 默认进入缴费记录视图
- 切换至客户汇总视图时,保留已输入的共用筛选条件
- 客户汇总视图下的开票动作仍落到缴费记录级别明细校验
8.2 发票查询页
页面定位
历史发票归档、结果核验与后续处理入口页。
页面结构
-
查询区
- 开票日期范围
- 发票号码
- 发票代码
- 客户名称
- 客户编号
- 发票类型
- 发票状态
- 推送状态
- 红冲状态
- 作废状态
- 开票人
-
工具栏区
- 查询
- 重置
- 导出
- 批量下载
- 批量重推送
- 批量打印(后续可选)
-
表格区
- 发票主记录列表
表格字段
- 发票号码
- 发票代码
- 客户名称
- 税号
- 开票日期
- 发票金额
- 关联缴费笔数
- 发票状态
- 推送状态
- 下载状态
- 红冲状态
- 作废状态
- 开票人
- 操作
行内动作
- 详情
- 下载
- 重推送
- 发起红冲
- 发起作废
8.3 红冲处理页
页面定位
红字发票任务池,用于对已开具发票进行冲销处理。
页面结构
-
查询区
- 红冲申请日期
- 原发票号码
- 客户名称
- 红冲状态
- 退款状态
- 申请人
-
工具栏区
- 查询
- 重置
- 批量提交红冲
- 批量重试
- 导出
-
表格区
- 待红冲 / 红冲中 / 红冲成功 / 红冲失败
表格字段
- 原发票号码
- 原发票代码
- 客户名称
- 红冲申请时间
- 红冲原因
- 关联退款金额
- 红冲状态
- 失败原因
- 申请人
- 审核人
- 操作
行内动作
- 查看原发票
- 查看退款关联
- 提交红冲
- 重试
- 查看失败原因
8.4 作废处理页
页面定位
作废任务池,用于对满足条件的发票进行作废。
页面结构
-
查询区
- 作废申请日期
- 发票号码
- 客户名称
- 作废状态
- 申请人
-
工具栏区
- 查询
- 重置
- 批量作废
- 批量重试
- 导出
-
表格区
- 待作废 / 作废中 / 作废成功 / 作废失败
表格字段
- 发票号码
- 客户名称
- 作废申请时间
- 作废原因
- 发票金额
- 作废状态
- 失败原因
- 申请人
- 操作
行内动作
- 查看发票详情
- 提交作废
- 重试
- 查看失败原因
8.5 异常处理页
页面定位
集中处理开票失败、回执异常、推送异常、下载异常与对账异常的任务池页面。
页面结构
-
查询区
- 异常日期
- 异常类型
- 业务单号
- 客户名称
- 当前状态
- 是否已重试
- 异常节点
-
工具栏区
- 查询
- 重置
- 批量重试
- 批量改派
- 导出
-
表格区
- 开票失败
- 回执异常
- 下载异常
- 推送异常
- 对账异常
表格字段
- 异常类型
- 业务单号
- 客户名称
- 发票号码
- 金额
- 异常节点
- 异常原因
- 重试次数
- 最新处理时间
- 当前状态
- 操作
行内动作
- 查看详情
- 重试
- 查看日志
- 改派处理
- 标记人工处理完成
8.6 发票详情页
页面定位
作为独立只读详情页,承载完整发票业务轨迹,不使用普通小弹窗替代。
页面结构
- 基本信息区
- 关联缴费记录区
- 开票与推送轨迹区
- 红冲 / 作废 / 异常日志区
推荐字段分组
基本信息
- 发票代码
- 发票号码
- 发票类型
- 发票金额
- 开票日期
- 发票状态
- 开票人
开票对象
- 客户编号
- 客户名称
- 发票抬头
- 纳税人识别号
- 地址电话
- 开户行
- 银行账号
- 邮箱
- 手机号
关联业务
- 关联缴费笔数
- 关联缴费单号列表
- 账期范围
- 费用类型
- 特殊开账标识
处理轨迹
- 推送状态
- 下载状态
- 红冲状态
- 作废状态
- 外部回执号
- 最近处理时间
- 失败原因
- 重试次数
9. 弹窗设计边界
9.1 开票信息弹窗
用于查看 / 维护:
- 发票抬头
- 税号
- 地址电话
- 开户行
- 银行账号
- 邮箱
- 手机号
- 发票类型
9.2 批量开票确认弹窗
用于确认:
- 本次勾选笔数
- 本次开票总金额
- 发票类型
- 抬头归属
- 校验通过/失败摘要
9.3 红冲原因弹窗
用于录入:
- 红冲原因
- 退款说明
- 备注
- 附件说明(后续可扩展)
9.4 作废原因弹窗
用于录入:
- 作废原因
- 备注
9.5 异常日志弹窗
用于快速查看:
- 异常节点
- 原始错误信息
- 外部回执
- 重试记录
- 最新处理结果
10. 页面跳转关系
10.1 主链路:批量开票
发票开具页
→ 勾选缴费记录
→ 批量开票确认弹窗
→ 提交开票
→ 成功后可跳转 发票查询页
10.2 大客户链路:客户汇总合并开票
发票开具页
→ 切换到客户汇总视图
→ 选择客户
→ 展开明细 / 进入客户待开票记录
→ 批量开票确认弹窗
→ 提交开票
→ 发票查询页
10.3 后处理链路:红冲 / 作废
发票查询页
→ 发起红冲 / 发起作废
→ 跳转 红冲处理页 / 作废处理页
→ 原票详情查看 / 填原因 / 提交处理
→ 结果回写 发票查询页
10.4 补救链路:异常处理
异常处理页
→ 查看失败原因
→ 重试 / 改派 / 人工处理
→ 回到对应业务页复核
11. 权限模型建议
11.1 菜单权限
- 发票开具
- 发票查询
- 红冲处理
- 作废处理
- 异常处理
11.2 按钮权限
发票开具页
- 查询
- 导出
- 查看明细
- 查看开票信息
- 单笔开票
- 批量开票
- 批量校验
发票查询页
- 查询
- 导出
- 详情
- 下载
- 重推送
- 发起红冲
- 发起作废
红冲处理页
- 查询
- 导出
- 提交红冲
- 批量红冲
- 重试
- 查看失败原因
作废处理页
- 查询
- 导出
- 提交作废
- 批量作废
- 重试
异常处理页
- 查询
- 导出
- 重试
- 改派
- 查看日志
- 标记人工完成
11.3 特殊动作权限
以下权限建议独立控制:
- 客户汇总合并开票
- 红冲
- 作废
- 异常改派
- 账单维度补充开票
- 大额批量开票
- 人工强制重试
12. 状态模型建议
12.1 开票状态(发票开具页主状态)
- 待开票
- 校验失败
- 开票中
- 开票成功
- 开票失败
12.2 发票生命周期状态(发票查询页主展示)
- 已开具
- 已推送
- 部分推送失败
- 红冲中
- 已红冲
- 作废中
- 已作废
- 状态异常
12.3 异常类型(异常处理页)
- 开票失败
- 回执异常
- 推送异常
- 下载异常
- 红冲失败
- 作废失败
- 对账异常
12.4 展示原则
- 开票状态、推送状态、红冲状态、作废状态分别展示,不合并成单一总状态。
- 列表页状态标签必须能直接支持财务筛选,不要求用户进入详情后再判断。
13. 字段优先级建议
13.1 A 级(默认必须可见)
- 客户名称
- 缴费单号 / 发票号码
- 金额
- 状态
- 发票类型
- 日期
- 失败原因 / 异常状态
- 操作
13.2 B 级(默认展示,可折叠)
- 客户编号
- 税号
- 收费渠道
- 营业网点
- 特殊开账标识
- 开票人
- 推送状态
13.3 C 级(列配置按需打开)
- 水表号
- 户号
- 账期
- 商品税收分类编码
- 下载状态
- 最近重试时间
- 外部回执号
- 供应商名称
14. 字段语义分组建议
14.1 业务来源组
- 缴费单号
- 账单号
- 客户编号
- 客户名称
- 户号
- 水表号
- 账期
- 特殊开账标识
- 收费渠道
- 营业网点
14.2 开票主体组
- 发票抬头
- 纳税人识别号
- 地址电话
- 开户行
- 银行账号
- 邮箱
- 手机号
- 发票类型
14.3 金额税务组
- 缴费金额
- 可开票金额
- 发票金额
- 税率
- 税额
- 不含税金额
- 商品税收分类编码
- 费用类型
14.4 状态轨迹组
- 开票状态
- 推送状态
- 下载状态
- 红冲状态
- 作废状态
- 异常类型
- 失败原因
- 最近处理时间
- 重试次数
14.5 审计留痕组
- 开票人
- 开票时间
- 申请人
- 审核人
- 操作时间
- 外部发票号码
- 外部回执号
- 处理备注
15. 财务视角下的最终方案
REV-005 前端采用“标准列表入口 + 五个三级菜单页”的财务后台模型:
发票开具:主作业页,默认缴费记录视图,可切客户汇总视图发票查询:历史结果页与后处理入口页红冲处理:红字发票任务池作废处理:作废任务池异常处理:失败和异常集中处理池
整体原则如下:
- 批量处理优先于单笔处理。
- 缴费记录优先于客户汇总,客户汇总优先于账单补充。
- 高风险动作单独授权。
- 状态拆分展示,避免财务误判。
- 详情页承载全量轨迹,弹窗只承接局部动作。
16. 与既有正式工件的关系
本文件补充的是 前端财务页面与导航设计,应与以下正式工件一起使用:
specs/002-rev005-invoice-flow/spec.mdspecs/002-rev005-invoice-flow/plan.mdspecs/002-rev005-invoice-flow/tasks.mdspecs/002-rev005-invoice-flow/data-model.mdspecs/002-rev005-invoice-flow/contracts/if-rev-008-invoice-application.mdspecs/002-rev005-invoice-flow/contracts/if-rev-009-invoice-query.md
若后续进入 water-frontend 实现阶段,本文件可直接作为:
- 路由与菜单拆分输入
- 页面目录结构输入
- 查询区与列表字段输入
- 权限点拆分输入
- 页面模板选型输入
17. 未纳入本轮的事项
以下内容明确不在本轮设计范围内:
- 客户侧电子发票入口页面设计
- 微信端电子发票入口页面设计
- 供应商税控配置页面
- 发票打印模板设计
- 发票审批流页面
- 发票统计分析看板
后续若扩展 CS-004、WECHAT-004 或 SYS-008,应分别建立独立设计补充,不在本文件中混合扩展。