1、背景介绍
在供应链金融业务场景下,供应商可以依赖与大型企业的合同、发票信息,到金融机构进行融资。本文探讨发票管理的设计方案。
2、需求分析
如上图所示,发票管理主要分为发票信息的管理以及发票可用余额管理2个部分。
名词解释:发票验真,指的是调用国税局的接口校验发票是否是真实的,验真的时候只取了发票的个别信息。验真通过后,会返回发票的所有信息,可以使用返回的信息与自己系统的信息进行比对,从而保证发票所有信息的正确性。
3、数据表设计
3.1 数据表概览
- 发票表:对应多个发票使用记录表
- 发票使用记录表
3.2 数据表详情
发票表:
分类 | 字段名 | 字段描述 |
唯一标识 | 发票代码 | 3个字段,唯一标识发票 防止不同企业上传同一个 发票的情况 |
发票号码 | ||
归属企业 | ||
基本信息 | 金额 | |
交易双方 | ||
验证码 | ||
验真数据 | 验真结果 | |
验真详情 | ||
验真次数 | ||
操作信息 | 操作人 | |
操作时间 |
发票使用记录表:
分类 | 字段名 | 字段描述 |
唯一标识 | 发票代码 | |
发票号码 | ||
归属企业 | ||
基本信息 | 金额 | |
交易双方 | ||
验证码 | ||
归属 | 归属业务id | |
归属系统 | ||
归属模块标识 | ||
额度占用模式 | 单张/总额 | |
验真数据 | 验真结果 | |
验真详情 | ||
验真次数 | ||
操作信息 | 操作人 | |
操作时间 |
4、接口设计
接口 | 描述 | 表 |
查询发票最新信息 | 根据发票标识查询发票详情 | 发票表 |
查询发票使用记录 | 根据系统标识、模块标识、模块id获取发票使用记录 | 发票使用记录表 |
更新发票信息 | 1、根据系统标识、模块标识、模块id、发票标识判断使用记录是否存在 (1)存在则更新 (2)不存在则创建 (3)发票使用额度:扣减额度按照从小额到大额的顺序进行扣减,就算是单张模式也进行扣减,只是计算可用额度的时候按照0返回即可。 2、根据发票标识获取发票信息 (1)不存在:创建 (2)存在:
| 发票使用记录表 发票表 |
可用余额查询 | 1、根据系统标识查询可用余额 (1)根据发票标识从发票表中查询发票信息:总额度 (2)根据系统标识、发票标识查询发票使用记录 (3)根据发票使用记录对使用额度进行求和 (4)返回:总额度-使用额度 2、不传递系统标识查询可用余额:基本同上,只是第二步查询时不传递系统标识 3、如果额度模式为单张,则只要有使用记录,就返回0 | 发票使用记录表 发票表 |
额度模式切换 | 额度模式的切换只影响使用记录中“额度占用模式”的变更。 | 发票记录表 |