ブラジルのCT-e運送データをExcelに抽出する方法

ブラジル国内のすべての貨物輸送には、CT-e(Conhecimento de Transporte Eletrônico)が発行されます。これはSEFAZ(州財務局)が認証する電子運送書類であり、誰が何を、どこからどこへ、いくらで、どのICMS(商品流通サービス税)が課されたかを記録します。このデータは運送業者のシステム上に構造化されたXMLファイルとして存在します。しかし、ほとんどの物流チームが実際に目にするのはDACTE(Documento Auxiliar do Conhecimento de Transporte Eletrônico)です。これは貨物に添付され、運送アナリストの机に届く印刷物またはPDFのサマリーです。XMLの構造化データとDACTEの印刷ページとの間にあるギャップこそが、手動データ入力の現場です。月に数百件のCT-e文書を処理するチームにとって、このギャップは、運賃(peso do frete)の項目ごとに数時間のタイピングと、予測可能なエラー率を生み出します。

手入力をやめよう — AIに読み取らせるだけ
画像やPDFをアップロード — 10秒で構造化データに
今すぐ試す
登録不要 · カード不要 · 10秒で結果
ブラジルのCT-e電子運送書類データをExcelスプレッドシートに抽出し、物流コストを追跡する様子

重要ポイント

  1. 月間500件のCT-e文書を処理する中堅メーカーは、DACTEの印刷物からスプレッドシートにデータを入力するだけで、毎月12.5時間を費やしています。
  2. 運送業者はすでに構造化XMLをSEFAZに提出していますが、物流チームが目にするのは印刷されたDACTEであり、同じデータが紙の向こう側に閉じ込められています。
  3. アクセスキー(Chave de Acesso)、サービス価額(valor do serviço)、ICMS、総重量(peso bruto)という列定義を1つ設定すれば、すべての運送業者のDACTEレイアウトを同じ定義で読み取ることができます。

物流コスト管理にCT-eデータ抽出が不可欠な理由

ブラジル南東部および中西部地域に製品を配送する中規模メーカーが、月間500件のCT-e(Conhecimento de Transporte Eletrônico)文書を受け取る場合、運送費元帳やERPに反映すべきデータポイントは約7,500件に上ります。各CT-eには、運送業者のCNPJ(法人納税者登録番号)、サービス価額(valor do serviço)、総重量(peso bruto)、発地・着地の市町村、ICMS(商品流通サービス税)の内訳が含まれており、これらはすべて運送費配分、運送業者パフォーマンス分析、税額控除回収のインプットとなります。

実際には、これら7,500件のデータポイントは、運送アナリストが各DACTE(Documento Auxiliar do Conhecimento de Transporte Eletrônico)を開き、該当フィールドを探し、スプレッドシートの行に入力するという手作業で行われています。経験豊富なタイピストでも、1枚あたり約90秒かかります(各フィールドをページ上で探し、可読性の問題を確認し、文書とスプレッドシートを切り替える作業を含む)。そのため、月500件のCT-e文書では、月に12.5時間のデータ入力作業が発生します。これは、検証作業、対応する購入請求書との照合作業、そして運送業者のXML申告内容と印刷されたDACTEの表示内容との間で避けられない不一致の調査作業を行う前の段階です。

ブラジルの物流インフラは、年間3億件以上のCT-e文書を処理しており、SEFAZ(州財務局)が電子文書義務化の要件を拡大するにつれて、その数は増加し続けています。抽出段階の自動化、すなわち手動入力なしでDACTEの視覚データをスプレッドシートの行に変換することは、すべての運送費を追跡する物流チームと、スプレッドシートに入力されたものだけを追跡するチームとの差を生み出します。

核心的な問題: CT-eには、運送業者がすでにSEFAZに提出した構造化XMLデータが含まれています。しかし、物流チームがDACTEの印刷物を受け取る場合、その構造化データは印刷されたページの背後に閉じ込められています。データ抽出は、運送業者にXMLファイルを再送信させることなく、このギャップを埋めます。

CT-eとは?どのようなデータを含むのか?

Conhecimento de Transporte Eletrônico(CT-e、モデル57)は、ブラジルで義務化されている電子運送書類であり、NF-eと同じデジタル許可フレームワークのもと、州税務当局(SEFAZ)によって管理されています。2007年に導入され、2013年までにすべての貨物運送業者に対して段階的に義務化されたCT-eは、運送サービスに対する税務執行の大規模な監査をほぼ不可能にしていた複写式運送書類の紙ベースのシステムに取って代わりました。

多くの国における従来の船荷証券とは異なり、CT-eは権原証券ではありません。つまり、裏書や譲渡はできません。海事法律事務所Proindeが説明するように、これは運送契約の証拠、貨物の受領証、そしてサービスの税務請求書として同時に機能します。記載された荷受人は商品と引き換えに書類を引き渡す必要はありません。なぜなら、CT-eは発行時に受取人を特定しており、誤配送のリスクがないからです。

実際に貨物とともに移動する物理的な書類、つまり物流チームが最も頻繁に扱う書類は、DACTE(Documento Auxiliar do Conhecimento de Transporte Eletrônico)です。これは、CT-e XMLデータの一部、44桁のアクセスキー(chave de acesso)、およびCT-eポータルで認証するためのQRコードまたはバーコードを含む、印刷物またはPDFのサマリーです。DACTEの役割は、貨物に添付されて検査を受けることです。それ自体は税務書類ではありませんが、ほとんどの物流チームが業務で使用する情報源です。

CT-eがブラジルの電子文書エコシステムにおいて、NF-e(製品請求書)、NFS-e(サービス請求書)、MDF-e(電子運送マニフェスト)とともにどのように位置づけられるかについては、Nota Fiscal Eletrônica(NF-e)初心者ガイドをご参照ください。このガイドでは、すべてのブラジル税務書類に共通するSEFAZの許可フローについて説明しています。

物流チームが追跡すべき主要なCT-eフィールド

DACTEには、運送業者のレイアウトバージョンに応じて30~50の表示データ項目が含まれています。物流コスト追跡において、以下のフィールドが運賃原価台帳のコアカラムを形成します。

フィールドポルトガル語ラベルコスト追跡における重要性
アクセスキー(Chave de Acesso)Chave de Acesso44桁の一意の識別子。CT-eを対応するNF-eにリンクし、SEFAZ(州財務局)ポータルで文書の真正性を確認するための主キーです。
運送業者CNPJCNPJ do Emitente運送業者(transportadora)を識別します。運送業者のコスト配分とパフォーマンス分析(ルート別・kgあたりの運賃が最も高い運送業者の特定など)に必要です。
運送業者名Razão Social / NomeCNPJと併せて運送業者レベルのレポートに使用されます。多くの物流チームは日常業務で法人CNPJではなく商号を参照します。
発送人CNPJCNPJ do Remetente商品を発送する事業者です。入荷貨物追跡では仕入先、出荷では製造元または配送センターとなる場合があります。
荷受人CNPJCNPJ do Destinatário商品を受け取る事業者です。受取場所または事業単位ごとのコスト配分に不可欠です。
サービス価額Valor do Serviço (vTPrest)控除前の総運送料金です。運送業者への支払いと物流原価計算における主要なコスト指標です。
受取額Valor a Receber (vRec)源泉徴収や控除後に運送業者が実際に受け取る金額です。vTPrestとvRecの差額は源泉徴収された税金(IRRF(源泉所得税)、PIS(社会統合基金)、COFINS(社会保険融資拠出金)、CSLL(社会貢献税))を表します。
ICMS(商品流通サービス税)額ICMS (vICMS)運送サービスに対するICMS(商品流通サービス税)です。税額控除の回収に重要であり、入荷貨物のICMSは、受取企業の税制によっては控除対象となる場合があります。
ICMS(商品流通サービス税)課税標準・税率Base de Cálculo / Alíquota適用される課税標準と税率(パーセンテージ)です。州間運送のICMSは変動します:南部・南東部から北部・北東部・中西部へは7%、南部・南東部内は12%、PwCブラジルのICMS税率フレームワークに基づく輸入品は4%です。
総重量Peso Bruto貨物の総重量(kg)です。ルート別・kgあたりのコスト計算に使用され、ブラジルの物流で最も一般的な運送業者料金ベンチマーク指標です。
貨物の種類Natureza da Carga貨物の分類(一般貨物、バラ積み、危険物、温度管理品)です。保険要件と規制遵守を決定します。
発地の市町村Município de Origem出荷地のIBGE(ブラジル地理統計院)市町村コードと名称です。目的地と組み合わせてルートベースの運賃ベンチマークを計算します。
着地の市町村Município de Destino目的地のIBGE(ブラジル地理統計院)市町村コードと名称です。発地および重量とともに、ブラジルのほとんどの運賃体系の3次元的な基礎を形成します。
CFOPCFOPCFOP(税務操作コード)— 4桁の税務操作コード。一般的なCT-eのCFOP:5.902(購入時の運送)、6.902(企業間移転時の運送)、7.902(販売時の運送)。運送費用の税務処理と会計分類を決定します。

これら14のフィールドは、CT-e運賃原価台帳の最小限のセットを表します。カラムセットを拡張して計算列(例:「1kgあたりの運賃(サービス価額 ÷ 総重量)」)を含めると、バッチ処理のたびに価値が高まるベンチマークデータが生成されます。

CT-eデータをExcelに抽出する方法:ステップバイステップ

以下のワークフローは、DACTEのPDFまたは画像を構造化されたスプレッドシート行に変換します。カスタム列抽出を使用して、必要なカラムを定義すると、AIがフィールドの意味を理解し、画面上の位置に依存せずに各値を特定します。これは、NF-eからExcelへの抽出ガイドで説明されているのと同じメカニズムを、CT-e運送書類用に適応させたものです。

JPG/PNG/PDF AI抽出

ファイルは安全に処理され、保存されることはありません。

ステップ1:DACTEのPDFまたは画像をアップロード

まず、運送業者から提供された生のDACTEファイル(添付のPDF、スキャンした印刷物、または貨物に添付された書類の写真)を用意します。抽出ツールはPDF、JPG、PNG、WebPに対応しています。最良の結果を得るには、鮮明なPDFまたは300 DPI以上の明るい場所でスキャンしたものを使用してください。照明が不十分だったり斜めから撮影したDACTE書類の写真は、フィールドレベルの精度を低下させる可能性があります。ただし、AIビジョンモデルは、従来のOCRテンプレートでは完全に失敗するような中程度の傾きや照明の変動を補正します。

1日に複数の貨物を処理するチームにとって、複数のDACTEファイルを一度にバッチアップロードするのが実用的なワークフローです。バッチアップロードインターフェースは複数のファイルを同時に受け付け、同じバッチ名でキューに入れます。そのため、40件のCT-e書類を処理する貨物アナリストは、1件ごとに新しいアップロードダイアログを開くことなく、すべてを一度にアップロードできます。

ステップ2:抽出する列を定義

必要なCT-eデータに対応するフィールド名を入力します。これらが出力スプレッドシートの列ヘッダーになります。AIはDACTEページを読み取り、各値をその意味に基づいて特定します。「ICMS」は、サイドバーのボックス、フッターの表、明細列のいずれに表示されても、モデルがICMSを理解し、あらゆるレイアウト位置で認識するため、確実に見つけ出します。

CT-e貨物追跡における典型的な列定義のセットは次のとおりです。

列定義の例

  • アクセスキー(Chave de Acesso)
  • 運送業者名
  • 運送業者のCNPJ
  • 発送人のCNPJ
  • 荷受人のCNPJ
  • サービス価額(Valor do Serviço)
  • 受取額
  • ICMS額
  • ICMS課税標準/税率
  • 総重量(kg)
  • 貨物の種類
  • 発地の市町村
  • 着地の市町村
  • CFOP

これら14の列は、前のセクションで説明した最小限のコスト追跡データポイントを網羅します。列名に直接計算列を追加することもできます。例えば、単位重量あたりの運賃(Valor do Serviço ÷ Peso Bruto)と指定すれば、抽出中にAIが単位運賃を計算し、抽出後のExcelでの数式作成ステップを省けます。これは、製品ドキュメントに記載されているカスタム列抽出の3つのモードのうちの1つです。すなわち、書類上に存在するフィールドの直接抽出、NCMコードに基づく貨物カテゴリなど推測が必要な情報のための推論列、そして抽出値に対する算術演算のための計算列です。

ステップ3:処理とExcelへのエクスポート

列を定義すると、抽出処理がバッチ内のすべての文書を処理し、CT-eごとに1行のデータを持つ単一のExcelファイルを生成します。出力テーブルのヘッダーは、列定義と完全に一致します。「サービス価額(Valor do Serviço)」が列名として表示され、各行には対応するDACTEから抽出された値が含まれます。

抽出されたデータは、Excel(XLSX)またはCSVとしてダウンロードできます。Google スプレッドシートを使用するチームは、Google スプレッドシートアドオンを通じて同じ抽出フローを利用でき、ダウンロードとインポートの手順を踏まずに、アクティブなスプレッドシートに直接行を書き込みます。

最初のバッチの後、列定義をテンプレートとして保存します。その後のCT-e文書のバッチ(同じ運送業者でも異なる運送業者でも)は、同じテンプレートを再利用します。AIは各運送業者のDACTEレイアウトに自動的に適応するため、JSLのCT-eとBraspressのCT-eでICMSデータのテーブル内の位置が異なっていても、同じ列定義で読み取ることができます。これがテンプレート不要の抽出の実際的な意味です。運送業者ごとのテンプレート設定は不要で、運送業者がDACTEレイアウトを更新してもメンテナンスは不要です。

CT-e運賃とNF-e購入原価の照合

CT-eはNF-eと並行して存在します。前者は輸送サービスを文書化し、後者は商品自体を文書化します。総輸入原価(ランデッドコスト)を包括的に把握するには、物流チームが各CT-eの運送料金を、対応するNF-eの商品価値と照合する必要があります。この照合作業は、手動プロセスが最も頻繁に破綻するポイントです。なぜなら、CT-eとNF-eは異なるチャネル(運送業者がCT-eを送信し、サプライヤーがNF-eを送信)を通じて届き、多くの場合、異なるタイミング(NF-eは商品出荷時に発行され、CT-eは配送後に発行されることがある)で届くからです。

実際には、照合はCT-eが参照するNF-eのアクセスキーを使用して行われます。すべてのCT-e XMLは、それが輸送するNF-eのアクセスキー(発行時に既知の場合)を保持しています。DACTEはこの参照を「参照文書」セクションに表示する場合があります。CT-e自身のアクセスキーと参照されているNF-eのアクセスキーの両方を抽出することで、運賃分析担当者はExcelでVLOOKUPまたはXLOOKUPを使用してアクセスキー列で2つのデータセットを結合し、各出荷についてNF-eからの商品価値とCT-eからの運賃を並べて表示する単一のスプレッドシートを作成できます。

CT-e アクセスキー運送業者運賃額NF-e アクセスキー商品価値総輸入原価
352406...(44桁)運送業者AR$ 2,450.00352406...(44桁)R$ 48,000.00R$ 50,450.00
352406...(44桁)運送業者BR$ 1,890.00352406...(44桁)R$ 22,300.00R$ 24,190.00

アクセスキーは、NF-e文書で使用されるものと同じUF-AAAA-MMM-XXXXXXXXXXX-XX-XXXXXXXXXXXXX形式に従った44桁の番号です。両方の文書タイプが同じアクセスキー構造を使用しているため、CT-eとNF-eの両方のDACTEからアクセスキーを同じ出力形式に抽出する結合抽出により、手動での相互参照なしで結合可能なデータセットが生成されます。

すでにNF-eデータをExcelに抽出しているチームにとって、同じワークフローにCT-eの抽出を追加するには、2つ目の列セットを定義するだけです。2つの出力スプレッドシート(NF-eからの商品価値とCT-eからの運送コスト)は、月次締め前に手動入力されたものだけでなく、すべての出荷を含む四半期ごとのランディングコスト分析の入力となります。

CT-e vs. MDF-e vs. DACTE:抽出すべき書類はどれか

ブラジルでは、貨物輸送に関連する3つの電子書類が密接に関連して使用されており、それぞれがコスト追跡において異なる目的を果たします。

書類正式名称物流コスト追跡における目的
CT-eConhecimento de Transporte Eletrônico運送業者が出荷ごとに発行する運送請求書そのもの。サービス価額、ICMS、重量、経路が含まれます。抽出の主要書類です。
DACTEDocumento Auxiliar do CT-eCT-eの印刷用要約版。物流チームが通常入手できる視覚的な書類です(運送業者からのPDF、スキャンコピー、写真など)。
MDF-eManifesto Eletrônico de Documentos Fiscais複数のCT-e書類を1台の車両/積荷にまとめる統合書類。出荷レベルの集計には有用ですが、個別出荷のコスト詳細には適しません。

個別出荷の運送コストとICMSの詳細については、CT-eのDACTEが適切な抽出ソースです。MDF-eは同一車両の貨物をカバーし、同じ運行にどのCT-e書類が含まれていたかを確認できますが、コスト明細項目は個々のCT-e書類に含まれています。

よくある質問

DACTEではなく、CT-eのXMLファイルからデータを抽出できますか?

はい、可能です。運送業者がCT-eのXMLファイル(通常は標準のCT-e 4.0スキーマ)を提供する場合、XMLにはすべての構造化フィールドが含まれており、プログラムで解析できます。この記事で説明するDACTE抽出アプローチは、物流チームがXMLファイルではなく、印刷されたDACTEやPDFを受け取る一般的なシナリオ向けに設計されています。XMLをお持ちの場合は、その視覚的表現のスクリーンショットや印刷物をアップロードすることもできます。AIは同様に読み取ります。XML解析の利点は、精度の損失がゼロであること(データがすでに構造化されているため)です。欠点は、すべての運送業者が荷受人にXMLを提供するわけではなく、またすべての物流システムが統合プロジェクトなしで生のXMLを処理できるわけではないことです。

抽出したCT-eデータを、入荷運賃のICMS(商品流通サービス税)控除に使用できますか?

条件付きで可能です。入荷運賃ICMS、つまり原材料や転売目的の商品に対する運送サービスに支払われるICMSは、ブラジルの非累積ICMS制度の下で控除対象となる場合があります。CT-eから抽出されたICMS額(vICMS)は、この計算の基礎数値を提供します。ただし、控除の可否は、受領企業の税制(ルクロ・レアル(実利益課税制度)かルクロ・プレズミード(推定利益課税制度)か)、取引のCFOP(税務操作コード)、および商品の性質に依存します。抽出によってICMSの値が得られますが、どの部分が還付可能かは税務チームが判断します。一般的なユースケースは、CT-eのICMSとNF-eのICMSの両方を同じ原価台帳に抽出し、ExcelでCFOPコードごとに異なる還元率を適用することです。

運送業者ごとに異なるDACTEレイアウト用の抽出テンプレートが必要ですか?

いいえ、必要ありません。AIはレイアウト上の位置ではなく、意味的な内容に基づいて読み取ります。JSLのCT-eでは運送業者のCNPJ(法人納税者登録番号)がRodonavesのものとは異なるブロックに配置されていますが、モデルが運送書類の文脈で「CNPJ do Emitente」の意味を理解しているため、位置に関係なく正しい値を見つけ出します。これがテンプレート不要の抽出とテンプレートベースのOCRとの根本的な違いです。CT-e文書用に1セットの列を定義すれば、その同じ定義がどの運送業者のDACTEレイアウトでも機能します。

DACTEに手書きの注釈や修正がある場合はどうなりますか?

AIビジョンモデルは、文字の形状を照合するのではなく、視覚的な内容を文脈に沿って理解することで、手書き文字も印刷文字と同様に読み取ります。DACTE(Documento Auxiliar do Conhecimento de Transporte Eletrônico)上の手書きの注釈(修正された配送先住所、訂正された重量、署名など)は、印刷されたデータとともに抽出されます。手書き文字の精度は判読性に依存します。背景がきれいな状態でペン書きされたブロック体の大文字のメモは確実に抽出されますが、印刷文字の上に鉛筆で書かれた擦れた注釈は精度が低下する可能性があります。実用的なアプローチとしては、抽出された印刷フィールドを主要なデータソースとして使用し、手書きの注釈は運送業者の公式XMLと照合して確認すべき補足情報として扱うことです。

1回のバッチで処理できるCT-e文書の数はいくつですか?

ファイル数にバッチあたりの制限はありません。実際の制約は、アップロードサイズとプランの総ページ許容量です。1つのCT-e DACTEは通常1~2ページです。Proプラン(月1,500ページ)で月に500件のCT-e文書を処理するチームは、他の文書タイプにも容量を割り当てることができます。バッチ出力では、処理されたすべての文書が1つのExcelファイルにマージされ、CT-eごとに1行が作成されるため、バッチあたりの文書数を50から500に増やしても、ワークフローの手順は変わらず、総処理時間のみが変化します。

CT-eの運送費を、対応するNF-eの購入額とどのように照合しますか?

CT-eで参照されているNF-eのアクセスキー(Chave de Acesso)を使用します。ほとんどのCT-e文書は、「参照文書」セクションに、輸送するNF-eのアクセスキーを記載しています。各CT-eから参照されているアクセスキーを、各NF-eからのアクセスキーとともに、抽出出力の別々の列として抽出します。次に、アクセスキーを共通の識別子として、2つのスプレッドシート間でXLOOKUP(Excel)またはVLOOKUPを実行します。これにより、各出荷について、商品価額(NF-eから)と運送費(CT-eから)の両方を表示する結合ビューが生成され、これがユニットあたりの総輸入原価となります。

ポルトガル語のDACTE文書からデータを抽出する際に、英語の列名を使用できますか?

はい。列名を英語で定義できます(例:「Carrier CNPJ」「Service Value」「Gross Weight (kg)」)。AIはDACTE上で対応するポルトガル語の値を自動的に見つけます。抽出モデルは多言語文書を理解し、列の意味を文書の内容言語にマッピングします。出力されるスプレッドシートのヘッダーは英語(指定した列名)のままですが、抽出された値は文書の元の形式で保持されます。これは、原価台帳が英語で管理されているものの、元文書がポルトガル語である国際物流チームにとって特に有用です。

📮 contact email: [email protected]