SdI 从 XML 到最终状态的完整生命周期

一句话结论

业务数据 → 生成 XML → well-formed 检查 → XSD 校验 → SdI 业务规则校验 → 发送 → 送达或 Scarto/无法送达等结果。

概述

1. 业务数据生成:ERP/POS/SaaS 从订单、库存、客户资料等业务数据组装出发票所需的字段。

2. 生成 FatturaPA XML:把业务数据映射为符合 FatturaPA XSD 结构的 XML 文件。

3. XML well-formed 检查:确认 XML 语法本身正确(标签闭合、编码有效),这是最基础的一层,与业务规则无关。

4. XSD Schema 校验:检查节点是否存在、类型、长度、枚举值、必填字段等是否符合官方 XSD(Layer 1,本站 Validator 工具已实现)。

5. SdI 业务规则校验:即使 XSD 校验通过,SdI 还会执行大量业务层面的规则(如税号校验、金额一致性、字段组合逻辑),这一层通常无法被第三方工具完全复刻(Layer 2,本站已对部分常见规则做了模拟实现,且明确标注为“非官方”)。

6. 发送至 SdI:通过持有资质的中介或直连 SdI 提交文件。

7. SdI processing 与结果分支:校验失败 → Scarto(拒收通知,附带错误代码),文件在法律上视为“从未发送”,需要修正后重新发送;校验通过但无法送达客户渠道(如客户软件系统临时不可用)→ Mancata consegna(无法送达)通知,SdI 会将发票保留在客户的“Fatture e Corrispettivi”门户供其查阅,同时通常仍视为已履行开票义务;校验通过且成功送达 → Ricevuta di consegna(送达回执)。向 PA 开票还会有额外的 Notifica di esito(PA 接受/拒绝)阶段。

8. ERP/POS/SaaS 应如何保存状态:建议至少持久化每张发票的 SdI 识别信息(如传输 ID)、当前状态(发送中/送达/Scarto/无法送达等)、每次状态变更的时间戳与原始通知报文,便于审计和排查问题。

9. Scarto 后能否复用相同编号:收到 Scarto 后,发票在法律上视为未发送,实践中通常可以修正错误后使用相同的发票编号重新发送(具体时限请核对官方规范,本站不在此给出可能过时的具体天数)。

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