XML well-formed / XSD 校验 / SdI 业务规则:三种校验的区别

一句话结论

XSD 校验通过 ≠ SdI 一定接受。三层校验各自检查不同的东西,本站 Validator 目前只能完整覆盖前两层。

概述

第一层——XML well-formed:只检查 XML 语法本身是否正确(标签是否闭合、字符编码是否有效),不关心内容是否符合 FatturaPA 规范。一个语法正确但节点乱填的文件也能通过这一层。

第二层——XSD 校验:检查节点是否存在、父子关系、类型、长度、枚举值、必填/可重复性是否符合官方 XSD(Schema_VFPR12/VFPA12/VFSM10)。本站 Validator 工具的 Layer 1(XSD Validation)就是这一层,直接基于解析后的官方 XSD 结构实现。

第三层——SdI 业务规则:即使 XML 完全符合 XSD,SdI 还会执行大量官方未完全公开细节的业务规则(如税号校验算法、金额与明细的一致性、字段组合的合法性等)。这一层规则数量庞大且会调整,第三方工具很难做到与 SdI 完全一致。本站 Validator 的 Layer 2(SdI 业务规则)只实现了部分常见、公开可验证的规则(如税号校验位、IBAN 校验、金额勾稽关系),并在结果中明确标注为“非官方模拟”。

结论:本站 Validator 显示“XSD 校验通过”时,只代表通过了第一、二层,不代表 SdI 一定会接受该发票。绿色结果 ≠ SdI 一定成功。请把本工具当作“开发阶段的早期自检”,而不是“官方 SdI 的替代品”。

适用规范: Technical Specification 1.9.1最后核验: 2026-08-09