Cómo extraer datos de NFS-e para tus
operaciones en Brasil (Guía 2026)
Brasil tiene 5.570 municipios, y cada uno puede tener su propio sistema de facturación de servicios con su propio diseño, su propia tasa de ISS entre el 2% y el 5%, y su propio servicio web para validar cada transacción antes de que el proveedor pueda emitirla legalmente. Si tu empresa compra servicios a proveedores brasileños —consultoría TI desde São Paulo, servicios legales desde Río, marketing desde Belo Horizonte—, recibes un problema de fragmentación documental que ninguna herramienta de extracción basada en plantillas fue diseñada para resolver.
Conclusiones clave
- La autoridad fiscal brasileña validó cada campo de tu NFS-e antes de que llegara a ti — sin embargo, tu equipo lo vuelve a escribir todo a mano, introduciendo los mismos errores que activan auditorías automáticas de cruce.
- 5.570 municipios brasileños gestionan sus propios diseños de NFS-e — lo que significa que las herramientas de extracción basadas en plantillas no te sirven, porque una coordenada que funciona para São Paulo falla en Porto Alegre.
- La extracción semántica lee campos por significado ("encuentra el CNPJ de 14 dígitos etiquetado como Prestador"), no por coordenadas de página — defines 11 nombres de columna una vez, e ImageToTable.ai extrae datos de NFS-e de cualquier municipio brasileño en un solo archivo Excel.
Por qué una factura de servicios brasileña es diferente de cualquier otra factura que proceses
Si ya has trabajado con documentos fiscales brasileños, seguramente conoces la NF-e — la factura electrónica de bienes que todo equipo de AP en Brasil o que trabaje con proveedores brasileños debe manejar. La NF-e es regulada a nivel estatal por la SEFAZ (Secretaría de Hacienda Estatal), sigue un único esquema XML nacional (versión 4.0 del layout) y lleva ICMS — un impuesto estatal sobre la circulación de bienes. Es compleja, pero es un sistema.
Una factura de servicios (Nota Fiscal de Serviços / NFS-e) es regulada a nivel municipal. El impuesto que lleva es el ISS — Impuesto sobre Servicios — y la tasa, el layout, el flujo de validación e incluso los requisitos de certificado digital pueden diferir de una ciudad a otra. São Paulo tiene su propio servicio web de NFS-e. Río de Janeiro tiene uno diferente. Belo Horizonte tiene un tercero. Y otros 5.567 municipios tienen los suyos.
Esto no es un caso excepcional. Es la realidad estructural del federalismo fiscal brasileño, consagrado en la Ley Complementaria 116/2003, que otorga a cada municipio la autoridad para fijar su propia tasa de ISS (2%–5%) y administrar su propia recaudación del impuesto sobre servicios. El gobierno federal ha estado trabajando para unificar esto a través del Sistema Nacional de NFS-e (SNNFS-e), con más de 1.280 municipios adheridos a principios de 2026. Pero la adhesión es voluntaria, y muchas ciudades grandes aún operan sus propios sistemas.
Para el equipo que recibe estos documentos — el auxiliar de AP que abre un PDF de una agencia de marketing brasileña o de un consultor de TI — la consecuencia práctica es esta: no hay dos documentos NFS-e que tengan el mismo aspecto. Una factura de servicios emitida en São Paulo coloca la base de cálculo del ISS en una posición diferente a la de una emitida en Porto Alegre. El CNPJ del prestador puede estar en el encabezado de un documento y en una barra lateral de otro. Una plantilla que funciona para São Paulo fallará para Campinas.
Por eso el OCR basado en plantillas — el enfoque que utiliza la mayoría de las herramientas de extracción de documentos — falla sistemáticamente con las NFS-e. Las plantillas coinciden con coordenadas. Los municipios cambian las coordenadas. Para un análisis más detallado de cómo funciona el otro tipo principal de factura electrónica brasileña, consulta nuestra guía de extracción XML de NF-e, que cubre la factura de bienes a nivel estatal.
Qué contiene realmente una Nota Fiscal de Servicios (NFS-e) brasileña
Antes de extraer datos de una Nota Fiscal de Servicios (NFS-e), debe saber qué contiene y, crucialmente, qué significa cada campo para su contabilidad. Una NFS-e no es solo una factura. Es un documento fiscal con campos legalmente obligatorios cuyos valores determinan sus obligaciones tributarias, la conciliación de su registro de proveedores y su pista de auditoría.
Estos son los campos clave de una NFS-e típica y por qué cada uno es importante para el receptor:
| Campo | Nombre en Portugués | Por Qué es Importante |
|---|---|---|
| CNPJ del Prestador | CNPJ do Prestador | Identificador fiscal corporativo de 14 dígitos. Clave maestra de su proveedor. Debe coincidir exactamente con sus registros de proveedores para la conciliación SPED. |
| CNPJ del Tomador | CNPJ do Tomador | Su propio CNPJ. Verifica que la factura se emitió a su entidad brasileña correcta. Una discrepancia invalida el documento para sus registros fiscales. |
| Código de Servicio (LC 116) | Código de Serviço (LC 116) | El código numérico de la lista federal de servicios que clasifica el tipo de servicio prestado. Determina la tasa de ISS aplicable en cada municipio. Por ejemplo, el código 1.01 cubre "Análise e desenvolvimento de sistemas" (análisis y desarrollo de TI); el código 17.19 cubre servicios contables. |
| Base de Cálculo del ISS | Base de Cálculo ISS | El valor del servicio sujeto a ISS. No siempre es igual al total de la factura; pueden aplicarse ciertas deducciones autorizadas por ley (valor de deduções). |
| Alícuota del ISS | Alíquota ISS | La tasa municipal aplicada. 2%–5% según la ciudad y el tipo de servicio. São Paulo: 5% general, 2% para construcción. Esto determina si el impuesto se calculó correctamente. |
| Valor del ISS | Valor ISS | El ISS calculado. En las facturas de servicios brasileñas, el ISS es un impuesto informativo incluido en el precio final — no se añade aparte. La factura indica qué parte del total corresponde al ISS. |
| ISS Retenido en la Fuente | ISS Retido na Fonte | Indica si el tomador del servicio (usted) es responsable de retener y remitir el ISS directamente al municipio, en lugar del proveedor. Si está marcado como "Sim", usted tiene una obligación de remisión de impuestos, no solo una tarea de ingreso de datos. |
| Número RPS | Número RPS | El número del Recibo Provisional de Servicios: el identificador temporal asignado antes de que el municipio valide la factura y emita el número final de NFS-e. Útil para la conciliación cuando el número oficial de NFS-e aún no está disponible. |
| Número NFS-e | Número NFS-e | El número de factura oficial emitido por el municipio tras la validación. Su identificador principal de documentos para archivo y auditoría. |
| Código CNAE | Código CNAE | Clasificación Nacional de Actividades Económicas: el código de actividad comercial registrada del proveedor. Coteje con el código de servicio LC 116 para verificar que el proveedor emite facturas por una actividad autorizada. |
| Descripción del Servicio | Discriminação dos Serviços | Descripción en texto libre de los servicios prestados. Puede contener detalles de partidas, período del servicio o referencias contractuales, sin estructura, pero esencial para la asignación a centros de costo y el enrutamiento de aprobaciones. |
A lista de códigos de serviço da LC 116 contém 40 categorias principais, cada uma com subitens que abrangem desde serviços de TI (categoria 1) até serviços jurídicos (item 17.14), engenharia (categoria 7) e saúde (categoria 4). A lista completa está disponível publicamente no anexo da Lei Complementar 116/2003. Cada NFS-e que você recebe contém um desses códigos, e esse código determina diretamente a alíquota de ISS que seu prestador deveria ter aplicado.
Nenhum desses campos é opcional. O município que valida a NFS-e verifica cada um deles antes de autorizar o documento. Isso significa que os dados necessários para um processamento preciso de AP já existem — foram verificados por uma autoridade fiscal governamental antes de a fatura chegar à sua caixa de entrada. A questão é se você consegue extraí-los do documento e colocá-los na sua planilha sem redigitá-los.
Quanto Custa a Digitação Manual de NFS-e para sua Equipe Financeira
A suposição padrão é que inserir dados de faturas manualmente é lento. E é — um documento simples de uma página leva em média 3 minutos para ser digitado em uma planilha. Mas, especificamente com NFS-e, a lentidão não é o problema mais caro. O problema mais caro é a propagação de erros em seus registros fiscais.
Um CNPJ digitado errado — um dígito incorreto em uma string de 14 dígitos — faz com que a conciliação do cadastro de fornecedores falhe, e você não consiga creditar o ISS se sua entidade for a responsável pela retenção. Uma alíquota de ISS errada inserida em seu ERP (2% digitado como 5%) significa que sua provisão fiscal estará incorreta para todo o período de apuração, podendo ser sinalizada em uma auditoria municipal. Um campo "ISS Retido na Fonte = Sim" perdido significa que você deixará de recolher o ISS pelo qual você — e não o prestador — é legalmente responsável perante a prefeitura.
Esses não são riscos hipotéticos. As autoridades fiscais brasileiras realizam cruzamentos eletrônicos entre emissores e tomadores de NFS-e. Se seu prestador reportou ter recebido R$ 50.000 do seu CNPJ e seus registros SPED mostram R$ 48.000 porque duas notas foram digitadas errado, a divergência gera uma notificação automática — e, em seguida, uma intimação formal.
Multiplique isso por um volume, mesmo que modesto. Uma empresa de médio porte com 10 prestadores de serviços brasileiros — uma consultoria de TI, uma agência de marketing, um escritório de advocacia, um contador, uma empresa de administração de condomínios e alguns freelancers — pode receber de 30 a 50 NFS-e por mês. A 3 minutos por documento, são cerca de 2,5 horas de digitação manual. Mas o custo real não são as 2,5 horas. É o ciclo de correção: a planilha de conciliação que não fecha, a ligação para o prestador pedindo uma segunda via, a declaração fiscal retificada, a taxa de contabilidade para resolver a divergência.
É aqui que a expressão "extração de documentos" se torna concreta. Não se trata de economizar tempo de digitação. Trata-se de eliminar a lacuna entre o que o município validou e o que seu ERP recebeu.
Cómo la Extracción por IA Maneja las Variaciones Municipales — Sin Plantillas por Ciudad
El desafío técnico central de la extracción de NFS-e no es que los documentos sean difíciles de leer. Una factura de servicios (Nota Fiscal de Serviços / NFS-e) de cualquier ciudad brasileña es un documento impreso claramente, en su mayoría generado por máquina. El desafío es que el mismo campo aparece en una posición diferente, con etiquetas diferentes, en documentos de distintas ciudades.
El OCR tradicional basado en plantillas resuelve esto definiendo una zona rectangular para cada campo: "CNPJ do Prestador está en las coordenadas (x=150, y=320, w=200, h=30)". Esto funciona perfectamente — para un municipio. Pero falla para el siguiente. Mantener una biblioteca de plantillas para 5.570 ciudades no es práctico. Incluso mantener una para las 20 ciudades donde están tus proveedores significa 20 plantillas que se rompen cuando la prefectura lanza una actualización de diseño (como hizo São Paulo en agosto de 2025 con la versión 3.2 de su manual de NFS-e).
La alternativa es la extracción semántica: en lugar de buscar un campo por su posición, lo buscas por lo que significa. Le dices al motor de extracción "Necesito el CNPJ del proveedor de servicios", y el motor lee el documento, entiende que un número de 14 dígitos etiquetado como "CNPJ" junto a "Prestador" es el ID fiscal del proveedor — sin importar dónde esté en la página.
Esto es fundamentalmente diferente del OCR. El OCR convierte píxeles en caracteres. La extracción semántica — impulsada por modelos de lenguaje de visión — lee un documento más como lo haría una persona: entendiendo etiquetas, contexto y estructura del documento. Cuando el diseño de São Paulo coloca "Prestador de Serviços" en la esquina superior izquierda y Porto Alegre lo pone en un encabezado centrado, a un motor semántico no le importa. No busca una posición. Busca un significado.
Por qué esto importa específicamente para NFS-e: La variación municipal es un problema de posición. La extracción semántica es una solución de significado. La fragmentación de 5.570 ciudades que hace inviables las herramientas basadas en plantillas es exactamente para lo que fue diseñada la extracción semántica — porque no depende en absoluto de la consistencia del diseño.
El enfoque de extracción utiliza la Extracción de Columnas Personalizadas: escribes los nombres de los campos que deseas en tu salida — "CNPJ del Proveedor", "Código de Servicio (LC 116)", "Monto del ISS", "Número de NFS-e" — y la IA localiza cada valor en el documento entendiendo lo que significa la etiqueta, no dónde está. Estos nombres de columna se convierten en los encabezados de tu hoja de cálculo final de Excel, por lo que la salida está lista para cargar en tu ERP o sistema contable sin necesidad de reformatear.
Paso a paso: Extraer datos de NFS-e a Excel
Aquí tienes el flujo de trabajo práctico para extraer datos de tus documentos NFS-e recibidos a una hoja de cálculo estructurada. El proceso funciona tanto si tienes el PDF/DANFSE (el documento auxiliar impreso de servicios) como el archivo XML subyacente.
Los archivos se procesan de forma segura y no se almacenan.
Gestión de Retención de ISS, Múltiples Códigos de Servicio y Escenarios por Lotes
La mayoría de las extracciones de NFS-e son sencillas: un único proveedor, un único servicio, campos estándar. Pero los flujos de trabajo financieros reales se topan con casos excepcionales que importan. Aquí hay tres que complican los procesos manuales:
ISS Retenido en la Fuente (ISS Retido na Fonte)
Cuando una NFS-e está marcada como "ISS Retido na Fonte = Sim", la obligación de remitir el ISS al municipio se traslada del proveedor del servicio al tomador del servicio, es decir, a usted. Esto no es una nota de ingreso de datos. Es un elemento de acción de cumplimiento tributario. Su equipo financiero debe: (1) identificar estas facturas en el resultado de la extracción, (2) calcular el monto del ISS a remitir (la tasa × la base mostrada en la factura) y (3) emitir el pago a la prefectura del municipio correcto dentro del plazo.
Omitir este paso significa que el ISS nunca se pagó a nadie: el proveedor no lo pagó (porque lo declaró retenido) y usted no lo pagó (porque pasó por alto la marca). Ambas partes quedan expuestas. Un flujo de trabajo de extracción que marque estos documentos automáticamente — extrayendo el campo "ISS Retido" como una columna de sí/no — convierte un riesgo de cumplimiento en una columna de hoja de cálculo ordenable.
Varios Códigos de Servicio en una Misma Factura
Una sola NFS-e puede contener varios ítems, cada uno con su propio código de servicio LC 116 y su propia tasa de ISS. Una consultora de TI podría facturar por separado "Análise e desenvolvimento de sistemas" (código 1.01, ISS 5% en São Paulo) y "Suporte técnico" (código 1.07, posiblemente con otra tasa). Si extraes solo el total de ISS a nivel de factura, pierdes la clasificación por línea que determina si cada una fue tributada correctamente. Define tus columnas para extraer los códigos de servicio y montos de ISS a nivel de ítem, no solo el total del documento.
Procesamiento por Lotes de Múltiples Proveedores
Cuando recibes NFS-e de cinco proveedores diferentes en cinco ciudades distintas, la ventaja del procesamiento por lotes se multiplica. En lugar de abrir cada PDF individualmente y copiar campos en filas separadas de una hoja de cálculo, los subes todos juntos. El motor de extracción los procesa en paralelo — una sola página toma de 5 a 10 segundos — y produce una hoja de cálculo consolidada con los datos de todos los proveedores en las mismas columnas. Esta es la respuesta práctica al problema de la fragmentación municipal: la IA maneja las diferencias de diseño de cada documento automáticamente, y tu equipo maneja un solo archivo de salida.
Para escenarios de alto volumen — 50, 100 o más NFS-e al mes — la extracción por lotes de facturas a Excel elimina la configuración por documento que hace que el procesamiento manual escale linealmente con la cantidad de documentos.
La Reforma Tributaria de 2026: Qué Cambia para la Extracción de NFS-e
Brasil está en medio de una reforma tributaria que eventualmente reemplazará el ISS y el ICMS con un IBS unificado (Impuesto sobre Bienes y Servicios) y sustituirá el PIS/COFINS por la CBS (Contribución sobre Bienes y Servicios). La transición es gradual — hasta 2033 — pero los diseños de las NFS-e ya se están actualizando. São Paulo publicó la versión 3.2 de su manual de NFS-e en agosto de 2025, introduciendo campos para la nueva estructura tributaria. Otros municipios seguirán el ejemplo.
Desde la perspectiva de la extracción de datos, esto significa dos cosas. Primero, los campos que extraes hoy (base de ISS, tasa de ISS, monto de ISS) eventualmente serán complementados o reemplazados por campos de IBS/CBS en futuros documentos NFS-e. Segundo, durante el período de transición, podrías recibir facturas que contengan tanto los campos legacy de ISS como los nuevos de IBS — y necesitarás extraer ambos para la conciliación.
El enfoque de extracción descrito anteriormente maneja esto de forma natural. Como no depende de posiciones fijas de campos ni de plantillas codificadas, los nuevos campos en un diseño actualizado de NFS-e se extraen de la misma manera que los existentes: agregas el nombre de la columna (ej., "Monto IBS"), y la IA lo ubica en el documento. Sin necesidad de reconfigurar plantillas.
Para una guía práctica sobre la extracción de datos tributarios de facturas de bienes brasileñas — que incluyen ICMS, IPI, PIS y COFINS y se rigen por un marco regulatorio diferente — consulta nuestra guía de extracción de XML de NF-e. Si también procesas documentos de nómina brasileños, nuestra guía de extracción de holerite (recibo de sueldo) cubre ese flujo de trabajo.
Preguntas frecuentes: Extracción de facturas de servicio NFS-e de Brasil
¿Puedo extraer datos de un PDF de NFS-e si no tengo el XML?
Sí. El PDF/DANFSE contiene todos los campos fiscales obligatorios requeridos por el municipio para su validación. A diferencia del DANFE de NF-e — que omite aproximadamente el 90 % de los datos subyacentes del XML — el documento impreso de NFS-e es más autónomo porque los municipios no comparten un estándar único sobre qué va en el XML versus qué aparece en el documento auxiliar impreso. El conjunto completo de campos indicados en la tabla de anatomía anterior (CNPJ del prestador/tomador, código LC 116, desglose del ISS, número de NFS-e, número de RPS) suele estar presente en el PDF. Sin embargo, si tiene acceso al XML, úselo: garantiza una cobertura del 100 % de los campos y elimina la variabilidad de precisión relacionada con el OCR.
¿La extracción funciona con documentos NFS-e de cualquier ciudad brasileña?
La extracción semántica lee los campos comprendiendo el contenido del documento, no ajustándose al diseño de una ciudad específica. Funciona con NFS-e de São Paulo, Río de Janeiro, Belo Horizonte, Porto Alegre o cualquier otro municipio sin necesidad de una plantilla por ciudad. Sin embargo, la precisión de la extracción en documentos NFS-e escritos a mano — que son raros (casi todos los NFS-e son generados por máquina) — será menor que en documentos impresos o digitales. El reconocimiento de escritura a mano funciona, pero es inherentemente menos preciso que la lectura de texto impreso.
¿Qué pasa con el ISS retenido en la fuente? ¿Cómo manejo la obligación de remisión del impuesto?
Extraiga el campo "ISS Retido na Fonte" como una columna dedicada. Cualquier factura donde este campo sea igual a "Sim" (o "Sí") debe dirigirse a su flujo de trabajo de cumplimiento tributario, no registrarse como una entrada de AP estándar. La tasa del ISS y la base del ISS en la factura le indican el monto a remitir; el municipio del prestador le indica dónde remitirlo. La herramienta de extracción le proporciona los datos. La remisión del impuesto en sí es un paso de cumplimiento separado que su equipo de contabilidad o impuestos debe ejecutar a través del sistema de pago de la prefectura correspondiente.
¿Puedo procesar NFS-e junto con facturas internacionales en un mismo lote?
Sí. Si las columnas definidas cubren ambos tipos de documentos (p. ej., "Número de factura", "Nombre del proveedor", "Importe total"), puedes incluir NFS-e brasileñas en el mismo lote que facturas internacionales. El motor de extracción lee cada documento de forma independiente y completa los campos que encuentra. Sin embargo, para campos específicos de NFS-e — como el código de servicio LC 116 o el importe de ISS — esas columnas quedarán vacías en facturas no brasileñas, lo cual es esperable y no genera errores.
¿Cómo afecta la reforma tributaria de 2026 a la extracción de campos de NFS-e?
La reforma no cambia el funcionamiento de la extracción — cambia qué campos aparecerán en futuras NFS-e. A medida que los municipios actualicen sus diseños para incluir IBS y CBS junto al ISS o en su lugar, deberás actualizar tus columnas con los nuevos nombres. El método de extracción sigue siendo el mismo: añade la nueva columna y la IA localiza el valor correspondiente. La transición gradual hasta 2033 implica que probablemente procesarás documentos con campos tributarios antiguos y nuevos durante el período de solapamiento.
¿Necesito un CNPJ para usar este método de extracción?
No. Extraer datos de una NFS-e recibida es una tarea de procesamiento de documentos, no una acción de declaración fiscal. No necesitas un CNPJ para extraer datos de un PDF o XML de NFS-e a una hoja de cálculo. Los campos CNPJ del documento identifican al prestador y al tomador del servicio; la herramienta los lee como datos y los coloca en tus columnas de salida — no interactúa con ningún sistema tributario municipal.
De escribir datos uno por uno a procesar lotes completos
La NFS-e fue diseñada para hacer eficiente la recaudación de impuestos para el gobierno — y lo logra. Cada factura de servicio emitida en Brasil es validada por una autoridad tributaria municipal antes de llegar a ti, por lo que los datos ya han sido verificados. La ineficiencia está del lado del receptor: el administrativo que vuelve a escribir campos que una máquina ya validó, de un documento que varía según la ciudad, en una hoja de cálculo que debe ser correcta para la conciliación fiscal.
La extracción semántica cambia ese lado de la ecuación. Los campos ya existen, ya están validados, ya son legibles por máquina (o casi). Llevarlos a tu hoja de cálculo en un solo lote es una decisión de flujo de trabajo, no un avance técnico. Pruébalo en tu próximo lote de NFS-e — comprueba si el tiempo por documento baja de los 3 minutos manuales a los segundos que lleva definir las columnas una vez y dejar que la extracción funcione.
Sin registro para tus primeras 50 páginas.