发票字段检查器

在发票发出之前 —— 或者在它变成电子发票、被机器拒收之前。把字段粘进来,看看缺了哪些法定必载事项,以及底部那三个数到底对不对得上。

🔒 你的发票不会离开浏览器。

每行一个字段。字段名宽松匹配 ——「Invoice no」「Bill to」「Subtotal」都认得;目前只认英文(和少数德文、法文)写法,中文字段名读不出来。

为什么纸质发票也值得按电子发票的规则查一遍

这里的算术类发现带的是 EN 16931 规则号 —— 正是 Peppol 接入点日后拒收你的发票时会引用的那几条 BR-CO-15、BR-CO-17。增值税不等于应税金额乘以税率的发票,本来就是坏的;电子发票强制推行之后唯一的区别是:指出它的是一台机器,而不是一位会计。

场景决定哪些必载事项是必须的

客户承担欧盟内供应的纳税义务时,客户增值税号是必须的,其他情况下只是有用。本工具根据两个增值税号的前缀推断场景 —— 推不出来时,它会说无法判定场景,而不是假定一个。在这里乱猜,要么凭空造出一项要求,要么藏起一项要求。

零增值税总要有个依据

零金额旁边什么都不写,是欧盟内发票被退回来问询的最常见原因。发票必须说明不收增值税的依据 —— 免税条款,或者 reverse charge(反向征税)字样。

本工具不做什么

它不检查各国的附加要求:好几个成员国在指令之外还要求别的必载事项,与其覆盖一半,我们宁可一个都不覆盖。它不核验增值税号是否已登记(那是 VIES 的事,需要联网调用)。它也不是税务建议。

本工具运行的全部检查(16 条规则,外加 EN 16931 算术)

INV-001 没有发票号码

发票要带一个连续编号,用来唯一识别这张发票。税务机关第一眼找的就是它,之后每一次更正也都要回指它。

修复: 从你自己那条不断号的序列里取号填上。

EUR-Lex 上的欧盟增值税指令 ↗

INV-002 没有开票日期

开票日期本身就是一项法定必载事项,与供货日期是两回事。两者不同时,两个都要写。

EUR-Lex 上的欧盟增值税指令 ↗

INV-003 没有供应方增值税识别号

发票上必须写明供应方据以提供这笔供应的增值税识别号。没有它,客户就不能抵扣这笔增值税 —— 一个格式问题,变成了别人的现金问题。

EUR-Lex 上的欧盟增值税指令 ↗

INV-004 欧盟内 B2B 供应缺客户增值税号

欧盟内部供应由客户承担纳税义务时,客户的增值税识别号是必载事项 —— 它正是反向征税之所以适用的证据。

修复: 向客户要来增值税号写上,开票前先在 VIES 里核验。

EUR-Lex 上的欧盟增值税指令 ↗

INV-005 没有供应方名称和地址

供应方的全称和地址是法定必载事项。

EUR-Lex 上的欧盟增值税指令 ↗

INV-006 没有客户名称和地址

客户的全称和地址是法定必载事项。

EUR-Lex 上的欧盟增值税指令 ↗

INV-007 没有商品或服务的描述

必须写明所供商品的数量与性质,或所提供服务的范围与性质。「Services rendered」(已提供服务)正是审计时最经典的不合格写法。

EUR-Lex 上的欧盟增值税指令 ↗

INV-008 没有供货日期

供货完成的日期与开票日期不同时必须写明。在供货之后的另一个期间才开票,恰恰是它要紧的情形。

EUR-Lex 上的欧盟增值税指令 ↗

INV-009 没有应税金额

按税率分列的应税金额、不含增值税的单价,以及没有计入单价的折扣,都是必载事项。只有一个含税总额满足不了这一条。

EUR-Lex 上的欧盟增值税指令 ↗

INV-010 没有增值税税率

必须写明所适用的增值税税率,适用多个税率时逐一列出。

EUR-Lex 上的欧盟增值税指令 ↗

INV-011 没有增值税税额

除特别计税方案排除的情形外,必须写明应纳增值税税额。客户抵扣的就是这个数,没有它的发票无法抵扣。

EUR-Lex 上的欧盟增值税指令 ↗

INV-012 零税率或免税却没说明依据

不收增值税时,发票必须写明依据 —— 引用适用的条款,或写上「Reverse charge」这类字样。零金额旁边什么都不写,是欧盟内发票被问询的最常见原因。

修复: 补上免税条款的引用;由客户自行计缴税款的,写上「Reverse charge」字样。

EUR-Lex 上的欧盟增值税指令 ↗

INV-013 向另一欧盟成员国的客户收了增值税

向另一成员国已登记增值税的客户做 B2B 供应时,税款通常由客户计缴,发票上不带增值税。这里收了税,要么是出错,要么适用了某条特殊规则 —— 而发票没有说是哪一种。

修复: 要么适用反向征税并写明,要么写明是哪条规则让这笔供应在你所在地应税。

来源: yaktool 的工程解读,不是法条原文:这里列出的必载事项依据的是欧盟增值税指令(2006/112/EC)第 226 条的通行转述;各国法律另有本工具不覆盖的要求。请以你自己的税务顾问意见为准。

INV-014 缺少币种

没有币种的金额不算金额。EN 16931 正是为此把发票币种列为必填的业务术语。

EUR-Lex 上的欧盟增值税指令 ↗

INV-015 供应方或客户的增值税号格式不对

号码不符合其国家前缀对应的长度与字符模式。格式正确的号码仍可能没有登记,但格式错误的号码一定是错的 —— 而这项检查不花任何成本。

修复: 改正号码,发票发出前在 VIES 里核验。

来源: yaktool 的工程解读,不是法条原文:这里列出的必载事项依据的是欧盟增值税指令(2006/112/EC)第 226 条的通行转述;各国法律另有本工具不覆盖的要求。请以你自己的税务顾问意见为准。

INV-016 增值税号没通过所属国家的校验位

格式没错,但号码里内置的校验位与其余部分对不上 —— 德国、荷兰、意大利等好几个成员国的号码里带校验位。这比格式不符的信号更强:几乎可以肯定是打错了,而不只是写法怪。

修复: 照客户自己的文件重新录入号码,再到 VIES 里核验。

来源: yaktool 的工程解读,不是法条原文:这里列出的必载事项依据的是欧盟增值税指令(2006/112/EC)第 226 条的通行转述;各国法律另有本工具不覆盖的要求。请以你自己的税务顾问意见为准。

算术类发现使用官方 Peppol / EN 16931 规则编号,规则原文逐字引自公开发布的规则集。EUR-Lex 拒绝自动化请求,所以它在我们来源注册表里的条目标记为待人工复核,而不是声称已经机器核验过。

关于这些规则。 每一条都有编号、严重级别和通俗解释。每个来源链接都已登记在案,并对线上页面实际复验过,而不是凭印象写上去的. 规则如何编写、测试与保持更新 →