VeriFactu — 电子账单
Pool-Control 生成 VeriFactu 兼容的计费记录:PDF 中的链式 SHA-256 指纹、SOAP XML 和 QR 代码。
实现了什么
| 功能 | 状态 |
|---|---|
| 开具发票时的指纹和链接 | 可用 |
| XML VeriFactu(SOAP 草案) | 可用 |
| PDF 格式的验证 QR | 可用 |
| 从发票详细信息下载 XML | 可用 |
| 参照原始发票进行更正(R1 信用) | 可用 |
| 不变性:不要编辑已开具的发票 | 可用 |
| 公司认证 (.pfx) | 设置 → 公司 → VeriFactu 证书 |
| 发送至 AEAT 预制作 | 租户证明+ALLOW_AEAT_SEND=confirm在服务器上 |
| XAdES 签名 | 待定(批准生产) |
| 真正的 AEAT 生产 | 被阻止(ALLOW_PROD+ XAdES) |
正常流程
- 创建或生成草稿发票。
- 查看数据并按 问题 — 分配号码、指纹和 XML。
- 发票无法编辑(只能通过信用更正)。
- 下载 PDF(带有 QR)或 XML。
- 可选:从详细信息发送 AEAT (PRE)(仅当服务器具有来自义务颁发者的证书时)。
AEAT 运输要求
- 在公司设置中上传义务颁发者的**.pfx/.p12**证书(证书的NIF必须与公司的NIF匹配)。
- 公司名称 = AEAT 人口普查中的名称(必须与证书相符)。
- 软件生产者 NIF 在 SuperAdmin → VeriFactu 中配置(与租户的 NIF 不同)。
- 默认预生产环境(
verifactuProduction = false)。 - 在本地开发中您可以使用
VERIFACTU_CERT_PATH(不在渲染制作中)。 - 在“设置”中上传证书时:您会被告知 AES-256-GCM 加密、AEAT 目的和删除的可能性;详细信息请参阅 politica de privacidad 和公司设置。
自动测试矩阵
| 套房 | 什么是有效的 |
|---|---|
verifactu-hash.test.ts | 足迹 F1/F2/R1 |
verifactu-xml.test.ts | 收件人 XML,链接 |
verifactu-aeat-response.test.ts | 正确/不正确的解析器 |
verifactu-compliance.test.ts | API法律规则(不变性、无VF购买) |
pnpm test:verifactu-xsd | XML 示例(结构/XSD,如果 xmllint) |
RUN_AEAT_INTEGRATION=1 | 实际预发货(可选,无 CI) |
内部测试账户
| 账户 | 子域 | 用途 |
|---|---|---|
| 公开演示 | AquaDemo | 测试人员 — 虚构数据(CIF 演示) |
| VF实验室 | vf-lab | VeriFactu 使用真实的开发人员数据进行测试 - 不是公开演示 |
实验室访问(种子):admin@vf-lab.test/password123重新创建动态实验室数据的命令:
bash
cd packages/server && pnpm seed:vf-lab -- --reset购买和 VeriFactu
ERP 中的供应商发票、收据、向供应商付款以及采购取消/贷项****不会作为 VeriFactu 注册发送到 AEAT。
| 文件 | 来自 Pool-Control 的 VeriFactu? | 原因 |
|---|---|---|
| 销售发票(客户) | 是 - 散列、XML、QR、PRE 发送 | 您是强制发行人 |
| 信用/整改 销售 (R1) | 是的 | 更正您开具的发票 |
| 供应商发票(采购) | 没有 | 它是由您的提供商注册的;您只需邮寄收据 |
| 付款或取消购买 | 没有 | 它不是您发出的帐单的注册记录 |
如果您的供应商对 VeriFactu 有义务,他 将 XML 发送到财政部; Pool-Control 不会取代该批货物。
合法注册与内部审核
| 层 | 什么保留 | 哪里可以看到 |
|---|---|---|
| VeriFactu 注册(强制发行人) | SHA-256 指纹、链接、SOAP XML、AEAT 状态 | 发票开具:技术领域+XML下载 |
| 业务审计 | 谁发布、尝试编辑被阻止的 AEAT PRE 提交 | 设置 → 审核 (SETTINGS_VIEW_LOGS) |
相关审计行动:INVOICE_ISSUED,VERIFACTU_EDIT_BLOCKED,VERIFACTU_AEAT_SEND。
可导出的日志(用于检查的批量 CSV/XML)待定;如今,技术记录包含在每张开具的发票中。
人口普查正式登记之前的 PRE 环境
直到公司注册完毕且 AEAT 人口普查与证书和公司名称匹配为止:
- 仅使用预生产(
verifactuProduction = false, 主持人prewww1)。 - 仅发货
ALLOW_AEAT_SEND=confirm和监督。 - 在租户中验证**
vf-lab**(不是 AquaDemo 公开演示)。 - 不要激活 AEAT 生产或
ALLOW_PROD在渲染中。
当正式注册准备就绪时:“设置”中的租户证书,正确应用程序中的预测试,然后在生产前批准(XAdES)。
纠正≠删除
已开具的发票无法删除。要更正:使用 纠正 → 贷记 (R1) 以及新发票(如果适用)。