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

ZapierでAIを使って仕入先請求書の名前を変更する:DropboxとPDF4meを使った5ステップのワークフロー

· 1分で読める
SEO and Content Writer

買掛金の一番つらいところは請求書の支払いではなく、 発見 3週間後に誰かが要求したときに保管されている正しい請求書。ベンダーごとにファイル名が異なり、スキャンごとに untitled (3).pdfDropboxフォルダはどれも、まるで穴のようです。解決策は、請求書が届いた瞬間にAIに読み込ませ、顧客名を抽出し、長期保存する前にファイル名を変更することです。このチュートリアルでは、正確なパターンを構築します。 ザピアー と PDF4me AI - ドキュメントパーサー、 Dropbox2行 Zapierによるコード ステップ。5つのZapステップ。実際に動作しているZapのスクリーンショット。ベンダー名がファイル名になります。検索が再び正常に動作します。

ザップの概要
1. Dropbox: New File in Folder
Trigger. Polls /MuneerTrigger every 2 min for new files. Use any inbox folder where vendor invoices land.
2. Dropbox: Find File
Looks up the matching file in /pdf4metest/sample by File Name so we get the binary content into the Zap.
3. PDF4me: AI - Document Parser
Runs the default_invoice_extraction Analyzer against the file. Returns JSON keyed by the Analyzer schema (Customer Name, dates, totals, line items).
4. Code by Zapier: Run JavaScript
Two lines. JSON.parse the Doc Text into a real object so the next step can read its properties as tokens.
5. Dropbox: Upload File
Writes the original file back to /pdf4meoutput with Customer Name as the filename and the original extension.
要約版

Dropboxの2つのステップでZapが構成されます。PDF4meのAIパーサーが請求書を読み取ります。2行のコードステップでパーサーの出力をマッピング可能なトークンに変換します。ベンダー名がファイル名になります。このZapは1ページの請求書に対してエンドツーエンドで10秒未満で実行されます。カスタムアナライザーは不要で、組み込みの デフォルトの請求書抽出 ほとんどの仕入先請求書をすぐにカバーできます。

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

なぜ最初にDropboxを使う手順が2つも必要なのか? の フォルダ内の新しいファイル トリガーはメタデータ(名前、パス、ID)を提供しますが、下流のアプリケーションが再アップロードできるクリーンなバイナリファイルを提供するとは限りません。 ファイルの検索 ファイルを正しく読み込むことで、PDF4meは解析対象となる実際のドキュメントを取得し、ステップ5でアップロードするバイトデータが得られます。同じパターンは、対応するコネクタを使用すればSharePointやOneDriveでも同様に機能します。

なぜ途中にコードステップが必要なのか? AIパーサーは抽出したデータをJSON形式で返します。 弦 で ドキュメントテキスト 出力。Zapier は解析しない限り、それを 1 つの大きな塊として表示します。2 行の JSON.parse 内部 Zapierによるコード ステップ5では、そのブロブを実際のオブジェクトに変換し、そのキー(顧客名、請求書番号、合計金額)を個別にマッピング可能なトークンにします。Makeにおける同等の機能は、JSON解析モジュールです。

なぜ デフォルトの請求書抽出? これはPDF4meに付属する組み込みアナライザーで、一般的なベンダー請求書に合わせて調整されています。カスタムアナライザーに切り替える 構文解析ツール デフォルトがカバーしていないフィールドが必要な場合、または 分類アナライザー 1つのZapで複数のベンダーのレイアウトを一度に処理する必要がある場合。

ベンダーフォルダに移動するのではなく、名前を変更する理由は何ですか? どちらも機能し、Dropboxを連結できます ファイルの移動 このステップの後に、Zapを使ってベンダーのサブフォルダにも配置します。最初に名前を変更しておけば、フォルダ階層が変更された場合でも、名前検索で正しい請求書がすぐに見つかります。


得られるもの​

入力: 監視対象のDropboxフォルダにドロップされたベンダー請求書のPDF(/MuneerTrigger このチュートリアルでは、どの受信トレイフォルダでも構いません。 出力: 同じPDFが再アップロードされました /pdf4meoutput ベンダーの顧客名にちなんで名付けられています (例: HEADWAY TECHNOL…1; RENT 3.6-2MB.pdf) 監査証跡を保持できるように、元のファイルはトリガーフォルダにそのまま残されます。


必要なもの​

  • ザピアー。 Zapierを開くCode by Zapierのステップには最低でもStarterプランが必要です。それ以外の機能は無料プランでも利用できます。
  • PDF4me APIキー。 APIキーを取得してくださいPDF4meアクションを初めて追加する際に接続されます。
  • Dropbox受信トレイフォルダ(トリガー)と出力フォルダ(ファイルのアップロード)の両方について、SharePoint、OneDrive、Google Driveはそれぞれのコネクタで同様に動作します。
  • 仕入先請求書のサンプルベンダー/顧客名が表示されているPDFファイル。このチュートリアルでは、 sample-vendor-invoice.pdf、 あなたはできる このウォークスルーで使用されているファイルをダウンロードしてください。 そして、すべてのスクリーンショットをDropboxにコピーして保存します。

まずはサンプルを入手してください。 下のリンクをクリックして、スクリーンショットで使用されているものと同じ仕入先請求書をダウンロードしてください。Zapを公開する前に、ダウンロードした請求書をDropboxのトリガーフォルダにドロップしてください。そうすることで、最初のテスト実行時に、最終アップロード手順で表示されるものと同じ顧客名トークンが生成されます。


ザップの概要​

  1. Dropbox: フォルダ内の新しいファイル (トリガー)監視対象のフォルダを数分ごとにポーリングし、新しいファイルがないか確認します。
  2. Dropbox: ファイルを探す. 名前で新しいファイルを検索し、そのバイナリコンテンツを Zap に取り込みます。
  3. PDF4me: AI - ドキュメントパーサー. を実行します default_invoice_extraction 分析装置。
  4. Zapierによるコード:JavaScriptを実行する2本の線が JSON.parse ドキュメントテキストを実際のオブジェクトに変換する。
  5. Dropbox: ファイルのアップロード. ファイルを書き込みます 顧客名 新しいファイル名として。

Zapの概要​

Zapier Zapキャンバスには、上から下へ5つのステップが積み重ねて表示されています:Dropboxフォルダ内の新規ファイル(2分間のポーリング)、Dropboxファイル検索、PDF4me AI - ドキュメントパーサー、Zapierによるコード実行(JavaScript)、Dropboxファイルアップロード

5つのステップ。各カードは設定が完了すると緑色のチェックマークが表示されます。PDF4meは中央に位置し、コードステップではパーサーの出力をマッピング可能なトークンに変換します。


ステップ1:Dropbox – フォルダ内の新規ファイル(トリガー)​

これまでのZap: トリガーのみ。

  1. で ザピアー クリック + Zapを作成。
  2. 選ぶ Dropbox トリガーアプリとして、 フォルダ内の新しいファイル イベントとして。
  3. 接続する まだDropboxに登録していない場合は、登録してください。
  4. 設定する:
    • 空間: Default
    • フォルダ: /MuneerTrigger (またはベンダーがドロップする受信トレイフォルダ)
    • サブフォルダ内のファイルも含めますか?: False
    • ファイルの内容を含めますか?: Yes (重要:後続のステップでクリーンなバイナリフォールバックを提供します)
    • 共有リンクを含めますか?: Yes (オプション。後でSlackでリンクを送信したい場合に便利です。)
  5. テストトリガーサンプル請求書をフォルダにドロップすると、Zapier は新しいファイルレコードを 1 つ返します。

トリガー設定​

Dropbox フォルダー内の新規ファイル トリガー 設定タブ(スペースデフォルト、フォルダー /MuneerTrigger、サブフォルダー内のファイルを含める False、ファイルコンテンツを含める Yes、共有リンクを含める Yes)

トリガーは受信トレイフォルダを監視し、Starterプランではデフォルトで2分ごとにポーリングを行います。上位プランではさらに高速になります。


ステップ2:Dropbox – ファイルを探す​

これまでのZap: トリガー → ファイルの検索。

「新規ファイル」トリガーではファイル名とパスが取得できますが、「ファイルの検索」では、次の手順で再利用できる、クリーンでダウンロード可能なバイナリが確実に生成されます。追加してください。

  1. クリック + トリガーの下。 Dropbox、 ファイルの検索。
  2. 設定する:
    • 空間: Default
    • フォルダ: /pdf4metest/sample (ファイルが実際に存在するフォルダ。多くの場合、トリガーフォルダと同じである。)
    • サブフォルダ内のファイルも含めますか?: False
    • ファイル名 (必須): ファイル名 トリガーからのトークン(入力すると自動入力されます)
    • ファイルの内容を含めますか?: Yes
    • 共有リンクを含めますか?: Yes
    • 検索結果が見つからなかった場合、成功とみなされますか?: デフォルトのままにする (False(ザップを止める)
    • 複数の検索結果が見つかった場合: デフォルトのままにする (Return first search result)
  3. テストアクションZapierはバイナリコンテンツを含むファイルを返す必要があります。

ファイル構成を検索​

Dropbox Find File 設定タブで、フォルダ /pdf4metest/sample、ファイル名 sample-vendor-invoice.pdf、ファイルの内容を含める はい、共有リンクを含める はい、検索結果が見つからない場合は成功 False ステップ実行ステータス停止 デフォルト、複数の検索結果がある場合は最初の検索結果を返す

Find Fileは、下流のPDF4meアクションとUpload Fileステップに対して、Dropboxリンクだけでなく、確実にクリーンなバイナリを提供します。


ステップ3:PDF4me – AI – ドキュメントパーサー​

これまでのZap: トリガー → ファイル検索 → AI - ドキュメントパーサー。

ここでは、AIが請求書を読み取り、構造化されたフィールドを抽出します。デフォルトのアナライザーは一般的な仕入先請求書に対応していますが、後で業界固有のフィールドに対応するカスタムアナライザーに切り替えることもできます。

  1. クリック +。 検索 PDF4me、 選ぶ AI - ドキュメントパーサー。
  2. 接続する APIキーを使用したPDF4me(初回のみ、すべてのPDF4me操作で再利用可能)。
  3. 設定する:
    • ファイル: 選ぶ ファイル ステップ2(ファイルの検索)からのトークン。 ファイルURL 空です。既にファイルがあります。
    • ファイル名連結する ファイル名 そして ファイル拡張子 ステップ2からのトークンを使用して、アクションが正しい拡張子付きの元の名前を受け取るようにします。
    • AIアナライザー名: default_invoice_extraction (組み込みの請求書テンプレート)
  4. テストアクション応答を確認してください。 Doc Text 抽出されたフィールドと個々のトークンを含む JSON 文字列を含むフィールド Customer Name、 Invoice Number合計、明細項目。

ヒント。 もし デフォルトの請求書抽出 必要なフィールド (ベンダー VAT 番号、HSN コード、カスタム明細列) が欠落している場合は、カスタム アナライザーを構築します。 AIドキュメントパーサーダッシュボード そして、ここでそのIDを参照します。同じアクションですが、スキーマが異なります。ゼロザップ再構築。


ステップ4:Zapierによるコード実行 – JavaScriptの実行​

これまでのZap: トリガー → ファイルの検索 → AI - ドキュメントパーサー → JavaScript の実行。

AIパーサーはデータをJSON文字列として返します。 Doc Text 出力。Zapier はそれを単一のトークンとして表示します。個々のフィールドをマッピングするには (Customer Name、 Invoice Numberなど)を次のステップに渡す前に、まずそれを実際のオブジェクトに解析します。

  1. クリック +。 選ぶ Zapierによるコード、 イベント JavaScriptを実行する。
  2. 入力データ項目を1つ追加します。
    • 名前: data2
    • 価値: ドキュメントテキスト ステップ3(PDF4me)からのトークン。
  3. コード (そのまま貼り付けてください):
const parsed = JSON.parse(inputData.data2);
return parsed;
  1. テストアクション出力では、アナライザースキーマのすべてのフィールドが個別のトークンとして表示される必要があります。 parsed customerName、 parsed invoiceNumber、 parsed totalAmountなど

JavaScript構成を実行する​

Zapierによるコード:PDF4meステップからveoliaDetailsとその他の抽出されたJSONフィールドを含むドキュメントDoc Textにマッピングされたdata2という名前の入力データを使用してJavaScriptアクションを実行します。const parsedはJSON parse inputData.data2と等しく、parsedを返します。

2行のコードで、AIパーサーが生成したJSONデータを、個別にマッピング可能なZapierトークンに変換します。Makeにおける同等の機能は、JSON解析モジュールです。

ノーコード版。 Code by Zapier を使用できない場合 (無料プランなど)、 フォーマッター(Zapier)→ユーティリティ→リストから選択 または ルックアップテーブル 生データから特定の値を取得するためのパターン ドキュメントテキスト 紐。洗練されてはいないが、無料だ。


ステップ5:Dropbox – ファイルのアップロード(スマートリネーム)​

これまでのZap: トリガー → ファイルの検索 → AI - ドキュメントパーサー → JavaScript の実行 → ファイルのアップロード。

これが成果です。手順2で作成したファイルを取得し、抽出した顧客名をファイル名として再度アップロードしてください。

  1. クリック +。 選ぶ Dropbox、 ファイルのアップロード。
  2. 設定する:
    • 空間: Default
    • フォルダ: /pdf4meoutput (または、名前を変更した請求書が保存されるべき場所)
    • ファイル: 選ぶ ファイル ステップ2(ファイルの検索)からのトークン
    • 上書き: True (または False 重複で大声で失敗したいなら)
    • ファイル名を指定してください: 選ぶ 顧客名 ステップ4からのトークン(解析されたJSON)
    • ファイル拡張子を指定してください: 選ぶ ファイル拡張子 ステップ2のトークン
    • 共有リンクを含めますか?: Yes
  3. 公開 ザップ。

ファイル設定のアップロード​

Dropboxのアップロードファイル設定タブで、フォルダ /pdf4meoutput、ステップ2のファイル、データプレースホルダーなし、上書き True、ファイル名の指定はステップ4の顧客名トークンに設定され、HEADWAY TECHNOL 1 RENT 3.6 2MBと表示されます、ファイル拡張子の指定はステップ2のファイル拡張子トークン、共有リンクを含める はい

AIによって抽出された顧客名トークンは、「ファイル名の指定」に直接渡されます。元の拡張子により、ファイルはPDFとして開くことができます。


Zapを実行して検証する​

  1. ザップを切り替える の上。
  2. サンプル請求書のPDFをドロップして /MuneerTrigger。
  3. トリガーポーリングを待ちます(Starterでは最大2分)。チェック ザップ履歴5つのステップすべてが緑色になっている必要があります。
  4. Dropboxを開く /pdf4meoutputファイルはそこにあり、ベンダーの顧客名にちなんだ名前で、元の拡張子が保持されています。

実際に何を作ったのですか? ベンダーの請求書ファイル名が乱雑な状態から、顧客名で検索可能なアーカイブへと変換する、ゼロタッチの買掛金処理システム。AIがファイル名のばらつきを処理し、コードステップがJSONを処理し、Dropboxがストレージを処理します。このパターンは、Make(コードの代わりにJSON解析モジュールを使用)とPower Automate(JSON解析アクションを使用)でも同様に機能します。


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

Googleスプレッドシートの行を追加する
ステップ4の後、 Googleスプレッドシートで行を作成する InvoiceNumber、CustomerName、TotalAmount、InvoiceDateの各列を含むファイルです。このZapは、APトラッカーにデータを送信するだけでなく、ファイル名も変更します。
Slackの財務チャンネル
ステップ5の後、追加します Slackチャンネルメッセージを送信: 新しい請求書 {{customerName}} のために {{totalAmount}} 期限 {{dueDate}}、ファイル {{Upload File sharing link}}手動通知なしで可視性を確保。
ベンダーのサブフォルダに移動します
交換する ファイルのアップロード と Dropbox ファイルの移動 そして目的地を /pdf4meoutput/{{customerName}}ベンダーごとにフォルダを1つ自動的に作成します。
Classifyを使用した複数ベンダー対応の受信トレイ
交換 デフォルトの請求書抽出 ベンダーごとに 1 つのスキーマを保持する Classify Analyzer ID の場合。 Zapier パス ステップ4の後、分類名に基づいて分岐し、ベンダーごとに名前を変更/アーカイブします。

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

アップロードファイルのプレビューに「データなし」と表示されます

必ず地図を作成したことを確認してください。 ファイル ステップ2(ファイルの検索)で取得したトークンであり、ステップ1(トリガー)で取得したトークンではありません。トリガーはメタデータのみを送信する場合もありますが、ファイルの検索は常にバイナリを送信します。

顧客名トークンが空です

デフォルトの請求書抽出 一般的なレイアウトを認識します。ベンダーが通常とは異なるレイアウトを使用し、customerName が空白で返される場合は、次のようなフィールドの説明を持つカスタム Parse Analyzer を構築してください。 「請求書のヘッダーに印刷されている顧客名。場合によっては、『購入者』、『請求先』、または『発送先』と表記される。」 代わりにステップ3でそのアナライザーを選択してください。

JSON.parseはステップ4で失敗します。

AIパーサーは、まれに不正な形式の実行があった場合にプレーンテキストを返します。パース処理をtry/catchで囲み、フォールバックとして生の文字列を返すようにすることで、Zapが壊れないようにします。 試す { return JSON.parse(inputData.data2) } キャッチ(e) { return { raw: inputData.data2 } }。

Dropbox「ファイルが既に存在します」

顧客名が同じベンダーが2つあると競合します。 上書き に 真実 ステップ 5 で (最後の書き込みが優先されます)、または Zap を追加します {{zap_meta_human_now}} ファイル名に一意性を持たせるためのトークンを追加します。


次のステップ​

ウォークスルーファイルを使って試してみてください

↓ sample-vendor-invoice.pdf をダウンロード

同じ5ステップのパターン(トリガー→データ取得→AI解析→JSON解析→データ書き込み)は、ZapierにおけるあらゆるAI抽出に有効です。一度データ送信が完了すれば、次回以降のデータ送信はほとんどコストがかかりません。