NF-e Nota Fiscal brésilienne
Extraction XML vers Excel
Le document imprimé sur votre bureau — le DANFE — contient moins de 10 % des données de la NF-e de votre fournisseur. Chaque calcul de taxe par ligne, chaque code fiscal CFOP, chaque classification produit NCM, et la ventilation complète PIS/COFINS qui détermine vos crédits de taxe en amont : rien de tout cela n'apparaît sur cette page. La facture complète est le fichier XML que votre fournisseur brésilien a déjà généré, et il contient plus de 500 champs structurés que vous payez sans utiliser.
Points clés
- Le DANFE que votre équipe comptabilité saisit manuellement dans Excel a été conçu pour que la police routière scanne les codes-barres lors du transport des marchandises, pas pour la comptabilité — il omet 90 % des données de votre facture, y compris chaque ventilation fiscale par ligne qui détermine votre récupération de crédits ICMS (taxe sur les ventes d'État) et PIS/COFINS (contribution sociale fédérale).
- La facture complète — un XML NF-e (Nota Fiscal Eletrônica, le format de facture électronique brésilien) avec plus de 500 champs lisibles par machine — existe déjà pour chaque transaction car la loi brésilienne exige que votre fournisseur la signe numériquement et la soumette à SEFAZ, l'autorité fiscale de l'État, avant que les marchandises ne puissent légalement quitter l'entrepôt.
- Vous n'avez pas besoin d'un module de localisation ERP brésilien — alimentez le XML NF-e ou le DANFE dans ImageToTable.ai, définissez les colonnes dont vous avez besoin une fois, et obtenez chaque détail fiscal, y compris CFOP (codes d'opération fiscale), NCM (classifications de produits) et montants ICMS dans Excel sans écrire une seule requête XPath.
Le piège du DANFE : pourquoi la plupart des équipes AP internationales traitent le mauvais document
Lorsqu'une livraison arrive d'un fournisseur brésilien, le chauffeur remet un document imprimé avec un code-barres et un numéro à 44 chiffres dans le coin supérieur droit. Il s'agit du DANFE — Documento Auxiliar da Nota Fiscal Eletrônica — et le mot « auxiliaire » dans son nom n'est pas anodin. Il existe dans un seul but : accompagner les marchandises physiques pendant le transport afin que les autorités fiscales aux postes de contrôle routier puissent scanner le code-barres et vérifier l'envoi. Il n'a jamais été conçu pour être une facture complète.
Pourtant, pour la grande majorité des équipes AP internationales qui reçoivent des marchandises brésiliennes, le DANFE est la facture. Il est scanné, traité par OCR ou saisi manuellement dans l'ERP. La clé d'accès à 44 chiffres est copiée — consciencieusement, les 44 chiffres — dans un champ intitulé « Numéro de facture ». Et puis l'employé AP passe au document suivant, ignorant que pour chaque fournisseur, pour chaque envoi, la facture complète existe déjà dans un format XML lisible par machine que le gouvernement brésilien exige du vendeur de générer, de signer numériquement avec un certificat ICP-Brasil, et de soumettre à la SEFAZ (l'autorité fiscale de l'État) avant que les marchandises puissent légalement quitter l'entrepôt.
L'ampleur de la perte de données n'est pas marginale. Le DANFE imprime un résumé condensé — nom du vendeur, nom de l'acheteur, date, lignes d'articles avec quantités et prix unitaires, et un total général. Le XML NF-e, régi par plus de 400 règles de validation automatisées exécutées par la SEFAZ au moment de l'autorisation, contient plus de 500 balises structurées dans la version actuelle du layout 4.0, définie par la Note Technique 2016/002. La différence entre les deux documents est la différence entre un ticket de caisse et le dossier fiscal complet d'une transaction — un dossier qui détermine vos crédits de taxe en amont, votre réconciliation douanière et votre piste d'audit pour les cinq prochaines années.
La distinction entre DANFE et XML n'est pas une simple subtilité technique. C'est le concept le plus important pour tout service AP traitant des factures de fournisseurs brésiliens, et il a une conséquence financière directe : si votre équipe saisit les données du DANFE, vous ressaisissez manuellement une fraction d'informations qui existent déjà sous une forme structurée et lisible par machine — et vous omettez les détails fiscaux qui déterminent si vous récupérez le bon montant d'ICMS, d'IPI, de PIS et de COFINS sur chaque transaction.
Ce qui se cache dans un XML de NF-e — et pourquoi c'est crucial pour la comptabilité fournisseurs
Un XML de NF-e n'est pas qu'une simple facture en balises. C'est un document fiscal juridiquement contraignant, porteur de la signature numérique du vendeur, validé selon plus de 400 règles SEFAZ, et contenant des données fiscales d'une granularité supérieure à toute norme de facturation électronique hors du Brésil. À titre de comparaison, la norme européenne Peppol BIS utilise environ 100 éléments. Une NF-e en contient cinq fois plus — et chaque élément est lisible par machine.
Avant de concevoir un flux d'extraction, vous devez comprendre ce que vous extrayez. Voici les principaux groupes d'éléments présents dans chaque XML de NF-e et leur importance pour la comptabilité fournisseurs :
| Groupe d'éléments XML | Contenu | Utilité pour la comptabilité fournisseur |
|---|---|---|
<ide> (Identification) | Clé d'accès à 44 chiffres, modèle de document (55=NF-e), série, numéro, date/heure d'émission, type d'émission, protocole d'autorisation SEFAZ | Identifie de manière unique chaque NF-e dans le monde. Le numéro de protocole confirme l'autorisation SEFAZ. Utilisez la clé d'accès pour vérifier l'authenticité à tout moment. |
<emit> (Émetteur) | CNPJ (identifiant fiscal de l'entreprise à 14 chiffres), raison sociale, nom commercial, adresse complète avec code municipal IBGE, inscription d'État (Inscrição Estadual) | Le CNPJ est la clé maître du fournisseur — il correspond à vos enregistrements fournisseurs. L'inscription d'État détermine la juridiction SEFAZ compétente pour la transaction. |
<dest> (Destinataire) | Votre CNPJ ou CPF, raison sociale, adresse, inscription d'État, ISUF (indicateur de substitution fiscale) | Vérifie que la facture a été émise pour votre entité brésilienne correcte. Essentiel pour l'éligibilité au crédit d'impôt. |
<det> (Lignes de détail) | Code produit, description, NCM (classification Mercosur à 8 chiffres), CFOP (code d'opération fiscale à 4 chiffres), quantité, prix unitaire, total ligne | Chaque ligne de détail possède son propre NCM et CFOP — deux codes qui déterminent les taux d'imposition applicables et l'éligibilité au crédit. Ils n'apparaissent pas sur le DANFE. |
<imposto> (Taxes) | ICMS (base imposable, taux, montant, code de situation fiscale CST, origine), IPI (base, taux, montant, CST), PIS (base, taux, montant, CST), COFINS (base, taux, montant, CST) | Le calcul fiscal complet au niveau de la ligne. Les taux ICMS varient selon l'État d'origine et de destination (4 %, 7 % ou 12 % interétatiques ; 17 %-22 % internes). PIS/COFINS déterminent les crédits d'impôt fédéraux. Rien de tout cela n'apparaît sur le DANFE. |
<total> (Totaux) | Total ICMS, total ICMS-ST (substitution fiscale), total IPI, total PIS, total COFINS, fret, assurance, remises, total net NF-e | Ventilation colonne par colonne de tous les agrégats fiscaux. À rapprocher de vos comptes fiscaux ERP. |
<transp> (Transport) | CNPJ du transporteur, mode de fret, plaques des véhicules, volume et poids de l'envoi | Rapprochement à trois niveaux avec les enregistrements logistiques. Les montants de fret affectent la base imposable ICMS. |
<cobr> (Facturation) | Conditions de paiement, dates et montants des échéances, coordonnées bancaires | Planification de la comptabilité fournisseur. Les factures brésiliennes comportent souvent des structures de paiement en plusieurs échéances (duplicatas). |
La chave de acesso à clé d'accès de 44 chiffres est l'identifiant universel de la NF-e. Elle encode l'État de l'émetteur (2 premiers chiffres, selon le code IBGE — 35 pour São Paulo, 33 pour Rio de Janeiro, 31 pour Minas Gerais), l'année-mois d'émission (4 suivants), le CNPJ de l'émetteur (14 suivants), le modèle du document (2), la série (3), le numéro séquentiel (9), le type d'émission (1), un code aléatoire anti-collision (8) et un chiffre de contrôle modulo 11 (1). Chaque XML de NF-e porte cette clé dans son attribut <infNFe Id="NFe...>, et vous pouvez l'utiliser pour interroger directement la SEFAZ afin de vérifier l'authenticité, les annulations ou télécharger le XML complet si votre fournisseur n'a envoyé que le DANFE.
Le DANFE n'est pas la facture. Le XML l'est. La loi fiscale brésilienne exige que le XML signé soit archivé pendant au moins cinq ans comme document juridique faisant foi de la transaction. Le DANFE — imprimé sur papier ordinaire, sans signature, contenant une fraction des données — n'existe que pour satisfaire à l'obligation d'inspection physique lors du transport des marchandises. Si votre équipe AP comptabilise à partir du DANFE, vous construisez votre piste d'audit sur un document que la loi fiscale brésilienne considère comme accessoire.
Configurer votre flux d'extraction XML NF-e
Il existe trois approches distinctes pour importer les données XML NF-e dans un tableur Excel, situées à des points très différents du spectre coût-complexité. Laquelle vous convient dépend de votre volume, de votre configuration ERP et de la présence ou non d'un module de localisation brésilienne dans votre filiale.
Méthode 1 : Module d'import ERP (SAP TDF, Oracle EBS Brazil, Dynamics 365 Finance)
Si votre entreprise utilise SAP, Oracle EBS ou Microsoft Dynamics 365 avec le module de localisation brésilienne activé, l'ERP peut importer directement les fichiers XML NF-e. Le module TDF (Nota Fiscal) de SAP traite les XML NF-e entrants via la transaction J1BNFE, en mappant chaque élément XML à la table SAP correspondante. La localisation brésilienne d'Oracle EBS (disponible à partir de la version 12.2.6+) utilise le programme XML Generator SEFAZ (P76B601) pour les importations. Dynamics 365 Finance propose un flux d'import dédié sous Comptes fournisseurs > Localisation brésilienne > Importer XML NF-e.
C'est la référence absolue — elle valide en temps réel auprès de la SEFAZ, comptabilise sur les bons comptes fiscaux et gère automatiquement le rapprochement à trois. Mais elle a un coût. Les modules de localisation brésilienne SAP et Oracle sont des licences séparées, et TOTVS — l'ERP dominant des entreprises brésiliennes de taille moyenne avec 33 % de parts de marché selon la dernière enquête de la Fundação Getúlio Vargas (FGV) — est entièrement axé sur le Brésil et rare en dehors du pays. Si votre équipe AP mondiale ne dispose pas d'une localisation ERP brésilienne, cette approche ne vous est pas accessible.
Méthode 2 : Conversion XML vers Excel
Dans sa forme la plus simple, un XML NF-e est un fichier XML, et tout fichier XML peut être converti en tableur. Des outils comme l'import XML intégré d'Excel (Données > Obtenir des données > À partir d'un fichier > À partir de XML), des convertisseurs en ligne ou des scripts Python utilisant des bibliothèques comme xml.etree.ElementTree peuvent aplatir la structure XML en lignes et colonnes.
Le défi de la conversion XML générique réside dans la profondeur du schéma NF-e. Un seul XML NF-e imbrique les données de ligne dans des éléments <det>, chacun contenant sa propre sous-arborescence <imposto> avec des groupes ICMS, IPI, PIS et COFINS distincts. Une conversion naïve XML vers CSV aplatira tout cela en une seule ligne avec des centaines de colonnes, dont beaucoup portent le même nom (chaque article a un champ vProd, chaque groupe de taxes a un champ vBC). Le résultat est techniquement « dans Excel », mais inutilisable sans un nettoyage conséquent.
Les bibliothèques Python xml.etree ou lxml avec des requêtes XPath explicites offrent un contrôle précis : vous extrayez exactement les éléments souhaités et les mappez à des colonnes nommées. Cette approche fonctionne bien si vous disposez de ressources de développement, mais nécessite de maintenir des mappages XPath qui se brisent à chaque mise à jour du schéma NF-e. Avec la réforme fiscale de 2026 ajoutant de nouveaux groupes d'éléments CBS/IBS au schéma (voir ci-dessous), ces mappages devront être mis à jour.
Méthode 3 : Extraction documentaire par IA
Une troisième approche — qui évite à la fois le coût de la localisation ERP et la fragilité des scripts XPath — est l'extraction documentaire par IA. Au lieu d'analyser directement le XML, vous téléchargez le DANFE (ou le XML NF-e rendu en PDF par le système de votre fournisseur) dans un outil d'extraction, spécifiez les colonnes souhaitées dans le tableau de sortie — « CNPJ », « Numéro de facture », « Base ICMS », « Montant ICMS », « Code NCM », « CFOP » — et l'IA lit le document pour localiser chaque valeur, où qu'elle se trouve sur la page.
Cette approche — parfois appelée Extraction par colonnes personnalisées — fonctionne différemment de l'OCR basé sur des modèles. L'OCR traditionnel nécessite de définir un modèle pour chaque mise en page de facture fournisseur, en indiquant au système « le numéro de facture est toujours aux coordonnées (x,y) ». Si la mise en page change, le modèle se brise. L'extraction par colonnes fonctionne plutôt par compréhension sémantique : vous nommez les champs souhaités, et l'IA localise les valeurs correspondantes n'importe où dans le document en comprenant ce que le champ signifie, et non où il se trouve. Ceci est particulièrement pertinent pour le traitement NF-e car les mises en page des DANFE des fournisseurs brésiliens varient considérablement — il n'existe pas de modèle visuel standardisé, seulement le schéma XML standardisé sous-jacent.
La limite, et elle est honnête, est que vous extrayez toujours de la mise en page visuelle du DANFE plutôt que du XML lisible par machine. Vous obtenez les 10 % de données affichées par le DANFE, et non les 500+ champs du XML. Pour de nombreux cas d'utilisation AP — données d'en-tête, articles, totaux — cela est suffisant et considérablement plus rapide que la saisie manuelle. Mais si vous avez besoin des calculs complets PIS/COFINS par ligne, des codes CFOP ou des codes de situation fiscale CST qui n'existent que dans le XML, l'extraction par IA depuis le DANFE ne peut pas récupérer des données qui ne sont pas imprimées sur la page.
| Méthode | Ce que vous pouvez extraire | Niveau de coût | Effort de mise en place | Maintenance continue |
|---|---|---|---|---|
| Module d'import ERP | 100% des champs XML — détails fiscaux complets, CFOP, NCM, CST, transport, facturation | Entreprise (licence + implémentation) | Élevé — nécessite le déploiement d'un module de localisation | Modéré — mises à jour de schéma lors des montées de version ERP |
| XML vers Excel (Script/Convertisseur) | 100% des champs XML — tout élément pour lequel vous écrivez un XPath | Faible (temps de développement ou outils gratuits) | Moyen — nécessite une connaissance du mapping XPath et du schéma | Élevé — les requêtes XPath cassent lors des changements de schéma ; les champs CBS/IBS 2026 nécessiteront des réécritures |
| Extraction IA depuis le DANFE | Tout ce qui est imprimé sur le DANFE (10% des données XML) : en-tête, lignes, totaux, clé d'accès | Faible (par document ou abonnement) | Faible — définir les noms de colonnes, télécharger les documents | Minime — aucun modèle à maintenir ; les changements de mise en page sont gérés par l'IA |
| Saisie manuelle | Ce que le comptable fournisseurs a le temps de taper | Caché — 3 min/page au coût du personnel, ~18x plus lent qu'une extraction automatisée | Aucun | Le taux d'erreur augmente avec le volume |
Correspondance des champs NF-e vers votre tableur : quoi extraire et pourquoi
Que vous écriviez des requêtes XPath pour l'analyse XML ou que vous définissiez des noms de colonnes pour l'extraction par IA, les colonnes que vous choisissez déterminent l'utilité du résultat. Voici une correspondance pratique des champs couvrant les trois flux de travail principaux de la comptabilité fournisseurs — vérification du fournisseur, rapprochement à trois et comptabilisation des crédits d'impôt — en utilisant les chemins d'éléments XML réels.
| Votre colonne du tableur | Élément XML NF-e (XPath) | Utilisé pour |
|---|---|---|
| Numéro de facture | /nfeProc/NFe/infNFe/ide/nNF | Identification du document |
| Clé d'accès | /nfeProc/NFe/infNFe/@Id (extraire les 44 chiffres après "NFe") | Vérification SEFAZ, contrôle d'annulation, récupération XML |
| Date d'émission | /nfeProc/NFe/infNFe/ide/dhEmi (datetime ISO 8601, convertir en date locale) | Date de réservation, calcul des conditions de paiement |
| Date d'autorisation | /nfeProc/NFe/infNFe/ide/dhSaiEnt | Marchandises effectivement expédiées — autorisées par SEFAZ avant cet horodatage |
| CNPJ du fournisseur | /nfeProc/NFe/infNFe/emit/CNPJ | Correspondance avec le fichier fournisseur (clé de 14 chiffres, sans mise en forme) |
| Nom du fournisseur | /nfeProc/NFe/infNFe/emit/xNome | Vérification du fournisseur |
| IE du fournisseur | /nfeProc/NFe/infNFe/emit/IE | Inscription fiscale d'État — détermine la compétence ICMS |
| NCM de la ligne | /nfeProc/NFe/infNFe/det[n]/prod/NCM | Classification du produit — valide le taux IPI et l'applicabilité des droits d'importation |
| CFOP de la ligne | /nfeProc/NFe/infNFe/det[n]/prod/CFOP | Type d'opération fiscale — détermine le traitement fiscal et l'éligibilité au crédit |
| Description de la ligne | /nfeProc/NFe/infNFe/det[n]/prod/xProd | Correspondance avec le bon de commande |
| Quantité | /nfeProc/NFe/infNFe/det[n]/prod/qCom | Rapprochement de la réception des marchandises |
| Prix unitaire | /nfeProc/NFe/infNFe/det[n]/prod/vUnCom | Correspondance du prix du bon de commande |
| Total de la ligne | /nfeProc/NFe/infNFe/det[n]/prod/vProd | Vérification du montant au niveau de la ligne |
| Base de calcul ICMS | /nfeProc/NFe/infNFe/det[n]/imposto/ICMS/*/vBC (varie selon le sous-groupe ICMS) | Calcul du crédit d'impôt — doit correspondre au taux ICMS pour la paire d'États d'origine-destination |
| Taux ICMS | /nfeProc/NFe/infNFe/det[n]/imposto/ICMS/*/pICMS | Valider par rapport au taux d'État correct (12% interétatique Sud/Sud-Est, 7% vers d'autres régions, 4% pour les importations ; 17%-22% interne) |
| Montant ICMS | /nfeProc/NFe/infNFe/det[n]/imposto/ICMS/*/vICMS | Crédit ICMS réel à comptabiliser |
| CST ICMS | /nfeProc/NFe/infNFe/det[n]/imposto/ICMS/*/CST | Situation fiscale — 00=taxé, 40=exonéré, 60=précédemment taxé, etc. |
| Montant IPI | /nfeProc/NFe/infNFe/det[n]/imposto/IPI/*/vIPI | Taxe fédérale d'accise — récupérable en tant que crédit par les établissements industriels |
| Montant PIS | /nfeProc/NFe/infNFe/det[n]/imposto/PIS/*/vPIS | Contribution sociale fédérale — taux non cumulatif de 1,65 % |
| Montant COFINS | /nfeProc/NFe/infNFe/det[n]/imposto/COFINS/*/vCOFINS | Contribution sociale fédérale — taux non cumulatif de 7,6 %, plus gros impôt fédéral |
| Total de la facture | /nfeProc/NFe/infNFe/total/ICMSTot/vNF | Valeur nette de la facture — le montant à payer |
Un détail crucial : le chemin de l'élément ICMS dépend de la situation fiscale. Le schéma NF-e utilise différents sous-groupes XML pour différents régimes ICMS — ICMS00 pour les opérations taxées standard, ICMS40 pour les exonérations, ICMS60 pour les opérations déjà taxées avec substitution. Votre logique d'extraction doit naviguer dans cette structure ramifiée : vérifier quel sous-groupe existe sous <ICMS> avant de tenter de lire ses enfants.
Gérer la complexité fiscale brésilienne dans les données extraites
Extraire les données est la première étape. Les valider est là où le vrai travail commence — et où surviennent la plupart des erreurs qui émergent lors d'un audit fiscal. Le système fiscal brésilien opère à trois niveaux de gouvernement (fédéral, étatique, municipal) avec des taux qui varient selon la classification du produit, la paire origine-destination et la nature juridique de l'opération. Voici les contrôles de validation qui devraient faire partie de tout flux d'extraction de données NF-e :
Validation du taux ICMS par paire d'États
Les taux ICMS ne sont pas uniformes. Pour les transactions interétatiques, le taux est déterminé par les États d'origine et de destination :
| De (Région d'origine) | Vers (Région de destination) | Taux ICMS interétatique |
|---|---|---|
| Sud et Sud-Est (SP, RJ, MG, RS, SC, PR, ES) | Sud et Sud-Est | 12 % |
| Sud et Sud-Est | Nord, Nord-Est, Centre-Ouest + Espírito Santo | 7 % |
| Nord, Nord-Est, Centre-Ouest | Tout État | 12 % |
| Tout État (biens importés avec >40 % de contenu étranger) | Tout État | 4 % |
Pour les transactions internes (au sein d'un même État), les taux varient de 17 % à 22 % selon l'État. En 2024, Pernambuco facture 20,5 %, Bahia 20,5 %, Maranhão 22 %, Rio de Janeiro 20 %, São Paulo 18 %, Santa Catarina 17 %. Ces taux ont changé pour 11 États rien qu'en 2024 — le taux de Bahia est passé de 19 % à 20,5 % le 7 février, celui du Maranhão de 20 % à 22 % le 19 février — et votre logique de validation d'extraction doit rester à jour avec le tableau des taux pour chaque État brésilien dont vous recevez des factures.
Interprétation du code CFOP
Le CFOP (Código Fiscal de Operações e Prestações) est un code à 4 chiffres qui classe la nature fiscale de la transaction. Il est prédéfini par la SEFAZ — ce n'est pas un texte libre — et le premier chiffre indique s'il s'agit d'une opération d'entrée ou de sortie et d'où proviennent les marchandises :
| Préfixe CFOP | Signification | Exemple |
|---|---|---|
| 1xxx | Entrée — dans l'État | 1101 = Achat pour industrialisation (intra-état) |
| 2xxx | Entrée — d'un autre État | 2101 = Achat pour industrialisation (interétat) |
| 3xxx | Entrée — de l'étranger (importation) | 3101 = Importation pour industrialisation |
| 5xxx | Sortie — dans l'État | 5101 = Vente de biens produits/assemblés par l'entreprise (intra-état) |
| 6xxx | Sortie — vers un autre État | 6101 = Vente de biens produits/assemblés (interétat) |
| 7xxx | Sortie — vers l'étranger (exportation) | 7101 = Exportation de biens produits/assemblés |
Pour le destinataire, le CFOP sur une facture d'entrée (1xxx, 2xxx ou 3xxx) détermine si les crédits d'ICMS et d'IPI sont disponibles, et selon quelles règles. Un CFOP 1101 (achat intra-état pour industrialisation) donne généralement droit au crédit intégral d'ICMS au taux interne. Un CFOP 1102 (achat intra-état pour revente) peut bénéficier d'un traitement différent. Et cela interagit avec le CST (Código de Situação Tributária) — le code à 2 chiffres qui précise si l'article est taxé (00), exonéré (40), soumis à substitution fiscale (60) ou relève d'un régime spécial. Le CFOP indique quel type d'opération il s'agit ; le CST indique comment elle est taxée. Les deux doivent être extraits et recoupés.
Classification NCM et ses effets en aval
Le NCM (Nomenclatura Comum do Mercosul) est un code à 8 chiffres basé sur le Système harmonisé international, auquel s'ajoutent deux chiffres spécifiques au Mercosur. Il figure sur chaque ligne de produit et détermine le taux d'IPI applicable (publié dans la table TIPI, un PDF de plus de 400 pages mis à jour par la Receita Federal), tout droit d'importation, et — surtout — si le produit est éligible à des avantages fiscaux (taux réduits, crédits présumés ou exonérations) qui dérogent au calcul fiscal standard.
Un code NCM relevant d'un régime d'avantage fiscal signifie que le taux standard d'ICMS ou d'IPI indiqué sur la facture n'est pas nécessairement celui à comptabiliser comme crédit. Votre processus d'extraction doit signaler toute ligne dont le NCM correspond à des catégories d'avantages connues, afin que votre équipe fiscale puisse vérifier le calcul du crédit — sans simplement supposer que le taux brut est correct.
La réforme fiscale de 2026 et son impact sur votre processus d'extraction
La réforme fiscale brésilienne — adoptée par l'amendement constitutionnel 132/2023 et réglementée par la loi complémentaire 214/2025 — restructure fondamentalement le système de taxes indirectes du pays. Cinq taxes existantes (PIS, COFINS, ICMS, ISS et IPI) sont progressivement remplacées par un modèle de TVA dual : la CBS (Contribuição sobre Bens e Serviços) au niveau fédéral et l'IBS (Imposto sobre Bens e Serviços) aux niveaux étatique et municipal, ainsi qu'une taxe sélective (IS) sur les biens jugés nocifs pour la santé ou l'environnement.
Le calendrier de transition est le suivant :
| Année | Ce qui se passe | Impact sur l'extraction NF-e |
|---|---|---|
| 2026 | Phase test : CBS à 0,9 %, IBS à 0,1 % affichés sur les factures mais non collectés. Les anciens et nouveaux champs fiscaux apparaissent dans le XML. | Schéma NF-e enrichi de nouveaux groupes d'éléments <CBS> et <IBS> aux côtés des groupes existants <ICMS>, <PIS>, <COFINS>. La logique d'extraction doit gérer les schémas doubles. |
| 2027 | Début de la collecte de la CBS, remplaçant PIS et COFINS. Les taux d'IPI commencent à diminuer progressivement. | L'extraction doit distinguer les champs fiscaux effectifs (impact monétaire réel) des champs informatifs (champs hérités toujours présents). |
| 2029 | Début de la mise en place de l'IBS, remplaçant ICMS et ISS État par État. Régime double : certains États sous l'ICMS hérité, d'autres sous l'IBS. | Le problème de variation des taux par État s'intensifie — une facture peut avoir l'ICMS, une autre l'IBS, selon le statut de transition du vendeur. |
| 2033 | Mise en œuvre complète : ICMS, ISS, PIS, COFINS et IPI supprimés. Seules la CBS, l'IBS et la taxe sélective subsistent. | Le schéma XML se stabilise. Les correspondances d'extraction peuvent être consolidées vers l'ensemble final de champs. |
La préoccupation opérationnelle immédiate pour les équipes AP est la période de double schéma de 2026 à 2033. Pendant ces années, les fichiers XML NF-e contiendront simultanément les anciens et les nouveaux groupes d'éléments fiscaux. Un flux d'extraction qui code en dur les correspondances de champs vers le schéma d'avant 2026 (lisant uniquement vICMS, vPIS, vCOFINS) ignorera silencieusement les nouveaux champs CBS/IBS. Ce n'est pas un problème futur — il commence maintenant. À compter du 1er août 2026, les XML NF-e soumis sans les champs CBS/IBS seront rejetés par SEFAZ. Le changement de schéma est obligatoire, pas facultatif.
Si vous écrivez des scripts d'analyse XML, prévoyez un branchement de schéma : détectez quels groupes fiscaux existent dans le document, extrayez ceux qui sont présents et normalisez-les en un ensemble de colonnes de sortie cohérent. Si vous utilisez une extraction basée sur l'IA à partir du DANFE, vérifiez auprès de votre fournisseur si les champs CBS/IBS seront reconnus lorsqu'ils commenceront à apparaître sur la représentation imprimée.
Questions fréquentes
Puis-je obtenir toutes les données XML à partir du seul DANFE ?
Non. Le DANFE est un résumé imprimé qui omet plus de 90 % des données du XML. Il a été conçu pour l'inspection physique pendant le transport, pas pour le traitement financier. Les ventilations fiscales complètes, les codes CFOP, les classifications NCM, les codes de situation fiscale CST et les détails de transport n'existent que dans le XML. Si votre fournisseur n'a envoyé que le DANFE, demandez-lui le XML — il est légalement tenu de le fournir, et vous pouvez également le récupérer auprès de SEFAZ en utilisant la clé d'accès à 44 chiffres imprimée sur le DANFE.
Comment savoir quel taux d'ICMS s'applique à une facture spécifique ?
Le taux d'ICMS sur une NF-e est déterminé par l'État d'origine (extrait de l'immatriculation de l'émetteur dans <emit>), l'État de destination (l'État de votre entité dans <dest>), et si les marchandises contiennent plus de 40 % de contenu importé (ce qui déclenche le taux de 4 % quel que soit le couple d'États). Le XML lui-même contient le taux appliqué par le vendeur dans pICMS, mais vous devez le valider par rapport au tableau des taux correct plutôt que de supposer que le vendeur l'a appliqué correctement — les erreurs de taux sont un constat d'audit courant.
L'IA peut-elle interpréter automatiquement les codes CFOP correctement ?
Les codes CFOP sont extraits tels quels du document — le code à 4 chiffres apparaît sur la DANFE et dans le XML. La capacité de l'outil à interpréter le code (par exemple, l'identifier comme « achat intra-étatique pour revente » vs « achat interétatique pour industrialisation ») dépend de ses fonctionnalités. Certains outils d'extraction par IA peuvent mapper les codes CFOP à leurs descriptions à l'aide d'une table de référence. Si l'interprétation est essentielle à votre flux de travail, vérifiez auprès de votre fournisseur d'outils si le mappage CFOP est pris en charge, ou maintenez une table de correspondance séparée dans Excel pour décoder les codes extraits.
Notre entreprise ne dispose pas d'une localisation ERP brésilienne. Pouvons-nous quand même extraire les données NF-e ?
Oui. Le XML lui-même est un fichier au format standard que toute entreprise possédant le fichier XML peut analyser. Vous n'avez pas besoin de SAP TDF ou de la localisation Oracle Brésil pour le lire. Des scripts Python, des convertisseurs XML vers Excel en ligne ou des outils d'extraction par IA peuvent tous placer les données dans un tableur. Le module de localisation ERP ajoute l'intégration (comptabilisation automatique, validation SEFAZ, mappage des comptes fiscaux), mais il n'est pas requis pour l'extraction.
L'extraction NF-e couvre-t-elle les exigences de déclaration SPED ?
Non. Le SPED (Sistema Público de Escrituração Digital) est le système de comptabilité numérique brésilien qui nécessite des déclarations distinctes — EFD-ICMS/IPI pour la taxe d'État, EFD-Contribuições pour PIS/COFINS, et ECD pour les livres comptables numériques. L'extraction NF-e récupère les données de facture dans Excel ; elle ne génère pas de fichiers conformes au SPED. Les déclarations SPED nécessitent de mapper les données extraites aux codes de mise en page SPED spécifiques et de les soumettre via un logiciel validé par le gouvernement — un flux de travail distinct géré par votre équipe comptable brésilienne ou votre fournisseur de conformité fiscale.
Que se passe-t-il si un fournisseur annule une NF-e après que j'ai déjà extrait les données ?
Une NF-e peut être annulée par l'émetteur dans les 24 heures suivant l'autorisation si les marchandises n'ont pas encore été expédiées. L'annulation crée un événement (événement d'annulation) dans le système SEFAZ lié à la même clé d'accès à 44 chiffres. Toute requête sur cette clé renverra le statut annulé. Votre flux d'extraction doit valider périodiquement les clés d'accès auprès de SEFAZ — en particulier pour les factures proches des dates de paiement — afin d'éviter de comptabiliser des écritures sur des documents annulés. Dans le cadre de la réforme de 2026, l'annulation après le fait générateur entraîne une pénalité de 66 % de la taxe due, ce qui devrait réduire la fréquence des annulations tardives, mais la vérification reste un contrôle nécessaire.
Comment gérer l'extraction par lots de plusieurs fichiers XML NF-e ?
Pour les méthodes basées sur XML, utilisez un script qui parcourt un répertoire de fichiers XML, extrait le même ensemble de requêtes XPath de chacun, et ajoute les résultats à un tableur cumulatif. Pour l'extraction par IA à partir de DANFE PDF, utilisez la fonctionnalité de traitement par lots — téléchargez plusieurs fichiers DANFE ensemble, définissez vos colonnes une fois, et l'outil extrait les données de chaque document et fusionne les résultats en un seul fichier Excel. Cette approche gère aussi les formats mixtes : si certains fournisseurs envoient des DANFE PDF et d'autres le XML sous forme d'impression, le traitement par lots extrait les deux en une seule passe.
Quelle est la précision de l'extraction de données NF-e par rapport à la saisie manuelle ?
Pour l'extraction basée sur XML, la précision est de 100 % pour les champs ciblés — vous lisez des données structurées d'un fichier lisible par machine, sans interpréter une mise en page visuelle. Pour l'extraction par IA du DANFE, la précision du texte imprimé peut atteindre 99 %, mais pour les champs complexes (comme la clé d'accès à 44 chiffres, où un seul chiffre inversé invalide la clé), cela dépend de la gestion des longues chaînes numériques par l'outil. Le vrai gain de précision par rapport à la saisie manuelle ne réside pas seulement dans la précision au niveau des caractères — il s'agit de complétude. Une personne saisissant des données d'un DANFE capture généralement 8 à 12 champs par facture. L'extraction automatisée capture chaque champ spécifié sur chaque document, éliminant ainsi les omissions de données, l'erreur de saisie manuelle la plus courante et la moins visible.
Du DANFE au tableur
Le bond en qualité des données entre le traitement d'un DANFE imprimé et l'extraction d'un XML NF-e n'est pas progressif — c'est la différence entre 10 champs et 500. Plus important encore, c'est la différence entre deviner vos crédits d'impôt brésiliens et les vérifier. Chaque XML NF-e généré par votre fournisseur contient les montants précis d'ICMS, IPI, PIS et COFINS que vous avez le droit de récupérer — et chaque fois que vous traitez le DANFE seul, ce détail reste ignoré.