Skip to content

2026-06-01-发票管理-需求分析

发票管理需求分析

来源:蓝湖 Axure 原型《发票管理》 文档版本:版本8 原型更新时间:2026-06-01 22:17:33 本次处理:根据刷新后的原型再次全量扫描 15 个页面并重梳需求。 当前阶段:仅完成需求分析;不进入详细设计、任务拆解和编码。 DoR 结论:需求主干已清晰,但审批流、自动开票、红冲金额释放、转包金额配置落地口径、发票明细数据来源等仍存在阻塞级确认点,暂不满足进入最终详细设计条件。

1. 背景与目标

发票管理需求覆盖薪酬管理链路中的对客发票、转包发票、预开票、批量申请、回传发票、红冲发票、发票明细和前置配置能力。

目标是在 ERP3.0 中建立统一的发票申请、审批、开票、回传、红冲、查询、下载和财务明细查看能力,并与账单、项目、合同、客户、单位、产品、业务模式、业务链路、成本配置、支付订单、发薪/费用支付数据形成闭环。

2. 用户原始诉求

用户说明原型已经重新刷新,要求再次全部扫描并分析《发票管理》需求。当前仅输出需求分析结果,不进行详细设计、任务拆解或编码。

3. 原型页面结构

序号页面所属模块核心内容解答列
1流程图总览区分预开票与账单开票
2产品与单位管理的配置对客开票前置工作产品配置可开发票类型与税点;单位配置开票内容、税点、科目
3单位管理关联变动需求对客开票前置工作单位发票信息维护新增差额征税、状态、操作记录;名词开票信息改开票内容
4账单列表--申请发票起点对客开票从账单列表勾选账单发起账单开票,限制未开票、同项目、有账单金额
5发票管理发票申请主页面申请列表、申请弹窗、字段解释、状态组合、发票内容、分摊明细、导出、下载
6回传发票手动开票无法自动开票单位手动上传发票凭证并执行票面校验
7预开票流程对客开票先开票后绑定账单,维护已关联账单金额、未关联金额、关联账单数
8批量申请发票对客开票Excel 批量导入、校验确认、整批提交、拆分生成多条申请
9红冲发票操作流程对客/转包基于蓝字发票发起全额红冲,生成红字申请,展示负数分摊
10手动申请转包发票转包开票转包发票红冲、撤销、驳回后重新申请
11完善项目配置开票信息转包前置配置业务模式/业务链路配置转包/转派开票类型、开票内容;新增版本说明默认配置与成本配置
12单位管理增加配置功能税优地配置税优地单位按发票税点维护优惠税点
13转包开票的查账联动转包追踪转包发票关联内部公对公订单、外部对私支付订单;当前暂不呈现
14顺带-转包金额配置转包金额转包金额系数、转包费率、人头费、扣除额、三次转包建议
15发票明细财务中心每张已开票发票明细、导出、批量下载、红冲串联口径待研究

4. 模块划分与需求范围

模块页面需求范围变更类型
对客开票前置配置2、3产品可开发票类型/税点;单位发票信息开票内容、税点、科目、差额征税、状态、操作记录修改既有配置
账单开票4、5从账单列表发起申请;发票申请列表;发票内容;分摊明细;审批、开票、回传、下载新增/扩展
手动回传5、6上传发票凭证;解析票面字段;校验销售方、购买方、金额、票种、状态等新增
预开票5、7不绑定账单先申请;已开票后绑定账单;更新关联金额与账单批次新增
批量申请5、8模板下载、上传、解析、校验确认、无误后提交并拆分申请新增
红冲发票5、9正常蓝字发票全额红冲;红冲原因;红字申请;负数分摊明细新增
转包发票10、11、13、14转包/转派链路开票配置、成本配置、金额计算、重新申请、查账联动新增/修改
税优地优惠税点12税优地单位产品费用维护新增优惠税点配置修改单位管理
发票明细15财务中心按每张已开票发票展示明细、导出、批量下载新增

5. 非需求范围

以下内容当前原型未明确,不应默认纳入本阶段开发:

  1. 部分红冲;原型仅展示“全额红冲”。

  2. 批量申请部分成功提交;原型明确初版不支持部分提交。

  3. 三次及以上转包完整前端交互;原型建议业务模式只开放 2 次转包。

  4. 转包查账联动页面呈现;原型说明“暂时不呈现出来,630 后补充呈现效果”。

  5. 自动开票平台接口协议、回调协议、失败重试机制。

  6. OCR、验真、发票文件解析服务具体技术方案。

  7. 审批中心流程配置、节点、权限、回调协议。

  8. 发票明细中正常发票与红冲发票最终串联呈现逻辑。

6. 角色与权限

角色需求中体现的能力待确认点
客服/业务人员发起账单开票、预开票、批量申请、查看申请、账单明细、红冲申请数据权限是本人、本部门、项目范围还是全量待确认
财务人员配置单位开票内容、查看发票明细、导出、批量下载、补充销售方发票信息是否独占回传、配置、红冲审核权限待确认
审批人审批正常开票、预开票、批量申请、红冲、转包发票审批流系统、节点、撤销/驳回规则待确认
申请人及其上司允许申请红冲上司关系取组织架构还是项目负责人待确认
系统任务/外部平台自动开票、发票号码/日期/附件回传、发票验真接口协议、失败策略、幂等规则待确认
发薪/费用支付发起人触发转包发放时受转包链路开票配置校验阻断提示和补配置入口待确认

7. 业务架构图

mermaid
flowchart TB
    Product[产品管理\n可开发票类型/税点] --> InvoiceApply[发票管理]
    Unit[单位管理\n发票信息/开票内容/税优地] --> InvoiceApply
    Bill[账单列表] --> InvoiceApply
    Customer[客户详情\n购买方抬头/收票信息] --> InvoiceApply
    Project[项目/合同\n产品/签约公司/业务模式] --> InvoiceApply
    InvoiceApply --> Approval[审批流]
    Approval --> AutoInvoice[第三方自动开票]
    Approval --> ManualUpload[手动回传发票]
    AutoInvoice --> InvoiceDetail[发票明细]
    ManualUpload --> InvoiceDetail
    InvoiceApply --> RedInvoice[红冲申请]
    RedInvoice --> Approval
    BusinessLink[业务模式/业务链路配置] --> Subcontract[转包发票]
    CostConfig[成本配置\n转包系数/费率/人头费] --> Subcontract
    PayOrder[发薪/费用支付/订单] --> Subcontract
    Subcontract --> InvoiceApply
    InvoiceDetail --> Export[导出/批量下载]

8. 用例图

mermaid
flowchart LR
    User[业务/客服] --> A[账单开票申请]
    User --> B[预开票申请]
    User --> C[批量申请发票]
    User --> D[申请红冲]
    User --> E[查看发票申请]
    Finance[财务] --> F[维护开票内容]
    Finance --> G[回传发票]
    Finance --> H[查看发票明细]
    Finance --> I[导出/批量下载]
    Approver[审批人] --> J[审批发票申请]
    System[系统/第三方] --> K[自动开票]
    System --> L[发票识别/验真]
    Payroll[发薪/费用支付] --> M[触发转包发票]

9. 核心业务流程

9.1 账单开票流程

mermaid
flowchart TD
    A[账单列表] --> B{勾选账单}
    B --> C{是否未开票/同项目/有账单金额}
    C -->|否| D[禁用或提示不可申请]
    C -->|是| E[打开申请弹窗]
    E --> F[选择客户、抬头、发票类型、开票内容]
    F --> G[填写发票内容、备注、附件]
    G --> H[提交申请]
    H --> I[进入审批流]
    I --> J{审批结果}
    J -->|撤销/驳回| K[未开票终态]
    J -->|通过且自动开票| L[第三方自动开票]
    J -->|通过且手动开票| M[手动开票-未回传]
    L --> N[更新发票号码、日期、文件、明细]
    M --> O[上传发票凭证并校验]
    O --> N

9.2 预开票流程

mermaid
flowchart TD
    A[发票管理-申请预开票] --> B[选择客户、项目、签约公司]
    B --> C[选择抬头、发票类型、开票内容]
    C --> D[填写开票金额和备注]
    D --> E[提交审批]
    E --> F{审批与开票是否成功}
    F -->|否| G[撤销/驳回/未开票]
    F -->|是| H[生成未关联金额]
    H --> I{未关联金额 > 0}
    I -->|是| J[显示绑定账单]
    J --> K[加载同客户项目未开票账单]
    K --> L[填写账单开票金额]
    L --> M{发票金额 = 所选账单金额合计}
    M -->|否| N[禁止提交]
    M -->|是| O[保存绑定]
    O --> P[更新账单发票数据/账单批次/关联金额/关联账单数]
    I -->|否| Q[隐藏绑定账单入口]

9.3 批量申请流程

mermaid
flowchart TD
    A[下载 Excel 模板] --> B[用户填写并上传]
    B --> C[系统解析 Excel]
    C --> D[识别账单/项目/销售方/购买方/金额/税率]
    D --> E[导入校验与确认]
    E --> F{是否存在错误}
    F -->|是| G[显示错误统计和问题说明]
    G --> H[重新上传]
    F -->|否| I[提交申请]
    I --> J[拆分生成多条发票申请]
    J --> K[单条申请进入各自审批流]

9.4 红冲流程

mermaid
flowchart TD
    A[蓝字正常发票] --> B{申请类型=正常开票 且 发票状态=正常}
    B -->|否| C[不可红冲]
    B -->|是| D{是否申请人或上司}
    D -->|否| E[提示仅限申请人及其上司可申请红冲]
    D -->|是| F[填写红冲原因]
    F --> G{红冲原因是否填写}
    G -->|否| H[阻断提交]
    G -->|是| I[提交红冲申请]
    I --> J[生成申请类型=红冲发票的负数申请]
    J --> K[进入审批流]
    K --> L{审批结果}
    L -->|撤销/驳回| M[原蓝字发票保持正常]
    L -->|通过| N[自动开红字发票或手动回传]
    N --> O[原蓝字发票更新已红冲-全额]

9.5 转包开票触发流程

mermaid
flowchart TD
    A[发薪/费用支付申请] --> B{业务链路是否包含转包}
    B -->|否| C[按原流程继续]
    B -->|是| D{项目是否已完成转包链路开票配置}
    D -->|否| E[禁止申请并提示请先完善转包链路开票配置]
    D -->|是| F[读取业务链路/发票类型/开票内容]
    F --> G[读取成本配置和转包金额模型]
    G --> H[生成转包发票申请]
    H --> I[进入审批/开票/回传流程]

10. 关键数据口径

10.1 发票申请列表字段

字段口径
申请编号/发票编号申请后产生唯一值;旧版为 I + 年月日时分秒 + 4位随机数
客户名称账单开票取账单对应项目客户;预开票按申请选择客户
客户品牌通过客户查找所在品牌
项目名称账单开票取关联账单项目;预开票取申请项目
产品类型/产品名称取项目产品类型;筛选项原型出现“产品名称”
结算周期账单开票可跨多个结算周期;预开票初始无结算周期;转包基于发薪批次
审批状态/申请状态待审批、审批中、已通过、已撤销、已驳回;只表示审批流状态
账单批次/账单编号开票关联账单编号,可能多个;预开票初始为空
销售方对客发票为项目签约公司;转包发票为收到转包款的下游公司
购买方对客发票为客户收票抬头;转包发票为打出转包款的上游公司
发票业务类型对客发票、转包发票
开票处理状态自动开票、手动开票-未回传、手动开票-已回传;部分页面旧文案为“自动开票=是/否”
开票日期自动开票由第三方回传;手动开票由上传票文件配合 API 读取
开票金额账单开票取账单合计;预开票手填;红冲发票为负数
发票类型全电专票、全电普票、差额专票、差额普票
申请类型正常开票、红冲发票
发票状态正常、红冲中、已红冲-全额、未开票
开票类型账单开票、预开票;转包发票显示 -
发票号码自动回调或手动回传解析;多张发票用英文分号拼接
原发票号码仅红冲发票显示原蓝字发票号码
已关联账单金额发票已关联账单累计金额;转包发票显示 -
未关联金额发票金额 - 已关联账单金额;转包发票显示 -
关联账单数已关联账单编号去重数量;转包发票显示 -
申请人/申请时间发起申请的操作人和时间
操作查看、审批、账单明细、回传发票、绑定账单、红冲、重新申请等,按状态和权限展示

10.2 开票处理状态口径

触发条件开票处理状态后续动作
销售方单位发票信息中“对接第三方电子开票”=是自动开票审批通过后自动开票,等待平台回传
销售方单位发票信息中“对接第三方电子开票”=否手动开票-未回传允许操作“回传发票”
手动回传发票提交成功手动开票-已回传回传按钮消失

10.3 审批状态与发票状态组合

序号申请类型审批状态发票状态业务含义产生条件
1正常开票待审批未开票开票申请已提交,等待审批申请后首个状态
2正常开票审批中未开票开票申请正在审批已有人审批但未完结
3正常开票已通过正常蓝字发票已开具且有效自动开票成功;或手动回传完成
4正常开票已通过未开票审批通过,待手动开票手动开票-未回传且审批完结
5正常开票已撤销未开票申请撤销,不生成发票审批中途撤销
6正常开票已驳回未开票审批驳回,不生成发票审批流驳回
7正常开票已通过红冲中蓝票正在被红冲针对蓝票发起红冲且红冲审批已通过但红字票未完成
8正常开票已通过已红冲-全额蓝票已全额冲销红冲审批通过且红字发票自动开出或手动回传
9红冲发票待审批未开票红冲申请已提交,原蓝字仍有效发起红冲后产生红字申请
10红冲发票审批中未开票红冲申请审批中,原蓝字仍有效红冲审批未完结
11红冲发票已通过红冲中红冲审批通过,进入红冲处理手动开票-未回传且审批完结
12红冲发票已通过已红冲-全额红字发票已开具/登记完成,原蓝字已全额冲销自动红冲成功或手动回传完成
13红冲发票已撤销未开票红冲撤销,原蓝字保持正常红冲审批中途撤销
14红冲发票已驳回未开票红冲驳回,原蓝字保持正常红冲审批驳回

11. 关键业务规则

11.1 账单列表申请条件

  1. 仅能选择未开票账单,已申请/已开票账单禁用不可勾选。

  2. 只能选择同项目账单进行开票,可以跨结算周期月份。

  3. 账单金额缺失不允许申请开票。

  4. 从账单列表发起的是“账单开票”,发票金额来自账单。

11.2 发票申请弹窗规则

  1. 客户名称单选;如果项目只有一个客户则默认选中。

  2. 发票抬头单选,取客户发票抬头信息。

  3. 发票类型支持全电专票、全电普票、差额专票、差额普票。

  4. 发票类型筛选:先按项目产品允许的开票点数过滤,再按销售方单位管理发票信息中符合税点的开票内容过滤。

  5. 差额发票只能有一行开票内容,不支持添加多张发票。

  6. 差额发票才出现扣除额字段。

  7. 发票内容与账单分摊已优化为两个区域。

  8. 若只有一行开票内容,可自动将上方开票金额填入下方含税金额;多个账单场景可自动求和写入第一行发票内容,该点仍需确认最终交互。

  9. 发票备注展示发票内容填写时的备注,不允许直接修改,可点击“编辑”修改。

11.3 批量申请导入规则

校验项规则结果
销售方名称与项目签约公司项目签约公司名称必须等于销售方名称失败阻断
账单总金额与开票金额账单编号填写总金额必须等于开票金额失败阻断
账单编号存在性账单编号必须存在失败阻断
账单开票状态所填账单必须未开票且允许申请失败阻断
账单项目匹配账单编号必须属于所填项目失败阻断
购买方抬头购买方名称需在客户详情中存在开票信息失败阻断
产品发票类型项目产品对客发票必须支持该发票类型失败阻断
产品票面税率项目产品对客发票必须支持该票面税率失败阻断
销售方开票内容销售方需配置该开票内容失败阻断
开票内容与税率销售方开票内容需匹配票面税率失败阻断
多客户项目项目存在多个客户时需填写客户名称失败阻断
销售方发票信息完整性纳税人资质、开票内容等不可缺失失败阻断
账单编号与分摊金额数量账单编号 N 个,账单开票金额也必须 N 个失败阻断
顺序对应第 1 个金额对应第 1 个账单编号,依次对应失败阻断
分摊金额格式大于 0,最多两位小数,不允许负数、0、空值、中文、公式失败阻断
同行账单编号重复同一行不建议出现重复账单编号提示或失败待确认
金额不超过余额账单金额 - 已开票金额 - 开票占用金额 - 本次已占用金额失败阻断
文件内重复占用同一账单出现在多行时按整批累计校验失败阻断
逗号格式不允许中英文逗号混用;建议兼容中文逗号,回显统一英文逗号待确认
差额扣除额差额发票扣除额必填失败阻断

补充规则:

  1. 支持跨项目单个/多个账单一起导入,拆成不同发票申请。

  2. 支持同项目单个/多个账单申请开票。

  3. 支持一张发票对应多个账单的金额分摊。

  4. 本功能初版不支持部分提交,有错误时按钮变为“重新上传”,需修改文件后重新导入。

  5. 无错误时点击“提交申请”,在发票申请页面产生对应条数申请。

  6. 批量申请可能对应不同审批流,当前页面不展示统一审批流,提交后在单条申请详情查看审批流。

  7. 导入处理必须批量校验账单、项目、客户、销售方、产品配置和余额,禁止循环逐条查库或逐条调服务。

11.4 回传发票校验规则

校验项判断内容建议处理
发票销售方不符销售方名称/税号与申请开票主体不一致阻断
发票购买方不符购买方名称/税号与申请客户不一致阻断
金额不符发票含税金额、未税金额、税额与申请金额不一致阻断
发票票种不符申请专票但上传普票,或申请数电票但上传其他票种阻断
重复上传该发票已绑定其他有效申请,按发票号码判断阻断
开票内容不符发票项目名称、服务内容与申请内容不一致提示
发票真伪/状态异常发票不存在、已作废、已红冲、验真失败阻断
发票日期异常开票日期早于申请提示
税率/税额异常税率不符合申请或税额计算异常阻断
发票文件异常无法识别、字段缺失、图片/PDF 不清晰要求重新上传

11.5 预开票规则

  1. 仅对客发票支持预开票。

  2. 申请时不关联账单,先按客户、项目、签约公司、开票金额发起。

  3. 已开票后,未关联金额大于 0 时,操作列显示“绑定账单”。

  4. 未关联金额等于 0 时,绑定账单入口消失。

  5. 绑定账单时加载“同客户项目”的未开票账单,具体范围待确认。

  6. 账单开票金额可小于账单可开票金额,支持对账单部分开票。

  7. 提交绑定要求:发票金额 = 所选账单开票金额合计。

  8. 保存后更新所选账单发票数据、所选发票账单批次、已关联账单金额、未关联金额、关联账单数。

11.6 红冲规则

  1. 当前原型仅展示全额红冲。

  2. 红冲基于原蓝字发票生成负数金额发票申请。

  3. 提交后立即在发票申请页面产生一条申请类型为“红冲发票”的记录。

  4. 红冲原因必填,且必须在审批中可查看。

  5. 提交前系统校验:原发票是否允许红冲、是否填写红冲原因。

  6. 可操作红冲需同时满足:申请类型=正常开票;发票状态=正常。

  7. 权限限制:仅发票申请人及其上司可申请红冲;其他可见人员点击后提示“仅限申请人及其上司可申请红冲”。

  8. 红冲分摊明细以负数展示:本次冲回金额、未关联冲红金额、红字发票金额均为负数。

  9. 已红冲蓝字发票明细会增加“已红冲金额”列并以负数展示。

11.7 转包开票配置规则

  1. 业务链路数据源来自“业务模式配置”页面中的链路配置。

  2. 根据项目合同的产品 + 签约公司查找可选链路。

  3. 直落业务模式不出现在转包配置表单中,直落自动生成不用配置。

  4. 支持一个业务模式添加多条链路。

  5. 已选转包业务模式链路汇总展示,表头按最长转包次数显示。

  6. 多节点链路需顺着节点选择:先选择中间节点单位,才能加载后续节点公司。

  7. 项目中依旧包含“转包链路开票配置”,但 2026-05-26 会议决定:所有必填内容已通过系统预设,仍可调整。

  8. 触发转包发放时,本配置定义公司之间转包发票的发票类型、开票科目和税点。

  9. 系统在申请发薪/费用支付时判断是否包含转包业务链路;如包含且项目未完成配置,则禁止申请并提示“请先完善转包链路开票配置”。

  10. 转包发票销售方/购买方与对客发票相反:资金流由上游向下游打款,发票由下游向上游开具。

11.8 转包开票默认配置与成本配置规则

刷新后原型在页面 11 新增/强化了以下规则:

  1. 业务模式配置中增加转包开票类型:转包开票、转派开票。

  2. 发票类型选项统一为:全电专票、全电普票、差额专票、差额普票;原“差额窗口发票”拆分为差额普票、差额专票。

  3. 单位管理发票信息维护中部分转包相关配置移除,统一放到系统成本配置。

  4. 全局只有一套默认配置,不需要每个单位分别配置。

  5. 所有项目的转包开票默认开 6% 全电,且开票内容固定。

  6. 所有项目的转派开票默认开 6% 差额;若销售方是小规模纳税人,则开 1% 全电票并自动变化为对应开票内容。

  7. 成本配置中维护转包发放的发票配置;原型说明这块可以先不允许更改,默认使用配置那套。

  8. 转包金额计算基于固定开票税点和成本配置。

11.9 税优地优惠税点规则

  1. 当单位“税优地=是”时,单位产品费用维护页面增加“税优地优惠税率”。

  2. 支持按发票税点配置优惠税点。

  3. 发票税点不允许重复。

  4. 可选发票税点:1%、6%、9%、13%。

  5. 示例优惠税点:1% 对应 1.12%;6% 对应 4.5%;9% 对应 9%;13% 对应 10%。

11.10 转包金额计算规则

场景计算规则
1 次转包全电发票转包金额 = 发放金额(实发 + 个税) + 发放金额 × 转包金额系数
1 次转包差额发票转包金额 = 发放金额(实发 + 个税) + 去重发放人头数 × 转派发放服务费
2 次及以上转包全电发票转包金额 = 发放金额 + 发放金额 ×(转包金额系数 + 0.3% ×(业务链路转包次数 - 1))
2 次及以上转包差额发票转包金额 = 发放金额(实发 + 个税) + 去重发放人头数 × 转派发放服务费
差额扣除额扣除额 = 实发 + 个税
转派人头费根据同一发放公司且期望付款时间同月的人员去重收取
转派发放服务费来源于开票公司在单位管理中该项目产品的“转派发放服务费(元/人/月)”
转包费率原型示例为 +0.3%,属于后台配置

示例配置:

发票税点税费收取点数转包金额系数
1%1.12%待配置
3%3.26%待配置
6%6.34%待配置
9%9.25%待配置
13%12.88%待配置

补充规则:

  1. 如果全电发票开非 6%,则自动匹配税点对应的转包金额系数。

  2. 三次转包时,上游第一段按 0.3% * 2,下一段按 0.3% * 1,依次递减到非转包开票。

  3. 原型明确“三次转包不建议做,所以业务模式建议只开放 2 次”。

  4. 转包金额系数表和税费收取点数表设置内容相同,原型建议只保留一个。

11.11 转包发票重新申请规则

  1. 手动申请原因:转包发票已红冲,需要手动重新申请;转包开票审批中被撤销或驳回,需要手动重新申请。

  2. 申请位置:发票管理中找到已撤销/已驳回发票,点击操作列“重新申请”。

  3. 原型倾向:点击后无弹窗,直接生成新的申请,并提示“提交成功”。

  4. 待确认:重新申请是否允许改动转包发票内容;如果不能改动,是否仅复制原申请并重新触发审批流。

11.12 转包查账联动规则

  1. 转包发票可关联内部公对公支付订单,查看订单编号、支付金额、发放公司、收款方。

  2. 转包发票可关联外部对私支付订单,查看订单编号、支付金额、发放公司、收款人员,并查看明细。

  3. 原型说明当前认为开发可实现,但暂时不呈现,630 后补充呈现效果。

  4. 当前建议仅预留数据记录或后端关联能力,前端展示是否本期做需确认。

11.13 发票明细规则

  1. 财务中心新增发票明细页面,仅显示每张已开票的发票数据。

  2. 支持导出列表、批量下载发票。

  3. 字段包括:发票号码、销售方名称、销方识别号、购买方、购买方识别号、申请编号、客户名称、客户品牌、项目名称、产品类型、结算周期、发票业务类型、开票处理状态/自动开票、开票日期、税收分类编码、货物或应税劳务名称、金额不含税、税率、税额、价税合计、发票来源、发票票种、发票状态、开票类型、原发票号码、申请人、发票备注、开票金额、发票类型。

  4. 差额发票金额字段可能显示 ***,具体展示口径待确认。

  5. 价税合计 = 金额不含税 + 税额。

  6. 红冲发票金额为负数,原发票号码为红冲票特有字段。

  7. 发票来源示例:电子发票服务平台。

  8. 发票票种示例:数电发票(普通发票)、数电发票(增值税专用发票)。

  9. 原型明确:该页面数据逻辑可能和申请页面不同,正常发票和红冲发票之间的呈现方式仍需研究。

11.14 批量下载发票规则

  1. 生成 zip 压缩包。

  2. zip 命名:发票_购买方名称前4个字_YYMMDDHHMMSSXX;多个客户用下划线隔开。

  3. zip 内按购买方名称建文件夹,内部放关联发票附件。

  4. zip 内包含“发票文件汇总”文件夹,放本次导出的所有发票文件。

  5. zip 内包含发票汇总清单 Excel,清单序号用于后期找文件。

  6. 发票文件命名:开票日期YYYY-MM-DD_购买方名称_销售方名称_开票金额_汇总表中序号.pdf

  7. 批量下载是同步返回还是异步生成待确认。

12. 涉及外部系统与依赖

依赖系统/模块依赖内容
账单模块账单列表、账单状态、账单金额、可开票金额、账单结算周期、账单批次、开票状态
项目/合同模块项目、客户、产品类型、签约公司、业务模式、业务链路、合同产品
客户模块客户名称、客户品牌、客户开票抬头、购买方税号、收票信息
单位管理销售方/下游公司发票信息、开票内容、税点、纳税资质、税优地、是否小规模纳税人
产品管理可开发票类型、税点、产品维度开票限制
业务模式配置转包链路、转包次数、转包开票/转派开票类型
成本配置转包金额系数、转包费率、默认发票配置、人头费产品名单
审批流正常开票、预开票、批量申请、红冲、转包发票审批
第三方开票平台自动开票、发票号码、开票日期、发票文件、开票结果回传
OCR/验真/文件识别手动回传票面解析、发票真伪、状态校验
支付/发薪/费用订单转包开票查账联动、发放金额、个税、人头数、期望付款时间
文件服务发票附件上传、下载、批量 zip 打包

13. 非业务要求

  1. 批量导入、批量校验、数据关联必须批量查询并构建 Map/Set 后内存比对,禁止循环逐条查库或逐条调用服务。

  2. 金额计算必须使用高精度 decimal,禁止浮点误差。

  3. 发票号码、申请编号、账单编号、支付订单编号等关键字段需保证幂等和唯一性。

  4. 自动开票回调、手动回传、红冲回传需具备重复提交保护。

  5. 文件上传、下载、批量打包需做权限校验和数据隔离。

  6. 发票文件、税号、客户信息、订单信息日志需脱敏,禁止输出完整敏感对象。

  7. 外部接口需设置超时、异常处理、重试或降级策略。

  8. 批量导入文件大小、行数、单批数据量需有限制。

  9. 批量下载大量文件建议异步任务或限量处理,避免请求超时。

14. 验收标准

  1. 账单列表只能勾选满足条件的未开票同项目账单,账单金额缺失不能申请。

  2. 发票申请列表字段展示口径与原型字段解释一致。

  3. 开票处理状态可覆盖自动开票、手动开票-未回传、手动开票-已回传。

  4. 审批状态、发票状态组合可覆盖正常开票、手动回传、自动开票、撤销、驳回、红冲中、已红冲全额。

  5. 发票申请弹窗按产品、税点、销售方开票内容过滤发票类型和开票内容。

  6. 差额发票只允许一行开票内容,并展示扣除额。

  7. 手动回传发票校验项能区分阻断、提示、要求重新上传。

  8. 预开票在未关联金额大于 0 时允许绑定账单,未关联金额为 0 后隐藏入口。

  9. 预开票绑定账单后正确更新账单发票数据、账单批次、已关联金额、未关联金额、关联账单数。

  10. 批量导入有错误时整批不可提交,无错误时拆分生成多条申请并进入各自审批流。

  11. 批量导入中账单编号和账单开票金额支持多值英文逗号分隔,并按顺序一一对应。

  12. 批量导入同一账单跨多行占用时按整批累计校验余额。

  13. 红冲仅允许申请类型为正常开票且发票状态为正常的发票发起,且仅申请人及上司可操作。

  14. 红冲原因必填并在审批中可查看。

  15. 红冲发票金额、冲回金额、未关联冲红金额按负数展示。

  16. 转包链路未完成开票配置时,发薪/费用支付申请被阻断并提示“请先完善转包链路开票配置”。

  17. 转包开票默认配置、小规模纳税人转全电票规则、转包金额模型按确认后的成本配置执行。

  18. 转包发票在列表中无账单明细按钮,账单相关金额字段显示 -

  19. 已撤销、已驳回或已红冲的转包发票可按确认规则重新申请。

  20. 税优地单位可维护发票税点与优惠税点,且发票税点不可重复。

  21. 发票明细仅展示每张已开票发票数据,并支持导出和批量下载。

  22. 批量下载文件结构、命名规则、汇总清单符合原型说明。

15. 反例与边界场景

  1. 已申请或已开票账单不可再次勾选发起普通账单开票。

  2. 不同项目账单不可在账单列表入口合并发起同一开票申请。

  3. 账单金额为空时不可申请。

  4. 项目存在多个客户且批量导入未填写客户名称时必须失败。

  5. 批量导入文件内同一账单多行占用需累计校验,不能只按单行校验。

  6. 批量导入存在任意错误时不可提交。

  7. 账单编号和账单开票金额数量不一致时不可提交。

  8. 账单开票金额为 0、负数、空值、公式、中文、超过两位小数时不可提交。

  9. 预开票绑定账单时,账单开票金额不可超过账单可开票金额。

  10. 预开票绑定账单时,所选账单开票金额合计必须等于发票金额。

  11. 回传发票号码已绑定其他有效申请时阻断。

  12. 发票销售方、购买方、金额、票种、税率不符时阻断。

  13. 发票日期早于申请、开票内容不符仅提示时,是否允许继续提交需确认。

  14. 非申请人及上司申请红冲时阻断。

  15. 撤销或驳回的红冲申请不得影响原蓝字发票有效状态。

  16. 红冲后原账单可开票金额是否释放待确认,不能默认处理。

  17. 转包发票不展示账单明细按钮。

  18. 转包查账联动当前不应默认做前端呈现。

  19. 三次转包当前不建议开放。

  20. 发票明细中红冲票金额为负数,原发票号码为红冲票特有字段。

16. DoR 需求就绪检查

检查项当前结论是否阻塞进入详细设计
业务目标已明确:统一发票申请、开票、回传、红冲、明细与转包配置能力
需求范围已明确覆盖对客、转包、预开票、批量、红冲、明细、配置
非范围已初步明确,但三次转包、查账联动、部分红冲仍需业务确认
输入输出主要页面字段、按钮、状态、导入模板已识别
数据来源已识别依赖模块,但跨系统接口边界未明确
状态流转原型给出组合状态;自动开票失败和回调异常状态未明确
权限边界红冲权限明确,列表、导出、回传、配置权限不完整
第三方依赖自动开票、验真、OCR、审批流接口未明确
金额口径账单、预开票、红冲、转包金额主规则已识别;转包配置最终版需财务确认
验收标准已可初步制定
阻塞级待确认点存在

结论:当前需求可作为需求评审稿,但不满足最终 DoR。需先关闭阻塞级问题,再进入正式详细设计。

17. 待确认问题

17.1 阻塞级问题

  1. 自动开票具体接入哪个第三方平台或内部服务?接口、回调、失败重试、失败转手动规则是什么?

    第三方待定,默认全部90%的公司有,都默认有

  2. 审批流接入哪个系统?正常开票、预开票、批量申请、红冲、转包发票是否共用审批流?

    转包开票应该会比其他的缺少上司的审批;批量申请发票是拆分多个单独申请,具体和正常开票一样的。也可以默认全部的审批流都一致(经过人员不一样,但角色一致)。

  3. 审批通过后自动开票失败时,发票状态和开票处理状态如何展示?是否允许人工回传?

    开票状态增加【开票失败】,自动开票的允许在审批详情中点击重新开票(但还是要分析失败的原因能否用这个功能开票);也可以统一转为手动开票-待回传这个状态。

  4. 红冲当前是否明确只支持全额红冲?是否本期不做部分红冲?

    只有全额红冲,财务要求的

  5. 红冲成功后,原账单可开票金额是否释放?是否允许基于原账单再次开票?

    肯定释放的,每张账单都有剩余可开票金额的显示,可在账单列表查看到。大于0的都能够勾选发起对客开票。转包发票的红冲,需要找到原有篮子发票发起申请,原型有这个流程。

  6. 预开票绑定账单时,“同客户项目”的范围是同客户所有项目、同项目,还是同签约公司项目?

    必须是同一个项目,即相同的项目ID,别理解错了。一个项目只有一个签约公司。

  7. 预开票绑定账单时,原型同时出现“支持部分开票”和“发票金额=所选账单金额才能提交”,最终是否理解为“单账单可部分,但本次绑定合计必须等于发票金额”?

    原型早期是必须相等,但原型上是删除线,即过往的废案避免忘记之前的设定。估计是复制时没有带格式导致。

    image.png

  8. 一条申请包含多张发票时,发票文件、号码、明细、分摊关系如何存储和展示?

    发票管理页面就是一条申请但内部有多张发票的数据,如发票号码字段解释已提及如果申请包含多张发票,请用英文分号隔开。只有财务那边的页面看到才是以每个发票号码为单条数据呈现。分摊关系打开该条申请的账单明细即可看到。下图就是2张发票内容了。需要注意发票有下载导出发票的功能

    image.png image.png

  9. 批量导入模板字段最终版是否已确定?红色字段、蓝色字段哪些属于导入字段,哪些属于系统补充字段?

    你说的应该是批量导入开票,模板已确定(下图)。红色和蓝色都属于校验步骤,都是系统补充字段(如统计,报错,说明等)

    image.png

  10. 批量导入同一账单跨多行占用时,是否需要锁定可开票余额,防止并发重复占用?

需要的,可以在申请期间导入预览数据时锁定。
  1. 转包发票重新申请是否允许修改内容?还是点击后直接复制原申请并重新提交审批?
重新申请不允许修改内容。目前已知财务和产品部要求都不允许更改,如扣除额的计算逻辑,所以点击后就是重新提交。
  1. 转包金额计算公式、系数、转包费率、人头费、扣除额是否已有财务确认版?
需求里面的就是财务确认版本。
  1. 转包开票默认配置是否按版本8执行:转包默认 6% 全电,转派默认 6% 差额,小规模纳税人转 1% 全电?
这里需要注意,小规模在转派/转包都是默认时1%全电,因为小规模无法开差额了。
  1. 成本配置中“转包发放的发票配置”本期是否允许编辑,还是只使用默认配置?
公司未来的业务肯定需要允许编辑的,如6%对应6.34%是由一套复杂公式计算得出,每次发放读取最新的配置数值即可。下次变动时间不知道,可能很快,也可能一直不变
  1. 三次转包是否初版禁用?如禁用,业务模式配置和提示如何处理?
建议禁用,只能选择到2次,主要公司这么多年都无该类业务,业务模式最多选择到2次即可。3次及以上的转包逻辑已在需求中包含计算逻辑,可以后续加即可。
  1. 发票明细页面以申请数据、第三方开票数据、发票文件解析数据中的哪个为准?
发票文件解析数据后的数据为准。如果第三方传输的数据包含各个字段的数据,那么就无需文件解析了,第三方错误的几率应该比较低,也节省自动发票解析的成本。
  1. 正常发票与红冲发票在发票明细页的串联和展示方式如何确定?
不是有两列吗?发票号码+原发票号码。正常开票的只有发票号码,没有原发票号码。红字发票就两个都有,并且在【原发票号码】中提及正常开票(被红冲发票)的号码。
  1. 批量下载发票 zip 是同步返回,还是异步任务生成后下载?

异步生成导出任务,避免一次导出大量时可以稍后再去下载文件。就要看看目前以来是否有相关的导出下载页面了,没有就需要加一个。

17.2 一般确认问题

  1. 发票号码唯一性范围是全系统、销售方维度,还是发票类型 + 销售方维度?

    税局的发票号码应该都是唯一性的,不可能存在相同的号码但可能发票类型不一样或销售方不一样的情况。建议研究税局的发票号码数据唯一性。

  2. 手动回传是否支持一次上传多张发票凭证?每张发票对应哪些必填字段?

    目前630版本支持分开上传,暂不支持一次性导入并自动对号入座。

  3. 发票日期早于申请仅提示时,用户是否仍可强制提交?是否需要记录确认人?

    允许提交,避免有些发票已经开出,但补流程申请。可以后端记录,便于日后查找相关的数据,但前端体验上的感知暂时不做。

  4. 开票内容不符仅提示时,是否允许继续提交?是否需要二次确认?

    630版本还是做无法上传,财务驳回重新申请吧。

    财务的意思:如果是自动开票的话 我会拒绝掉;手动开票的话 我会让她们下面评论正确的 然后手动开票

  5. 名词“自动开票”在列表中有时展示为“是/否”,有时展示为“自动开票/手动开票-未回传”,最终字段名和枚举需统一。

    周日最新的版本中,已经改为:(就是为了减少一个手动开票的发票回传状态),以下面为最终版本,如果没有疑问就这么执行。

    开票处理状态:自动开票,手动开票-未回传,手动开票-已回传。关联销售方在单位管理中【发票信息维护】中的[对接第三方电子开票]的值,是或否(是=自动开票;否=手动开票-XXX)。若=否,则在产生申请时显示[手动开票-未回传],允许用户操作回传发票功能,提交后更新为:手动开票-已回传。回传发票按钮消失。若=是,则显示自动开票。

  6. “开票信息”统一改名“开票内容”是否本期处理?

    期望是,和财务负责发票的同事确认了,更专业精准。

  7. 转包查账联动当前是否仅记录数据,不做页面入口?

    看硕喜的决定,都可以,主要过往公司没有相关的查询要求。能做就做,后面逐步完善。毕竟是硕喜的担忧。

  8. 税优地优惠税点配置是否仅影响转包成本,还是也影响对客发票税费?

    不影响转包成本,是为了后续结算时计算出返税金额。这个也不影响对客发票的税费,虽然税优地是低一点的税率,但实际计算我们都会按照非税优地的先计算,最后有返税回来后,才有返税后毛利。避免返税一直没有到账,毛利就计算返税后的,会更高。这是和财务,总裁办统一的设计。

  9. 发票明细中差额发票金额显示 *** 的具体字段和条件是什么?

    刚刚找了财务聊这个功能,还是要改为显示实际申请时选择的税率。将来允许申请5%或6%的开票内容,但如果显示***会不够直观,无法看出当时的申请的实际税率,必须要通过公式反推。所以还是要改。

    并且这个财务看的页面,要基于发票内容每行拆解的进行显示。即一张发票有5行内容,在这个页面就分开5行显示,整张发票的金额他们会通过透视提取。表示不需要。

  10. 批量导入是否兼容中文逗号,还是直接判失败?

可以做到当然是举手赞成,填写两种都支持,降低挫败感。

18. 本次刷新后重点变化识别

变化点页面影响
原型版本由版本6刷新到版本8,更新时间为 2026-06-01 22:17:33全局需求分析文档需以版本8为准
转包开票配置增加“全局默认配置、成本配置、单位管理移除部分配置”的说明11详细设计需重新评估配置来源,不应按每单位配置落库
转包/转派默认发票类型与小规模纳税人规则更明确11影响转包发票类型、开票内容、税点和金额计算
业务模式配置增加转包开票类型,差额窗口发票拆成差额普票/专票11影响业务模式配置、枚举和历史数据兼容
转包金额配置增加三次转包递减说明,并建议只开放 2 次14影响转包次数限制和金额模型设计
发票明细新增字段标注更多,但仍提示数据逻辑需研究15发票明细仍不能直接进入最终设计

19. 确认结论

当前仅确认:基于刷新后的蓝湖版本8再次全量扫描并更新《发票管理》需求分析文档。 尚未确认:进入详细设计、任务拆解或编码。

20. 建议下一步

  1. 先组织需求 Review,优先确认 17.1 阻塞级问题

  2. 特别确认版本8新增的转包默认配置、成本配置和小规模纳税人规则。

  3. 确认后更新本需求文档“确认结论”。

  4. 用户明确确认需求无误后,再询问是否进入详细设计。

  5. 未获得确认前,不生成正式详细设计、不生成任务拆解、不修改生产代码。

Lucking