NF-e Nota Fiscal de Brasil
Extracción de XML a Excel
El documento impreso que tienes en tu escritorio — el DANFE — contiene menos del 10% de los datos de la NF-e de tu proveedor. Cada cálculo de impuestos por línea, cada código fiscal CFOP, cada clasificación de producto NCM y el desglose completo de PIS/COFINS que determina tus créditos fiscales de entrada: nada de eso aparece en esa página. La factura completa es el archivo XML que tu proveedor brasileño ya generó, y contiene más de 500 campos estructurados por los que estás pagando pero no utilizando.
Puntos Clave
- El DANFE que tu equipo de cuentas por pagar ingresa manualmente en Excel fue diseñado para que la policía de carreteras escanee códigos de barras durante el transporte de carga, no para contabilidad — omite el 90% de los datos de tu factura, incluido cada desglose de impuestos por línea que determina tu recuperación de créditos de ICMS (impuesto estatal sobre ventas) y PIS/COFINS (contribución social federal).
- La factura completa — un XML NF-e (Nota Fiscal Eletrônica, el formato de factura electrónica de Brasil) con más de 500 campos legibles por máquina — ya existe para cada transacción porque la ley brasileña exige que tu proveedor la firme digitalmente y la envíe a SEFAZ, la autoridad fiscal estatal, antes de que los bienes puedan salir legalmente del almacén.
- No necesitas un módulo de localización ERP brasileño — introduce el XML NF-e o el DANFE en ImageToTable.ai, define las columnas que necesitas una vez, y obtén cada detalle fiscal, incluidos CFOP (códigos de operación fiscal), NCM (clasificaciones de productos) y montos de ICMS en Excel sin escribir una sola consulta XPath.
La trampa del DANFE: por qué la mayoría de los equipos de cuentas por pagar internacionales procesan el documento equivocado
Cuando un envío llega de un proveedor brasileño, el conductor entrega un documento impreso con un código de barras y un número de 44 dígitos en la esquina superior derecha. Este es el DANFE — Documento Auxiliar da Nota Fiscal Eletrônica — y la palabra "auxiliar" en su nombre no es decorativa. Existe con un único propósito: acompañar los bienes físicos durante el transporte para que las autoridades fiscales en los puestos de control de carreteras puedan escanear el código de barras y verificar el envío. Nunca fue diseñado para ser una factura completa.
Sin embargo, para la gran mayoría de los equipos de cuentas por pagar internacionales que reciben productos brasileños, el DANFE es la factura. Se escanea, se procesa con OCR o se ingresa manualmente en el ERP. La clave de acceso de 44 dígitos se copia — diligentemente, los 44 dígitos — en un campo etiquetado como "Número de Factura". Y luego el auxiliar de cuentas por pagar pasa al siguiente documento, sin saber que para cada proveedor, para cada envío, la factura completa ya existe en un formato XML legible por máquina que el gobierno brasileño exige que el vendedor genere, firme digitalmente con un certificado ICP-Brasil y envíe a SEFAZ (la autoridad tributaria estatal) antes de que los bienes puedan salir legalmente del almacén.
La magnitud de la pérdida de datos no es marginal. El DANFE imprime un resumen condensado — nombre del proveedor, nombre del comprador, fecha, líneas de artículos con cantidades y precios unitarios, y un total general. El XML de la NF-e, gobernado por más de 400 reglas de validación automatizadas ejecutadas por SEFAZ en el momento de la autorización, contiene más de 500 etiquetas estructuradas bajo la versión actual del layout 4.0, definida por la Nota Técnica 2016/002. La diferencia entre los dos documentos es la diferencia entre un comprobante de pago y el registro fiscal completo de una transacción — uno que determina sus créditos fiscales de entrada, su conciliación aduanera y su pista de auditoría durante los próximos cinco años.
La distinción entre DANFE y XML no es un tecnicismo menor. Es el concepto más importante para cualquier departamento de cuentas por pagar que maneje facturas de proveedores brasileños, y tiene una consecuencia financiera directa: si su equipo ingresa datos desde el DANFE, está reingresando manualmente una fracción de la información que ya existe en forma estructurada y legible por máquina — y perdiendo los detalles fiscales que determinan si está recuperando el monto correcto de ICMS, IPI, PIS y COFINS en cada transacción.
Qué contiene un XML de NF-e — y por qué importa para AP
Un XML de NF-e no es solo una factura en formato de etiquetas. Es un documento fiscal legalmente autoritativo que lleva la firma digital del vendedor, ha sido validado contra más de 400 reglas de SEFAZ y almacena datos tributarios con una granularidad que supera cualquier estándar de facturación electrónica fuera de Brasil. En comparación, el estándar europeo Peppol BIS utiliza aproximadamente 100 elementos. Una NF-e contiene cinco veces esa cantidad — y cada elemento es legible por máquina.
Antes de diseñar un flujo de extracción, debes entender qué estás extrayendo. Estos son los grupos de elementos principales dentro de cada XML de NF-e y por qué cada uno importa para cuentas por pagar:
| Grupo de Elementos XML | Qué Contiene | Por Qué AP lo Necesita |
|---|---|---|
<ide> (Identificación) | Clave de acceso de 44 dígitos, modelo del documento (55=NF-e), serie, número, fecha/hora de emisión, tipo de emisión, protocolo de autorización SEFAZ | Identifica de forma única cada NF-e a nivel global. El número de protocolo confirma la autorización de SEFAZ. Use la clave de acceso para verificar la autenticidad en cualquier momento. |
<emit> (Emisor) | CNPJ (identificación fiscal corporativa de 14 dígitos), nombre legal, nombre comercial, dirección completa con código IBGE del municipio, inscripción estatal (Inscrição Estadual) | El CNPJ es la clave maestra del proveedor: coincide con sus registros de proveedores. La inscripción estatal determina qué jurisdicción de SEFAZ posee la transacción. |
<dest> (Destinatario) | Su CNPJ o CPF, nombre legal, dirección, inscripción estatal, ISUF (indicador de sustitución tributaria) | Verifica que la factura se emitió a su entidad brasileña correcta. Es crítico para la elegibilidad del crédito fiscal. |
<det> (Ítems de Línea) | Código del producto, descripción, NCM (clasificación Mercosur de 8 dígitos), CFOP (código de operación fiscal de 4 dígitos), cantidad, precio unitario, total de línea | Cada ítem de línea tiene su propio NCM y CFOP: dos códigos que determinan las tasas impositivas aplicables y la elegibilidad del crédito. Estos no aparecen en el DANFE. |
<imposto> (Impuestos) | ICMS (base imponible, tasa, monto, código de situación tributaria CST, origen), IPI (base, tasa, monto, CST), PIS (base, tasa, monto, CST), COFINS (base, tasa, monto, CST) | El cálculo fiscal completo a nivel de ítem de línea. Las tasas de ICMS varían según el estado de origen y destino (4%, 7% o 12% interestatal; 17%-22% interno). PIS/COFINS determinan los créditos fiscales federales. Nada de esto aparece en el DANFE. |
<total> (Totales) | Total ICMS, total ICMS-ST (sustitución tributaria), total IPI, total PIS, total COFINS, flete, seguro, descuentos, total neto de la NF-e | Desglose columna por columna de todos los agregados fiscales. Concilie con sus cuentas fiscales de ERP. |
<transp> (Transporte) | CNPJ del transportista, modo de flete, placas del vehículo, volumen y peso del envío | Conciliación a tres bandas con los registros logísticos. Los montos de flete afectan la base imponible del ICMS. |
<cobr> (Cobranza) | Condiciones de pago, fechas y montos de las cuotas, datos bancarios | Programación de AP. Las facturas brasileñas suelen tener estructuras de pago en múltiples cuotas (duplicatas). |
La chave de acesso de 44 dígitos es el identificador universal de la NF-e. Codifica el estado del emisor (primeros 2 dígitos, según código IBGE — 35 para São Paulo, 33 para Río de Janeiro, 31 para Minas Gerais), el año-mes de emisión (siguientes 4), el CNPJ del emisor (siguientes 14), el modelo del documento (2), la serie (3), el número secuencial (9), el tipo de emisión (1), un código aleatorio anticolisión (8) y un dígito verificador módulo 11 (1). Todo XML de NF-e lleva esta clave en su atributo <infNFe Id="NFe...>, y puedes usarla para consultar directamente a SEFAZ, verificar autenticidad, comprobar cancelaciones o descargar el XML completo si tu proveedor solo envió el DANFE.
El DANFE no es la factura. El XML lo es. La ley tributaria brasileña exige archivar el XML firmado por un mínimo de cinco años como el registro legalmente autoritativo de la transacción. El DANFE — impreso en papel común, sin firma, con una fracción de los datos — existe solo para cumplir con el requisito de inspección física durante el transporte de mercancías. Si tu equipo de Cuentas por Pagar registra asientos desde el DANFE, estás construyendo tu pista de auditoría sobre un documento que la ley tributaria brasileña considera complementario.
Configuración de tu Flujo de Extracción de XML de NF-e
Existen tres enfoques distintos para obtener datos de XML de NF-e en una hoja de cálculo de Excel, y se sitúan en puntos muy diferentes del espectro costo-complejidad. Cuál te conviene depende de tu volumen, tu configuración de ERP y si tu filial brasileña ya ejecuta un módulo de localización.
Método 1: Módulo de Importación del ERP (SAP TDF, Oracle EBS Brazil, Dynamics 365 Finance)
Si tu empresa opera SAP, Oracle EBS o Microsoft Dynamics 365 con el módulo de localización de Brasil activado, el propio ERP puede importar archivos XML de NF-e directamente. El TDF de SAP (módulo Nota Fiscal) procesa los XML de NF-e entrantes mediante la transacción J1BNFE, mapeando cada elemento XML a la tabla SAP correspondiente. La localización de Brasil de Oracle EBS (disponible en 12.2.6+) utiliza el programa XML Generator SEFAZ (P76B601) para las importaciones. Dynamics 365 Finance proporciona un flujo de trabajo de importación dedicado en Cuentas por Pagar > Localización de Brasil > Importar XML de NF-e.
Este es el estándar de oro: valida contra SEFAZ en tiempo real, contabiliza en las cuentas fiscales correctas y maneja la conciliación de tres vías automáticamente. También tiene un precio. Los módulos de localización de Brasil de SAP y Oracle son costos de licencia separados, y TOTVS — el ERP dominante entre las empresas brasileñas de mercado medio con un 33% de participación de mercado según la encuesta más reciente de la Fundação Getúlio Vargas (FGV) — está completamente enfocado en Brasil y es poco común fuera del país. Si tu equipo global de Cuentas por Pagar no tiene una localización de ERP brasileña, este enfoque no está disponible para ti.
Método 2: Conversión de XML a Excel
En su nivel más básico, un XML de NF-e es un archivo XML, y cualquier archivo XML puede convertirse a formato de hoja de cálculo. Herramientas como la importación XML integrada de Microsoft Excel (Datos > Obtener datos > Desde archivo > Desde XML), convertidores en línea o scripts de Python con bibliotecas como xml.etree.ElementTree pueden aplanar la estructura XML en filas y columnas.
El problema con la conversión XML genérica es la profundidad del esquema de la NF-e. Un solo XML de NF-e anida datos de ítems dentro de elementos <det>, cada uno con su propio subárbol <imposto> que contiene grupos separados de ICMS, IPI, PIS y COFINS. Una conversión ingenua de XML a CSV lo aplanará en una sola fila con cientos de columnas, muchas con nombres idénticos (cada ítem tiene un campo vProd, cada grupo de impuestos tiene un campo vBC). El resultado está técnicamente "en Excel", pero no es utilizable sin una limpieza considerable.
Con xml.etree o lxml de Python y consultas XPath explícitas, tienes control preciso: extraes exactamente los elementos que necesitas y los asignas a columnas con nombre. Esto funciona bien si tienes recursos de desarrollo disponibles, pero requiere mantener asignaciones XPath que se rompen cada vez que se actualiza el esquema de la NF-e. Con la reforma tributaria de 2026 que añade nuevos grupos de elementos CBS/IBS al esquema (ver más abajo), esas asignaciones necesitarán actualización.
Método 3: Extracción de documentos con IA
Un tercer enfoque — que evita tanto el costo de la localización ERP como la fragilidad de los scripts XPath — es la extracción de documentos basada en IA. En lugar de analizar XML directamente, subes el DANFE (o el XML de NF-e renderizado como PDF por el sistema de tu proveedor) a una herramienta de extracción, especificas qué columnas quieres en la tabla de salida — "CNPJ", "Número de Factura", "Base ICMS", "Valor ICMS", "Código NCM", "CFOP" — y la IA lee el documento para localizar cada valor, sin importar dónde aparezca en la página.
Este enfoque — a veces llamado Extracción de Columnas Personalizadas — funciona de manera diferente al OCR basado en plantillas. El OCR tradicional requiere definir una plantilla para el diseño de factura de cada proveedor, indicando al sistema "el número de factura siempre está en las coordenadas (x,y)". Si el diseño cambia, la plantilla se rompe. La extracción basada en columnas, en cambio, funciona mediante comprensión semántica: nombras los campos que deseas y la IA localiza los valores correspondientes en cualquier parte del documento al entender lo que el campo significa, no dónde está ubicado. Esto es particularmente relevante para el procesamiento de NF-e porque los diseños de DANFE de los proveedores brasileños varían ampliamente — no existe una plantilla visual estandarizada, solo el esquema XML estandarizado subyacente.
La limitación, y es honesta, es que aún estás extrayendo del diseño visual del DANFE en lugar del XML legible por máquina. Obtienes el 10% de los datos que muestra el DANFE, no los 500+ campos del XML. Para muchos casos de uso de cuentas por pagar — datos de cabecera, ítems, totales — esto es suficiente y dramáticamente más rápido que la entrada manual. Pero si necesitas los cálculos completos de PIS/COFINS por línea, códigos CFOP o códigos de situación tributaria CST que solo existen en el XML, la extracción con IA del DANFE no puede recuperar datos que no están impresos en la página.
| Método | Qué Puedes Extraer | Nivel de Costo | Esfuerzo de Configuración | Mantenimiento Continuo |
|---|---|---|---|---|
| Módulo de Importación ERP | 100% de los campos XML — detalle fiscal completo, CFOP, NCM, CST, transporte, facturación | Empresarial (licencia + implementación) | Alto — requiere despliegue de módulo de localización | Moderado — actualizaciones de esquema en versiones del ERP |
| XML a Excel (Script/Convertidor) | 100% de los campos XML — cualquier elemento con XPath | Bajo (tiempo de desarrollo o herramientas gratuitas) | Medio — requiere mapeo XPath y familiaridad con el esquema | Alto — las consultas XPath fallan con cambios de esquema; los campos CBS/IBS 2026 requerirán reescritura |
| Extracción por IA desde DANFE | Todo lo impreso en el DANFE (10% de los datos XML): encabezado, ítems, totales, clave de acceso | Bajo (por documento o suscripción) | Bajo — define nombres de columnas, sube documentos | Mínimo — sin plantillas que mantener; cambios de diseño los maneja la IA |
| Ingreso Manual de Datos | Lo que el auxiliar de cuentas por pagar tenga tiempo de escribir | Oculto — 3 min/página a costo de personal, ~18x más lento que extracción automatizada | Ninguno | La tasa de error se acumula con el volumen |
Mapeo de Campos NF-e a tu Hoja de Cálculo: Qué Extraer y Por Qué
Ya sea que escribas consultas XPath para analizar XML o definas nombres de columnas para extracción por IA, las columnas que elijas determinan la utilidad del resultado. Aquí tienes un mapeo práctico de campos que cubre los tres flujos de trabajo principales de cuentas por pagar — verificación de proveedores, conciliación a tres bandas y registro de créditos fiscales — usando las rutas reales de los elementos XML.
| Columna de tu Hoja de Cálculo | Elemento XML NF-e (XPath) | Usado Para |
|---|---|---|
| Número da Nota Fiscal | /nfeProc/NFe/infNFe/ide/nNF | Identificação do documento |
| Chave de Acesso | /nfeProc/NFe/infNFe/@Id (extrair os 44 dígitos após "NFe") | Verificação SEFAZ, consulta de cancelamento, recuperação de XML |
| Data de Emissão | /nfeProc/NFe/infNFe/ide/dhEmi (datetime ISO 8601, converter para data local) | Data de lançamento, cálculo de prazo de pagamento |
| Data de Autorização | /nfeProc/NFe/infNFe/ide/dhSaiEnt | Mercadoria efetivamente enviada — SEFAZ autorizou antes deste timestamp |
| CNPJ do Fornecedor | /nfeProc/NFe/infNFe/emit/CNPJ | Correspondência com cadastro de fornecedor (chave de 14 dígitos, sem formatação) |
| Nome do Fornecedor | /nfeProc/NFe/infNFe/emit/xNome | Verificação do fornecedor |
| IE Estadual do Fornecedor | /nfeProc/NFe/infNFe/emit/IE | Inscrição estadual — determina a jurisdição do ICMS |
| NCM do Item | /nfeProc/NFe/infNFe/det[n]/prod/NCM | Classificação do produto — valida alíquota de IPI e aplicabilidade de imposto de importação |
| CFOP do Item | /nfeProc/NFe/infNFe/det[n]/prod/CFOP | Tipo de operação fiscal — determina tratamento tributário e elegibilidade de crédito |
| Descrição do Item | /nfeProc/NFe/infNFe/det[n]/prod/xProd | Correspondência com o pedido de compra |
| Quantidade | /nfeProc/NFe/infNFe/det[n]/prod/qCom | Conciliação do recebimento de mercadorias |
| Preço Unitário | /nfeProc/NFe/infNFe/det[n]/prod/vUnCom | Correspondência de preço com o pedido de compra |
| Total do Item | /nfeProc/NFe/infNFe/det[n]/prod/vProd | Verificação do valor em nível de item |
| Base de Cálculo do ICMS | /nfeProc/NFe/infNFe/det[n]/imposto/ICMS/*/vBC (varia por subgrupo ICMS) | Cálculo do crédito tributário — deve corresponder à alíquota de ICMS para o par de estados de origem e destino |
| Alíquota do ICMS | /nfeProc/NFe/infNFe/det[n]/imposto/ICMS/*/pICMS | Validar contra a alíquota estadual correta (12% interestadual Sul/Sudeste, 7% para outras regiões, 4% para importações; 17%-22% interna) |
| Valor do ICMS | /nfeProc/NFe/infNFe/det[n]/imposto/ICMS/*/vICMS | Crédito real de ICMS a contabilizar |
| CST do ICMS | /nfeProc/NFe/infNFe/det[n]/imposto/ICMS/*/CST | Situação tributária — 00=tributado, 40=isento, 60=tributado anteriormente, etc. |
| Valor do IPI | /nfeProc/NFe/infNFe/det[n]/imposto/IPI/*/vIPI | Imposto federal — recuperável como crédito por estabelecimentos industriais |
| Valor PIS | /nfeProc/NFe/infNFe/det[n]/imposto/PIS/*/vPIS | Contribución social federal — tasa no acumulativa del 1,65% |
| Valor COFINS | /nfeProc/NFe/infNFe/det[n]/imposto/COFINS/*/vCOFINS | Contribución social federal — tasa no acumulativa del 7,6%, mayor impuesto federal |
| Total de la Factura | /nfeProc/NFe/infNFe/total/ICMSTot/vNF | Valor neto de la factura — el monto a pagar |
Un detalle crítico: la ruta del elemento ICMS depende de la situación fiscal. El esquema NF-e usa diferentes subgrupos XML para distintos regímenes de ICMS — ICMS00 para operaciones tributadas estándar, ICMS40 para exentas, ICMS60 para previamente tributadas con sustitución tributaria. Tu lógica de extracción debe navegar esta estructura ramificada: verifica qué subgrupo existe bajo <ICMS> antes de intentar leer sus hijos.
Cómo manejar la complejidad tributaria de Brasil en datos extraídos
Extraer los datos es el primer paso. Validarlos es donde comienza el verdadero trabajo — y donde se originan la mayoría de los errores que surgen durante una auditoría fiscal. El sistema tributario brasileño opera en tres niveles de gobierno (federal, estatal, municipal) con alícuotas que varían según la clasificación del producto, el par origen-destino y la naturaleza jurídica de la operación. Estas son las validaciones que deberían formar parte de cualquier flujo de extracción de datos de NF-e:
Validación de alícuota de ICMS por par de estados
Las alícuotas de ICMS no son uniformes. Para transacciones interestatales, la tasa se determina por los estados de origen y destino:
| Desde (Región de origen) | Hasta (Región de destino) | Alícuota interestatal de ICMS |
|---|---|---|
| Sur y Sudeste (SP, RJ, MG, RS, SC, PR, ES) | Sur y Sudeste | 12% |
| Sur y Sudeste | Norte, Nordeste, Centro-Oeste + Espírito Santo | 7% |
| Norte, Nordeste, Centro-Oeste | Cualquier estado | 12% |
| Cualquier estado (bienes importados con >40% de contenido extranjero) | Cualquier estado | 4% |
Para transacciones internas (dentro del mismo estado), las alícuotas varían del 17% al 22% según el estado. A partir de 2024, Pernambuco cobra 20,5%, Bahía 20,5%, Maranhão 22%, Río de Janeiro 20%, São Paulo 18%, Santa Catarina 17%. Estas tasas cambiaron para 11 estados solo en 2024 — la alícuota de Bahía subió del 19% al 20,5% el 7 de febrero, Maranhão del 20% al 22% el 19 de febrero — y su lógica de validación de extracción debe mantenerse actualizada con la tabla de alícuotas de cada estado brasileño del que reciba facturas.
Interpretación del CFOP
El CFOP (Código Fiscal de Operações e Prestações) es un código de 4 dígitos que clasifica la naturaleza fiscal de la transacción. Lo define SEFAZ — no es texto libre — y el primer dígito indica si la operación es de entrada o salida y el estado de origen de los bienes:
| Prefijo CFOP | Significado | Ejemplo |
|---|---|---|
| 1xxx | Entrada — dentro del estado | 1101 = Compra para industrialización (mismo estado) |
| 2xxx | Entrada — de otro estado | 2101 = Compra para industrialización (interestatal) |
| 3xxx | Entrada — del exterior (importación) | 3101 = Importación para industrialización |
| 5xxx | Salida — dentro del estado | 5101 = Venta de bienes producidos/ensamblados por la empresa (mismo estado) |
| 6xxx | Salida — a otro estado | 6101 = Venta de bienes producidos/ensamblados (interestatal) |
| 7xxx | Salida — al exterior (exportación) | 7101 = Exportación de bienes producidos/ensamblados |
Para el destinatario, el CFOP en una factura de entrada (1xxx, 2xxx o 3xxx) determina si hay créditos de ICMS e IPI disponibles y bajo qué reglas. Un CFOP 1101 (compra en el mismo estado para industrialización) normalmente da derecho al crédito total de ICMS a la tasa interna. Un CFOP 1102 (compra en el mismo estado para reventa) puede tener un tratamiento diferente. Y esto interactúa con el CST (Código de Situação Tributária) — el código de 2 dígitos que especifica si el ítem está gravado (00), exento (40), sujeto a sustitución tributaria (60) o bajo un régimen especial. El CFOP indica qué tipo de operación es; el CST indica cómo se grava. Ambos deben extraerse y validarse de forma cruzada.
Clasificación NCM y sus efectos posteriores
El NCM (Nomenclatura Comum do Mercosul) es un código de 8 dígitos basado en el Sistema Armonizado internacional con dos dígitos adicionales específicos del Mercosur. Aparece en cada línea del ítem y determina la tasa de IPI para ese producto (publicada en la tabla TIPI, un PDF de más de 400 páginas actualizado por la Receita Federal), cualquier tasa de impuesto de importación y, fundamentalmente, si el producto califica para beneficios fiscales (tasas reducidas, créditos presuntos o exenciones) que anulan el cálculo impositivo estándar.
Un código NCM que cae bajo un régimen de beneficio fiscal significa que la tasa estándar de ICMS o IPI mostrada en la factura puede no ser la que usted contabilice como crédito. Su flujo de extracción debe marcar cualquier línea cuyo NCM coincida con categorías de beneficio conocidas para que su equipo fiscal verifique el cálculo del crédito, no solo asuma que la tasa bruta es correcta.
La Reforma Tributaria de 2026 y lo que significa para su flujo de extracción
La reforma tributaria de Brasil — promulgada mediante la Enmienda Constitucional 132/2023 y regulada por la Ley Complementaria 214/2025 — está reestructurando fundamentalmente el sistema de impuestos indirectos del país. Cinco impuestos existentes (PIS, COFINS, ICMS, ISS e IPI) están siendo reemplazados gradualmente por un modelo de IVA dual: CBS (Contribuição sobre Bens e Serviços) a nivel federal e IBS (Imposto sobre Bens e Serviços) a nivel estatal y municipal, más un Impuesto Selectivo (IS) sobre bienes considerados nocivos para la salud o el medio ambiente.
El cronograma de transición es:
| Año | Qué sucede | Impacto en la extracción de NF-e |
|---|---|---|
| 2026 | Fase de prueba: CBS al 0,9%, IBS al 0,1% mostrados en facturas pero no cobrados. Aparecen campos tributarios antiguos y nuevos en el XML. | El esquema NF-e se expande con nuevos grupos de elementos <CBS> e <IBS> junto a los grupos existentes <ICMS>, <PIS>, <COFINS>. La lógica de extracción debe manejar esquemas duales. |
| 2027 | Comienza la recaudación de CBS, reemplazando a PIS y COFINS. Las tasas de IPI comienzan a reducirse gradualmente. | La extracción debe distinguir qué campos tributarios son fiscales (impacto monetario real) vs. informativos (campos heredados aún presentes). |
| 2029 | El IBS comienza a implementarse gradualmente, reemplazando a ICMS e ISS estado por estado. Régimen dual: algunos estados bajo ICMS heredado, otros bajo IBS. | El problema de variación de tasas estatales se intensifica — una factura puede tener ICMS, otra IBS, dependiendo del estado de transición del vendedor. |
| 2033 | Implementación completa: ICMS, ISS, PIS, COFINS e IPI quedan abolidos. Solo permanecen CBS, IBS e Impuesto Selectivo. | El esquema XML se estabiliza. Los mapeos de extracción pueden consolidarse al conjunto final de campos. |
La preocupación operativa inmediata para los equipos de AP es el período de doble esquema de 2026 a 2033. Durante estos años, los archivos XML de NF-e incluirán simultáneamente grupos de elementos tributarios tanto heredados como nuevos. Un flujo de extracción que codifique de forma fija las asignaciones de campos al esquema anterior a 2026 (leyendo solo vICMS, vPIS, vCOFINS) ignorará silenciosamente los nuevos campos CBS/IBS. Esto no es un problema futuro: comienza ahora. A partir del 1 de agosto de 2026, los XML de NF-e enviados sin los campos CBS/IBS serán rechazados por SEFAZ. El cambio de esquema es obligatorio, no opcional.
Si está escribiendo scripts de análisis XML, planifique la bifurcación del esquema: detecte qué grupos tributarios existen en el documento, extraiga los que estén presentes y normalícelos en un conjunto de columnas de salida coherente. Si utiliza extracción basada en IA desde el DANFE, verifique con su proveedor si los campos CBS/IBS serán reconocidos cuando comiencen a aparecer en la representación impresa.
Preguntas Frecuentes
¿Puedo obtener todos los datos XML solo del DANFE?
No. El DANFE es un resumen impreso que omite más del 90% de los datos del XML. Fue diseñado para inspección física durante el transporte, no para procesamiento financiero. Los desgloses tributarios completos, códigos CFOP, clasificaciones NCM, códigos de situación tributaria CST y detalles de transporte existen solo en el XML. Si su proveedor solo envió el DANFE, solicítele el XML; están legalmente obligados a proporcionarlo, y también puede recuperarlo de SEFAZ usando la clave de acceso de 44 dígitos impresa en el DANFE.
¿Cómo sé qué tasa de ICMS aplica a una factura específica?
La tasa de ICMS en una NF-e se determina por el estado de origen (extraído del registro estatal del emisor en <emit>), el estado de destino (el estado de su entidad en <dest>), y si los bienes contienen más del 40% de contenido importado (lo que activa la tasa del 4% independientemente del par de estados). El XML en sí mismo contiene la tasa aplicada por el vendedor en pICMS, pero debe validarla contra la tabla de tasas correcta en lugar de asumir que el vendedor la aplicó correctamente; los errores de tasa son un hallazgo común en auditorías.
¿La IA puede interpretar automáticamente los códigos CFOP correctamente?
Los códigos CFOP se extraen tal cual del documento — el código de 4 dígitos aparece en el DANFE y en el XML. Que la herramienta pueda interpretar el código (p. ej., identificarlo como "compra dentro del estado para reventa" vs. "compra interestatal para industrialización") depende de sus capacidades. Algunas herramientas de extracción con IA pueden mapear códigos CFOP a sus descripciones usando una tabla de referencia. Si la interpretación es crítica para su flujo de trabajo, verifique con su proveedor si la herramienta soporta el mapeo CFOP, o mantenga una tabla de búsqueda separada en Excel para decodificar los códigos extraídos.
Nuestra empresa no tiene una localización brasileña de ERP. ¿Podemos extraer datos de NF-e igualmente?
Sí. El XML en sí es un archivo de formato estándar que cualquier empresa con el archivo XML puede analizar. No necesita SAP TDF ni la localización Oracle de Brasil para leerlo. Scripts en Python, convertidores online de XML a Excel o herramientas de extracción con IA pueden obtener los datos en una hoja de cálculo. El módulo de localización del ERP añade integración (contabilización automática, validación SEFAZ, mapeo de cuentas fiscales), pero no es necesario para la extracción.
¿La extracción de NF-e cubre los requisitos de reporte SPED?
No. SPED (Sistema Público de Escrituração Digital) es el sistema de contabilidad digital de Brasil que requiere declaraciones separadas — EFD-ICMS/IPI para impuestos estatales, EFD-Contribuições para PIS/COFINS y ECD para libros contables digitales. La extracción de NF-e obtiene los datos de la factura en Excel; no genera archivos compatibles con SPED. Las declaraciones SPED requieren mapear los datos extraídos a los códigos de diseño específicos de SPED y enviarlos mediante software validado por el gobierno — un flujo de trabajo separado gestionado por su equipo contable brasileño o su proveedor de cumplimiento fiscal.
¿Qué sucede si un proveedor cancela una NF-e después de que ya he extraído los datos?
Una NF-e puede ser cancelada por el emisor dentro de las 24 horas posteriores a la autorización si las mercancías aún no han sido enviadas. La cancelación crea un evento (evento de cancelación) en el sistema SEFAZ vinculado a la misma clave de acceso de 44 dígitos. Cualquier consulta contra esa clave devolverá el estado de cancelado. Su flujo de trabajo de extracción debe validar periódicamente las claves de acceso contra SEFAZ — especialmente para facturas cercanas a fechas de pago — para evitar contabilizar asientos contra documentos cancelados. Bajo la reforma de 2026, la cancelación después del hecho imponible conlleva una multa del 66% del impuesto adeudado, lo que debería reducir la frecuencia de cancelaciones tardías, pero la verificación sigue siendo un control necesario.
¿Cómo manejar la extracción por lotes de múltiples archivos XML de NF-e?
Para métodos basados en XML, usa un script que recorra un directorio de archivos XML, extraiga el mismo conjunto de consultas XPath de cada uno y añada los resultados a una hoja de cálculo acumulativa. Para la extracción basada en IA desde DANFE PDF, usa la función de procesamiento por lotes: sube varios archivos DANFE juntos, define tus columnas una vez, y la herramienta extraerá datos de cada documento y los fusionará en un solo archivo Excel. Este enfoque también maneja formatos mixtos: si algunos proveedores envían DANFE PDF y otros el XML renderizado como impresión, el procesamiento por lotes extrae de ambos en una misma pasada.
¿Qué precisión tiene la extracción de datos de NF-e comparada con el ingreso manual?
Para la extracción basada en XML, la precisión es efectivamente del 100% en los campos seleccionados — estás leyendo datos estructurados de un archivo legible por máquina, no interpretando un diseño visual. Para la extracción basada en IA desde el DANFE, la precisión del texto impreso puede alcanzar hasta el 99%, pero la precisión en campos complejos (como la clave de acceso de 44 dígitos, donde un solo dígito transpuesto invalida la clave) depende del manejo de cadenas numéricas largas por parte de la herramienta. La verdadera ganancia en precisión frente al ingreso manual no es solo la exactitud a nivel de caracteres — es la integralidad. Una persona ingresando datos desde un DANFE suele capturar de 8 a 12 campos por factura. La extracción automatizada captura cada campo que especifiques en todos los documentos, eliminando la omisión de datos, que es el error más común y menos visible del ingreso manual.
Del DANFE a la Hoja de Cálculo
El salto en calidad de datos entre procesar un DANFE impreso y extraer de un XML NF-e no es incremental — es la diferencia entre 10 campos y 500. Más importante aún, es la diferencia entre adivinar tus créditos fiscales brasileños y verificarlos. Cada XML NF-e que genera tu proveedor contiene los montos precisos de ICMS, IPI, PIS y COFINS que tienes derecho a recuperar — y cada uno que procesas solo desde el DANFE deja ese detalle sin leer.