メインコンテンツへスキップ

Zapierでの請求書OCR:PDF4me AIドキュメントパーサーを使用して共有メールボックス内のすべての添付ファイルをループ処理する

· 1分で読める
SEO and Content Writer

PDF4me AIドキュメントパーサー これは、AIを使ってドキュメントを読み込み、そのフィールドをJSON形式で返すZapierアクションです。ZapierのLooping機能と組み合わせることで、買掛金処理における一般的なケース、つまり複数の請求書が添付されたメールを、それぞれ個別に解析するといった処理に対応できます。

どの請求書OCRツールも同じことを示しています。1つのドキュメントを入力すると、きれいなフィールドが出力されます。請求書はそうやって届きません。共有受信トレイに、サプライヤーから3つのPDFが添付され、本文に「PFA」と書かれたメールとして届きます。興味深い問題は、1つの請求書を読み取ることではなく、1つのトリガーが複数の解析に変換される必要があることです。ほとんどのチュートリアルでは、誰かがすでにファイルを分割したフォルダを監視することで、この部分を静かにスキップしています。このZapはこれをスキップしません。3つのステップがあり、真ん中のステップがループです。

ザップの概要
1. New Email in Shared Mailbox
Microsoft Outlook, polling every 2 minutes. One email is one supplier sending one or more invoices.
2. Create Loop From Line Items
Looping by Zapier. Turns the attachment list into one iteration per file.
3. AI - Document Parser
PDF4me. Runs your Analyzer against the attachment and returns the fields as JSON.
要約版

仕入先から共有メールボックスに2枚の請求書が添付されたメールが届きます。Zapierのループ機能により、添付ファイルリストはファイルごとに1つのイテレーションに分割され、各イテレーションでPDF4me AIドキュメントパーサーがそれぞれの添付ファイルに対して実行されます。請求書ごとに1つの構造化されたJSONデータが生成され、各フィールドに信頼度スコアが付与されるため、Googleスプレッドシート、Airtable、または会計帳簿にマッピングできます。たった3つのステップで、コードは一切不要です。

なぜ?という問いに対する質疑応答​

フォルダではなく共有メールボックスをトリガーにする理由は何ですか? なぜなら、請求書は既にそこに保管されているからです。仕入先にポータルへのアップロードを依頼したり、担当者に添付ファイルをDropboxに先に保存するよう依頼したりすると、自動化しようとしているまさにその箇所で手作業のステップが追加されてしまいます。共有メールボックスは、担当者が退職しても存続するバージョンでもあります。アドレスは個人ではなく、機能に属するからです。

そもそもなぜループが必要なのですか? Zapのステップはトリガーごとに1回実行され、1つのメールには任意の数の添付ファイルが含まれる可能性があるためです。ループを使用しない場合、Zapierが最初に渡した添付ファイルを解析し、残りは黙って破棄されます。これは最悪のバグです。Zapは緑色に表示され、請求書が消えてしまいます。ループを使用することで、添付ファイルリストはファイルごとに1回の反復処理になります。

固定請求書スキーマではなく、アナライザーを使用する理由とは? 実際に必要なフィールドは、お客様の帳簿に固有のものであるためです。AI Document Parserは、PDF4meダッシュボードで一度定義したアナライザーを実行するため、同じアクションで、今日は請求書、後で発注書や納品書を処理できます。スキーマを変更すると、そのアナライザーを参照するすべてのZapが再構築なしでそれを認識します。

信頼度スコアが抽出値よりも重要な理由はなぜですか? OCRはエラーを大々的に表示するのではなく、もっともらしい誤った回答を返します。パーサーはフィールドごとにスコアを報告するため、しきい値を下回るものは送信せずに人間に処理を委ねることができます。キャプチャされた実行では、合計スコアは90点台でしたが、請求状態のスコアは59.8点でした。これはまさに、レビューキューが対応すべき違いです。


得られるもの​

入力: 共有メールボックス内の1つのメールに、任意の数のPDF請求書を添付する。 出力: 添付ファイルごとに1回のZap実行が行われ、それぞれがフィールドごとの信頼度スコアを含む構造化されたJSON形式で請求書を返し、下流のあらゆるアプリにマッピングできる状態になります。

Outlookには、件名が「請求書」、本文が「添付画像」のメールが表示されており、添付ファイルとして「Samples 2.pdf」(196KB)と「Samples 1.pdf」(199KB)の2つが添付され、合計395KBの添付ファイルとして表示されています。

添付ファイル2つ、メッセージ1つ、本文は2語。これがZapが処理しなければならない入力データです。

ZapierのZap履歴には、2026年10月15日午後7時02分53秒と午後7時03分37秒にEmail Doc Parser Zapが2回正常に実行されたことが示されており、それぞれ1つのタスクが消費され、Outlook、Looping、PDF4meアプリのアイコンが両方の行に表示されています。

メールを1通入力すると、2回の実行結果が出力されます。ループの各反復処理は、履歴上ではそれぞれ独立したZap実行として記録されます。


必要なもの​

  • Zapierアカウント。 Zapierによるループ機能 これは組み込みアプリなので、インストールする必要はありません。プランを確認してください。複数ステップのZapが必要で、ループの各反復がタスクとしてカウントされます。
  • PDF4me APIキー。 APIキーを取得してくださいキャプチャされたZapは、PDF4meアプリのバージョン1.30.0で動作します。
  • PDF4meダッシュボードに保存されたアナライザー。 アナライザーリストを開く内蔵 default_invoice_extraction アナライザーはここに示したような出力を生成するので、まずはこれを参考に、後で独自の出力を作成することができます。
  • Microsoft Outlookの共有メールボックス 仕入先からの請求書を受け取るアカウントと、それを読む権限を持つアカウントが必要です。まだお持ちでない場合は、 Microsoft は、その作成方法を文書化しています。。
  • あなたが管理するテストメール少なくとも2つのPDFファイルを添付して、Zapを実際のサプライヤーのメールに向ける前に、ループが複数回実行されることを確認できるようにします。
このチュートリアルで使用したのと同じ請求書を使用してください。
これをテストメールに添付してください。ドキュメントテキストは、以下のJSONとフィールドごとに一致するはずです。これは2つの明細項目を含むサンプル請求書で、そのうちの1つはマイナスの割引項目です。これは、パーサーのテストに役立ちます。
sample-invoice-13594027.pdf をダウンロードしてください。

ザップの概要​

  1. 共有メールボックスに新しいメールが届きました (Microsoft Outlookは)2分ごとにメールボックスをポーリングします。
  2. 明細項目からループを作成する (Zapierによるループ処理)は、添付ファイルリストをファイルごとに1回の反復処理に変換します。
  3. AI - ドキュメントパーサー (PDF4me) は、現在のイテレーションの添付ファイルに対してアナライザーを実行します。

Zapの概要​

Zapierエディタで、3ステップのEmail Doc Parser Zapを表示しています。ステップ1:Microsoft Outlookの共有メールボックスに新しいメールが2分間隔で保存され、「新しいメールが1件見つかりました」と報告されます。ステップ2:Zapierによるループ処理で、ラインアイテムからループを作成し、「新しいループを1件送信しました」と報告します。ステップ3:Pdf4me 1.30.0 AI - Document Parserが、「新しいドキュメント処理を1件送信しました」と報告します。

3つのステップがあります。中央のループによって、3番目のステップがアタッチメントごとに1回実行されるようになっています。


ステップ1:共有メールボックスからZapをトリガーするにはどうすればよいですか?​

これまでの流れ: まだ何も起きていない。これが引き金だ。

請求書が届くことがイベントであり、メールボックスがトリガーとなる。

  1. Zapを作成して選択する Microsoft Outlook > 共有メールボックスに新しいメールが届きました。
  2. メールボックスを読み取る権限を持つアカウントを接続し、次に 共有メールボックスアドレス そして フォルダ 視聴するなら、まずは「Inbox」を視聴するのが良いでしょう。
  3. 準備したメールでトリガーをテストします。Zapierがレポートします。 Microsoft Outlookで新しいメールが1件見つかりましたそして、添付ファイルリストは後続の手順で明細項目として利用できるようになります。

キャプチャされたZapのポーリング間隔は次のように表示されます。 2分これは、ステップで設定した内容ではなく、Zapierプランのスケジュールです。

ヒント。 テスト段階を終えたら、受信トレイ全体ではなく専用のフォルダを使用してください。仕入先からのメールを専用のフォルダに振り分けるサーバー側のOutlookルール 請求書 このフォルダを使用すると、トリガースコープがクリアになり、何かが発火しない場合に確認できる場所が確保されます。また、ニュースレターに対するZapの書き込みタスクも停止します。


ステップ2:1つのメールに含まれるすべての添付ファイルをループ処理するにはどうすればよいですか?​

これまでの流れ: Outlookのトリガー。

これは、1通のメールを請求書1件につき1回の処理に変換する手順です。

  1. 追加 Zapierによるループ機能 > 明細項目からループを作成する。
  2. で ループする値トリガーから添付ファイルの明細項目をマッピングします。キャプチャされた実行では、2つの値がループして連結されます。これがコピーするパターンです。
    • 添付ファイル名ファイル名
    • 添付ファイルファイル自体
  3. ステップをテストします。Zapier が報告します。 ZapierのLoopingに新しいループを1件送信しました 「データ出力」タブには、最初のイテレーションと、すべてのイテレーションのプレビューが表示されます。

ラインアイテムの出力からループを作成する​

Zapierによるループ処理ステップ2「実行の詳細」のデータ出力タブには、添付ファイル名「Samples 2.pdf」と添付ファイルファイルURL(zapier-dev-files.s3.amazonaws.com)を含むループ反復1、反復1を「Samples 2.pdf」、反復2を「Samples 1.pdf」としてリストしたpreview_loop_valuesブロック、および「ループID」、「ループIDと反復」、「ループ反復が最後かどうか(false)」、「ループ反復が最後2」、「ループ合計反復回数2」の各フィールドが表示されます。

Loop Total Iterations は添付ファイルごとに 2 を読み取り、preview_loop_values はどちらのファイルも解析される前に両方のファイル名を指定します。

ループがあなたに渡すもの​

分野キャプチャされた実行における価値何に使うのか
Loop Iteration11から数えて、あなたがどのパスに乗っているか
Attachments NameSamples 2.pdfこのイテレーションのファイル名。後続のレコードの命名に役立ちます。
Attachments FileA zapier-dev-files.s3.amazonaws.com URLファイル自体と、パーサーにマッピングする内容
Loop Total Iterations2メールに添付されていたファイルの数はいくつですか?
Loop Iteration Is Lastfalseこれが真になった場合にのみ、要約または通知を発行する
Loop Idd889b92b-c6a1-4abc-a6a1-a1d4c1c78e1d1 つのメールのすべての反復を結び付け、下流でグループ化します
preview_loop_values反復1 Samples 2.pdf、反復2 Samples 1.pdf最初の閲覧で全リストが表示されます

先に進む前に、2つの点に注意しておく必要があります。ループはOutlookで添付ファイルが表示される順序で実行されるわけではありません。メールには「Samples 2」が最初に表示され、ループもそれに従いましたが、それに依存すべきではありません。 Loop Id 結果として得られる行を、それらが送信されたメールに結びつける唯一のものはこれなので、後で後悔するよりも、今すぐ下流にマッピングしておきましょう。

ヒント。 各イテレーションは個別のZap実行であり、1つのタスクを消費します。添付ファイルが10個のメールは1つのタスクではなく10個のタスクとして扱われるため、これは月々の請求書で最もよくある驚きです。 Zapierはループ制限を文書化していますそして、これを混雑した郵便受けに向ける前に、読んでおく価値があります。


ステップ3:各添付ファイルを構造化されたJSONに変換するにはどうすればよいですか?​

これまでの流れ: トリガーとループ。

ここから先の処理は、ループ内に位置するため、添付ファイルごとに一度だけ実行されます。

  1. 追加 PDF4me > AI - ドキュメントパーサー そしてAPIキーを接続してください。
  2. 設定する:
    • ファイル: その 添付ファイル トークンはトリガーからではなく、ループから取得する。これが多くの人が間違える点だ。
    • ファイル名 そして ファイル拡張子: ループから名前を構築します 添付ファイル名。
    • AIアナライザーIDドロップダウンメニューからアナライザーを選択してください。 default_invoice_extraction 以下のような出力が得られます。
    • AIアナライザー名(非推奨)空欄のままにしてください。
  3. テスト。Zapierが報告します。 Pdf4meに新しいプロセス文書を1件送信しました、そしてデータ出力は解析されたフィールドを運びます。

AI - ドキュメントパーサーの出力、最初の添付ファイル​

PDF4me AI - ドキュメントパーサー ステップ 3 実行の詳細 出力データには、トレース ID 57525903-32b5-47ff-ad16-6c58179b5aa1、ドキュメント ID b9de2201-e98f-5659-b196-70d9bf18ff0e、および請求書番号 13594027、ベンダー名 Your Business Name、請求先 John Smith、小計 37.5、2 つの明細項目、およびすべてのフィールドをスコアリングする docConfidenceLevel ブロックを含むドキュメント Doc Text JSON が表示されます。

ドキュメント本文には請求書が記載されています。また、すべての項目はスコア付きでdocConfidenceLevelにも表示されます。

AI - ドキュメントパーサーの出力、2番目の添付ファイル​

2回目のループ反復における同じPDF4me AI - Document Parserステップでは、異なるトレースID 0b16be26-64be-4cee-a764-8a52f2a263dfとドキュメントID 5450ac57-f16a-50ec-834f-10bf80c5b505が表示され、請求書フィールドは同じですが、信頼度スコアがわずかに異なります。

ログ上で2つの解析結果を区別するには、異なるトレースIDと異なるドキュメントIDを使用します。

このキャプチャに含まれる2つの添付ファイルには同じサンプル請求書が含まれているため、抽出された数値は一致します。2回目の実行で証明されるのは、パーサーが2つの異なるレイアウトを処理できるということではなく、1つのメールから3番目のステップが2回実行されたということです。

何が戻ってくるのか​

出力フィールド中身
Trace Id通話ごとに一意です。サポートチケットに引用してください。
Document Document IdPDF4meが解析したドキュメントのID。実行ごとに異なる。
Document Doc TextJSONペイロード:抽出されたフィールドに加えて docConfidenceLevel
Document File Name、 Document Name、 DocMetadataマッピングした内容に基づいて、名前とメタデータが入力されます。

内部 Doc Text の default_invoice_extraction アナライザーはヘッダーフィールドを返します(invoiceNumber、 invoiceDate、 invoiceDateString、 orderId、 customerPO、 paymentDeadline)、ベンダーブロック(vendorName、 vendorAddress、 vendorPhone、 vendorEmail、および税務識別子を含む vendorGSTIN、 vendorPAN、 vendorCIN、 vendorVatUidNr、 iban)、顧客ブロック (billTo、 billToAddress、 billToPhone、 billToEmail、 billToState、 billToPincode)、合計(subTotal、 cgst、 sgst、 cgstRate、 sgstRate、 totalTaxAmount、 total)そして lineItems 配列。解決されるサンプル請求書の場合 invoiceNumber 13594027、 billTo John Smith、 total 37.5、そして2つの項目があり、そのうちの2番目は -12.5 割引ライン。

信頼度スコアの読み方​

docConfidenceLevel 同じ形状を鏡像のように反転させ、各値の代わりに数値を記入します。これらは、記録された2回のランのスコアであり、その差がポイントです。

分野ラン1ラン2それはあなたに何を伝えているのか
vendorEmail98.998.9機械可読テキスト、信頼してください
vendorName98.598.5きれいな見出し、信頼してください
billTo97.397.3清潔で、信頼できる
subTotal9594.7良い、そして許容範囲のチェックに値する total
total92.892.8良いですね。でも、これは自動チェックする価値のある項目です。
billToAddress79.581.9複数行で折り返されている場合は、必要に応じて確認してください。
billToPincode60.860.8このサンプルでは、都市、州、郵便番号をまとめて処理します。
billToState59.859.8文書の最下部に記載されています。確認せずに投稿しないでください。

同じ文書でも2回の通過でわずかに異なるスコアが出ましたが、これはモデルとしては正常なことであり、まさにそのため単一の数値に頼るのではなく、しきい値を設定する必要があるのです。フロアを選択し、それ以下のものはすべて担当者に振り分け、残りは通過させます。


Zapを実行して検証する​

  1. 公開 ザップ。
  2. 共有メールボックスに、2つのPDFファイルを添付したテストメールを送信してください。
  3. 投票結果を待ってから、開く ザップ履歴。
  4. 見てください 二 Zap の実行は 1 回ではなく、それぞれが成功とマークされ、それぞれが 1 つのタスクを消費します。
  5. 各実行を開いて、ステップ 3 のデータを確認します。 Trace Id そして Document Document Id 両者は異なるべきであり、 Doc Text その添付ファイルの請求書を保持しておくべきです。
  6. チェック Loop Total Iterations ステップ2で。2つのファイルを添付したときに1と表示される場合は、問題はマッピングにあります。 ループする値パーサーではない。

キャプチャされた実行では、2026年10月15日の午後7時2分53秒と午後7時3分37秒に2回のZap実行が完了し、どちらも成功しました。それぞれ1つのタスクが実行され、添付ファイルが395KBの単一のメールから実行されました。

実際に何を作ったのですか? 請求書が実際に届いた場所から処理を開始する請求書受付システム。添付ファイルをダウンロードしたり、合計金額を再入力したりする必要はなく、5件の請求書が添付されたメールからは、1件ではなく5件の構造化レコードが生成されます。信頼度スコアによって、自動処理とレビュー処理の境界線を適切に設定できます。


再構築せずに追加できる一般的なバリエーション​

請求書はすべてシートに記入してください
パーサーの後、ループ内にGoogle SheetsまたはAirtableのステップを追加します。マップ Loop Id 1つのメールの各行をまとめてグループ化できるように、それぞれを別の列に格納します。
信頼度の低い請求書を担当者に回送する
Zapier でフィルターを追加する docConfidenceLevel このフィールド。設定したしきい値を超えると自動的に投稿され、しきい値を下回るとレビューキューまたはトレースIDが添付されたSlackチャンネルに送信されます。
請求書以外のものはすべてスキップしてください。
サプライヤーも署名やロゴを添付します。フィルター Attachments Name で終わる .pdfループ内に配置すると、画像に対してパーサーが呼び出されてタスクが無駄になるのを防ぎます。
請求書以外のものを解析する
このアクションはスキーマ駆動型です。 AIアナライザーID で 分類する アナライザーと1つのZapは、請求書、発注書、納品書を処理し、一致したタイプとそのフィールドを返します。

これは、他の請求書OCRの方法と比べてどうなのか​

各行は代替案を示しています。最後の行はこのZapです。

比較誰が運営しているのか請求書はどこから来るのかあなたが維持するもの
AP自動化プラットフォームとこのZapの比較金融、専用製品その製品への転送先住所文書ごとの契約とその承認ルール
コードから呼び出されるOCR APIとこのZapとの比較アプリケーション開発者コードが何を取得しようともコード、メールボックスのポーリング、および再試行
ERPキャプチャモジュールとこのZapの比較ERPシステム内の財務スキャナーまたはドロップフォルダーライセンス、およびそのERPに紐づいたワークフロー
このザップZapを編集できる人なら誰でも既に利用している共有メールボックス3つのステップと1つのアナライザースキーマ

よくある質問​

請求書OCRとは何ですか?​

請求書OCRは、人間ではなくソフトウェアを使って請求書を読み取り、仕入先、日付、明細項目、合計金額をシステムで使用できるデータとして出力します。従来のOCRではページ上の文字しか読み取れず、どの数字が合計金額なのかは自分で判断する必要がありましたが、それに取って代わったAIパーサーは、名前付きフィールドを直接出力します。

ツールを選ぶ際には、その違いが重要になります。 光学文字認識 テキストが返されます。ドキュメントパーサーはテキストを返してくれます。 total、 invoiceNumber そして billToこれは、Zapが実際にスプレッドシートにマッピングできるものです。

Zapierのループ機能はどのように動作するのですか?​

Zapierのループ機能は、アイテムごとに以下の手順を1回ずつ再実行する組み込みアプリです。 明細項目からループを作成する 前のステップから取得した一連の項目(例えば、メールの添付ファイル一覧など)を受け取り、項目ごとに1回の反復処理を開始します。

各イテレーションは、Zap 履歴に独自のエントリがあり、独自のタスク消費がある個別の Zap 実行です。イテレーション内では、 Loop Iteration、 Loop Total Iterations、 Loop Iteration Is Last そして Loop Id 同じソースレコードのすべての反復処理で共有されます。

OCRによる請求書処理とは何ですか?​

OCRによる請求書処理は、読み取りステップだけでなく、処理パイプライン全体を指します。請求書が届き、そのフィールドが抽出され、値がチェックされ、結果が元帳またはレビューキューに記録されます。抽出は通常、簡単な部分です。

実際に機能するかどうかを決めるのは、取り込みと例外処理の部分です。この Zap は共有メールボックスとループによる取り込みをカバーし、例外処理の生の素材を提供します。 docConfidenceLevel。

買掛金処理を自動化するにはどうすればよいですか?​

まずは受付から始めましょう。受付での手動処理は、その後の処理をすべて台無しにしてしまいます。仕入先には1つの住所を指定し、その住所をトリガーとして、複数の請求書が添付された1通のメールが、1件ではなく複数のレコードを生成するようにしてください。

次に、自動的に投稿する内容を決定します。抽出されたフィールドに対する信頼度しきい値によって、請求書は自動処理できるものと、担当者が確認すべきものに分けられます。この分類によって、自動化処理を安全に継続実行できるのです。


トラブルシューティング​

最初の添付ファイルのみが解析されます

チェック ループの総反復回数 ステップ2で。1と表示された場合、 ループする値 添付ファイルの明細項目ではなく単一のフィールドにマッピングされるため、ループは反復処理するものがありません。2 を読み取ったが、解析が 1 回しか行われなかった場合、ステップ 3 の ファイル ループではなくトリガーにマッピングされます 添付ファイル。

タスク数が予想より多い

これはループが設計通りに動作している例です。添付ファイルが10個のメール1通で、10回の実行と10個のタスクが発生します。ループ内にフィルタを追加することで、署名、ロゴ、およびPDF以外のファイルはパーサーに到達しなくなります。

ドキュメントテキストが空または欠落したフィールドを返します

アナライザーはどのフィールドが存在するかを決定します。空のキーは、スキーマがこのドキュメントに含まれていないものを要求したことを意味しますが、これは正常です。完全に空 ドキュメントテキスト 通常は間違ったことを意味する AIアナライザーIDまたは拡張子なしでアクションに到達したファイルなので、確認してください ファイル名 そして ファイル拡張子。

値は正しいように見えるが、下流に誤った情報が投稿される

見てください ドキュメントの信頼度 マッピングを非難する前に。このキャプチャでは合計スコアが92を超え、 州への法案 59.8点を獲得したので、フィールドが存在し、もっともらしくても、間違っている可能性があります。 トレースID すべてのレコードに記録されるため、不良行をその行が属するレコードと照合できます。


次のステップ​

請求書自動化で一番難しいのは、請求書そのものを読むことではなく、届いた封筒を開けることだった。そして、その封筒を開けるのがループ処理なのだ。