三类常见增值税发票批量查验实测:字段规则差异与模板填写方案
发票批量查验这件事,坑不在"查验"本身,而在数据准备——不同票种的票面要素规则不一样,字段填错一个,整条查验就失败。最近实测了一款桌面批量查验工具的表格查验模式,把三类主流票种(专用发票、普通发票、全电发票)的字段规则完整摸了一遍,记录如下,供做财务自动化或批量对账的同学参考。
一、测评背景
全国增值税发票查验平台对不同票种的入参要求并不一致:有的票种要校验码,有的不要;全电发票甚至连发票代码字段都取消了;金额字段的口径也分税前和税后两种。
手工单张查验时,照着票面逐项录入,这些差异感知不明显;但一旦走批量,数据源(通常是 Excel 台账)里的字段口径不统一,就成了查验失败率最高的环节。所以批量方案的核心问题其实是数据规范化:把不同票种的票面要素映射到同一张输入模板上。
本次实测对象是 91发票查验助手,它提供单张查验、表格查验、PDF 查验三种模式,批量场景主要看表格查验。下面重点考察它的模板字段设计,以及三类票种在同一模板下的填写规则。
二、模板字段结构:五列的最小必填集
表格查验的输入模板是一张五列的 Excel:A 列发票代码(全电发票不填)、B 列发票号码、C 列发票日期、D 列金额(默认不含税金额,全电发票填含税金额)、E 列校验码后 6 位(标注为"无需提供,需提供时软件会提示")。
两个设计细节值得一提。一是最小必填字段集:多数票种只用到前四列,从台账复制粘贴即可,数据准备成本低。二是列头自文档化——填写规则直接写进了列头备注,不需要另查帮助文档。
E 列"无需提供,需提供时软件会提示"是个防御式设计:校验规则按票种动态切换,遇到必须提供校验码的票种时交互式提示补录,而不是让批量任务跑到一半直接报错退出。对批量任务来说,这种容错策略很关键。
三、三类票种实测
3.1 增值税专用发票:无校验码,按税前金额查验
票面特征:发票代码 10 位、发票号码 8 位,票面上没有校验码字段,是最常见的一类增值税发票。
图 1 增值税专用发票票样:发票代码 10 位、发票号码 8 位、无校验码
模板填法:A 列填 10 位发票代码,B 列填 8 位发票号码,C 列开票日期,D 列填不含税(税前)金额,E 列留空。
图 2 专用发票模板填法:代码 10 位 + 号码 8 位 + 税前金额,校验码列留空
分析:专票的查验入参里没有校验码,金额口径为不含税金额,正好对应模板 D 列的默认口径,填写时不需要任何额外处理,是三类票种里数据准备最简单的一种。
3.2 增值税普通发票:有校验码,校验码后 6 位必填
票面特征:发票代码 12 位、发票号码 8 位,票面右上角带有校验码区域,查验时需要用校验码做校验。
图 3 增值税普通发票票样:票面右上角带校验码
模板填法:A 列填 12 位发票代码,B 列填 8 位发票号码,D 列金额可以留空(填了也不影响查验),E 列必填校验码后 6 位。
图 4 普通发票模板填法:金额列可留空,校验码后 6 位必填
分析:普票的查验逻辑是用校验码替代金额做票面校验,所以金额列降级为可选项。只取校验码后 6 位而非完整校验码,兼顾了录入效率和校验强度——批量场景下少录十几位字符,出错率和工时都会明显下降。
3.3 全电发票(数电票):无发票代码、无校验码,按含税金额查验
票面特征:全面数字化的电子发票(全电发票/数电发票)在票面结构上做了大幅简化,取消了发票代码和校验码两个字段,发票号码改为 20 位。
图 5 全电发票票样:无发票代码、无校验码,发票号码 20 位
模板填法:A、E 两列都留空,B 列填 20 位发票号码,D 列必须填含税金额(价税合计)。注意这一列的口径与前两类完全相反,是批量填数时最容易踩的坑。
图 6 全电发票模板填法:仅填号码、日期与含税金额
分析:全电发票的查验入参结构与传统票种完全不同,金额口径也切换为含税金额。工具在同一列上做口径区分,靠列头备注和票种识别来规避歧义——D 列列头明确写了"全电发票则填含税金额",只要按票种分桶后逐批填写,基本不会出错。
四、字段规则速查表
三类票种的规则差异汇总如下,往模板里映射台账数据时可以直接对照:
票种 | 发票代码 | 发票号码 | 金额口径 | 校验码 |
增值税专用发票 | 10 位,必填 | 8 位 | 不含税(税前)金额 | 无,留空 |
增值税普通发票 | 12 位,必填 | 8 位 | 可留空 | 必填,校验码后 6 位 |
全电发票(数电票) | 无此字段,留空 | 20 位 | 含税(价税合计)金额 | 无,留空 |
从表中能直观看出规律:发票代码的位数、金额口径、校验码有无,三个维度随票种变化。实操上建议先按票种对台账数据分桶,再按各自口径填列,一次批量任务就能把三类票种一起跑完。
查验截图:
五、总结
批量查验的难点本质是"票面要素规则随票种变化"的数据规范化问题。这次实测的工具把票种差异封装成了"同一张模板 + 按票种动态校验"的方案:输入侧用一张五列模板覆盖三类票种,执行侧批量查验并自动归档查验截图,省去了逐张手工录入和逐张截图的工作量。
工具在 www.91fapiao.com.cn 可以下载,表格查验模式,有兴趣的可以拿几条真实数据验证一下文中整理的字段规则。