Comment extraire les données NFS-e pour vos
opérations brésiliennes (guide 2026)
Le Brésil compte 5 570 municipalités, et chacune peut gérer son propre système de facturation de services avec son propre format, son propre taux d'ISS entre 2 % et 5 %, et son propre service web pour valider chaque transaction avant que le prestataire de services ne puisse légalement l'émettre. Si votre entreprise achète des services auprès de prestataires brésiliens — conseil en informatique à São Paulo, services juridiques à Rio, marketing à Belo Horizonte — vous êtes confronté à un problème de fragmentation documentaire qu'aucun outil d'extraction basé sur des modèles n'a été conçu pour résoudre.

Points clés à retenir
- Une autorité fiscale brésilienne a validé chaque champ de votre NFS-e avant qu'il ne vous parvienne — pourtant votre équipe le ressaisit tout à la main, introduisant précisément les erreurs qui déclenchent les audits automatiques de recoupement.
- Les 5 570 municipalités brésiliennes gèrent leurs propres formats de NFS-e — ce qui signifie que les outils d'extraction basés sur des modèles ne peuvent pas vous aider, car une coordonnée qui fonctionne pour São Paulo échoue sur Porto Alegre.
- L'extraction sémantique lit les champs par leur signification (« trouver le CNPJ à 14 chiffres étiqueté Prestador »), et non par coordonnées de page — vous définissez 11 noms de colonnes une seule fois, et ImageToTable.ai extrait les données NFS-e de n'importe quelle municipalité brésilienne dans un seul fichier Excel.
Pourquoi une facture de services brésilienne est différente de toutes les autres factures que vous traitez

Si vous avez déjà travaillé avec des documents fiscaux brésiliens, vous connaissez probablement la NF-e — la facture électronique de marchandises que toute équipe AP au Brésil ou traitant avec des fournisseurs brésiliens doit gérer. La NF-e est régie au niveau de l'État par la SEFAZ (Secrétariat aux Finances de l'État), suit un schéma XML national unique (version de mise en page 4.0) et porte l'ICMS — une taxe d'État sur la circulation des marchandises. C'est complexe, mais c'est un système.
Une facture de services (Nota Fiscal de Serviços / NFS-e) est régie au niveau municipal. La taxe qu'elle porte est l'ISS — Imposto Sobre Serviços — et le taux, la mise en page, le processus de validation et même les exigences en matière de certificat numérique peuvent tous différer d'une ville à l'autre. São Paulo a son propre service web NFS-e. Rio de Janeiro en a un différent. Belo Horizonte en a un troisième. Et 5 567 autres municipalités ont chacune le leur.
Ce n'est pas un cas limite. C'est la réalité structurelle du fédéralisme fiscal brésilien, consacrée par la Loi complémentaire 116/2003, qui accorde à chaque municipalité l'autorité de fixer son propre taux d'ISS (2 %–5 %) et d'administrer sa propre collecte de la taxe sur les services. Le gouvernement fédéral s'efforce d'unifier cela via le Système national de NFS-e (Sistema Nacional de NFS-e / SNNFS-e), avec plus de 1 280 municipalités inscrites début 2026. Mais l'adoption est volontaire, et de nombreuses grandes villes gèrent encore leurs propres systèmes.
Pour l'équipe qui reçoit ces documents — l'agent AP qui ouvre un PDF provenant d'une agence de marketing brésilienne ou d'un consultant informatique — la conséquence pratique est la suivante : aucun document NFS-e ne se ressemble. Une facture de services émise à São Paulo place la base de cálculo (base imposable) de l'ISS à une position différente de celle émise à Porto Alegre. Le CNPJ do prestador (numéro d'identification fiscale du prestataire de services) peut se trouver dans l'en-tête d'un document et dans une barre latérale d'un autre. Un modèle qui fonctionne pour São Paulo échouera pour Campinas.
C'est pourquoi l'OCR basé sur des modèles — l'approche utilisée par la plupart des outils d'extraction de documents — échoue systématiquement sur les NFS-e. Les modèles correspondent à des coordonnées. Les municipalités changent les coordonnées. Pour un aperçu plus détaillé du fonctionnement de l'autre grand type de facture électronique brésilienne, consultez notre guide d'extraction XML NF-e, qui couvre la facture de marchandises au niveau de l'État.
Ce que contient réellement une NFS-e (Nota Fiscal de Serviços)
Avant d'extraire des données d'une NFS-e, il faut savoir ce qu'elle contient — et surtout, ce que chaque champ signifie pour votre comptabilité. Une NFS-e n'est pas qu'une simple facture. C'est un document fiscal dont les champs, imposés par la loi, déterminent vos obligations fiscales, le rapprochement de vos fournisseurs et votre piste d'audit.
Voici les champs clés d'une NFS-e type et pourquoi chacun est important côté réception :
| Champ | Nom en portugais | Pourquoi c'est important |
|---|---|---|
| CNPJ du prestataire | CNPJ do Prestador | Identifiant fiscal de l'entreprise à 14 chiffres. Clé maîtresse de votre fichier fournisseur. Doit correspondre exactement à vos enregistrements pour la réconciliation SPED. |
| CNPJ du preneur | CNPJ do Tomador | Votre propre CNPJ. Vérifie que la facture a été émise pour la bonne entité brésilienne. Une divergence invalide le document pour vos registres fiscaux. |
| Code de service (LC 116) | Código de Serviço (LC 116) | Code numérique de la liste fédérale des services classifiant le type de service fourni. Détermine le taux d'ISS applicable dans chaque municipalité. Par exemple, le code 1.01 couvre « Analyse et développement de systèmes » (IT) ; le code 17.19 couvre les services comptables. |
| Base de calcul ISS | Base de Cálculo ISS | Valeur du service soumise à l'ISS. Pas toujours égale au total de la facture — certaines déductions autorisées par la loi (valor de deduções) peuvent s'appliquer. |
| Taux d'ISS | Alíquota ISS | Taux municipal appliqué. 2%–5% selon la ville et le type de service. São Paulo : 5% général, 2% pour la construction. Détermine si la taxe a été correctement calculée. |
| Montant de l'ISS | Valor ISS | ISS calculé. Sur les factures de services brésiliennes, l'ISS est une taxe informative incluse dans le prix final — elle ne s'ajoute pas en sus. La facture indique la part du total correspondant à l'ISS. |
| ISS retenu à la source | ISS Retido na Fonte | Indique si le preneur (vous) est responsable de retenir et de reverser l'ISS directement à la municipalité, plutôt que le prestataire. Si « Sim », vous avez une obligation de reversement — pas seulement une saisie de données. |
| Numéro RPS | Número RPS | Numéro de reçu provisoire de services — identifiant temporaire attribué avant que la municipalité valide la facture et émette le numéro NFS-e définitif. Utile pour la réconciliation lorsque le numéro NFS-e officiel n'est pas encore disponible. |
| Numéro NFS-e | Número NFS-e | Numéro de facture officiel émis par la municipalité après validation. Identifiant principal du document pour l'archivage et l'audit. |
| Code CNAE | Código CNAE | Classification nationale des activités économiques — code d'activité enregistré du prestataire. À recouper avec le code de service LC 116 pour vérifier que le prestataire facture une activité autorisée. |
| Description des services | Discriminação dos Serviços | Description libre des services rendus. Peut contenir le détail des lignes, la période de service ou des références contractuelles — non structurée mais essentielle pour l'affectation des centres de coûts et le circuit d'approbation. |
La liste des codes de service LC 116 contient 40 catégories principales, chacune avec des sous-éléments couvrant tout, des services informatiques (catégorie 1) aux services juridiques (article 17.14), en passant par l'ingénierie (catégorie 7) et la santé (catégorie 4). La liste complète est disponible publiquement en annexe à la Loi complémentaire 116/2003. Chaque NFS-e que vous recevez porte l'un de ces codes, et ce code détermine directement le taux d'ISS que votre prestataire aurait dû appliquer.
Aucun de ces champs n'est facultatif. La municipalité qui valide la NFS-e vérifie chacun d'eux avant d'autoriser le document. Cela signifie que les données dont vous avez besoin pour un traitement précis des comptes fournisseurs existent déjà — elles ont été vérifiées par une autorité fiscale gouvernementale avant que la facture n'atteigne votre boîte de réception. La question est de savoir si vous pouvez les extraire du document et les intégrer dans votre feuille de calcul sans les ressaisir.
Ce que la saisie manuelle des NFS-e coûte à votre équipe financière

L'hypothèse standard est que la saisie manuelle des données de facturation est lente. C'est vrai — un document moyen d'une page prend environ 3 minutes à saisir dans une feuille de calcul. Mais avec les NFS-e en particulier, la lenteur n'est pas le problème le plus coûteux. Le problème le plus coûteux est la propagation des erreurs dans vos registres fiscaux.
Un CNPJ mal saisi — un chiffre erroné dans une chaîne de 14 chiffres — signifie que votre rapprochement du fichier fournisseur échoue, et vous ne pouvez pas réclamer le crédit d'ISS si votre entité est l'agent reteneur. Un taux d'ISS incorrect copié dans votre ERP (2 % saisi comme 5 %) signifie que votre provision fiscale est fausse pour toute la période de déclaration, ce qui peut être signalé lors d'un audit municipal. Un indicateur « ISS Retido na Fonte = Sim » manqué signifie que vous ne reversez pas l'ISS que vous — et non le prestataire — êtes légalement tenu de payer à la Mairie.
Ce ne sont pas des risques hypothétiques. Les autorités fiscales brésiliennes effectuent un recoupement électronique entre les émetteurs et les destinataires de NFS-e. Si votre prestataire a déclaré avoir reçu R$50 000 de votre CNPJ et que vos registres SPED indiquent R$48 000 parce que deux factures ont été mal saisies, l'écart déclenche une notification automatique — puis une enquête formelle.
Multipliez cela sur un volume même modeste. Une entreprise de taille moyenne avec 10 prestataires de services brésiliens — un cabinet de conseil informatique, une agence de marketing, un cabinet juridique, un cabinet comptable, une société de gestion d'installations et quelques indépendants — peut recevoir 30 à 50 documents NFS-e par mois. À 3 minutes par document, cela représente environ 2,5 heures de saisie manuelle. Mais le coût réel n'est pas les 2,5 heures. C'est le cycle de correction : la feuille de calcul de rapprochement qui ne balance pas, l'appel au prestataire pour demander un duplicata, la déclaration fiscale modifiée, les honoraires comptables pour résoudre l'écart.
C'est là que l'expression « extraction de documents » devient concrète. Il ne s'agit pas d'économiser du temps de frappe. Il s'agit d'éliminer l'écart entre ce que la municipalité a validé et ce que votre ERP a reçu.
Comment l'extraction par IA gère les variations municipales — sans modèles par ville

Le principal défi technique de l'extraction de NFS-e (Nota Fiscal de Serviços) n'est pas que les documents soient difficiles à lire. Une facture de services (NFS-e) de n'importe quelle ville brésilienne est un document clairement imprimé, généralement généré par machine. Le défi est que le même champ apparaît à une position différente, avec des libellés différents, sur les documents de différentes villes.
L'OCR traditionnel basé sur des modèles résout ce problème en définissant une zone rectangulaire pour chaque champ : « Le CNPJ do Prestador se trouve aux coordonnées (x=150, y=320, w=200, h=30). » Cela fonctionne parfaitement — pour une seule municipalité. Cela échoue pour la suivante. Maintenir une bibliothèque de modèles pour 5 570 villes n'est pas réaliste. Même en maintenir une pour les 20 villes où se trouvent vos prestataires implique 20 modèles qui cassent lorsque la Mairie publie une mise à jour de mise en page (ce que São Paulo a fait en août 2025 avec la version 3.2 de son manuel NFS-e).
L'alternative est l'extraction sémantique : au lieu de rechercher un champ par sa position, on le recherche par ce qu'il signifie. Vous dites au moteur d'extraction « J'ai besoin du CNPJ du prestataire de services », et le moteur lit le document, comprend qu'un numéro à 14 chiffres étiqueté « CNPJ » à côté de « Prestador » est l'identifiant fiscal du prestataire — quel que soit l'endroit où il se trouve sur la page.
C'est fondamentalement différent de l'OCR. L'OCR convertit les pixels en caractères. L'extraction sémantique — propulsée par des modèles de langage visuels — lit un document plus comme une personne le lit : en comprenant les libellés, le contexte et la structure du document. Lorsque la mise en page de São Paulo place « Prestador de Serviços » en haut à gauche et que Porto Alegre le place dans un en-tête centré, un moteur sémantique s'en moque. Il ne cherche pas une position. Il cherche un sens.
Pourquoi cela importe particulièrement pour la NFS-e : La variation municipale est un problème de position. L'extraction sémantique est une solution de sens. La fragmentation sur 5 570 villes qui rend les outils basés sur des modèles non viables est exactement ce que l'extraction sémantique a été conçue pour gérer — car elle ne dépend pas du tout de la cohérence de la mise en page.
L'approche d'extraction utilise l'Extraction de colonnes personnalisées : vous saisissez les noms des champs souhaités dans votre sortie — « CNPJ du prestataire », « Code de service (LC 116) », « Montant de l'ISS », « Numéro NFS-e » — et l'IA localise chaque valeur sur le document en comprenant ce que le libellé signifie, et non où il se trouve. Ces noms de colonnes deviennent les en-têtes de votre feuille de calcul Excel finale, de sorte que la sortie est prête à être téléchargée dans votre ERP ou votre système comptable sans reformatage.
Étape par étape : extraire les données NFS-e dans Excel
Voici le processus pratique pour extraire les données de vos documents NFS-e reçus dans un tableur structuré. La méthode fonctionne que vous disposiez du PDF/DANFSE (le document auxiliaire imprimé pour les services) ou du fichier XML sous-jacent.
Les fichiers sont traités en toute sécurité et ne sont pas stockés.
Gestion de la retenue d'ISS, des codes de service multiples et des scénarios par lots
La plupart des extractions de NFS-e sont simples — un seul prestataire, un seul service, des champs standard. Mais les flux de travail financiers réels rencontrent des cas particuliers qui comptent. En voici trois qui font trébucher les processus manuels :
ISS retenu à la source (ISS Retido na Fonte)
Lorsqu'une NFS-e est marquée « ISS Retido na Fonte = Sim », l'obligation de reverser l'ISS à la municipalité passe du prestataire de services au preneur de services — c'est-à-dire à vous. Ce n'est pas une simple note de saisie. C'est une action de conformité fiscale. Votre équipe financière doit : (1) identifier ces factures dans le résultat d'extraction, (2) calculer le montant d'ISS à reverser (le taux × la base indiqués sur la facture), et (3) effectuer le paiement auprès de la mairie de la municipalité concernée dans les délais.
Omettre cette étape signifie que l'ISS n'a jamais été payé à personne — le prestataire ne l'a pas payé (car il l'a déclaré retenu), et vous ne l'avez pas payé (car vous avez manqué l'indicateur). Les deux parties sont exposées. Un flux d'extraction qui signale automatiquement ces documents — en extrayant le champ « ISS Retido » comme colonne oui/non — transforme un risque de conformité en colonne de feuille de calcul triable.
Plusieurs codes de service sur une même facture
Une seule NFS-e peut contenir plusieurs lignes, chacune avec son propre code de service LC 116 et son propre taux d'ISS. Un cabinet de conseil en informatique peut facturer séparément « Análise e desenvolvimento de sistemas » (code 1.01, ISS 5 % à São Paulo) et « Suporte técnico » (code 1.07, potentiellement à un taux différent). Si vous n'extrayez que le total ISS au niveau de la facture, vous perdez la classification par ligne qui détermine si chaque ligne a été correctement taxée. Définissez vos colonnes pour extraire les codes de service et les montants ISS au niveau des lignes, et non seulement le total du document.
Traitement par lots pour plusieurs prestataires de services
Lorsque vous recevez des documents NFS-e de cinq prestataires différents dans cinq villes différentes, l'avantage du traitement par lots se multiplie. Au lieu d'ouvrir chaque PDF individuellement et de copier les champs dans des lignes de feuille de calcul séparées, vous les téléversez tous ensemble. Le moteur d'extraction les traite en parallèle — une seule page prend 5 à 10 secondes — et produit une feuille de calcul consolidée avec les données de tous les prestataires dans les mêmes colonnes. C'est la réponse pratique au problème de fragmentation municipale : l'IA gère automatiquement les différences de mise en page de chaque document, et votre équipe gère un seul fichier de sortie. Pour l'analyse structurelle de l'origine de cette fragmentation et de son coût, voir pourquoi le traitement des NFS-e brésiliennes coûte plus cher que la plupart des équipes financières ne le pensent.
Pour les scénarios de volume — 50, 100 documents NFS-e ou plus par mois — l'extraction de factures par lots vers Excel élimine la configuration par document qui rend le traitement manuel linéaire par rapport au nombre de documents.
La réforme fiscale de 2026 : ce qui change pour l'extraction NFS-e
Le Brésil est au milieu d'une réforme fiscale qui remplacera à terme l'ISS et l'ICMS par un IBS unifié (Imposto sobre Bens e Serviços) et remplacera le PIS/COFINS par la CBS (Contribuição sobre Bens e Serviços). La transition est progressive — jusqu'en 2033 — mais les formats NFS-e sont déjà mis à jour. São Paulo a publié la version 3.2 de son manuel NFS-e en août 2025, introduisant des champs pour la nouvelle structure fiscale. D'autres municipalités suivront.
Du point de vue de l'extraction de données, cela signifie deux choses. Premièrement, les champs que vous extrayez aujourd'hui (base ISS, taux ISS, montant ISS) seront éventuellement complétés ou remplacés par des champs IBS/CBS sur les futurs documents NFS-e. Deuxièmement, pendant la période de transition, vous pouvez recevoir des factures comportant à la fois les anciens champs ISS et les nouveaux champs IBS — et vous devrez extraire les deux pour le rapprochement.
L'approche d'extraction décrite ci-dessus gère cela naturellement. Comme elle ne dépend pas de positions de champs fixes ni de modèles codés en dur, les nouveaux champs d'un format NFS-e mis à jour sont extraits de la même manière que les existants : vous ajoutez le nom de la colonne (par exemple, « Montant IBS »), et l'IA le localise sur le document. Aucune reconfiguration de modèle requise.
Pour un guide pratique de l'extraction de données fiscales à partir de factures de marchandises brésiliennes — qui comportent ICMS, IPI, PIS et COFINS et sont régies par un cadre réglementaire différent — voir notre guide d'extraction XML NF-e. Si vous traitez également des documents de paie brésiliens, notre guide d'extraction de holerite (bulletin de paie) couvre ce flux de travail.
FAQ : Extraction de factures de service NFS-e brésiliennes
Puis-je extraire des données d'un PDF NFS-e si je n'ai pas le XML ?
Oui. Le PDF/DANFSE contient tous les champs fiscaux obligatoires exigés par la municipalité pour validation. Contrairement au DANFE de la NF-e — qui omet environ 90 % des données XML sous-jacentes — le document imprimé NFS-e est plus autonome car les municipalités ne partagent pas un standard unique pour ce qui va dans le XML par rapport à ce qui apparaît sur le document auxiliaire imprimé. L'ensemble complet des champs listés dans le tableau d'anatomie ci-dessus (CNPJ prestataire/preneur, code LC 116, ventilation de l'ISS, numéro NFS-e, numéro RPS) est généralement présent sur le PDF. Cependant, si vous avez accès au XML, utilisez-le — il garantit une couverture à 100 % des champs et élimine les variations de précision liées à la ROC.
L'extraction fonctionne-t-elle avec les documents NFS-e de n'importe quelle ville brésilienne ?
L'extraction sémantique lit les champs en comprenant le contenu du document, sans correspondre à la mise en page d'une ville spécifique. Elle fonctionne sur une NFS-e de São Paulo, Rio de Janeiro, Belo Horizonte, Porto Alegre ou toute autre municipalité sans nécessiter de modèle par ville. Cependant, la précision de l'extraction sur les documents NFS-e manuscrits — qui sont rares (presque toutes les NFS-e sont générées par machine) — sera inférieure à celle des documents imprimés ou numériques. La reconnaissance de l'écriture manuscrite fonctionne, mais elle est intrinsèquement moins précise que la lecture de texte imprimé.
Qu'en est-il de l'ISS retenu à la source — comment gérer l'obligation de remise de l'impôt ?
Extrayez le champ « ISS Retido na Fonte » comme colonne dédiée. Toute facture où ce champ est égal à « Sim » (ou « Oui ») doit être acheminée vers votre flux de conformité fiscale, et non saisie comme une écriture AP standard. Le taux d'ISS et la base d'ISS sur la facture vous indiquent le montant à remettre ; la municipalité du prestataire vous indique où le remettre. L'outil d'extraction vous fournit les données. La remise de l'impôt elle-même est une étape de conformité distincte que votre équipe comptable ou fiscale doit exécuter via le système de paiement de la préfecture concernée.
Puis-je traiter par lots des documents NFS-e avec des factures internationales classiques ?
Oui. Si vos définitions de colonnes sont suffisamment larges pour couvrir les deux types de documents (par exemple, « Numéro de facture », « Nom du fournisseur », « Montant total »), vous pouvez inclure des documents NFS-e brésiliens dans le même lot que des factures internationales. Le moteur d'extraction lit chaque document indépendamment et remplit les champs qu'il trouve. Cependant, pour les champs spécifiques à la NFS-e — comme le code de service LC 116 ou le montant de l'ISS — ces colonnes seront vides pour les factures non brésiliennes, ce qui est normal et ne provoque pas d'erreurs.
Comment la réforme fiscale de 2026 affecte-t-elle l'extraction des champs NFS-e ?
La réforme ne modifie pas le fonctionnement de l'extraction — elle change les champs qui apparaissent sur les futurs documents NFS-e. À mesure que les municipalités mettent à jour leurs formats pour inclure les champs IBS et CBS en plus ou à la place de l'ISS, vous devrez mettre à jour vos définitions de colonnes pour inclure les nouveaux noms de champs. L'approche d'extraction reste la même : ajoutez le nouveau nom de colonne, et l'IA localise la valeur correspondante. La transition progressive jusqu'en 2033 signifie que vous traiterez probablement des documents comportant à la fois les anciens et les nouveaux champs fiscaux pendant la période de chevauchement.
Ai-je besoin d'un identifiant fiscal brésilien (CNPJ) pour utiliser cette approche d'extraction ?
Non. L'extraction de données à partir d'une NFS-e reçue est une tâche de traitement de documents, et non une action de déclaration fiscale. Vous n'avez pas besoin d'un CNPJ pour extraire des données d'un PDF ou d'un XML NFS-e dans un tableur. Les champs CNPJ sur le document identifient le prestataire de services et le preneur de services ; l'outil d'extraction les lit comme des points de données et les place dans vos colonnes de sortie — il n'interagit avec aucun système fiscal municipal.
De la saisie document par document au traitement par lots
La NFS-e a été conçue pour rendre la collecte des impôts efficace pour le gouvernement — et elle y parvient. Chaque facture de services émise au Brésil est validée par une autorité fiscale municipale avant de vous parvenir, ce qui signifie que les données qu'elle contient ont déjà été vérifiées pour leur cohérence. L'inefficacité se situe entièrement du côté de la réception : le comptable qui ressaisit des champs qu'une machine a déjà vérifiés, à partir d'un document qui varie selon la ville, dans un tableur qui doit être correct pour la réconciliation fiscale.
L'extraction sémantique change le côté réception de cette équation. Les champs sont déjà là, déjà validés, déjà lisibles par machine (ou presque). Les intégrer dans votre tableur en un seul lot est une décision de flux de travail, pas une avancée technique. Testez-la sur votre prochain lot de documents NFS-e — voyez si le temps par document passe de la référence manuelle de 3 minutes aux secondes nécessaires pour définir vos colonnes une fois et laisser l'extraction s'exécuter.
Aucune inscription requise pour vos 50 premières pages.