ブラジルの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文書を処理するチームにとって、このギャップは毎回の運賃に対する数時間の入力作業と、予測可能なエラー率を生み出します。

手入力をやめよう — AIに読み取らせるだけ
画像やPDFをアップロード — 10秒で構造化データに
今すぐ試す →
フラットベクターのブログカバー画像。見出し「ブラジルのCT-e運送データをExcelに抽出して物流コストを管理する方法」と3つのアイコンポイント:DACTE PDFまたはスキャン、運送費列、および「ICMS控除準備完了」と書かれた緑のチェックバッジ

重要なポイント

  1. 毎月500件のCT-e文書を処理する中規模メーカーは、DACTEの印刷物からスプレッドシートへのデータ入力だけで月12.5時間を費やしています。
  2. 運送会社はすでに構造化XMLをSEFAZ(州財務局)に提出済みですが、物流チームが目にするのは印刷されたDACTEであり、同じデータが紙の向こうに閉じ込められています。
  3. アクセスキー(Chave de Acesso)、サービス価額、ICMS(商品流通サービス税)、総重量という列定義を1つ設定すれば、どの運送会社のDACTEレイアウトでも同じ定義で読み取れます。

物流コスト管理におけるCT-eデータ抽出の重要性

ブラジルの物流事業者が毎月500件のCT-e文書を受け取る場合——南東部と中西部地域に製品を配送する中規模メーカーにとって標準的な量——約7,500件の個別データポイントが運賃原価台帳やERPに到達する必要があります。各CT-eには、運送業者のCNPJ(法人納税者登録番号)、サービス価額(valor do serviço)、総重量(peso bruto)、発地/着地の市町村、およびICMS(商品流通サービス税)の内訳が含まれており、これらはすべて運賃原価配分、運送業者パフォーマンス分析、税額控除回収のインプットとなります。

正方形のフラットベクター形式のデータカード。大きな数字12.5と「月間の手動DACTE入力時間」および「(1文書あたり90秒)」のキャプション、さらに「月間500件のCT-e文書」とラベル付けされたトラックアイコン

実際には、これら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レイアウトに自動的に適応するため、ICMS(商品流通サービス税)データを異なるテーブル位置に配置するJSLのCT-eとBraspressのCT-eの両方が、同じ列定義で読み取られます。これがテンプレート不要の抽出の実際的な意味です:運送業者ごとのテンプレート設定が不要で、運送業者が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
CT-e運賃R$ 2,450.00とNF-e商品R$ 48,000.00を足すと総輸入原価R$ 50,450.00になることを示すフラットベクターの方程式グラフィック。参照されたNF-eアクセスキーで照合が行われることを示すキャプション付き

アクセスキーは、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-eCT-e(Conhecimento de Transporte Eletrônico)運送業者が輸送ごとに発行する運送請求書そのもの。サービス価額、ICMS(商品流通サービス税)、重量、経路が含まれます。抽出の主要文書です。
DACTEDACTE(Documento Auxiliar do Conhecimento de Transporte Eletrônico)CT-eの印刷用サマリー。物流チームが通常利用できる視覚的文書です(運送業者からのPDF、スキャンコピー、または写真)。
MDF-eMDF-e(Manifesto Eletrônico de Documentos Fiscais)複数のCT-e文書を1台の車両/積荷にまとめる統合文書。出荷レベルの集計には有用ですが、輸送ごとのコスト詳細には対応していません。

輸送ごとの運賃とICMS(商品流通サービス税)の詳細については、CT-eのDACTEが適切な抽出ソースです。MDF-eは車両を共有する貨物をカバーし、同じ輸送にどのCT-e文書が含まれていたかを確認できますが、コスト明細項目は個々のCT-e文書に含まれています。

「CT-e vs. MDF-e vs. DACTE:どの文書を抽出すべきか?」と題された3枚のカードによるフラットベクター比較図。CT-eとDACTEのカードには緑のチェック行、MDF-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]