完全ガイド
ブラジルNF-e抽出
ブラジルのNF-e XMLには、ICMSおよびPIS/COFINSのクレジット回収を左右する明細項目の税額内訳を含め、500以上の構造化データフィールドが含まれています。しかし、多くのAPチームは20未満しか抽出していません。本ガイドは、NF-e XMLを実際に活用できるスプレッドシートデータに変換するための完全なリファレンスです。フィールドマッピング表、州ペア別のICMS税率検証、CSTおよびCFOPコードリファレンス、ICMS-STの処理、2026年のデュアルスキーマ移行に必要な実践的ステップを網羅しています。

重要ポイント
- NF-e XMLには500以上の構造化データフィールドが含まれていますが、ほとんどのAPチームは20未満しか抽出しておらず、ICMSクレジット回収とPIS/COFINS仕入税額の追跡が完全に見えなくなっています。
- ボトルネックはデータの可用性ではなく(XMLは政府検証済み)、各明細項目に4つの独立した税ツリー(ICMS、IPI、PIS、COFINS)が入れ子になっており、それぞれに10以上のCSTコードバリアントがあり、ゼロ値がクレジットポジションにとって何を意味するかが変わることです。
- 4つの税ブランチすべてを1回のパスでマッピングするセマンティック抽出テンプレートは、すべてのNF-eを不透明なXMLファイルから透明なクレジット回収ツールに変えます。BRL 100,000の請求書で1つの誤った税制前提が、BRL 9,250のクレジット損失につながります。
ブラジルのNF-eからデータを抽出することは、通常の請求書からデータを抽出することとは根本的に異なります。PDF形式の標準的な請求書では、視覚的なレイアウトからフィールドを読み取るためにOCRやAIベースの文書理解が必要です。NF-eはXMLファイルとして届きます。設計上機械可読であり、その構造は、記載された商品が倉庫から出荷される前に、ブラジルの州税当局であるSEFAZによって400以上の自動化ルールに照らして検証されています。
課題はデータの可用性ではありません。データの複雑さです。欧州のPeppol BIS請求書は約100のXML要素を使用します。レイアウトバージョン4.0のNF-eは、複数のネストレベルにまたがる500以上の構造化要素グループを保持し、明細行ごとに4つの独立した税計算分岐があり、それぞれが独自の税状況コード、課税ベース計算、税率、および控除ルールを使用します。データは完全ですが、正しく抽出するには、各フィールドの意味と他のフィールドとの関連性を理解する必要があります。
このガイドは実務リファレンスとして設計されています。初めてNF-e抽出ワークフローを設定する場合は、セクション2のステップバイステップのワークフローから始めてください。すでに抽出パイプラインを実行していて、特定のICMS税率を検証するかCFOPコードを調べる必要がある場合は、セクション3から6のリファレンス表にジャンプしてください。各セクションは独立して使用できますが、完全な価値は全体像にあります。つまり、どのフィールドを抽出するか、それらが正しいことを確認する方法、およびNF-eがキャンセルイベントまたは代替処理インジケータ付きで届いた場合の対処法を知ることです。
NF-eがまったく初めての場合は、抽出の詳細に入る前に、ノータ・フィスカル・エレトロニカの初心者向けガイドから始めてください。このガイドでは、DANFEとXMLの基本的な違い、SEFAZ認証プロセス、および4つの主要な税金を理解していることを前提としており、そのデータを正しく抽出することに焦点を当てています。
NF-e抽出が通常の請求書抽出と異なる点
NF-e抽出の仕組みを定義する構造的な違いは3つあり、標準的な請求書抽出アプローチ(PDFをアップロードし、列を定義し、データを取得する)が問題の一部しか解決しない理由もここにあります。
1. ソースはXMLであり、視覚的な文書ではない。通常の請求書抽出は読み取りの問題です。AIまたはOCRシステムは、ページ上のテキストを特定し、どの文字列が請求書番号かを認識し、正しい列にマッピングする必要があります。NF-e抽出は解析とマッピングの問題です。データはすでに機械可読なタグに含まれていますが、XML構造はポルトガル語のタグ名(発行者は<emit>、受領者は<dest>、税金は<imposto>)を使用し、税制によって異なる深くネストされた階層を持ちます。抽出の課題は「データを見つける」ことから「正しいXMLパスを各出力列にマッピングする」ことに移ります。
2. 税構造は多次元である。単一のNF-e明細項目には、最大4つの独立した税計算が含まれます — ICMS(州レベル、CSTコードに応じて10以上のバリエーション)、IPI(連邦物品税、製品依存)、PIS、COFINS(連邦社会貢献)。各税には独自の計算基準、税率、CST(税状況コード)、および控除資格ルールがあります。EUのVAT請求書のように1つの税率が明細全体に適用されるのとは異なり、NF-e明細項目には個別の<ICMS>、<IPI>、<PIS>、<COFINS>サブグループが含まれ、それぞれ異なる課税基準を持つ可能性があります。合計のみを抽出すると、各税控除が正しく計算されたかを判断する詳細が見落とされます。
3. 抽出ワークフローは発行後のイベントを考慮する必要がある。NF-eは24時間以内にキャンセルできます。特定のフィールドを修正するCarta de Correção(CC-e)を受け取ることもあります。SEFAZに到達できない場合は、緊急モードで発行されることもあります。また、受領者側のイベントであるmanifestação do destinatárioをトリガーします — これは購入者が受領を確認し、取引を承認または拒否する法的義務です。完全な抽出パイプラインは、初期XMLを抽出して完了とするのではなく、これらのイベント駆動型の変更を処理する必要があります。キャンセルと緊急ルールがAPワークフローに与える影響の詳細については、NF-e処理の複雑さの分析をご覧ください。
これら3つの違いは、NF-e抽出が「ポルトガル語のフィールド名を持つ請求書抽出」ではないことを意味します。これは独自のカテゴリであり、文書OCRよりもEDI解析に近いものですが、ほとんどのEDI標準を桁違いに上回る税の複雑さを伴います。独自の構造的複雑さを持つもう1つの主要なラテンアメリカの電子請求書システムについては、メキシコのCFDI抽出完全ガイドをご覧ください。
NF-e抽出ワークフロー完全ガイド:ステップバイステップ
手動、スクリプトベース、AI駆動のいずれの方法であっても、エンドツーエンドのNF-e抽出ワークフローは同じ論理的な順序に従います。各ステップは特定の出力を生成し、それが次のステップへの入力となります。
XMLを収集する — DANFEだけでは不十分
すべてのNF-e取引でXMLファイルが生成されます。仕入先がDANFEしか送ってこない場合は、DANFEに印刷されている44桁のアクセスキーを使用して、発行州のSEFAZポータルから完全なXMLをダウンロードしてください。ブラジルの法律では、仕入先はXMLを提供する義務があり、抽出作業と法定の5年間保存の両方にXMLが必要です。元のXMLは受領した状態のまま保管してください — 変更するとデジタル署名が無効になり、監査証跡が損なわれます。
アクセスキーとSEFAZステータスを確認する
データを処理する前に、NF-eが有効であることを確認してください。<chNFe>要素から44桁のchave de acessoを抽出し、SEFAZのウェブサービスまたはポータルで照会します。ステータスが「Autorizada」(承認済み)であることを確認してください — 「Cancelada」(取消済み)や「Denegada」(拒否)ではないことを確認します。NF-eは発行から24時間以内に取消される可能性があるため、このステップはスクリプトやツールベースのワークフローで自動化する必要があります。抽出時点でアクセスキーを検証することで、法的効力のない文書を処理することを防げます。
XML構造をグループに解析する
NF-e XMLには予測可能なトップレベルの構造があります。主要な要素グループは次のとおりです:<ide>(文書識別)、<emit>(発行者/仕入先)、<dest>(受取人/自社)、<det>(明細行 — 製品ごとに繰り返し)、<total>(請求書合計 — 税種別に1つ)、<transp>(輸送/運賃)、<cobr>(支払い/請求)、<infAdic>(追加情報)。抽出スクリプトまたはツールは各グループを個別に解析し、明細行レベルで結果を結合する必要があります。
参照表を使用してフィールドを出力列にマッピングする
スプレッドシートまたはERPインポートファイルに必要な各フィールドについて、正確なXMLパス、期待されるデータ型、必要な変換(日付はISO形式、金額は小数点以下2桁の10進数、CNPJ文字列はゼロ埋めを維持)を特定します。以下のセクション3のフィールドマッピング参照を使用してください。このステップでの重要な区別:ヘッダーレベルのフィールド(NF-eごとに1回抽出)と明細行フィールド(各<det>要素ごとに抽出)を分けます。出力構造もこれに対応させる必要があります:請求書ごとに1行のヘッダーテーブルと、請求書ごとに複数行の明細行テーブルです。
参照データに対して税計算を検証する
NF-e XMLには仕入先の税計算が含まれており、自社の計算ではありません。抽出ワークフローには検証チェックを含める必要があります:ICMS税率は発地・着地の州の組み合わせに対する正しい税率と一致していますか?IPI税率は製品のNCMコード範囲に対応していますか?CSTコードはCFOPで記述された取引タイプと整合していますか?このガイドのセクション4に、これらのチェックに必要な参照表が記載されています。不一致があればフラグを立ててレビューしてください — 不一致の税データを黙ってERPにインポートしないでください。
エクスポート、アーカイブ、イベント監視
構造化データをERPまたはスプレッドシートにエクスポートします。元のXML(受領したままの状態で、変更なし)と抽出結果の両方をアーカイブします。次に監視プロセスを設定します:抽出したNF-e文書のSEFAZステータスを抽出から48時間後に再確認し、キャンセルや訂正イベントを検出します。仕入先は通知なしで24時間以内にNF-eをキャンセルできます。キャンセルされたNF-eからデータを抽出してERPに転記した場合、取消記録を作成する必要があります。自動化ツールでこの監視ステップを処理できます — 人手のチームは見落とすことがよくあります。
NF-e XMLフィールドマッピングリファレンス
以下の表は、主要なNF-e XMLパスをスプレッドシートの列にマッピングしたものです。フィールドは重要度によって分類されています:必須(基本的な処理に必要)、重要(税務検証やクレジット回収に必要)、ニッチ(通関やSPED申告などの特定のシナリオに必要)。すべてのパスは標準のNF-e XML名前空間を基準としています。
ヘッダーフィールド(請求書ごとに1行)
| 出力列 | XMLパス(<nfeProc>/<NFe>/<infNFe> 基準) | 値の例 | 重要度 |
|---|---|---|---|
| アクセスキー(Chave de Acesso) | @Id(「NFe」プレフィックスを削除)または <ide>/<cNF> とプレフィックスの組み合わせ | 35200600012345000106550010000012341012345678 | 重要 |
| NF-e番号 | <ide>/<nNF> | 1234 | 重要 |
| NF-e系列 | <ide>/<serie> | 1 | 重要 |
| 発行日 | <ide>/<dhEmi> | 2026-06-15T14:30:00-03:00 | 重要 |
| SEFAZ認証プロトコル | <ide>/<nProt> | 135260001234567 | 重要 |
| 発行タイプ | <ide>/<tpEmis> | 1(通常)、2-6(緊急時) | 重要 |
| 供給者CNPJ | <emit>/<CNPJ> | 00.000.000/0001-91 | 重要 |
| 供給者法人名 | <emit>/<xNome> | Fornecedor Exemplo Ltda | 重要 |
| 供給者州登録番号 | <emit>/<IE> | 123.456.789.110 | 重要 |
| 供給者州(IBGEコード) | <emit>/<enderEmit>/<cUF> | 35(サンパウロ)、33(リオデジャネイロ) | 重要 |
| 購入者CNPJ | <dest>/<CNPJ> | 00.000.000/0002-82 | 重要 |
| 購入者州(IBGEコード) | <dest>/<enderDest>/<cUF> | 31(ミナスジェライス) | 重要 |
| NF-e合計金額 | <total>/<ICMSTot>/<vNF> | 12500.00 | 重要 |
| ICMS合計額 | <total>/<ICMSTot>/<vICMS> | 1500.00 | 重要 |
| ICMS-ST合計額 | <total>/<ICMSTot>/<vST> | 450.00 | 重要 |
| IPI合計額 | <total>/<ICMSTot>/<vIPI> | 625.00 | 重要 |
| PIS合計額 | <total>/<ICMSTot>/<vPIS> | 206.25 | 重要 |
| COFINS合計額 | <total>/<ICMSTot>/<vCOFINS> | 950.00 | 重要 |
| 割引額 | <total>/<ICMSTot>/<vDesc> | 250.00 | ニッチ |
| 運送料 | <total>/<ICMSTot>/<vFrete> | 350.00 | 重要 |
| 保険料 | <total>/<ICMSTot>/<vSeg> | 50.00 | ニッチ |
| 支払い・請求情報 | <cobr>/<dup>/<dVenc>(支払期日)および <vDup>(金額) | 2026-07-15 / 12500.00 | 重要 |
| CFOP(ヘッダーレベル — 通常は最初の明細項目から取得) | <det>[1]/<prod>/<CFOP> | 2101 | 重要 |
| 取引の性質 | <ide>/<natOp> | Venda de mercadoria adquirida de terceiros | ニッチ |
明細行フィールド(製品ラインごとに1行)
<infNFe>内の各<det>要素は1つの製品ラインを表します。nItem属性は行番号(1始まり)を示します。以下のフィールドは各<det>に対して繰り返されます:
| 出力列 | XMLパス(<det>ごと) | 重要度 | 行番号 | @nItem | 必須 |
|---|---|---|
| 製品コード(仕入先内部コード) | <prod>/<cProd> | 重要 |
| 製品説明 | <prod>/<xProd> | 必須 |
| NCMコード(8桁の製品分類) | <prod>/<NCM> | 必須 |
| CFOPコード(4桁の税務操作) | <prod>/<CFOP> | 必須 |
| CST — ICMS税区分コード | <imposto>/<ICMS>/<ICMS00>/<CST>(サブグループにより異なる) | 必須 |
| 数量 | <prod>/<qCom> | 必須 |
| 単価 | <prod>/<vUnCom> | 必須 |
| 行合計(税抜) | <prod>/<vProd> | 必須 |
| ICMS課税ベース(BC ICMS) | <imposto>/<ICMS>/<ICMS00>/<vBC> | 重要 |
| ICMS税率(%) | <imposto>/<ICMS>/<ICMS00>/<pICMS> | 重要 |
| ICMS税額 | <imposto>/<ICMS>/<ICMS00>/<vICMS> | 必須 |
| ICMS-ST課税ベース(該当する場合) | <imposto>/<ICMS>/<ICMSST>/<vBCST> | 重要 |
| ICMS-ST税額(該当する場合) | <imposto>/<ICMS>/<ICMSST>/<vICMSST> | 重要 |
| IPI課税ベース | <imposto>/<IPI>/<IPITrib>/<vBC> | 重要 |
| IPI税率(%) | <imposto>/<IPI>/<IPITrib>/<pIPI> | 重要 |
| IPI金額 | <imposto>/<IPI>/<IPITrib>/<vIPI> | 重要 |
| PIS課税ベース | <imposto>/<PIS>/<PISAliq>/<vBC> | 重要 |
| PIS税率(%) | <imposto>/<PIS>/<PISAliq>/<pPIS> | 重要 |
| PIS金額 | <imposto>/<PIS>/<PISAliq>/<vPIS> | 重要 |
| COFINS課税ベース | <imposto>/<COFINS>/<COFINSAliq>/<vBC> | 重要 |
| COFINS税率(%) | <imposto>/<COFINS>/<COFINSAliq>/<pCOFINS> | 重要 |
| COFINS金額 | <imposto>/<COFINS>/<COFINSAliq>/<vCOFINS> | 重要 |
| UOM(計量単位) | <prod>/<uCom> | ニッチ |
| GTIN/EAN(商品バーコード) | <prod>/<cEAN> | ニッチ |
| EX TIPI(IPI免税コード) | <prod>/<EXTIPI> | ニッチ |
ICMSサブグループに関する重要な注意: <imposto>内のICMS XMLパスは、CSTコードによって異なります。通常課税のICMSは<ICMS00>サブグループを使用します。その他のCSTコードは、<ICMS10>(課税+ST)、<ICMS20>(課税ベース減額)、<ICMS30>(通常ICMS免税・ST適用)、<ICMS40>(免税)、<ICMS51>(繰延)、<ICMS60>(前納済み)、<ICMS90>(その他)、<ICMSPart>(DIFAL — 州間税率差)、<ICMSST>(税額代替)を使用します。抽出マッピングは、<ICMS00>だけでなく、これらすべてのバリエーションを処理する必要があります。
税務検証:抽出した数値の確認方法
NF-e XMLには仕入先自身の税額計算が含まれており、誤っている可能性があります。SEFAZはXML構造の完全性と基本的な算術の整合性を検証しますが、発地・着地の組み合わせに対して正しいICMS税率が使用されているか、NCMコードの公式TIPI税率とIPI税率が一致しているかは検証しません。これらは買い手側の責任であり、ブラジルのAPにおいて還付可能な過払い金の最も一般的な原因です。
州ペア別ICMS州間税率の検証
州間取引のICMS税率は、発地州(仕入先が出荷する州)と着地州(自社事業所がある州)によって異なります。この表を使用して、NF-eのICMS税率が州ペアの正しい税率と一致しているかを検証してください:
| 発地州 | 着地州 | 標準ICMS税率 | 備考 |
|---|---|---|---|
| 南・南東部のいずれかの州(SP、RJ、MG、ES、PR、SC、RS) | 南・南東部のいずれかの州 | 12% | 南・南東部地域内の標準州間税率 |
| 南・南東部のいずれかの州 | 北・北東・中西部のいずれかの州 | 7% | 低開発地域向けの軽減税率(LC 87/96 第2条第1項) |
| 北・北東・中西部のいずれかの州 | いずれかの州(南・南東部を含む) | 12% | 開発途上地域からの標準出荷税率 |
| いずれかの州 | いずれかの州(外国産品含有率40%超の輸入品) | 4% | Resolução Senado 13/2012 — 輸入含有率40%超の製品に適用 |
| 供給州=受領州(州内取引) | 同一州 | 17%–22% | 州によって異なる:SP=18%、RJ=20%、MG=18%、PR=19%、RS=17%など |

NF-eのICMS税率が発地・着地ペアの期待税率(<emit>/<enderEmit>/<cUF>から<dest>/<enderDest>/<cUF>)と一致しない場合は、その文書をレビュー用にフラグ付けしてください。税率の不一致はブラジルの仕入先請求書で最も一般的なエラーの1つであり、税額控除の計算ミスにつながる可能性があります。
CSTコード:すべてを変える税状況コード
CST(Código da Situação Tributária)は、税率だけでなく税の適用方法を示す3桁のコードです。NF-e上のすべてのICMS、IPI、PIS、COFINS計算にはそれぞれ独自のCSTが付与されます。CSTの最初の桁は税制の起源を示します(0=国内、1=外国、2=国内成分を含む外国—税によって異なります)。ICMSに関しては、CSTはICMSが課税対象か、免税か、繰延か、代替課税(ST)か、特別制度で徴収されるかを決定します。3桁のICMS CSTコードは特定のロジックに従います:
| CST(ICMS) | 意味 | 税額控除可能? | 買掛金(AP)への影響 |
|---|---|---|---|
| 00 | 課税—全額ICMS税率が適用 | はい | 標準的な購入。vBC、pICMS、vICMSを通常どおり抽出します。 |
| 10 | 課税+税代替(ICMS-ST) | はい(通常のICMSのみ) | ICMS金額が2つ:通常分とST分。両方を抽出します—ST分は税額控除の対象ではありません。 |
| 20 | 課税ベース減額ありの課税 | はい(比例分) | 課税ベースが減額されます(例:1/3)。vBCフィールドは減額後のベースを反映します。 |
| 30 | 通常のICMS免税+ST適用 | いいえ | 抽出する通常のICMSはありません。STフィールドのみ存在します。原価にはST金額が含まれます。 |
| 40 | 免税—ICMS課税なし | いいえ | ICMS金額なし。行合計は同じですが、税額控除は発生しません。 |
| 41 | 免税—非課税 | いいえ | CST 40と同様。抽出または控除するICMSはありません。 |
| 51 | 繰延—ICMS納税が後段階に延期 | 場合による | vICMSがゼロでもvBCとpICMSを抽出します—繰延は将来のイベントに影響します。 |
| 60 | ICMSは供給者(またはチェーン内の前段)がすでに徴収 | いいえ | 燃料、エネルギー、通信で一般的。ICMSはライン項目ではなく、上流で支払われています。 |
| 70 | 減額ベース+STで課税 | はい(比例分) | ハイブリッド:通常のICMSの減額ベース+別のST金額。両方を抽出する必要があります。 |
| 90 | その他—上記に該当しない特別制度 | 場合による | 手動で確認してください。NF-eの<infAdic>に制度の説明があるはずです。 |
抽出ワークフローでは、常に税額とともにCSTコードを取得してください—CST 40(免税)の「ICMSゼロ」とCST 00(エラー)の「ICMSゼロ」はまったく異なる状況です。CSTは、ゼロが正当な税務処理なのか、調査が必要なデータギャップなのかを判断します。
IPI・PIS・COFINSの検証
IPIの検証:IPI税率は製品のNCMコードによって決まります。ブラジル政府はTIPI(IPI課税表)を公開しており、すべてのNCMコードとIPI税率の対応を示す包括的な税率表です。TIPIの全データを社内で維持することはできませんが(数千件のエントリがあり、Receita Federalが定期的に更新)、高額なライン項目についてはスポットチェックが可能です。NCMを抽出し、TIPI税率の範囲を確認し、pIPIフィールドが期待される範囲内にあることを確認してください。IPIのCSTコードも重要です。CST 50はIPI免税、00は課税を意味します。
PIS・COFINSの検証:これらの連邦負担金は、累積方式または非累積方式のいずれかで適用されます。方式は仕入先の税区分によって決まり、税率と、買い手であるあなたが受けられるクレジットの有無の両方を左右します。
| 方式 | PIS税率 | COFINS税率 | 合計 | 買い手のクレジット |
|---|---|---|---|---|
| 非累積(Lucro Real) | 1.65% | 7.6% | 9.25% | あり — 買い手はPIS・COFINSを自社の負担金と相殺できます |
| 累積(Lucro Presumido) | 0.65% | 3.0% | 3.65% | なし — 累積方式では仕入税額控除は発生しません |
NF-eのPIS税率が1.65%、COFINSが7.6%の場合、仕入先は非累積方式であり、PIS/COFINSの仕入税額控除を請求できます。税率が0.65%と3.0%の場合は、クレジットは利用できません。仕入先のCST(通常、01 = 非累積、02 = 累積)が方式を確定します。これらの税率を抽出して検証することは、回収可能な税額ポジションに直接影響します。
実践的な検証ルール:すべてのNF-eについて、ライン項目レベルでPIS税率とCOFINS税率を抽出します。合計税率が9.25%の場合は、クレジット追跡の対象としてフラグを立てます。3.65%の場合は、仕入先の方式を確認し、PIS/COFINSクレジットが適用されないことを記録します。BRL 100,000の請求書で方式を誤って判断すると、BRL 9,250のクレジットを取り逃すか、BRL 5,600のクレジットを誤って請求することになります。
ICMS税負担移転(ICMS-ST):無視できない仕組み
ICMS-ST(Substituição Tributária)は、税務当局がサプライチェーン全体におけるICMSの徴収責任を最初のリンク(通常は製造業者または輸入業者)に割り当てる仕組みです。チェーン内の各購入者(製造業者→卸売業者→小売業者)がそれぞれのマージンに対してICMSを支払う代わりに、製造業者がチェーンの開始時点で消費者への推定最終販売価格に基づくICMSを徴収します。この納税義務者の「移転」により、税の徴収ポイントが上流に移動します。

NF-e文書を処理するAPチームにとって、ICMS-STは2つのシナリオで出現します:
シナリオ1 — 自社がチェーンの中間に位置する場合(移転対象者から購入)。 製造業者からST適用済みで購入した卸売業者から商品を購入します。NF-eには通常のICMS(CST 00、通常課税)と、別のICMS-ST金額(CST 10、<ICMS10>または<ICMSST>)が記載されています。抽出では両方を取得する必要があります:通常のICMSは仕入税額控除の対象となり、ICMS-STは控除対象外です — 上流の供給業者がすでにSEFAZに納付したコスト込みの課徴金です。還付を受けることはできません。
シナリオ2 — 自社が最終リンク(小売業者または直接消費者)の場合。 ST移転対象者である供給業者から購入します。NF-eには単一のICMS-ST金額(CST 30 — 通常のICMSは免除、STが適用)が記載されています。チェーン全体のICMSコストがこの1つの金額に含まれています。抽出ではSTフィールドのみを取得し、通常のICMS控除は利用できません。
抽出ワークフローでこれら2つのシナリオを区別するには、CSTコードを確認してください:CST 10 = 通常のICMS + ST(部分的な控除あり)、CST 30 = STのみ(通常のICMS控除なし)。ICMS-STのXMLパスは別のサブグループを使用します:ST金額には<imposto>/<ICMS>/<ICMSST>/<vICMSST>、ST計算基準には<vBCST>。これらを通常のICMSとは別の列として抽出し、単一の「ICMS合計」フィールドに合算しないでください。一部のAPチームは通常のICMSとSTを合算して組み合わせ金額を転記しますが、これによりICMS控除額が過大表示され、監査で指摘を受ける原因となります。
CFOPとNCM:コンプライアンスを左右する分類コードの抽出
NF-eの各明細行には、その製品の税務処理を決定する2つのコードが付与されています。これらは任意のメタデータではなく、税額決定ロジックへの入力値です。
CFOPコードリファレンス(先頭桁による分類)
CFOP(Código Fiscal de Operações e Prestações)は4桁のコードで、先頭桁が取引の方向と性質を示します。仕入れ(買い手側)のNF-e処理で最も頻繁に遭遇するCFOPコードは、1xxx、2xxx、3xxxの範囲に該当します:
| 先頭桁 | 分類 | 一般的な仕入れコード |
|---|---|---|
| 1 | 仕入れ — 同一州内(州内取引) | 1102 = 転売用仕入れ、1101 = 工業化用仕入れ、1116 = 使用・消費用仕入れ |
| 2 | 仕入れ — 他州から(州間取引) | 2101 = 工業化用仕入れ、2102 = 転売用仕入れ、2116 = 使用・消費用仕入れ |
| 3 | 仕入れ — 海外から(輸入) | 3101 = 工業化用輸入、3102 = 転売用輸入、3126 = 使用・消費用輸入 |
| 5 | 販売(売り手側)— 買い手側のNF-eにはほとんど出現しない | — |
| 6 | 州間販売 — NF-eを発行する場合にのみ関連 | — |
| 7 | 海外販売 — 輸出取引 | — |
抽出においてCFOPが重要な理由:CFOPコードは、その取引に適用されるICMSルールを決定します。先頭が1(州内)のCFOPは、仕入先の州の内部税率(17〜22%)が適用されることを意味し、州間税率ではありません。先頭が2(州間)のCFOPは、上記の州間税率表に一致する税率が適用されることを意味します。CFOPとICMS税率が矛盾している場合 — 例えば、CFOP 1102(州内)なのにICMS税率12%(州間税率)— その請求書には修正が必要な構造的不整合があります。抽出ワークフローでこれを自動的にフラグ付けする必要があります。
NCMコード:IPIと輸入関税を左右する製品分類
NCM(ノータ・フィスカル・エレトロニカ共通命名法)は、Harmonized System(HS)に基づく8桁の製品分類コードで、Mercosur固有の2桁が追加されています。形式:NNNN.NN.NN(最初の6桁がHSコード)。NCMコードは以下を決定します:
- IPI税率:TIPIテーブルでマッピングされます。特定の章で始まるNCMの製品は、IPI税率が高くなったり低くなったりします。
- ICMS-ST適用可否:特定のNCMの章は、州をまたぐICMS-STプロトコル(convênios)の対象となります。
- 輸入関税(II):国際購入の場合。
- 代替税率(例:CONFAZプロトコルに基づく簡易ICMS-ST計算)。
抽出時には、NCMは常に先頭のゼロを保持したテキストフィールドとして取得する必要があります。数値に変換しないでください — NCM 8471.30.00(コンピュータ機器)は、数値として扱うと先頭の構造が失われます。NCMは、自動税率検証を含むワークフローでIPI税率を調べるための主キーとしても機能します。
抽出ワークフローにおけるNF-e特別イベントの処理
NF-eは静的な文書ではありません。法的に定義された一連のイベントを通じて、修正、取消、再発行が可能です。完全な抽出ワークフローはこれらのイベントを考慮する必要があります。なぜなら、それらは既に抽出したデータを変更する可能性があるからです。
取消。発行者は、商品が物理的に移動していない場合に限り、認可プロトコル受領から24時間以内にNF-eを取り消すことができます。取消イベントはSEFAZに登録され、同じアクセスキーにリンクされます。24時間を過ぎると取消は不可能になり、発行者は税務当局を通じて特別取消を申請するか、クレジットノート(NF-e de devolução)を発行する必要があります。抽出ワークフローでは、抽出時と支払い前にNF-eのステータスを確認することが重要です。NF-e文書をプログラムで処理する場合は、購入者の受領NF-eステータスリストを照会するSEFAZ ConsNFeDestウェブサービスを確認するステータスチェック手順を含めてください。
Carta de Correção(CC-e)。サプライヤーが既に認可されたNF-eのフィールドを修正する必要がある場合(例:製品説明の修正、配送先住所の修正、支払期日の更新)、NF-eのアクセスキーにリンクされた電子修正書であるCC-eを発行します。CC-eはXMLを置き換えるものではなく、特定のフィールドを修正します。抽出ワークフローでは、NF-e文書を処理する際に、そのアクセスキーに対するCC-eイベントが存在するかどうかを照会する必要があります。ImageToTable.aiのバッチ処理には、抽出済み文書に対する修正イベントのチェックオプションが含まれています — サプライヤーがCC-eで支払期日を修正し、ワークフローが元のXMLの支払期日を使用した場合、誤ったスケジュールで支払うことになるためです。
代替モード。SEFAZに接続できない場合、サプライヤーは代替モードでNF-eを発行できます。発行タイプ(<ide>/<tpEmis>)は代替方法を示します:2 = FS-DA(入力済みDANFE)、3 = EPEC(事前イベント代替)、4 = DPEC(電子代替)、5 = FS-IA(フォーム代替)、6 = SVC(SEFAZ仮想代替 — バックアップ認可サーバー)。代替モードでは、NF-eは抽出時に完全なSEFAZ認可プロトコルを欠く場合があります。ワークフローでは、代替モードで発行された文書にフォローアップ用のフラグを立てる必要があります:システムが復旧すると、サプライヤーは完全なNF-eを送信するため、最終XMLを取得し、フィールドに変更があれば再抽出する必要があります。
manifestação do destinatário。 これはサプライヤー側のイベントではなく、買い手側の義務です。ブラジルの法律では、商品の買い手はSEFAZポータルで、発行から10日以内に受領を確認し、取引の承認または拒否を行うなど、特定の期間内にイベント応答を登録する必要があります。このプロセスはmanifestação do destinatárioと呼ばれ、SEFAZのDF-eプラットフォームを通じて管理されます。manifestaçãoは抽出とは別のコンプライアンス手順ですが、抽出ワークフローでは、処理した各NF-eのアクセスキーをmanifestação追跡システムに記録し、コンプライアンス部門が期日までに必要なイベントを提出できるようにする必要があります。manifestaçãoを登録しない場合、SEFAZは取引が未確認であるとみなし、そのサプライヤーからの今後のNF-e発行がブロックされる可能性があります。
これらのイベントタイプとAP業務への影響について詳しくは、NF-e処理の複雑さの分析をご覧ください。
抽出方法の比較:ボリュームに合ったアプローチの選び方
NF-eデータを抽出する一般的な方法は4つあり、適切な方法は、ボリューム、技術リソース、明細レベルの税詳細が必要か、ヘッダー合計のみでよいかによって異なります。
| 方法 | 仕組み | 抽出フィールド | 最適なボリューム | 主な制限 |
|---|---|---|---|---|
| 手動DANFE入力 | 担当者が印刷されたDANFEを読み取り、ExcelまたはERPに入力 | ヘッダーフィールド約20件、明細レベルの税詳細なし | 月10件未満 | 税内訳を含むデータの90%を見逃し、エラー率が高い |
| XMLスクリプト(Python、Power Query) | カスタムスクリプトがNF-e XMLを解析し、CSV/Excelにフィールドを抽出 | 全ヘッダー+明細フィールド、事前定義されたXPathマッピングが必要 | 月10〜100件 | コーディングスキルが必要。スキーマ更新(2026年の二重スキーマ)で破綻する。税検証機能は組み込まれていない |
| ERPローカライゼーションモジュール(SAP/Oracle/Dynamics) | NF-e XMLを受信し、GLに自動転記するブラジル特化型ERPモジュール | 全フィールドセット、税勘定マッピング、SPED統合 | 月100件以上 | コストが高い(ライセンス+実装)。そのERPを使用している場合のみ機能。スキーママッピングが固定的 |
| AIベースの抽出 | DANFE PDFまたはNF-e XMLをアップロードし、AIが解析してユーザー定義の列にマッピング | PDFからDANFEで表示される全フィールド、XMLから全フィールド | 月10〜500件以上 | XML解析には、ツールが構造化データ入力(ビジュアルPDFだけでなく)をサポートしている必要がある |
NF-eにとって重要な違いは、抽出方法がDANFEとXMLの両方を処理できるかどうかです。サプライヤーが混在して送信する場合(XMLを直接送信する場合もあれば、DANFEを印刷して発送するだけの場合もある)、両方のソースを一貫して処理できる方法が必要です。ImageToTable.aiは両方をサポートしています。同じバッチで生のNF-e XMLファイルとDANFE PDFをアップロードし、単一の列テンプレートを定義して、統合されたスプレッドシートを取得できます。このツールは、上記の可変ICMSサブグループパスも処理します。これは、スキーマの複雑さによりスクリプトチームが数十のXPathバリエーションを維持しなければならない場合に大きな利点となります。複数のNF-eドキュメントのバッチ処理の実践的なチュートリアルについては、NF-eバッチ処理ガイドをご覧ください。
ファイルは安全に処理され、保存されません。
2026年税制改正に向けた抽出ワークフローの準備

ブラジルの憲法改正132/2023号および補完法214/2025号により、5つの既存税を2つの新税に置き換える二重VAT制度が導入されました。NF-e抽出の観点では、現在解析しているXMLスキーマは、2026年8月から2033年までの移行期間中、新旧両方の税フィールドを保持することになります。以下に、抽出レベルでの変更点と対応方法を示します。
変更されないもの:XMLの全体的な構造(<ide>、<emit>、<det>、<total>)は変わりません。ヘッダーフィールド、明細行の数量、NCMコード、CFOPコードも影響を受けません。
変更されるもの:各明細行の<imposto>セクションと<total>集計グループに、新しいXML要素グループが追加されます。新しいグループは、既存のICMS、IPI、PIS、COFINSフィールドに加えて、CBS(連邦)およびIBS(州・自治体)の税計算を保持します。移行期間中は、両方のフィールドセットを抽出し、下流システムで両方を利用できるようにする必要があります。
| 現在の税 | 置き換え先 | 抽出への影響 | 移行スケジュール |
|---|---|---|---|
| PIS(1.65% / 0.65%) | CBS(連邦、約8.8%) | 新しい<CBS>要素が<PIS>と並んで表示されます。移行期間中は両方を抽出する必要があります。CBSは2033年までにPISを完全に置き換えます。 | 2026年:CBSテストフィールド(0.9%税率)。2027年:CBSが有効化、PISは廃止。 |
| COFINS(7.6% / 3.0%) | CBS(連邦、約8.8%) | PISと同様 — COFINSフィールドはCBSフィールドと共存します。PIS+COFINSの統合抽出では、統合されたCBS税率を考慮する必要があります。 | 2027年:COFINS廃止、CBSが完全税率で適用。 |
| ICMS(州、域内17〜22%、域外4〜12%) | IBS(州/自治体、約17.7%) | vBC、pIBS、vIBSを含む新しい<IBS>要素グループ。ICMSとIBSは明細行ごとに共存します。両方の税額ベースを抽出する必要があります — これらは異なる場合があります。 | 2026年:IBSテストフィールド(0.1%税率)。2029〜2032年:IBSが州ごとに段階導入され、ICMSを段階的に置き換えます。 |
| IPI(NCMにより0〜330%) | IS(選択税、変動) | ISはIPIを段階的に置き換えます。移行期間中はIPIとISが共存する場合があります。NCMは製品分類子として残ります。 | IPI税率は2027年からゼロ化が始まります。2033年までに完全置き換え。 |
抽出ワークフローを準備するための3つの実践的なステップ:
現在のフィールドマップを監査する
抽出テンプレートを確認し、現在ICMS、IPI、PIS、COFINSにマッピングされているすべてのフィールドを特定します。それぞれについて、対応する新しい税(PIS/COFINSにはCBS、ICMSにはIBS、IPIにはIS)の並列フィールドを追加します。新しいフィールドをまだ使用していない場合でも、CBS/IBSフィールドにデータが入ったときに抽出出力列が存在してデータを受け取れるよう、スキーマ空間をマッピングしておく必要があります。
デュアルスキーマのサンプルNF-e文書でテストする
新しいCBSおよびIBSフィールドをすでに含むサンプルNF-e XMLをサプライヤーから入手します(2026年8月1日以降に発行されるすべてのNF-eには両方が含まれます)。これらを抽出パイプラインに通し、旧・新の税フィールドが正しく抽出されることを確認します。抽出がスクリプトベースの場合は、ICMSのXPathクエリが誤ってIBS値を取得しないことを確認してください。要素グループは類似した命名パターンを共有しています。
デュアルフィールド戦略を決定する
今後7〜8年間、抽出データには従来の税フィールドと新しい税フィールドの両方が含まれます。(a) 出力スプレッドシートに並列列を維持し、ダウンストリームのユーザーがどちらを使用するかを選択できるようにするか、(b) 特定の日付で特定の列を段階的に導入・廃止する移行タイムラインを実装するかを決定します。ほとんどのAPチームは移行初期には(a)を好むでしょう。出力テーブルは長くなりますが、混合制度期間中に唯一の有効なフィールドを失うリスクを回避できます。
よくある質問
NF-eフィールドを抽出する際にXML名前空間を処理する必要がありますか?
はい。NF-e XMLは<nfeProc>要素で宣言されたデフォルトの名前空間を使用します(通常はxmlns="http://www.portalfiscal.inf.br/nfe")。XPathクエリは、この名前空間を登録するか(Pythonのlxmlの場合:ns = {'nfe': 'http://www.portalfiscal.inf.br/nfe'})、local-name()を使用して回避する必要があります。Power QueryのXMLコネクタは、ほとんどの場合名前空間を自動的に処理します。抽出ツールで明示的な名前空間の登録が必要な場合は、正しいURIを使用していることを確認してください。不一致があると、結果セットが静かに空になります。
明細行の税額を合計してヘッダーの合計と比較すべきですか?
はい。これは実装できる最も価値のある検証チェックの1つです。NF-e XMLには<total>/<ICMSTot>に税の合計が含まれ、各<det>に明細行の詳細が含まれます。これらは一致する必要があります。明細行の合計とヘッダーの合計の不一致は危険信号です。XML生成時に明細行が省略された、割引が一貫して適用されなかった、または仕入先のERPに設定エラーがある可能性があります。すべての抽出バッチで、明細行の税額をヘッダーの合計に照合することを標準手順にしてください。
NF-e抽出はSPED報告要件をカバーしていますか?
いいえ。SPED(Sistema Público de Escrituração Digital)はブラジルのデジタル簿記申告システムです。州税のEFD-ICMS/IPIと連邦拠出金のEFD-Contribuiçõesがあり、データを特定のSPEDレイアウトにフォーマットし、認定ソフトウェアを通じて提出する必要があります。NF-e抽出は請求書データをスプレッドシートに取り込むもので、SPED準拠のレコードを生成するものではありません。ただし、NF-eから抽出するデータ(明細行のICMS、PIS、COFINS、CFOP、NCM、CST)は、SPED申告に供給される同じデータです。抽出ワークフローが明細行レベルで税の詳細を正しく取得すれば、ブラジルの会計チームはそのデータを使用して必要なSPEDレコードを入力でき、ソース文書からの再入力は不要です。NF-eフィールドからSPEDレイアウト位置へのマッピングは別の変換ステップであり、一部のERPローカライゼーションモジュールが自動的に処理します。
会社が異なるブラジルの州に複数のCNPJを持つ場合はどうなりますか?
これは大規模な組織では一般的です。各CNPJ(ポルトガル語で「estabelecimento」)は税務上独立した法人であり、NF-eの宛先州は商品を受け取ったCNPJに対応します。複数法人の組織でNF-eデータを抽出する場合、受取人CNPJ(<dest>/<CNPJ>)で抽出結果をフィルタリングし、法人ごとに個別のGLマッピングを維持してください。ICMS税率の検証も法人ごとに異なります。同じ仕入先からでも、サンパウロのCNPJに出荷された商品と、バイア州のCNPJに出荷された商品では税率が異なります。ブラジルの州ごとの複雑さへの対応については、手頃な価格のNF-e抽出ガイドをご覧ください。
過去の期間からデータを抽出した後にNCMコードが変更された場合はどうなりますか?
NCMコードはReceita Federalによって定期的に更新されます(通常は年1回ですが、Notas Técnicasによる年度途中の調整もあります)。NCMコードが変更されると、その製品分類のIPI税率も変更される可能性があります。抽出目的では、発行時点のNF-eに記載されているNCMコードを取得する必要があります。これは請求書の発行日に有効だったコードであり、法的に支払うべき税金を決定します。遡及分析やSPED調整を行う場合は、現在のNCMリストではなく、元の文書に記録されているNCMを使用してください。
仕入先のNF-e XMLに要素が欠落している、または不正な形式の場合はどうなりますか?
それは起こり得ます。最も一般的な問題は、<cobr>(請求)グループの欠落、<enderEmit>の住所情報の不完全さ、または宣言されたCSTコードに対して期待されるスキーマバリアントに準拠しないICMSサブグループです。抽出ワークフローはこれらを適切に処理する必要があります。欠落フィールドにはnullまたはプレースホルダーを返し、検証警告をログに記録してください。重要でない要素の欠落でハードフェイルしないでください。重要なフィールド(アクセスキー、CNPJ、明細行の合計)については、値の欠落はそのNF-eをバッチから拒否し、明確なエラーメッセージを表示する必要があります。検証サマリーレポートは不可欠です。欠落または異常なフィールドがあったすべてのNF-eをログに記録し、チームがGLへの転記前に調査できるようにしてください。
DIFAL(州間ICMS税率差)はどのように処理すればよいですか?
DIFAL(Diferencial de Alíquota do ICMS)は、商品が州境を越えて販売され、仕向け地の州のICMS税率が仕向け元で支払われた州間税率よりも高い場合に適用されます。買い手は税率差を自州に支払う必要があります。NF-eでは、DIFALは<imposto>/<ICMS>の下にある<ICMSPart>サブグループで表されます。このサブグループには、vBC(計算基準)、pICMS(すでに適用されている州間税率)、pICMSUf(仕向け地州の内部税率)、およびvICMS(DIFAL金額=基準に対する2つの税率の差)が含まれます。DIFAL金額は別途抽出し、州固有のICMSクレジットワークフローで処理する必要があります。これは通常のICMSクレジットの一部ではありません。
運送費と保険料は商品価格とは別に抽出すべきですか?
はい。NF-e XMLは取引を商品価格(vProd)、運送費(vFrete)、保険料(vSeg)、その他の費用(vOutro)に分解します。ICMSの課税基準には、商品価格+運送費+保険料+その他の費用の合計が含まれることがよくありますが、常にそうとは限りません。一部の商品では、ICMSは商品価格のみに基づいて計算されます。各構成要素を個別に抽出することで、ICMSの課税基準が価格体系の理解と一致しているかを検証できます。NF-eで運送費がICMS基準に含まれているのに、ERPモデルが運送費をICMS基準の外に置くことを想定している場合、調整すべき照合項目があります。
AIベースの抽出ツールはNF-e XML全体を処理できますか、それともDANFE PDFのみですか?
ツールによります。ImageToTable.aiのAIベースの抽出は、同じバッチでNF-e XMLファイル(構造化データ)とDANFE PDF(ビジュアル文書)の両方を処理できます。XMLをアップロードすると、ツールは構造化要素を直接読み取り(OCR不要)、列テンプレートにマッピングします。DANFE PDFをアップロードすると、AIがビジュアルコンテンツを読み取り、表示されているフィールドを抽出します。両方に対応する単一プラットフォームの主な利点は一貫性です。「NF-eアクセスキー」「ICMS金額」「CFOPコード」用に1つの列テンプレートを定義すれば、ツールは受け取ったソース文書の種類に応じてそれらを入力します。これにより、XMLベースとDANFEベースのサプライヤーで別々のワークフローを維持する必要がなくなります。これはブラジルのAP業務でよくある断片化ポイントです。
抽出結果をXMLと一緒にアーカイブする必要がありますか?
ブラジルの法律では、取引が発生した会計年度の終了から5年間、元のNF-e XMLをアーカイブすることが義務付けられています。抽出結果(スプレッドシートやERPレコード)はXMLの代わりにはなりません。ただし、構造化された抽出結果を元のXMLアーカイブと併せて維持することは、内部照合や監査対応のベストプラクティスです。SEFAZ監査では、元のXML(文書が存在し適切に承認されたことを証明するため)と会計記録(データがどのように処理されたかを示すため)の両方を提出する必要があるでしょう。アクセスキーを結合キーとして、ソースXMLと抽出結果の両方をリンク構造で自動的にアーカイブする抽出ワークフローは、監査準備の時間を大幅に節約します。コスト効率の高いコンプライアンス対応については、中小企業向けNF-e抽出ガイドをご覧ください。
ご自身のNF-e文書で抽出をテストする
NF-e抽出は理論上の話ではありません。受け取るすべてのXMLには、完全に構造化され、政府検証済みで、すぐに使用できるデータが含まれています。唯一の疑問は、ERPや財務記録に到達する前に、ワークフローが十分なデータを抽出し、正しく検証しているかどうかです。本ガイドのフィールドマップ、税務検証テーブル、コードリファレンスはリファレンス層を提供します。抽出エンジンが文書を処理します。この組み合わせにより、チームが解析に苦労する不透明なXMLファイルだったブラジルのNF-eが、転記、クレジット回収、監査対応に自信を持って使用できる透明な財務データソースに変わります。