NFS-e de varias ciudades, una sola hoja de cálculo:Procesamiento por lotes sin plantillas municipales

Brasil tiene 5.570 municipios. Una consultora con proveedores de servicios en 10 de ellos no recibe un solo formato de NFS-e (factura electrónica de servicios). Recibe 10, cada uno con un tipo impositivo del ISS (impuesto sobre servicios) diferente, entre el 2% y el 5%, una distribución de campos distinta y una autoridad fiscal municipal distinta detrás. Procesarlos uno por uno no solo es lento. Oculta los patrones de conciliación que solo una vista a nivel de lote revela. Para ver el análisis completo de por qué existe esta fragmentación municipal y qué cuesta, consulte por qué el procesamiento de NFS-e en Brasil es más costoso de lo que la mayoría de los equipos financieros cree.

Deje de escribir datos a mano: deje que la IA los lea por usted
Sube una imagen o PDF: datos estructurados en hoja de cálculo en 10 segundos
Pruébelo ahora
Sin registro · Sin tarjeta de crédito · Resultados en 10 segundos
Extraiga por lotes datos de facturas de servicios NFS-e municipales brasileñas a una sola hoja de cálculo de Excel

Conclusiones clave

  1. Puede calcular el costo de tiempo de escribir manualmente cada NFS-e, pero el costo real se oculta en las multas por retención del ISS, las anomalías de tasas no detectadas y las brechas de cumplimiento que solo se vuelven visibles cuando cada factura está en una sola tabla.
  2. El ISS retenido en la fuente transfiere legalmente la obligación de remitir el impuesto a su empresa, y con 30 facturas de 5 ciudades, un enfoque documento por documento garantiza que se omitirá al menos una obligación.
  3. ImageToTable.ai procesa la NFS-e de cada municipio en un solo lote y muestra discrepancias del ISS, obligaciones de retención y totales por ciudad en una sola hoja de cálculo, de modo que su trabajo pasa de escribir números a verificarlos.

Por qué el procesamiento por lotes de NFS-e es un problema distinto a la extracción de un solo documento

Si ha leído la guía de extracción de una sola NFS-e, ya conoce el mecanismo principal: la extracción semántica lee una NFS-e comprendiendo qué significa cada campo — localizando el CNPJ del prestador (identificación fiscal corporativa del proveedor de servicios) de 14 dígitos junto a la etiqueta "Prestador", la base imponible del ISS bajo la sección del ISS, el tipo impositivo del ISS dondequiera que el ayuntamiento lo haya impreso. Un documento, un conjunto de definiciones de columnas, una fila de salida. El problema de la variación municipal se resuelve a nivel del documento.

El procesamiento por lotes introduce una clase diferente de desafíos que la extracción de un solo documento no presenta. Cuando coloca 30 documentos NFS-e de proveedores de São Paulo (ISS 5% para consultoría de TI), Río de Janeiro (ISS 5% para el mismo servicio), Belo Horizonte (ISS 3%), Curitiba (ISS 4%) y otras seis ciudades en una sola cola de procesamiento, ocurren tres cosas que nunca ocurren con un solo documento:

Primero, la verificación de la tasa de ISS entre ciudades se vuelve necesaria. Una sola NFS-e al 3% de ISS parece correcta de forma aislada. Pero cuando ve que el mismo código de servicio (ítem 1.01 — Análise e desenvolvimento de sistemas, o análisis y desarrollo de sistemas de TI) aparece al 5% desde São Paulo, al 5% desde Río y al 3% desde Belo Horizonte en el mismo lote, la tasa de Belo Horizonte resalta de inmediato. Quizás sea correcta — Belo Horizonte establece sus propias tasas. Quizás el proveedor aplicó la tasa municipal equivocada. Una vista a nivel de lote es la única manera de detectar esto.

Segundo, el seguimiento del ISS retenido en la fuente se convierte en una tarea de cumplimiento a escala de lote. Cuando una NFS-e está marcada como "ISS Retido na Fonte = Sim", la obligación de remitir el ISS se transfiere del proveedor de servicios al receptor del servicio — usted. Cada ocurrencia requiere un pago separado al ayuntamiento correspondiente, cada uno con su propia fecha de vencimiento y sistema de pago. En 10 documentos de varias ciudades, rastrear qué facturas activan esta obligación y cuáles no no es manejable como una lista de verificación manual.

Tercero, los datos en conjunto son más valiosos. Totales de ISS por proveedor, gasto en servicios por ciudad, la proporción de impuesto retenido frente al impuesto pagado por el proveedor — nada de esto es visible con un documento a la vez. Solo surge cuando todo el lote está en una sola hoja de cálculo.

No se trata de hacer el flujo de un solo documento más rápido. Se trata de hacer algo que el flujo de un solo documento no puede hacer en absoluto.

Qué Hace que el Procesamiento de NFS-e entre Municipios sea Fundamentalmente Diferente del Lote Estándar de Facturas

El procesamiento estándar de lotes de facturas — 50 PDFs de 50 proveedores en EE. UU. o Europa — es principalmente un problema de volumen. Las facturas se ven diferentes, pero la lógica fiscal subyacente es consistente: IVA a la tasa nacional, impuesto a las ventas por estado, y los campos están en posiciones ampliamente predecibles con etiquetas ampliamente predecibles.

El procesamiento por lotes de NFS-e brasileño añade una capa estructural que el lote estándar de facturas no tiene. Debido a que el ISS es un impuesto municipal regulado por la Ley Complementaria 116/2003, y debido a que cada municipio opera su propio sistema tributario, el mismo campo lógico — "la tasa del ISS" — puede tener un valor diferente para cada documento en el lote, y ese valor determina si el impuesto de ese documento se calculó correctamente.

Aquí es donde la extracción basada en plantillas — el enfoque que utiliza la mayoría de las herramientas de extracción de documentos — se vuelve estructuralmente inviable. Una plantilla define una zona rectangular para cada campo: "el CNPJ del prestador está en la posición de píxel (x=150, y=320)". Eso funciona para un municipio. Se rompe para el siguiente. Mantener una biblioteca de plantillas para cada ciudad en la que operan tus proveedores no es práctico cuando el número de ciudades posibles es 5,570 y el número de ciudades que actualizan activamente sus diseños — São Paulo lanzó la versión 3.2 de su manual de NFS-e en agosto de 2025 — está en constante crecimiento.

La alternativa es la extracción semántica: en lugar de definir dónde se encuentra un campo en la página, le dices al motor de extracción lo que estás buscando — "el CNPJ de 14 dígitos etiquetado como Prestador" — y lee el documento para encontrarlo. La posición no importa porque el motor entiende el contenido del documento, no sus coordenadas. Una NFS-e de São Paulo y una NFS-e de Porto Alegre en el mismo lote se procesan con las mismas definiciones de columnas, porque la IA busca significado, no coincide con una posición.

Esta es la diferencia arquitectónica: las herramientas basadas en plantillas escalan añadiendo más plantillas — una por ciudad, por revisión de diseño. La extracción semántica escala comprendiendo más contenido del documento. Cuando añades la NFS-e de una décima ciudad al lote, el costo es efectivamente cero. Cuando añades la plantilla de una décima ciudad, el costo es construir, probar y mantener esa plantilla — y actualizarla cada vez que el ayuntamiento cambia su diseño.

Para el desglose completo de cómo la extracción semántica maneja los campos individuales de la NFS-e — coincidencia de CNPJ, clasificación del código de servicio LC 116, el desglose del impuesto ISS — consulta la guía de extracción de NFS-e individual. El flujo de trabajo por lotes hereda todo eso y añade la capa de múltiples documentos.

Cómo la extracción semántica procesa 10 NFS-e de distintas ciudades en un solo lote

El flujo de extracción para el procesamiento por lotes de NFS-e se centra en la Extracción de Columnas Personalizadas: escribes los nombres de los campos que deseas en tu salida — "CNPJ del Prestador", "Código de Servicio (LC 116)", "Alícuota ISS", "Valor ISS", "ISS Retenido (Retido na Fonte)", "Número NFS-e" — y la IA localiza cada valor en cada documento al comprender el significado de la etiqueta. Estos nombres de columna se convierten en los encabezados de tu hoja de cálculo. Los defines una vez. Funcionan en todos los municipios del lote.

Pero el procesamiento por lotes de NFS-e se beneficia de ir más allá de la extracción directa. Dos modos de columna adicionales hacen posible la conciliación entre ciudades en el momento de la extracción, no en un ejercicio separado de hoja de cálculo:

Columnas calculadas te permiten definir una lógica de validación que se ejecuta durante la extracción. Para el procesamiento por lotes de NFS-e, la columna calculada más útil es una verificación del ISS: "¿Alícuota ISS × Base Imponible ISS = Valor ISS?" Cuando el total calculado coincide con el valor ISS extraído, la columna muestra "OK". Cuando no coincide, muestra la discrepancia, señalando a nivel de lote qué documentos necesitan una segunda revisión antes de importar los datos a tu ERP. En un solo documento, esta verificación toma 30 segundos. En 50 documentos, una columna calculada lo hace automáticamente, y ves el resultado en la misma hoja de cálculo que los datos extraídos.

Columnas inferidas permiten que la IA clasifique o etiquete documentos según su contenido. Agrega una columna llamada "Municipio (extraído del documento)" sin referencia de campo específica, y la IA lee el identificador de la prefeitura (ayuntamiento) de la NFS-e y completa el nombre de la ciudad. Ahora tu salida por lotes tiene una columna de municipio ordenable, lo que convierte los totales de ISS por ciudad y la declaración de impuestos por ciudad en una tabla dinámica, en lugar de un ejercicio manual de referencias cruzadas.

Estos tres tipos de columna — extracción directa, calculada e inferida — operan juntos en una sola ejecución por lotes. No extraes primero y validas después. La validación ocurre durante la extracción, y los resultados llegan a la misma hoja de cálculo.

Paso a paso: de una pila de NFS-e de varias ciudades a una hoja de cálculo

Este es el flujo de trabajo práctico para procesar por lotes documentos NFS-e de varios municipios brasileños en un solo archivo de Excel. Esta configuración se realiza una vez por lote: las mismas definiciones de columnas procesan cada documento sin importar la ciudad de origen.

1
Reúna todos los documentos NFS-e en una sola carga. Arrastre todos los PDFs o XMLs de sus proveedores de servicios brasileños al área de carga. La herramienta acepta DANFSE (Documento Auxiliar da NFS-e, versión impresa), archivos XML e incluso capturas de pantalla de documentos NFS-e. Los documentos de diferentes ciudades y en diferentes formatos van al mismo lote; el motor de extracción procesa cada uno de forma independiente.
2
Defina sus columnas de extracción una sola vez. Escriba los nombres de los campos que necesita como encabezados de columna. Para el procesamiento por lotes de NFS-e de varios municipios, incluya: "CNPJ del Prestador," "CNPJ del Tomador," "Número de NFS-e," "Fecha de Emisión," "Código del Servicio (LC 116)," "Descripción del Servicio (Discriminação)," "Base de Cálculo del ISS," "Alícuota del ISS," "Valor del ISS," "ISS Retenido (Retido na Fonte)," "Valor Total," "Municipio (inferido)." Para la validación del ISS, agregue una columna calculada: "Verificación ISS (Alícuota × Base = Valor?)."
3
Procese el lote. Inicie la extracción. La IA lee cada documento de forma independiente, haciendo coincidir los nombres de sus columnas con los valores correspondientes al comprender el contenido del documento, no basándose en un diseño fijo. Una NFS-e de São Paulo y una de Belo Horizonte en el mismo lote se procesan con definiciones de columna idénticas. El procesamiento toma aproximadamente de 5 a 10 segundos por página, por lo que un lote de 30 documentos se completa en aproximadamente 3 a 5 minutos.
4
Revise los resultados del lote y exporte. En la hoja de cálculo de salida, ordene por la columna ISS Retenido para identificar cada factura donde usted — no el proveedor — tiene la obligación de remitir el impuesto. Ordene por la columna Verificación ISS para encontrar documentos donde el monto del ISS extraído no coincida con el cálculo de alícuota × base. Ordene por Municipio para ver los totales de ISS por ciudad. Exporte como XLSX: los datos están listos para importar a ERP, integrar con software contable (ContaAzul, Omie, TOTVS) o conciliar directamente con los resúmenes de servicios mensuales de su proveedor.
PDF/XML/PNG Extracción con IA

Los archivos se procesan de forma segura y no se almacenan.

Deje de escribir datos a mano — deje que la IA los lea por usted
Sube una imagen o PDF — datos estructurados en hoja de cálculo en 10 segundos
Pruébelo ahora
Sin registro · Sin tarjeta de crédito · Resultados en 10 segundos

Conciliación del ISS entre municipios: la visión exclusiva del procesamiento por lotes

El resultado más valioso del procesamiento por lotes de NFS-e no es el tiempo ahorrado — aunque pasar de 3 minutos por documento a 5-10 segundos por página supone una mejora de 18 veces. El resultado más valioso es la vista de conciliación que solo existe cuando todos los documentos están en una sola tabla.

Esto es lo que esa vista le permite hacer que el procesamiento de documentos individuales no puede:

Totales de ISS por ciudad

Agrupe la salida por municipio y sume el importe del ISS. Lo que obtiene es el ISS total que se aplicó a sus compras de servicios en cada ciudad, un dato que importa por dos razones. Primero, le indica si el ISS total de todos los prestadores en una ciudad determinada coincide con su asignación interna de costos para esa jurisdicción. Segundo, si usted es el agente de retención del ISS en alguna de estas facturas, el total por ciudad es la cifra que necesita para conciliar con sus registros de remesas de impuestos municipales. La guía tributaria global de Dentons señala que "los conflictos entre diferentes municipios donde ambos reclaman el ISS son bastante comunes": una vista a nivel de lote es su rastro de auditoría si un segundo municipio viene a preguntar.

Seguimiento del ISS retenido en la fuente

Cuando una NFS-e lleva la marca "ISS Retido na Fonte = Sim" (ISS retenido en la fuente), su empresa —no el prestador del servicio— es responsable de remitir el ISS al municipio del prestador. Esto no es una nota de captura de datos; es una acción de cumplimiento fiscal con una fecha límite y un sistema de pago que varía según la ciudad. En una salida por lotes, ordenar por la columna de ISS retenido le da una lista completa y de una sola vista de cada factura que requiere su acción. Sin buscar entre 30 PDF individuales para encontrar los tres que tenían la marca.

El marco legal en torno a la retención del ISS ha sido puesto a prueba en el tribunal más alto de Brasil. En 2020, el STF (Tribunal Supremo Federal) falló en el RE 1167509 que los municipios no pueden imponer obligaciones de retención del ISS a los receptores del servicio cuando el prestador no está registrado en ese municipio, revocando el requisito de registro del CPOM (registro de prestadores de otros municipios) de São Paulo. Pero las obligaciones de retención establecidas por la ley federal, donde la combinación de tipo de servicio y municipio genera una retención legítima, siguen vigentes. Saber qué facturas conllevan una obligación de retención válida requiere ver el lote.

Detección de variaciones en el tipo impositivo del ISS

La LC 116/2003 establece tipos impositivos del ISS entre el 2% y el 5% según el municipio y el tipo de servicio. Pero los municipios compiten en tipos para atraer empresas: el diagnóstico del PNUD sobre el sistema tributario brasileño señala "una guerra predatoria de incentivos fiscales de ICMS e ISS". Un prestador podría aplicar un tipo del 2% para un código de servicio que São Paulo grava al 5% porque está registrado en un municipio que redujo su tipo para atraer empresas. Si ese tipo es válido es una determinación fiscal que toma su equipo de contabilidad. Pero detectarlo requiere ver el lote. Un documento individual al 2% parece normal. Diez documentos al 5% y uno al 2%, todos para el mismo código de servicio: eso es una variación que merece investigación.

Qué significa el estándar nacional de NFS-e para el procesamiento por lotes

El SNNFS-e (sistema nacional de la NFS-e) es el esfuerzo de Brasil por unificar los formatos de facturas de servicios entre municipios. Desde agosto de 2025, 1.463 municipios se habían adherido, pero la adopción es voluntaria y ciudades importantes como São Paulo han confirmado públicamente que mantendrán sus propios sistemas. El resultado es un panorama híbrido: algunos de sus prestadores emiten NFS-e bajo el estándar nacional XML, otros bajo el sistema propio de su ciudad, y usted no controla cuál.

Desde la perspectiva del procesamiento por lotes, este panorama híbrido refuerza el valor de la extracción independiente del diseño. Las herramientas basadas en plantillas ahora necesitan plantillas tanto para los diseños municipales anteriores al estándar como para el estándar SNNFS-e, además de rutas de actualización cuando las ciudades migran de uno a otro. La extracción semántica lee lo que aparece en el documento, independientemente del estándar que lo haya producido. Una NFS-e de estándar nacional y una NFS-e con formato personalizado de São Paulo llegan al mismo lote, definen las mismas columnas y producen el mismo resultado. El proceso de estandarización cambia el contenido del documento, no el enfoque de extracción.

La reforma tributaria de 2026 —que reemplazará gradualmente el ISS por el IBS (impuesto sobre bienes y servicios) hasta 2033— añade otra capa. Durante la transición, los documentos NFS-e pueden incluir tanto los campos heredados del ISS como los nuevos campos de IBS/CBS. El enfoque de extracción se adapta añadiendo nuevos nombres de columna —"Importe del IBS", "Importe del CBS"— junto a las columnas existentes del ISS. No se requiere rediseño de plantillas.

Si su organización también procesa facturas de bienes brasileñas, el flujo de extracción de XML de NF-e se cubre en la guía de extracción de NF-e. Ambos tipos de documento pueden coexistir en el mismo lote cuando sus definiciones de columnas son lo bastante amplias, aunque los campos específicos de NFS-e, como el código de la LC 116, estarán en blanco para documentos NF-e, lo cual es esperable y no causa errores.

Preguntas Frecuentes: Procesamiento por Lote de NFS-e

¿Puedo procesar por lote NFS-e de proveedores de diferentes ciudades juntos?

Sí — y este es el caso de uso principal. La extracción semántica lee cada documento de forma independiente al comprender el contenido, no al coincidir con el diseño de una ciudad específica. Una NFS-e de São Paulo (ISS 5%), una de Belo Horizonte (ISS 3%) y una de Curitiba (ISS 4%) en el mismo lote se procesan con las mismas definiciones de columna. La IA localiza el CNPJ do Prestador, la base de cálculo del ISS y demás campos en cada documento, sin importar dónde aparezcan en la página.

¿Cómo se maneja el ISS Retido na Fonte en la salida por lote?

El campo "ISS Retenido" se extrae como una columna dedicada — que generalmente contiene "Sim" (sí) o "Não" (no). En la hoja de cálculo de salida por lote, ordenar por esta columna le da una lista completa de cada factura donde su empresa es el agente de retención. A partir de ahí, calcula el monto a remitir (la tasa de ISS × la base de cada factura marcada) y dirige cada una al sistema de pago de la prefectura correspondiente. La herramienta de extracción proporciona los datos. La remisión del impuesto en sí sigue siendo un paso de cumplimiento separado que su equipo de contabilidad realiza a través del portal de pago de cada municipio.

¿Qué sucede si un proveedor emite una NFS-e con errores de diseño o campos faltantes?

El motor de extracción lee lo que está en el documento. Si un campo obligatorio — el CNPJ, por ejemplo — falta o es ilegible, esa celda en la salida estará en blanco. Esto es realmente útil: una celda en blanco en la salida por lote identifica de inmediato qué documento necesita seguimiento con el proveedor, mientras que ingresar manualmente 30 documentos podría hacer que pase por alto un campo en blanco entre los demás. La vista por lote hace visibles las omisiones.

¿Puedo mezclar documentos NFS-e con facturas de servicios internacionales en el mismo lote?

Sí. Si sus definiciones de columna cubren ambos tipos de documentos — como "Número de Factura", "Nombre del Proveedor", "Monto Total", "Monto del Impuesto" — las facturas internacionales y los documentos NFS-e pueden coexistir en el mismo lote. Las columnas específicas de NFS-e como "Código de Servicio LC 116" o "Tasa de ISS" estarán en blanco para documentos no brasileños, y las columnas específicas internacionales como "Número de IVA" estarán en blanco para documentos NFS-e. Ambos comportamientos son esperados y no causan errores.

¿El motor de extracción maneja los campos de la reforma tributaria de 2026 (IBS/CBS) en los documentos NFS-e?

Sí — cuando un ayuntamiento actualiza su diseño de NFS-e para incluir campos de IBS o CBS, usted agrega los nombres de columna correspondientes (por ejemplo, "Importe de IBS," "Importe de CBS") a su definición de lote. El motor de extracción localiza estos nuevos campos al comprender el contenido del documento, de la misma manera que localiza los campos existentes de ISS y CNPJ. No se requiere reconfiguración de plantilla. Durante el período de transición hasta 2033, puede ejecutar lotes que contengan documentos NFS-e con campos tanto de ISS como de IBS — defina columnas para ambos, y el resultado completará los campos que estén presentes en cada documento.

¿Cómo se compara el procesamiento por lotes con la integración directa de la API de cada ayuntamiento?

La integración de API municipal requiere crear y mantener una conexión separada para cada ciudad en la que operan sus proveedores — cada una con su propio método de autenticación, esquema y calendario de actualización. El estándar nacional SNNFS-e simplifica esto para los ayuntamientos participantes, pero ciudades importantes como São Paulo han rechazado unirse. La extracción semántica por lotes procesa los documentos que ya recibe — PDFs, XMLs, impresiones de DANFSE — sin requerir acceso por API a ningún sistema municipal. No es una alternativa a la integración de API para la emisión de NFS-e saliente. Es la solución del lado receptor para cuando usted es el receptor del servicio (tomador), no el emisor.

Para una visión más amplia de la extracción de documentos por lotes más allá de NFS-e, vea cómo funciona la extracción de facturas por lotes a Excel en distintos tipos de documentos y monedas.

Del Tipeo por Municipio a la Conciliación por Lote

La NFS-e fue diseñada para hacer eficiente la recaudación de impuestos para el gobierno — y lo logra. Cada factura de servicios que recibe fue validada por una autoridad tributaria municipal antes de llegar a su bandeja de entrada. El CNPJ fue verificado. El tipo impositivo del ISS fue validado contra el código de servicio. El número de factura fue asignado. Esos datos existen. Son precisos. Han pasado por un paso de validación gubernamental que la mayoría de las facturas internacionales nunca ven.

La ineficiencia está completamente en el lado receptor: volver a tipear campos validados de documentos que varían por ciudad en una hoja de cálculo que debe ser correcta para la conciliación de SPED. La extracción semántica por lotes cierra esa brecha no haciendo el tipeo más rápido, sino eliminándolo — y al hacerlo, le brinda la visión intermunicipal que la entrada manual nunca podría producir.

La próxima vez que reciba un lote de NFS-e de proveedores en São Paulo, Río, Belo Horizonte y más allá, intente procesarlos como un solo lote. Defina sus columnas una vez. Deje que la extracción se ejecute. Luego ordene por municipio y verifique los totales de ISS. Vea si la vista por lotes revela algo que los documentos individuales no mostraban.

Procese sus NFS-e por Lotes a Excel

No se requiere registro para sus primeras 50 páginas.

📮 contact email: [email protected]