複数都市のNFS-eを1つのスプレッドシートに:自治体テンプレート不要の一括処理

ブラジルには5,570の自治体があります。10の自治体にサービス提供先を持つコンサルティング会社が受け取るNFS-e(電子サービス請求書)の形式は1つではありません。10の異なる形式 — それぞれISS(サービス税)税率は2%〜5%と異なり、フィールド構成も異なり、管轄する税務当局も異なります。これらを1件ずつ処理するのは単に遅いだけではありません。一括処理で初めて見えてくる照合パターンが見えなくなってしまうのです。

ブラジルの自治体NFS-eサービス請求書から一括抽出したデータを1つのExcelスプレッドシートに

重要ポイント

  1. 各NFS-eを手入力する時間コストは計算できます。しかし、本当のコストは、すべての請求書が1つのテーブルにまとめられて初めて見える、ISS源泉徴収の罰則、税率異常の見逃し、コンプライアンスの欠落に潜んでいます。
  2. 「ISS Retido na Fonte(源泉徴収)」は、税負担の納付義務を法的に貴社に移します。5都市からの30件の請求書を1件ずつ処理する方法では、少なくとも1つの納付義務が確実に漏れます。
  3. ImageToTable.aiは、すべての自治体のNFS-eを一括処理し、ISSの不一致、源泉徴収義務、都市別の合計を1つのスプレッドシートに表示します。あなたの仕事は、数字を入力することから、それを検証することに変わります。

NFS-eのバッチ処理が単一書類抽出と異なる理由

単一NFS-e抽出ガイドをご覧になった方なら、基本メカニズムをご存知でしょう。意味論的抽出は、各フィールドの意味を理解することでNFS-eを読み取ります。「Prestador(提供者)」というラベルの横にある14桁のCNPJ do Prestador(提供者の法人税ID)、ISSセクションの下にあるISS base de cálculo(課税標準)、自治体が印刷した場所にあるalíquota ISS(ISS税率)を特定します。1つの書類、1組の列定義、1行の出力です。自治体ごとの差異の問題は、書類レベルで解決されます。

バッチ処理では、単一書類抽出では発生しない、異なる種類の課題が生じます。サンパウロ(ITコンサルティングでISS 5%)、リオデジャネイロ(同サービスでISS 5%)、ベロオリゾンテ(ISS 3%)、クリチバ(ISS 4%)、その他6都市の提供者からの30件のNFS-e書類を1つの処理キューに入れると、単一書類では決して起こらない3つのことが発生します。

第一に、都市間のISS税率検証が必要になります。 単一のNFS-eでISS 3%は、単独では問題なく見えます。しかし、同じサービスコード(項目1.01 — Análise e desenvolvimento de sistemas、つまりIT分析・開発)が、同じバッチ内でサンパウロから5%、リオから5%、ベロオリゾンテから3%で出現しているのを見ると、ベロオリゾンテの税率がすぐに目立ちます。ベロオリゾンテは独自の税率を設定しているため、正しい可能性もあります。提供者が誤った自治体税率を適用した可能性もあります。これを発見する唯一の方法は、バッチレベルのビューです。

第二に、ISS Retido na Fonte(源泉徴収されたISS)の追跡が、バッチ規模のコンプライアンス業務になります。 NFS-eに「ISS Retido na Fonte = Sim(源泉徴収あり)」とマークされている場合、ISSを納付する義務はサービス提供者からサービス受領者であるあなたに移ります。該当する各書類について、それぞれのprefeitura(自治体)に、それぞれの納付期限と納付システムで個別に支払う必要があります。複数の都市からの10件の書類にわたって、どの請求書がこの義務を発生させ、どの請求書が発生させないかを追跡することは、手動のチェックリストでは管理できません。

第三に、データ自体が集計されることでより価値が高まります。 提供者ごとのISS合計、都市ごとのサービス支出、源泉徴収された税金と提供者が支払った税金の比率 — これらはどれも、1つの書類だけでは見えません。バッチ全体が1つのスプレッドシートにまとめられて初めて明らかになります。

これは、単一書類のワークフローを高速化することではありません。単一書類のワークフローではまったくできないことを行うことです。

複数自治体にまたがるNFS-e処理が、標準的な請求書バッチ処理と根本的に異なる理由

標準的なバッチ請求書処理(米国や欧州の50社のサプライヤーから50のPDFを受け取るケース)は、主にボリュームの問題です。請求書の見た目は異なりますが、税務ロジックの根底は一貫しています。すなわち、VATは全国一律の税率、消費税は州ごと、そしてフィールドの位置やラベルはおおむね予測可能です。

ブラジルのNFS-eバッチ処理には、標準的な請求書バッチにはない構造的なレイヤーが加わります。ISSは補完法116/2003に基づく市税であり、各自治体が独自の税システムを運用しているため、「ISS税率」という同じ論理フィールドでも、バッチ内の書類ごとに異なる値が設定される可能性があり、その値によって当該書類の税額が正しく計算されたかどうかが決まります。

ここで、多くの文書抽出ツールが採用するテンプレートベースの抽出が、構造的に機能しなくなります。テンプレートは各フィールドに矩形領域を定義します。「CNPJ do Prestadorはピクセル位置(x=150, y=320)にある」といった具合です。これは一つの自治体では機能しますが、次の自治体では破綻します。取引先が事業を展開する可能性のあるすべての都市に対応するテンプレートライブラリを維持することは、対象となる都市数が5,570にも上り、レイアウトを積極的に更新する都市(サンパウロ市は2025年8月にNFS-eマニュアルのバージョン3.2をリリース)が増え続けている現状では、現実的ではありません。

その代替となるのがセマンティック抽出です。つまり、フィールドがページ上のどこにあるかを定義する代わりに、抽出エンジンに何を探しているのかを指示します。「『Prestador』とラベル付けされた14桁のCNPJ」といった具合です。エンジンは文書の内容を理解するため、位置は問題になりません。同じバッチ内のサンパウロ市のNFS-eとポルトアレグレ市のNFS-eが、同じ列定義で処理されます。AIが意味を探し、位置を照合しているわけではないからです。

これがアーキテクチャ上の違いです。テンプレートベースのツールは、テンプレートを追加することでスケールします。都市ごと、レイアウト改訂ごとに1つずつです。セマンティック抽出は、より多くの文書内容を理解することでスケールします。バッチに10番目の都市のNFS-eを追加する場合、コストは実質的にゼロです。10番目の都市のテンプレートを追加する場合のコストは、そのテンプレートを構築、テスト、維持し、市役所がレイアウトを変更するたびに更新することです。

セマンティック抽出が個々のNFS-eフィールド(CNPJ照合、LC 116サービスコード分類、ISS税額内訳)をどのように処理するかについての詳細は、単一NFS-e抽出ガイドをご覧ください。バッチワークフローはこれらすべてを継承し、複数文書のレイヤーを追加します。

セマンティック抽出で10都市のNFS-eを一括処理する方法

NFS-eの一括処理における抽出ワークフローは、カスタム列抽出が中心です。「提供者CNPJ」「サービスコード(LC 116)」「ISS税率」「ISS金額」「ISS源泉徴収(Retido na Fonte)」「NFS-e番号」など、出力したいフィールド名を入力するだけで、AIが各ラベルの意味を理解し、すべての書類から該当する値を特定します。これらの列名がスプレッドシートの見出しになります。一度定義すれば、バッチ内のすべての市区町村で機能します。

しかし、NFS-eの一括処理では、直接抽出以上のメリットがあります。さらに2つの列モードにより、別途スプレッドシートで作業しなくても、抽出時に複数都市間の調整が可能になります。

計算列では、抽出時に実行される検証ロジックを定義できます。NFS-eの一括処理で最も有用な計算列は、ISSの検証です。「ISS税率 × ISS課税標準 = ISS金額?」計算結果が抽出されたISS金額と一致すれば、列に「OK」と出力されます。一致しない場合は差異が出力され、データをERPにインポートする前に確認が必要な書類をバッチレベルで特定できます。1枚の書類でこのチェックを行うと30秒かかりますが、50枚の書類では計算列が自動的に処理し、抽出データと同じスプレッドシートで結果を確認できます。

推論列では、AIが書類の内容に基づいて分類やラベル付けを行います。特定のフィールドを指定せずに「市区町村(書類から抽出)」という列を追加すると、AIがNFS-eのプレフェイトゥラ(市役所)識別子を読み取り、市区町村名を自動入力します。これにより、バッチ出力に並べ替え可能な市区町村列が追加され、市区町村ごとのISS合計や税務報告が、手作業でのクロスリファレンスではなく、ピボットテーブルで簡単に作成できるようになります。

これら3つの列タイプ(直接抽出、計算、推論)は、1回のバッチ実行で連携して動作します。抽出してから検証するのではなく、抽出中に検証が行われ、その結果は同じスプレッドシートに出力されます。

ステップバイステップ:複数市区町村のNFS-eを1つのスプレッドシートに

複数のブラジル市区町村のNFS-e書類を一括処理し、1つのExcelファイルにまとめる実践的なワークフローです。この設定はバッチごとに1回行うだけで、どの市区町村の書類でも同じ列定義で処理できます。

1
すべてのNFS-e書類を1回でアップロード。ブラジルのサービスプロバイダーからのPDFまたはXMLをすべてアップロードエリアにドラッグします。DANFSE(NFS-eの印刷版)、XMLファイル、NFS-eのスクリーンショットにも対応。異なる市区町村や形式の書類も同じバッチにまとめられ、抽出エンジンがそれぞれ独立して処理します。
2
抽出列を一度だけ定義。必要なフィールド名を列ヘッダーとして入力します。複数市区町村のNFS-e一括処理には以下を含めます:「提供者CNPJ」「依頼者CNPJ」「NFS-e番号」「発行日」「サービスコード(LC 116)」「サービス内容」「ISS課税標準」「ISS税率」「ISS金額」「源泉徴収ISS」「合計金額」「市区町村(推定)」。ISS検証用に計算列「ISSチェック(税率×課税標準=金額?)」を追加します。
3
バッチを処理。抽出を開始します。AIが各書類を個別に読み取り、固定レイアウトではなく文書内容を理解して列名に対応する値を抽出します。同じバッチ内のサンパウロNFS-eとベロオリゾンテNFS-eも、同一の列定義で処理されます。処理時間は1ページあたり約5〜10秒で、30件のバッチは約3〜5分で完了します。
4
バッチ結果を確認してエクスポート。出力されたスプレッドシートで、源泉徴収ISS列で並べ替えると、税の納付義務がある(提供者ではなく自分側の)請求書が特定できます。ISSチェック列で並べ替えると、抽出されたISS金額が税率×課税標準の計算と一致しない書類が見つかります。市区町村列で並べ替えると、市区町村ごとのISS合計が表示されます。XLSXでエクスポートすれば、ERPへのインポート、会計ソフト(ContaAzul、Omie、TOTVS)との連携、または提供者の月次サービスサマリーとの直接照合にすぐ使えます。
PDF/XML/PNG AI抽出

ファイルは安全に処理され、保存されません。

複数自治体間ISS調整:一括処理ならではの視点

NFS-e一括処理の最大の価値は、時間節約ではありません(1枚3分→5〜10秒で18倍の効率化)。最大の価値は、全書類が1つのテーブルに集約されて初めて得られる調整ビューにあります。

このビューで可能になる、単一書類処理ではできないことを以下に示します。

市区町村別ISS合計

出力を市区町村ごとにグループ化し、ISS額を合計します。これにより、各都市でのサービス購入に適用されたISS総額が把握できます。このデータは2つの理由で重要です。第一に、特定の市区町村における全プロバイダーのISS合計が、その管轄区域の内部コスト配分と整合しているか確認できます。第二に、これらの請求書のISS源泉徴収義務者である場合、市区町村別の合計額は、地方税納付記録と照合するために必要な数値です。Dentonsのグローバル税務ガイドでは、「複数の市区町村がISSを主張する紛争は非常に一般的」と指摘されています。一括ビューは、別の市区町村から問い合わせがあった場合の監査証跡となります。

ISS源泉徴収トラッキング

NFS-eに「ISS Retido na Fonte = Sim」(源泉徴収あり)のフラグが立っている場合、サービス提供者ではなく、あなたの会社が提供者の市区町村にISSを納付する責任を負います。これは単なるデータ入力上の注意事項ではなく、期限があり、市区町村ごとに支払いシステムが異なる税務コンプライアンス上のアクション項目です。バッチ出力で「ISS Retido」列で並べ替えれば、あなたのアクションが必要なすべての請求書を一覧で確認できます。30枚のPDFを個別に調べて、フラグが立っている3枚を探す必要はありません。

ISS源泉徴収に関する法的枠組みは、ブラジルの最高裁判所で審理されています。2020年、ブラジル連邦最高裁判所(STF)はRE 1167509において、サービス提供者がその市区町村に登録されていない場合、市区町村はサービス利用者にISS源泉徴収義務を課すことはできないと判決を下し、サンパウロの他市区町村事業者登録(CPOM)要件を覆しました。しかし、連邦法で定められた、サービス種別と市区町村の組み合わせが正当な源泉徴収を引き起こす義務は引き続き有効です。どの請求書に有効な源泉徴収義務があるかを把握するには、バッチ全体を確認する必要があります。

ISS税率差異検出

LC 116/2003は、市区町村およびサービス種別ごとにISS税率を2%から5%と定めています。しかし、市区町村は企業を誘致するために税率で競争しています。UNDPのブラジル税制診断レビューでは、「ICMSおよびISSの税制優遇をめぐる略奪的な戦争」が指摘されています。提供者がサンパウロでは5%課税されるサービスコードに対して2%の税率を適用するのは、提供者が企業誘致のために税率を引き下げた市区町村に登録されているからかもしれません。その税率が有効かどうかは、あなたの経理チームが判断する税務上の判断事項です。しかし、それを発見するにはバッチ全体を確認する必要があります。1件の書類が2%でも問題ありません。同じサービスコードで10件が5%、1件が2%であれば、それは調査に値する差異です。

全国NFS-e標準がバッチ処理に与える影響

Sistema Nacional da NFS-e(SNNFS-e、全国NFS-eシステム)は、ブラジルが自治体間でサービス請求書の形式を統一するための取り組みです。2025年8月時点で1,463の自治体が参加していますが、参加は任意であり、サンパウロのような大都市は独自システムを維持することを公に表明しています。その結果、一部の取引先は全国XML標準に基づくNFS-eを発行し、他の取引先は各市の独自システムを使用するというハイブリッドな状況が生まれ、どちらになるかを制御することはできません。

バッチ処理の観点から見ると、このハイブリッドな状況は、レイアウトに依存しない抽出の価値をさらに高めます。テンプレートベースのツールでは、標準化前の各市のレイアウト用とSNNFS-e標準用の両方のテンプレートが必要になり、さらに自治体が移行する際の更新パスも必要になります。一方、セマンティック抽出は、どの標準で作成された文書であっても、その内容を読み取ります。全国標準のNFS-eとサンパウロのカスタム形式のNFS-eが同じバッチに含まれ、同じ列を定義し、同じ出力を生成します。標準化プロセスは文書の内容を変えるものであり、抽出方法を変えるものではありません。

2026年の税制改革(2033年までにISSをIBS(Imposto sobre Bens e Serviços)に段階的に置き換える)により、さらに複雑さが増します。移行期間中、NFS-e文書には従来のISSフィールドと新しいIBS/CBSフィールドの両方が含まれる可能性があります。抽出方法は、既存のISS列に加えて「IBS金額」「CBS金額」などの新しい列名を追加することで対応します。テンプレートの再設計は必要ありません。

貴社がブラジルの物品請求書も処理する場合、NF-e XML抽出ワークフローについてはNF-e抽出ガイドをご参照ください。列定義が十分に広範であれば、両方の文書タイプを同じバッチで共存させることができます。ただし、LC 116コードのようなNFS-e固有のフィールドはNF-e文書では空白になりますが、これは想定内であり、エラーの原因にはなりません。

FAQ:NFS-e一括処理

異なる都市の事業者からのNFS-eをまとめて一括処理できますか?

はい — これが主なユースケースです。セマンティック抽出は、各文書の内容を理解して個別に読み取るため、特定の都市のレイアウトに依存しません。サンパウロ(ISS 5%)、ベロオリゾンテ(ISS 3%)、クリチバ(ISS 4%)のNFS-eが同じバッチにあっても、同じ列定義で処理されます。AIは、各文書のページ上の位置に関係なく、CNPJ do Prestador、ISS base de cálculo、その他のフィールドを特定します。

一括出力では「ISS Retido na Fonte」はどのように扱われますか?

「ISS Retido」フィールドは専用の列として抽出されます — 通常は「Sim」または「Não」が入ります。一括出力のスプレッドシートでこの列を並べ替えると、貴社が源泉徴収義務者となるすべての請求書の完全なリストが得られます。そこから、該当する各請求書のISS率×課税標準で納付額を計算し、各市町村の支払いシステムに振り分けます。抽出ツールはデータを提供します。税の納付自体は別のコンプライアンス手順であり、経理チームが各自治体の支払いポータルを通じて行います。

事業者がレイアウトエラーやフィールド欠落のあるNFS-eを発行した場合はどうなりますか?

抽出エンジンは文書にあるものを読み取ります。必須フィールド(例:CNPJ)が欠落しているか判読不能な場合、出力の該当セルは空白になります。これは実際には便利です。一括出力の空白セルは、どの文書について事業者へのフォローアップが必要かを即座に示します。一方、30件の文書を手動で入力すると、他の項目に紛れて1つの空白フィールドを見逃す可能性があります。一括表示により、欠落が可視化されます。

同じバッチにNFS-eと海外サービス請求書を混在できますか?

はい。列定義が「請求書番号」「事業者名」「合計金額」「税額」など両方の文書タイプをカバーしていれば、海外請求書とNFS-eは同じバッチに共存できます。「LC 116サービスコード」や「ISS率」などのNFS-e固有の列は非ブラジル文書では空白になり、「VAT番号」などの海外固有の列はNFS-e文書では空白になります。どちらの動作も想定内であり、エラーは発生しません。

抽出エンジンは、NFS-e文書の2026年税制改正項目(IBS/CBS)に対応していますか?

はい — 市区町村がNFS-eレイアウトを更新してIBSまたはCBSフィールドを追加した場合、バッチ定義に対応する列名(例:「IBS金額」「CBS金額」)を追加するだけで対応できます。抽出エンジンは、既存のISSやCNPJフィールドと同じ方法で、文書の内容を理解してこれらの新しいフィールドを特定します。テンプレートの再設定は不要です。2033年までの移行期間中は、ISSフィールドとIBSフィールドの両方を含むNFS-e文書が混在するバッチを実行できます。両方の列を定義すれば、各文書に存在するフィールドが出力に反映されます。

バッチ処理と各市区町村のAPIを直接統合する方法の違いは?

市区町村のAPI統合には、取引先が事業を展開する各都市ごとに個別の接続を構築・維持する必要があり、それぞれ認証方法、スキーマ、更新スケジュールが異なります。SNNFS-e国家標準は参加市区町村にとってこの問題を簡素化しますが、サンパウロのような大都市は参加を辞退しています。セマンティックバッチ抽出は、すでに受領している文書(PDF、XML、DANFSE印刷物など)を処理するため、市区町村システムへのAPIアクセスは不要です。これはNFS-e発行時のAPI統合に代わるものではなく、サービス受領者(tomador)側の受信ソリューションです。

NFS-e以外のバッチ文書抽出の詳細については、バッチ請求書抽出をExcelにで、さまざまな文書タイプや通貨での動作をご確認ください。

市区町村ごとの入力からバッチごとの照合へ

NFS-eは政府の税収を効率化するために設計されました。受領するすべてのサービス請求書は、市区町村の税務当局による検証を経てから届きます。CNPJは確認済み、ISS税率はサービスコードに照らして検証済み、請求書番号も割り当て済みです。そのデータは存在し、正確であり、ほとんどの国際請求書では行われない政府の検証ステップを通過しています。

非効率なのは完全に受領側にあります。市区町村ごとに異なる文書から検証済みフィールドを再入力し、SPED照合用の正しいスプレッドシートを作成する必要があります。バッチセマンティック抽出は、入力を高速化するのではなく、入力を不要にすることでこのギャップを埋めます。そして、手動入力では決して実現できなかった市区町村横断的なビューを提供します。

次にサンパウロ、リオ、ベロオリゾンテなどの取引先からNFS-eの束を受け取ったら、それらを1つのバッチとして処理してみてください。列を一度定義し、抽出を実行します。その後、市区町村ごとに並べ替えてISS合計を確認してください。バッチビューが個々の文書では見えなかった何かを明らかにするかもしれません。

NFS-eをExcelにバッチ処理

最初の50ページはサインアップ不要です。

📮 contact email: [email protected]