ドイツ税関申告書データをExcelに抽出する方法
再入力不要で実現
ドイツのATLAS(自動関税・地方通関システム)は、EU関税歳入の約年間50~60億ユーロに相当する税関申告を処理しており、これはEU関税同盟への最大の単一国貢献です。通関業者(Zollvertreter)またはフォワーダー(Spediteur)がATLASを通じて申告を電子的に提出すると、あなたの受信箱にはPDFのバックアップが届きます。同じ申告書ですが、ERPやExcelでは読み取れないファイル形式になっています。11桁の関税番号(Zolltarifnummer、Codenummer、Warennummerとも呼ばれる)、申告された関税評価額(Zollwert)、原産国(Ursprungsland)、自重(Eigenmasse)——すべての項目が正しく記載されているものの、アーカイブ用に設計された文書に閉じ込められており、仕入先請求書との照合には使えません。これらの項目をスプレッドシートに抽出する作業は、毎月の輸入報告サイクルで誰も予算化していないステップです。
重要ポイント
- ATLASはEU関税歳入の約年間50~60億ユーロを処理する税関申告を扱いますが、届くPDFのZollanmeldungには構造化データが一切含まれていないため、フラットな文書から11桁の関税番号を再入力する必要があります。
- このギャップは技術的なものではありません。ATLASは申告を構造化データとして検証し、構造化された税額評価を返し、アーカイブ用に設計されたPDFを送付します。この形式変換のステップが存在するのは、ATLASの出力とExcelの橋渡しに誰も予算を組んでいなかったからです。
- 7つの列名を一度定義し、1ヶ月分のZollanmeldungをアップロードすれば、手動でのフィールド転記にかかる2.5時間が10分の確認作業に変わります。あなたの専門知識は本来の目的である仕入先請求書の照合に戻ることができます。
Zollanmeldung(税関申告書)のデータはどこから来て、どこで詰まるのか
EU域外からドイツに輸入されるすべての貨物には、税関申告(Zollanmeldung、別名EinheitspapierまたはSAD=単一行政文書)が必要です。この申告書は、貨物を関税手続に割り当て、11桁の関税番号(Zolltarifnummer)で分類し、価格、原産地、正味重量を申告するものです。申告は、ATLAS(ITZBundが運営するドイツの国家関税ITプラットフォーム)を通じて電子的に行われ、法的根拠は欧州連合関税法典(UZK)第158条~第163条です。ATLASは18桁のマスターリファレンス番号(MRN)を発行し、関税率表に照らして申告を検証し、承認されれば貨物を自由流通に解放します。
申告書自体は構造化データです。ATLASはそれを構造化データとして取り込みます。問題はその後の処理です。通関業者は、記録用にZollanmeldungのPDFコピーを送ってきます。同じデータがフラットな文書としてレンダリングされているのです。複数の通関業者や輸入拠点を利用している場合、各業者は独自の形式で申告書を送ります。ある業者は独自のPDFレイアウト、別の業者はスキャンした紙のフォーム、さらに別の業者はATLASのインターネット税関申告(IZA)の印刷物という具合です。すべての申告書でフィールドは同じです。関税番号、原産国、貨物価格、発送国/仕向国、通関手続コード、EORI番号、自重。しかし、それらはページごとに異なる位置にあり、スプレッドシートにきれいにコピー&ペーストできるものは一つもありません。
ATLASとスプレッドシートの間にあるギャップ、それが両者の間に挟まったPDFです。システムは表示できても読み取れない文書です。ZollanmeldungのPDFからExcelに手入力するすべてのフィールドは、ATLASがすでに構造化された形で保持しているものです。手動入力は情報を追加しているのではなく、申告書1件ごとに形式を変換しているにすぎません。
なぜ手動入力が照合ギャップを生むのか
3つの製品カテゴリーにわたって月間30件の輸入貨物を管理するドイツの輸入マネージャーは、通関業者から約30通のZollanmeldung(税関申告書)PDFを受け取ります。各申告書には最低でも11桁のZolltarifnummer(関税番号)(6桁の国際HSコードを、EU複合命名法で8桁、TARICで10桁、国内レベルで11桁に拡張したドイツ固有のコード)、ユーロ建ての関税評価額、原産国、EORI番号が含まれています。ATLASのポジションレベル画面(Positionsdaten)における完全な輸入申告では、さらに正味重量(Eigenmasse、kg単位)、包装数(Anzahl der Packstücke)、品目価格(Artikelpreis)、通関手続コード(Zollverfahrenscode、4桁のコードで、貨物がどの手続きで輸入され、どの手続きから来たかを示す)が追加されます。
これらの項目を30件の申告書から手動で抽出して1つのスプレッドシートにまとめ、月次報告書を作成するには、1件あたり約4~5分かかります。各PDFから該当フィールドを探し、値を入力し、11桁のZolltarifnummer(10桁のTARICや8桁のKNではなく、ドイツ税関が実際に輸入関税計算に使用する完全な11桁のCodenummer)を正しく入力したか確認する作業です。30件の場合、分析を1行も始める前に2.5時間のデータ入力が必要になります。
照合ギャップは時間だけの問題ではありません。それは3つの構造的な問題であり、取扱量が増えるにつれて悪化します。
第一に、HSコードの転記ミス。 Zolltarifnummerは「6204.62.31.00.0」のような形式で、5つの数字グループからなる合計11桁です。PDFからExcelに打ち直す際、通常のタイピング条件下では約500キーストロークに1回の割合で転記ミスが発生します。11桁の関税コードは11キーストロークです。30件の申告書に平均3つの関税ラインがある場合、約990キーストロークとなり、スプレッドシート内の約2つの関税コードが誤っていることになります。このエラーは、税関監査や関税再計算で発覚するまで見えません。
第二に、照合の遅延。 Zollanmeldungデータを抽出する目的は、サプライヤーの商業送り状(Handelsrechnung)と照合することです。送り状にはFOB深圳で12,000ユーロと記載されています。Zollanmeldungでは、運賃調整後のCIFハンブルク価格である12,800ユーロの関税評価額が申告されています。輸入マネージャーが貨物到着の1週間後に関税データを入力した場合、送り状と申告書の差異は1週間遅れて発見されます。ATLASへの提出とスプレッドシートの利用可能性の間に体系的なデータギャップがあるため、差異は累積します。30件の貨物、30件の潜在的な調整が、貨物が通関した時点ではなく月末に一括で発見されるのです。
第三に、申告書間の比較が不可能。 Zollanmeldungデータが30通の個別PDFに分散している場合、「今月の輸入品のうち、関税番号6204を使用したのはどれか?」という質問に答えるには、30の文書を開いてそれぞれをスキャンする必要があります。「第3四半期にハンブルクに輸入した繊維製品の、1キログラムあたりの平均申告関税評価額はいくらか?」という質問には、まずすべてのデータを抽出する必要がありますが、抽出自体がボトルネックであるため誰も実行しません。データは存在します。単に、質問をサポートできる形式になっていないだけです。これは、GST報告のためのAU BASデータ準備における抽出ボトルネックと構造的に同じです。文書には答えが含まれていますが、ファイル全体に散在しており、比較にはまず抽出が必要なのです。
Zollanmeldung(税関申告書)のフィールドを1つのExcelスプレッドシートに抽出する方法
カスタム列抽出はワークフローを逆転させます。各Zollanmeldung(税関申告書)のPDFを開いて手作業でExcelに入力する代わりに、チームが実際に使用しているドイツ税関の正確なフィールド名を使って列を一度定義し、30件すべての申告書をアップロードエリアにドロップするだけです。エンジンが各PDFを読み取り、各フィールドの意味を理解して(画面上の位置ではなく)特定し、定義した列をヘッダーとして、1行に1申告書のデータが入った1つのスプレッドシートを生成します。出力は30件の個別抽出結果を後でマージする必要があるものではなく、その後の照合作業に適した構造で、Excel(XLSX)としてエクスポート可能な1つのファイルです。
入力する列名が、出力スプレッドシートのヘッダーになります。完全な輸入申告照合のためには、最低限以下の7列を定義してください:「Zolltarifnummer(関税番号、11桁)」、「Ursprungsland(原産国)」、「Warenwert(関税評価額、EUR)」、「Versand-/Bestimmungsland(発送国/仕向国)」、「Zollverfahrenscode(通関手続コード、4桁)」、「EORI-Nummer(EORI番号、DE+15桁の形式)」、「Eigenmasse(自重、kg)」。英語で書かれた列名はAIに何を探すべきかを指示します。AIは各PDFをドイツ語で読み取り、ページ上の表示位置に関係なく該当するフィールドを特定します。
完全な11桁のZolltarifnummer(関税番号)には、HS章(最初の2桁)、見出し(4桁)、小見出し(6桁)、EU複合命名法(8桁)、TARIC(10桁)、およびドイツ国内コード(11桁)がエンコードされています。推論列を追加します:「HS Chapter(Zolltarifnummerから導出、2桁の番号と章の説明を出力。例:'62 — Articles of Apparel')」。AIは完全なコードを抽出し、1回のパスで章の分類を推論します。これにより、手動での関税番号の調査なしに、製品カテゴリ別の輸入内訳を即座に把握できます。
当月の輸入に関するすべてのZollanmeldung(税関申告書)PDF — 通関業者からのATLAS印刷物、IZA(インターネット税関申告)のエクスポート、業者がまだ紙のコピーを送ってくる場合のスキャン済み書面申告書も — をアップロードエリアにドロップします。バッチエンジンがすべてのファイルを同時に処理します。出力は、1行に1申告書、7つの列をヘッダーとし、HS Chapter列が自動入力された1つのスプレッドシートです。Excelとしてエクスポートすれば、月次輸入レポートで参照するのと同じファイルになります。
ファイルは安全に処理され、保存されることはありません。
抽出した税関申告書データでできること
スプレッドシートは最終目的地ではなく、次の3つのワークフローを可能にする基盤です。これらは月次輸入レポートに不可欠なワークフローであり、すべて同じ抽出データセットから始まります。
仕入先請求書の照合。 抽出した税関申告書データの最も直接的な使い方は、仕入先の商業送り状(Handelsrechnung)との相互参照です。送り状にはFOB価格が記載され、税関申告書にはCIFの関税評価額(Zollwert)が記載されています。この関税評価額には、EU国境までの運賃と保険料が含まれます。両者の差額は、申告された関税評価額が実際の取引と一致しているかどうかを判断する材料となります。税関申告書データをスプレッドシートにまとめ、送り状データと並べて比較すれば、この確認は横並びの列比較で完了します。スプレッドシートがなければ、30のPDFと30の仕入先請求書を1組ずつ手作業で照合することになり、月末にフォワーダーの請求書と輸入VAT明細書が同時に届くタイミングで行うことになります。
関税番号別の月次輸入サマリー。 抽出したスプレッドシートと推論されたHS章の列があれば、月次輸入サマリー(関税章別の総関税評価額、原産国別の総正味質量、通関手続コード別の申告件数)はピボットテーブルで生成できます。エクスポートしたExcelを開き、列を選択してピボットを作成すればレポートは完了です。これにより、各税関申告書PDFを開いて関税番号と貨物価格を確認し、別の報告用スプレッドシートに手入力するという手作業が不要になります。この作業は30件の申告でさらに1時間を要し、月次の財務会議の直前にいつも最後まで残っているタスクです。
EORI番号と通関手続コードの監査証跡。すべての税関申告書(ツォルアンメルドゥング)には、輸入者のEORI番号(Economic Operators' Registration and Identification number — EU関税参加者の一意識別子、形式はDE+15桁)が記載されています。これは、2009年7月1日以降、規則(EG) No. 312/2009に基づき、従来のドイツの税関番号(Zollnummer)に代わる主要な参加者識別子として使用されています。各申告書のEORI番号(輸入者、申告者、代理人)をスプレッドシートにまとめることで、通関業者(Zollvertreter)が集約形式では提供できない監査証跡を作成できます。EORI番号でフィルタリングすれば、どの事業体がどの貨物を申告したかを確認でき、通関手続コード(Zollverfahrenscode)でフィルタリングすれば、通常通関(通関手続コードが「40」で始まるもの)と内国加工(コードが「51」で始まるもの)のどちらで輸入されたかを確認できます。このデータは常に申告書の中に存在していました。それがスプレッドシートに整理されることで、監査可能になるのです。
ドイツの公式書類から構造化フィールドを抽出するこのアプローチは、貿易コンプライアンス業務における他の文書タイプにも適用できます。列を一度定義し、PDFのバッチを処理するというパターンは、文書が税関申告書(Zollanmeldung)であれ、ELSTER税務申告書であれ、商業送り状の相互参照であれ、まったく同じです。フィールドは変わりますが、抽出メカニズムは変わりません。
単一申告書を超えて:税関データハブの構築
単一バッチの抽出は、月次報告の問題を解決します。構造的な改善は、同じ列定義(7つの税関フィールドと推論されたHSコード章)を毎月再利用するときに実現します。1月に定義した列名は、2月の申告書、3月の申告書でも再設定なしで機能します。毎月のバッチは、同じ列を持つスプレッドシートを生成します。月次ファイルを連結すれば、年度累計の税関データハブの完成です。ATLAS(自動関税・地方通関システム)を通じて提出されたすべての輸入申告書、すべての関税番号(Zolltarifnummer)、すべての申告された関税評価額、すべての原産国が、1つのソート可能でフィルタリング可能なExcelファイルに集約されます。
これは税関管理プラットフォームの代替品ではありません。ATLASへの申告書提出は、引き続き通関業者(Zollvertreter)の仕事です。これが代替するのは、業者のPDF出力と輸入者の内部システムとの間にある手動のデータブリッジ、つまり輸入管理者や物流コーディネーターがPDFを開き、関税番号を読み取り、スプレッドシートに入力するというステップです。そのステップは、フォーマット変換であり、貿易の専門知識ではありません。これをワークフローから排除することで、これまで2.5時間かけてExcelにフィールドを入力していた担当者は、抽出結果の確認に10分、そして会社のサプライチェーンに関する知識を実際に必要とする照合分析に2時間を費やすことができるようになります。
これは、ドイツのELSTER税務申告書からExcelにデータを抽出するのと同じ原理です。税務申告書はPDFとして表示された構造化データであり、それをスプレッドシートに抽出することはフォーマット変換であって、会計処理ではありません。この点において、税関申告書は税務申告書と何ら変わりません。どちらも、すべてのフィールドに定義された意味がある公式書類であり、フィールドとスプレッドシートの間にある唯一の障壁は、それを入力するというステップなのです。
よくある質問 — ドイツ税関申告書データ抽出
異なる通関業者からの、PDFレイアウトが異なるZollanmeldung(税関申告書)でも抽出は可能ですか?
はい、可能です。AIはフィールドの意味を理解して探すため、ページ上の特定の位置にあることを前提としません。ある業者がZolltarifnummer(関税番号)を右上の品目データセクションに配置し、別の業者が表の列に記載している場合でも、AIは11桁の関税番号をその構造と文脈から識別します。英語の列定義(「Zolltarifnummer (Customs Tariff Number, 11-digit)」)がAIに何を探すべきかを指示し、AIは各PDFをドイツ語で読み取り、該当する値を取得します。これにより、ATLASの異なるモジュール(Einfuhr(輸入)、Ausfuhr(輸出)、Versand(通過、NCTS))からの申告書も同一バッチで処理できます。なぜなら、フィールド名とその意味は手続きの種類を問わず一貫しているからです。
10桁のTARICコードと11桁のZolltarifnummerの違いは何ですか?
Zolltarifnummer(CodenummerまたはWarennummerとも呼ばれます)は、国際的なHSコード(Harmonized System)をドイツ国内向けに11桁に拡張したものです。その構成は次の通りです:最初の6桁=国際HSコード(世界税関機構が管理)、7~8桁目=EU複合命名法(KN)、9~10桁目=EU TARIC(統合関税率)、11桁目=ドイツ国内の物品税および国内貿易制限のための細分類です。ドイツでの輸入申告には、完全な11桁コードが必要です。輸出申告の場合は、8桁のKNコードで十分です。抽出列を定義する際は、「11-digit」と指定することで、AIが短い輸出用コードではなく完全なCodenummerを確実に取得できるようにしてください。
デジタルPDFだけでなく、スキャンされた紙のZollanmeldung(税関申告書)でも抽出は機能しますか?
はい — AIはデジタル生成のPDFだけでなく、スキャン文書や写真撮影された文書も処理できます。通関業者が印刷された申告書を送ってきてそれをスキャンした場合や、古い出荷アーカイブからATLASの印刷物を受け取った場合でも、デジタルPDFと同じように読み取ります。抽出品質は入力品質に依存します — 300 DPIのフラットベッドスキャンが最も信頼性の高い結果をもたらし、印刷された申告書のスマートフォン写真でも機能しますが、11桁の関税番号についてはスポットチェックが必要になる場合があります。税関官署(Zollamt)が国境で関税分類を修正した際によく見られる手書きの修正が含まれている申告書は、印刷されたテキストは抽出しますが、手書きの変更は捕捉できない可能性があります — これらの申告書は、照合ステップで手動確認のためにフラグを立てる必要があります。
1つのバッチに輸入と輸出の両方のZollanmeldung(税関申告書)を含めることはできますか?
はい、可能です。輸入(Einfuhr)と輸出(Ausfuhr)の申告書は、Zolltarifnummer、Warenwert、Ursprungsland、EORIといったコアフィールドセットを共有しますが、必須フィールドが異なります。輸入申告には完全な11桁のCodenummerとZollverfahrenscode(通関手続コード)が必要です。輸出申告は8桁のWarennummerを使用し、関税評価額が同じフィールド位置にない場合があります。貴社が輸入と輸出の両方を行っており、統合されたスプレッドシートが必要な場合は、両方をカバーする列を定義してください。最も広い列セット(輸入フィールド)を使用し、輸出の行には含まれるフィールドのみが入力されるようにします。抽出エンジンは見つけたものを入力し、存在しないものは空白のままにします — 輸出申告の行は、単に関税評価額のセルが空になります。
30件のZollanmeldung(税関申告書)のバッチ処理にはどのくらい時間がかかりますか?
7つの列を定義してからデータが入力されたスプレッドシートを受け取るまで、30件の申告書のバッチ処理にかかる時間は、手動で約2件分の申告書を読んで打ち直すのとほぼ同じ、5分未満です。列の定義は初回は約3分かかります(7つのフィールド名を入力するため)が、翌月以降は同じ列を再利用するため0分です。30件のPDFのバッチアップロードと処理には1~2分かかります。残りの時間、つまりこれまで手動データ入力に費やしていた時間は、検証作業に充てられます。抽出されたZolltarifnummer(関税番号)を元のPDFのサンプルと照合し、推論されたHS Chapter(HS類)の分類を確認するスポットチェックです。30行の徹底的な検証には10~15分かかりますが、手動入力では2.5時間かかっていました。
通関業者がATLASを通じてZollanmeldungを提出し、システムが検証を行い、PDFがあなたの受信箱に届きます。次のステップ——すべての関税番号、関税評価額、原産国をスプレッドシートに抽出する——は、再入力の作業である必要はありません。列を一度定義し、申告書をアップロードすれば、重要な照合作業に時間を費やすことができます。
税関申告書を抽出する