什么是 NF-e 验证与查询
每张 NF-e(Nota Fiscal Eletrônica)开具时,SEFAZ 都会给它分配一个唯一的 44 位访问钥匙(chave de acesso),格式如 35200114200166000187550010000000071123456789。这串数字编码了开票方 CNPJ、发票号、开票日期、模型等信息,是 NF-e 的"全局身份证号"。
NF-e 验证 API 让您凭这把 44 位钥匙,向 SEFAZ 实时查询:这张发票是真是假?是否被取消?开票方是谁?商品什么?金额多少?事件历史如何?— 5 秒钟内全部拿到。
为什么需要 NF-e 验证
巴西 NF-e 是公开可验真的设计,但只有专业接口能批量、自动化地完成验证。以下场景的"信任成本"决定了您是否需要这个 API:
- 收货核对(最常见):供应商发货时附 NF-e,您要确认这张发票是真的、对得上货物、对得上金额,再签收入库
- 财务对账:月底对账时核验本月所有入账 NF-e 是否真实有效,避免假票冲账
- 稽查防伪:内审、外审、税务稽查时主动验真,比税务局先发现问题
- 反欺诈:识别"修改过的 NF-e"、"已取消的 NF-e 假装有效"、"被克隆的 NF-e 号"
- 客服查询:客户对发票内容有异议,您能立刻拉出官方版本对比
- 跨境清关:海关代理需要先验证 NF-e 真实性再放行
- 金融保理 / 信贷:以发票为抵押融资前,需验真发票确实存在
TF NFE 的 NF-e 验证 API 核心能力
1. 凭 44 位钥匙完整查询
输入 chave de acesso,调用 GET /v1/consulta/nfe/{chave},秒级返回:
- 授权状态:Autorizada(已授权)/ Cancelada(已取消)/ Denegada(已拒绝)/ Inexistente(不存在)
- 开票方:CNPJ、Razão Social、Inscrição Estadual、地址
- 收票方:CNPJ 或 CPF、名称、地址
- 商品明细:每行商品的 NCM、CFOP、数量、单价、总价、各项税额
- 税额汇总:ICMS、IPI、PIS、COFINS 总额,含税总价
- 开票日期与编号、SEFAZ 授权号(protocolo)、授权时间
- 事件历史:所有 Carta de Correção、取消、Manifestação 收货确认事件
2. 简化版 / 完整版 两种返回模式
简化版(Resumo):只返回真伪状态 + 开票方与收票方主信息 + 总金额。响应快、单价低,适合"我只想知道这张票真不真"的场景。
完整版(Completo):返回 NF-e 完整 XML 解析后的所有字段,含商品明细与事件历史。适合归档、对账、深度核验。
3. QR Code 解码与验真
NF-e 的 DANFE 上有 QR Code。手机扫码或上传图片,TF NFE 自动解码出 44 位钥匙并完成验真,免去手工录入 44 位长串数字的麻烦。
4. 批量验证
一次提交 100~1000 张钥匙列表,异步返回全部结果。月底对账、定期稽查都适用。
5. 实时 SEFAZ + 智能缓存
对"非高敏"场景默认 24 小时缓存(已授权的 NF-e 信息基本不变),节省调用成本。对"高敏"场景(如金融融资)可强制实时穿透查询。
6. 异常状态主动告警
如果您订阅了某些重点 NF-e,TF NFE 会持续监控其状态。一旦发现"被取消"、"被拒绝"、"出现 Carta de Correção",立即 Webhook 推送告警,避免您按已失效的发票走错业务。
典型应用场景
- 仓库 WMS 收货校验:扫描随货 NF-e 的 QR Code,自动验真 + 比对货物 → 通过才入库
- 财务月度对账:把本月所有入账 NF-e 批量验证,自动标出"已取消"或"金额不符"
- 电商风控:客户上传 NF-e 申请退款 / 售后时核验真伪
- 跨境物流清关:报关前核验出库 NF-e 是有效状态
- 金融保理:以 NF-e 应收账款为抵押放款前,验证发票真实存在
- 稽查自查:年终内审时批量校验全年开出去的 NF-e 状态
常见问题
Q:我没有 44 位钥匙,只有发票号怎么办?
TF NFE 提供"按发票号 + 开票方 CNPJ + 模型 + 序列"组合查询接口,从这些字段拼出 chave de acesso 后再查询。
Q:能查询其他公司开的 NF-e 吗(不是我开的)?
可以。NF-e 验证接口是公开 API(每个人都能验真),不局限于自己开的。这也是为什么 SEFAZ 把 QR Code 印在每张 DANFE 上 — 任何人扫码都能验真。
Q:与官网验真页面有什么区别?
官网(NF-e Portal Nacional)只能逐张人工查询,且 IP 有限流。TF NFE 通过授权通道提供 API,支持批量、自动化、缓存。
Q:响应时间多长?
简化版平均 800ms(缓存命中 < 100ms),完整版平均 2-3 秒。批量异步模式整体吞吐 50+ TPS。
Q:NF-e 是 "Cancelada" 是什么意思?是被作废了吗?
是。Cancelada 表示开票方在 24 小时内通过 SEFAZ 取消了这张发票。该 NF-e 不再具有法律效力。收到状态为 Cancelada 的 NF-e 应拒绝入账。
相关解决方案