SPED ECD/ECF → Excel:
ブラジル会計データを抽出して税務申告に活用
PVAエクスポートフォルダにあるECDファイルには、会社が年間に生成したすべての会計記録(仕訳、勘定残高、コストセンター配分)が含まれています。これは会計年度の最も完全な財務記録であり、IRPJおよびCSLLの納税額を決定するECF税務申告の基礎となります。しかし、テキストエディタでファイルを開くと、|C155|、|I200|、|M300|で始まる数十万行のデータがパイプ区切りで並び、勘定科目コード、期首残高、借方・貸方の動きがすべて混在しています。データ自体はERPが出力するPDFやスプレッドシートよりも完全ですが、生のままでは使えません。
重要ポイント
- ECDファイルには会社が年間に生成したすべての会計記録(8万~15万行のパイプ区切りRegistroコード)が含まれており、パーサーでのみ解読可能です。
- 標準の「Excelで開く」方法では、すべてのRegistroタイプが1つのスプレッドシートにまとめられ、「期首残高」と「仕訳日付」が同じ列に配置されます。
- 必要な列(勘定科目コード、期首残高、期末残高、税務調整額)を指定し、必要なデータのみをクリーンなテーブルに抽出します。
このミスマッチ、すなわち完全なデータが非実用的な形式に閉じ込められていることこそが、この記事で解決する核心的な問題です。各ECDおよびECFブロックに何が含まれているか、標準的な「Excelで開く」方法では不十分な理由、そしてSPEDレイアウト仕様のすべてのRegistroタイプ用のパーサーを書くことなく、経年比較、ECD↔ECFの相互検証、コストセンターの収益性分析に必要な特定のデータを抽出する方法を学びます。
SPED ECD/ECFファイルが扱いにくい理由
SPED(Sistema Público de Escrituração Digital)システムは、Receita Federalが機械検証可能な形式でデジタル会計記録を受信、検証、保存するという唯一の目的のために設計されました。人間による分析のしやすさは、決して設計目標ではありませんでした。その結果生まれた形式には、直接的な分析を困難にする3つの構造的特徴があります。
固定幅テキストレイアウト。 ECDまたはECFファイルの各行は、Registroコードで識別される固定幅のレコードです。各フィールドは各行内の特定の文字位置を占め、パイプ文字で区切られています。同じファイルには、勘定科目定義(C050)、期間別試算表(C155)、仕訳帳(I200)、日次残高サマリー(I300)など、数十種類の異なるRegistroタイプが含まれています。人間がこのファイルを読むと、レコードタイプの視覚的な区別がなく、すべてが一様に見える行の壁が表示されます。
混在するレコードタイプ。 ECDファイルは、その内容をタブやセクションに分離しません。Registro C050エントリ(勘定科目表)は、Registro C155エントリ(試算表)と同じファイルにあり、さらにRegistro I200エントリ(総仕訳帳)の隣にあります。たとえば、試算表だけを取得するには、特定のRegistroコードでフィルタリングし、次に一致する各行内の固定幅フィールドを解析する必要があります。各フィールドはRegistroタイプによって異なるレイアウトを持ちます。
組み込みの比較機能がない年間スコープ。 各会計年度は、独自のECDファイルとECFファイルを生成します。今年の勘定残高を昨年のものと比較するという、日常的な分析ニーズを満たすには、2つのファイルを開き、それぞれから同じRegistroを抽出し、勘定コードを調整し、比較表を手動で作成する必要があります。SPEDエコシステムには「前年比」ビューはありません。PVAは検証と送信を行います。分析は行いません。
実際的な結果として、会計システムが準備に数週間を要し、contadorが検証に数時間を費やしたファイルが、アナリストの手に渡ると、包括的でありながらアクセス不可能という逆説的なデータソースになります。
ECD・ECFファイルの実際の内容
SPEDファイルからデータを抽出する前に、その内部構造を理解する必要があります。ECD(Escrituração Contábil Digital)とECF(Escrituração Contábil Fiscal)は、異なるものの相互に関連する役割を担っており、その内部構造にその違いが反映されています。
ECD — デジタル会計帳簿は、IN RFB nº 2.003/2021(現行Leiaute 9、2020年度以降安定)に準拠しています。これは、物理的なLivro Diário、Livro Razão、貸借対照表を、以下の内容を含む単一のデジタルファイルに置き換えるものです。
| Bloco | Registros | 内容 |
|---|---|---|
| Bloco 0 | 0000–0990 | 会社識別情報、会計帳簿の種類、デジタル証明書情報 |
| Bloco C | C001–C990 | コア会計データ: 勘定科目表(C050)、コストセンター(C100)、期間識別(C150)、試算表詳細(C155 — 勘定科目コード、期首残高、借方/貸方の動き、期末残高)、前期繰越(C157)、決算前損益残高(C350/C355) |
| Bloco I | I001–I990 | 仕訳データ: 仕訳バッチ(I200)と個別明細(I250)、日次残高サマリー(I300/I310) |
| Bloco J | J001–J990 | 補助簿: 独自の勘定科目表(J050/J051)とコストセンター(J100)を持つ二次元元帳 |
| Bloco K | K001–K990 | 部門別内訳(該当する場合) |
ECF — デジタル税務帳簿は、IN RFB nº 2.004/2021(現行Leiaute 12)に準拠しています。これは、旧DIPJ(法人の経済・税務情報申告書)に代わり、ECDで確立された会計基準に基づいてIRPJとCSLLを計算します。
| Bloco | Registros | 内容 |
|---|---|---|
| Bloco 0 | 0000–0990 | 会社識別情報、税制(Lucro Real / Presumido / Arbitrado)、会計方法 |
| Bloco E | E001–E990 | ECDデータの引継ぎ: 前期ECDからの期末残高(E010)、マッピングされた勘定科目(E015)、前期ECFからのe-Lalur/e-Lacs Part B残高(E020) |
| Bloco M | M001–M990 | IRPJ/CSLL計算: e-Lalur Part A調整(M300)、e-Lacs Part A調整(M350)、Part B管理勘定(M305/M355)、司法/行政手続きのプロセス参照番号(M315) |
| Bloco U | U001–U990 | 統一税務情報(該当する場合) |
2つのファイルの重要な関係:ECFは、ECD(Bloco Eの復元を介して)から会計残高を取得し、Bloco Mで税務調整を行います。ECDは「計上したもの」を示し、ECFは「納付すべきもの」を示します。この2つの差額こそが、税務計画、永久差異、一時差異が存在する領域であり、まさにこの差額を手作業でファイルごとにレビューして発見することが目的です。
手動でのアプローチ — ExcelでSPEDファイルを開く
Receita Federalが公開している公式のECDマニュアルには、実際にExcelでファイルを開く手順が記載されています。その手順は技術的な付録(セクション1.31のステップ1から5)に埋もれており、以下の通りです。PVA(Programa Validador e Assinador)から検証済みの.txtをエクスポートし、Excelを開き、パイプ区切りのテキストインポートウィザードを使用してクリックしていきます。スプレッドシートに表示されるのは、ECDのすべての行で、1行が1つのRegistroに対応し、パイプ文字が列の区切り文字となります。
技術的には、これは機能します。しかし、得られるのは数万行のスプレッドシートで、最初の列はRegistroコード(C155、I200、M300など)で、残りの列にはすべてのRegistroタイプのすべてのフィールドが含まれています。この構造を理解するには、各コードをそのフィールドレイアウトに頭の中でマッピングできる必要があります。試算表を抽出するには、Registro C155でフィルタリングします。仕訳を取得するには、I200とI250でフィルタリングします。フィルタリングされた各サブセットは、Registroタイプごとにフィールド定義が異なるため、列レイアウトも異なります。C155の「期首残高」を保持するスプレッドシートの列は、I200では「仕訳日付」を保持します。
時間的なコストは積み重なります。中堅企業のECDは8万行から15万行になることもあります。単一期間のクリーンな試算表(勘定科目、期首残高、増減、期末残高)を抽出するには、フィルタリング、列の再ラベル付け、構造のクレンジングを考慮すると、20分から40分かかります。同じ抽出を2年連続で実行して前年比較を行う場合、2つの独立したファイルを扱うことになるため、時間は2倍になります。ECDデータとECFの税務調整を相互参照するには、さらに別のパスが必要で、今回はECDのC050勘定科目表とECFのE015マッピング勘定科目との間で勘定科目コードを照合する必要があります。
これはスキルの問題ではありません。フォーマットの問題です。RFBの検証ツールは、この問題を解決するように設計されたことは一度もありません。
ブラジルの会計士がSPEDデータに実際に求めているもの
会計チームが年間のSPEDファイルを確認する際、通常は3種類の質問に対する答えを探しています。生の.txtエクスポートでは、そのどれにも答えられません。
1. 前年対比の勘定科目比較。「今年の管理費は売上よりも増加しましたか?どの勘定科目が最も大きな差異を生み出しましたか?」これらの質問に答えるには、今年度と前年度のECDから試算表(C155レコード)を抽出し、C050の勘定科目コードを照合して、差異表を作成する必要があります。完全に手動のワークフローでは、2つの.txtファイルを開き、2つのデータセットをフィルタリングし、それらを3つ目のスプレッドシートで結合することになります。各ステップで転記ミスのリスクが生じます。
2. ECD–ECFの相互検証。「ECFのe-Lalurに記録された税務調整額は、ECDで計上した会計引当金と一致していますか?」ECFのBloco Mレコード(IRPJ調整用のM300、CSLL調整用のM350)は、ECDの特定の会計勘定科目を参照します。2つのファイル間の整合性を検証するには、ECDの期末残高(C155)を抽出し、ECFのE015相互参照テーブルを通じてマッピングし、M300の調整値と比較する必要があります。これは年間SPEDサイクルにおいて最も重要なコンプライアンスチェックですが、PVAではファイル間の整合性分析は行われません。
3. コストセンターの収益性。「どの事業部門または部署が最も利益を上げましたか?各コストセンターの間接費は予算と比べてどのように変化しましたか?」Registro C100で会計記録をコストセンターごとにタグ付けしている企業は、センターごとの損益データを抽出できます。生のECDファイルでは、C100のコストセンター定義とC155の勘定科目残高(フィールドレイアウトが異なる2つの異なるRegistroタイプ)を相互参照し、手動でピボットテーブルを作成する必要があります。
これら3つのシナリオには共通のパターンがあります。データは完全な詳細で、1つまたは2つのSPEDファイルに存在しています。作業はデータの収集ではなく、Registro指向のレイアウトから分析指向のレイアウトに再構築することにあります。
AI抽出がSPEDデータのワークフローをどう変えるか
従来のSPEDデータ抽出方法は、特定のRegistroタイプを解析するカスタムスクリプトか、Excelでの手動テキスト区切り処理の2つに大別されます。どちらも、レイアウト仕様(C155、I200、M300の正確なフィールド位置)を理解している人が必要であり、レイアウトが変更された場合(例えば、Leiaute 8から9への変更、または企業がBloco Kで部門別帳簿を採用した場合)には機能しなくなります。
カスタム列抽出 — ImageToTable.aiが採用するパラダイム — は、根本的に異なるアプローチを取ります。フォーマット仕様で解析する代わりに、各列ヘッダーの意味を意味的に理解することで、ドキュメントの視覚的構造を読み取ります。「勘定コード」「勘定科目名」「期首残高」「借方移動」「貸方移動」「期末残高」のように列に名前を付けて、必要な出力を定義します。AIは、「|C155|」が試算表行の開始を示し、その中の固定幅フィールドがこれらの会計概念に対応することを理解することで、ECDのC155レコード内のこれらの値を特定します。これは、Leiaute 9の正確なバイトオフセットをプログラムされたからではなく、経験豊富なcontadorと同じように構造を読み取るからです。
これにより、SPEDデータに関して3つの実用的な利点があります。
Registroタイプを問わず機能します。C155レコードから試算表を抽出するのと同じツールで、I200/I250から仕訳明細行を、M300/M350から税調整を抽出できます。必要なRegistroに合わせて列名を変更するだけで、各Blocoごとに個別のパーサーを作成する必要はありません。
レイアウト変更に対応します。Receita Federalがレイアウト仕様を更新した場合(2020年のLeiaute 9への移行時など)、スクリプトベースのパーサーはコードの変更が必要です。意味的抽出は、バイトオフセットではなくコンテンツを読み取るため、適応できます。昨年のファイルで機能した同じ列定義が、今年のファイルでも機能します。
必要なデータだけを抽出します。10万行のECD全体をExcelにインポートして手動でフィルタリングする必要はありません。「C155レコードから、勘定コード、勘定科目名、期首残高、期末残高を含む試算表を抽出」するようAIに指示するだけで、必要な行のみが、指定した列名をヘッダーとするクリーンなテーブルとして取得できます。
ステップバイステップ — ImageToTable.aiでSPEDデータをExcelに抽出する方法
ECDまたはECFファイルを分析可能なスプレッドシートに変換するワークフローは以下の通りです。
お使いのERP(Omie、Conta Azul、Senior、Domínio、SAP TDF)は、SPEDエクスポートモジュールからECD/ECFの.txtファイルを生成できます。または、PVAを使用して検証済みファイルをエクスポートすることもできます。ファイルはパイプ区切りの固定長フィールドを持つプレーンな.txtファイルで、暗号化や特殊なエンコーディングはなく、Registroプレフィックス付きの行を持つUTF-8テキストです。
ImageToTable.aiはPDF、JPG、PNG、WebP形式の入力をサポートしています。ECD/ECFは.txtファイルであるため、実際的な方法としては、PDFとして印刷またはレンダリングできるビューア(ほとんどの会計システムとPVAは「PDFに印刷」をサポート)で開くか、関連するセクションのスクリーンショットを撮ります。完全なECD分析の場合、ファイル全体をPDFに変換することで、AIが読み取る固定幅レイアウトが保持されます。
抽出したい内容をツールに指示します。ECDから試算表を抽出する場合、列は次のようになります:Registroタイプ、勘定科目コード、勘定科目名、期首残高、借方発生額、貸方発生額、期末残高。Bloco MからのECF e-Lalur抽出の場合:Registroタイプ、勘定科目コード、e-Lalur Part A調整額、調整タイプ、参照プロセス番号。入力した列名が最終テーブルのヘッダーになります。
AIがファイルを処理し、定義した列に一致するデータを返します。出力を確認して正確性を検証します — Bboxレビューモードでは、抽出された任意のセルにホバーすると、その値がSPEDファイルのどの行から取得されたかを正確に確認できます。期待したデータが列に返されなかった場合は、列名を調整して再実行します。セマンティック抽出は、より正確な列の説明によって改善されます。
結果を.xlsxファイルとしてダウンロードします。抽出した各Registroタイプは、列ヘッダー付きのクリーンなテーブルになります。Excelで直接、前年比差異分析、ECD↔ECFクロスチェック、またはコストセンターの収益性分析を実行します。前年度のECDについても同じプロセスを繰り返して比較データセットを構築します — 今年使用した列定義は、昨年のファイルでもそのまま機能します。
.txtファイルを開いてから構造化されたExcelテーブルを取得するまでの全サイクルは、列定義が設定されていれば2分もかかりません。繰り返しの分析(毎年のECDは同じRegistro構造を生成します)では、列定義をテンプレートとして保存し、翌年は何も再入力せずに再利用できます。
抽出したSPEDデータで答えられる実践的な分析質問
ECDおよびECFデータが構造化されたExcelテーブルになれば、生の.txtファイルでは不可能だった分析の可能性が広がります。以下は、数時間ではなく数分で答えられるようになる一般的な質問です。
「粗利益率は前年から変化しましたか?変化した場合、どの勘定がその変化を引き起こしましたか?」
2年連続のECDファイルからC155試算表を抽出します。C050のPlano de Contas Referencial分類に基づき、収益勘定(性質01)と売上原価勘定(性質03)をフィルタリングします。Excelで前年比差異テーブルを作成し、各勘定の期首残高、期末残高、増減、および変化率を表示します。
「ECFのe-Lalur調整は、ECDの会計引当金と一致していますか?」
ECFからM300レコード(e-Lalur Part A調整)を、ECDからC155レコード(試算表)を抽出します。ECFのE015マッピング勘定テーブルを使用して、2つのファイル間で勘定コードを相互参照します。各M300調整は、ECDの対応する会計仕訳に遡れる必要があります。裏付け書類なしに会計引当金の5%を超える調整があればフラグを立てます。
「どのコストセンターの費用増加率が最も高く、それは予算内ですか?」
ECDからC100(コストセンター定義)とC155(コストセンター軸付き試算表)を抽出します。コストセンターコードでピボットし、費用勘定を集計し、前年の抽出データと比較します。Bloco Kで部門別P&Lを追跡している企業は、K固有のレコードからさらに詳細な情報を取得できます。
「当社の実効IRPJおよびCSLL税率はいくらですか?税務調整はそれにどのように影響しましたか?」
ECFのBloco E(回復されたECDデータ)を抽出し、会計上の利益ベースを取得します。Bloco M(e-Lalur/e-Lacs調整)を抽出し、適用された永久差異と一時差異を確認します。実効税率を(IRPJ + CSLL納税額)/(税引前会計利益 ± 永久調整)として計算します。法定税率(IRPJ 25% + CSLL 9% = 34%)と比較し、税務計画とインセンティブの影響を定量化します。
重要な洞察:「SPEDを提出した」と「SPEDがビジネスについて何を教えているかを理解している」の違いは、PVAのRegistro指向のレイアウトから、質問指向のレイアウトへデータを再構築できるかどうかにあります。データがExcelにあれば、コンプライアンスだけでなく、経営にとって重要な質問をすることができます。
よくある質問
Q: ImageToTable.aiはECD/ECFの.txtファイルを直接処理できますか?
本ツールはPDF、JPG、PNG、WebP形式の入力に対応しています。.txtファイルの場合は、SPEDファイルをビューアーまたはPVAで開き、PDFに印刷するか、必要な部分のスクリーンショットを撮影してください。SPED形式の固定幅レイアウトは視覚的に一貫しているため、PDF変換によりAIが読み取る構造が保持されます。会計システムがECDをレポートとして出力できる場合、そのPDFも問題なく使用できます。
Q: ECDのレイアウトは毎年同じですか?
Leiaute 9は2020年度以降、有効なレイアウトであり、ADE Cofisの規定(直近では2026年5月のADE Cofis nº 1/2026)により定期的にフィールドレベルの更新が行われています。Registroの構造(C050、C155、I200など)は安定しています。Leiaute 9は2020年以降のすべての年度に適用され、Receita Federalは2025年度のレイアウト変更がないことを確認しています。ECF Leiaute 12は現行バージョンで、2026年5月に更新されました。
Q: ECDなしでECFデータを抽出できますか?
はい、ECFは独立したファイルであり、Bloco Eに独自の修正会計データを含んでいます。しかし、最も価値のある分析は、両者を相互参照すること、つまりECDの会計残高とECFの税務調整額を比較することから得られます。ECFのBloco M(e-Lalur/e-Lacs)には税務計画上の判断が表れますが、これらの判断はECDの基礎となる会計データの文脈でのみ意味を成します。
Q: Lucro Presumidoの企業でも使用できますか?
はい、対象範囲は狭まりますが使用可能です。Lucro Presumidoの企業もECDとECFを提出しますが、ECFのBloco Mは推定利益の計算のみをカバーしており、永久差異や一時差異を伴うe-Lalurはありません。ECDは税務最適化ではなく会計に焦点を当てているため、ECDの抽出(試算表、仕訳帳)は税制に関係なく同じように機能します。
Q: Simples Nacionalの企業はSPEDデータを抽出する必要がありますか?
Simples Nacionalの企業は、IN RFB 2.003/2021および2.004/2021に基づき、ECDおよびECFの提出が免除されています。任意でデジタルブックキーピングを維持している場合、同じ抽出方法が適用されますが、ワークフローを推進するためのSPED提出義務はありません。ほとんどのSimples企業は、より簡素な記帳要件で運営されています。
Q: ECDまたはECFの提出期限に遅れた場合の罰則は何ですか?
ECDの期限超過の罰則は月額R$5,000です。ECFの期限超過は、Lucro Realの事業体の場合、月額R$500(最低R$1,500)です。これらの罰則はReceita Federalの検証システムによって自動的に課され、収益の高い企業ほど急速に増加します。2025年のECDの提出期限は6月30日、ECFは7月31日でした。企業は毎年期限を確認する必要があります。2025年の5月から6月への変更のような延長は保証されていません。
コンプライアンスを超えて — SPEDデータをビジネスに活かす
SPEDの提出が完了したということは、御社がReceita Federalのコンプライアンスを満たしていることを意味します。しかし、それは会計システムが年間を通じて生成したデータから最大限の価値を引き出したことを意味するわけではありません。ECDファイルとECFファイルは、合わせて御社の会計年度における最も完全かつ詳細な財務記録を構成します。これは年次財務諸表よりも詳細で、ERPのアドホックなエクスポートよりも構造化されています。
「データが存在する」ことと「データが利用可能である」ことの間にあるギャップは、技術的なギャップではありません。抽出技術はすでに存在します。PDFから請求書の明細項目を抽出するのと同じセマンティックAIが、ECDファイルから試算表を抽出できます。なぜなら、どちらの問題も同じ基本操作に帰着するからです。必要な列を定義し、AIがドキュメントを読み取ってそれらを見つけ出し抽出する。ギャップはワークフローにあります。つまり、ファイルが機械可読であれば分析可能な状態にあるはずだ、という前提です。SPEDファイルに関しては、その前提は誤りです。そして、それを修正するのはファイル1つあたり数分、時間単位の作業ではありません。
次にcontadorから前年同期比の勘定科目比較やECD-ECF差異の説明を求められたとき、答えは「.txtファイルを開いてフィルタリングを始めます」ではありません。答えはすでに構造化され、抽出され、Excelのテーブルとして用意されています。一度列を定義するだけで作成できるのです。