AIパンチャーでファイルを解析する

この記事では、AIパンチャーとのコネクション作成方法について説明します。

コネクションについての詳細はこちらをご参照ください。
コネクションによるアプリ連携

AIパンチャー用のコネクション作成時に使用するアプリケーションは「Document Force」です

 AIパンチャーとは

AIパンチャーは、オープン社が販売する、請求書・見積書・契約書などのドキュメントをAIで解析し、データ化できるサービスです。
OCR(文字認識)だけでなく、帳票内の項目を自動で抽出し、構造化データとして利用できます。

AUTORO と連携することで、以下のような業務自動化が可能です。

  • PDF請求書から金額・取引先情報を抽出
  • 帳票データをスプレッドシートへ自動転記
  • 契約書情報を社内システムへ登録
  • メール添付ファイルを自動解析

本サービスに関するお問い合わせは、チャットでご連絡いただくか、弊社営業までご連絡いただけますようお願いします。

詳細は以下をご参照ください。

 DFAnalyzeDocumentアクション

DFAnalyzeDocumentアクション(Document Forceでドキュメントを解析)は、AIパンチャーへファイルを送信し、ドキュメント解析を実行するアクションです。

PDFや画像ファイルを解析し、帳票内の情報をJSON形式で取得できます。

主な利用シーン

  • 請求書の金額・取引先抽出
  • 見積書データの取得
  • OCR結果の自動処理
  • 契約書情報のデータ化

対応ファイル例

  • PDF
  • PNG
  • JPG
  • TIFF

 AIパンチャー:事前準備

本記事では、領収書画像をAIパンチャーで解析するワークフローを作成していきます。

まずは、AIパンチャー側で、領収書画像から必要情報を取得できるよう準備しておきます。

本記事では、AIパンチャーの設定詳細は省きます。

「ドキュメントタイプ」を追加して、領収書画像から以下の解析結果を取得できるよう設定します。

  • ショップ名
  • 金額
  • 日付
  • 住所

「1」で作成したドキュメントタイプをAPIで指定できるように、「APIエンドポイント」を作成します。

解析結果を格納する「プロジェクト」を作成して、DFAnalyzeDocumentアクションの解析結果を指定したプロジェクトに格納することが可能です。

 アクションの設定方法

本記事では、以下ワークフローの作成例を紹介します。

クラウドストレージ(Google Drive)に保存した領収書画像をAIパンチャーで解析して、解析結果をスプレッドシートへ転記する

事前に、AIパンチャーとのコネクション作成が必要です。
詳しくは、以下記事をご参照ください。

以下のヘッダー行を用意したスプレッドシートを、AIパンチャーの解析結果の転記先とします。

  • GetSpreadsheetアクション(既存のスプレッドシートを取得)を設置します
  • ストレージプロバイダIDに、Google Spreadsheetのコネクションを設定します
  • スプレッドシートIDに、解析結果を転記するために用意したスプレッドシートを設定します。

Google Driveに格納している領収書画像ファイルを使用します。

  • ListItemsアクション(アイテム一覧を取得)を設置します
  • ストレージプロバイダに、Google Driveを設定します
  • ディレクトリに、領収書画像ファイルを格納したフォルダを設定します

Google Driveのフォルダ内の各領収書画像ファイル毎に、AIパンチャーで解析するために、ListItemsアクションのアウトプットを使って繰り返し処理します。

  • ForEachアクション(各要素について繰り返す)を設置します
  • 「繰り返すリスト」に、ListItemsアクションのアウトプットを設定します
  • 「要素を格納する変数名」に、任意の変数名を設定します。
    今回は file とします。
  • 詳細設定を開き、「繰り返し回数を格納する変数名」に、任意の変数名を設定します。
    今回は count とします。
    スプレッドシートに書き込む際に、この変数を使用して行数を設定します。

領収書画像ファイルを取得して、AIパンチャーで解析して、必要情報を取得します。

  • ForEachアクション内に、GetFileアクション(ファイルを取得)を設置します
  • 「ストレージプロバイダ」に、Google Driveのコネクションを設定します
  • 「ファイル」に、領収書画像ファイルを指定します。
    ForEachアクションで設定した変数 file にファイルパスが格納されているので、${file} で変数値を設定します。

  • DFAnalyzeDocumentアクション(Document Forceでドキュメントを解析)を設置します
  • 「プロバイダーID」に、AIパンチャー(Document Force)のコネクションを設定します
  • 「エンドポイント」に、AIパンチャー上で作成した APIエンドポイントを設定します
  • 詳細設定を開き、「解析結果を待機」を有効にします。
    このオプションを有効にすると、アクションのアウトプットがAIパンチャーの解析結果になります。
    無効の場合は、ドキュメントタイプに紐づくドキュメントIDのみが、アクションのアウトプットになります。
  • (任意)「タグ設定」に、AIパンチャー上で作成したプロジェクトを設定します。
    ピッカーアイコンクリックし、設定済みの一覧から選択することも可能です。

AIパンチャーからの戻り値はJSON形式ですが、含まれる情報が多く「解析結果をワークフロー内で利用したい」の目的には扱いにくい形式になっています。
便利アクション「AIパンチャーのアウトプットを扱いやすいJSON形式に整形する」を利用すると、 { “解析項目名”:”値” , “解析項目名”:”値” } というアウトプットに整形できるので、解析結果を利用しやすくなります。

便利アクション「AIパンチャーのアウトプットを扱いやすいJSON形式に整形する」が利用できない場合は、この記事をご参照ください。
  • CallCustomActionアクション(カスタムアクションを実行)を設置し、便利アクション「AIパンチャーのアウトプットを扱いやすいJSON形式に整形する」を設定します
  • 「_json」に、DFAnalyzeDocumentアクションのアウトプットを設定します
  • StoreValueアクション(変数に保存)を設置します
  • 「変数名」に、任意の変数名を設定します。
    今回は item とします。
  • 「値」に、便利アクション「AIパンチャーのアウトプットを扱いやすいJSON形式に整形する」のアウトプットを設定します

解析結果をスプレッドシートに転記します。
各列の値は以下を設定します。

A列:画像URL  ${file}
B列:ショップ名 ${item.ショップ名}
B列:金額    ${item.金額}
B列:日付    ${item.日付}
B列:住所    ${item.住所}

1行分のデータをリストでまとめておくと、一回の書き込み処理で、1行分のデータをまとめて書き込めます。

  • CreateListアクション(リストを作成)を設置します
  • アイコンをクリックし、「リストビルダー」にて、1行分のデータを作成します

  • UpdateCellsアクション(セルの値を更新)を設置します
  • 「Spreadsheet」に、GetSpreadsheetアクションのアウトプットを設定します
  • 「範囲」に、A1記法でシートとセルを指定します。
    今回は、ForEachアクションで設定したの繰り返し回数の変数 count を利用して、シート1!A${count+2} とします。
  • 「値」に、CreateListアクションのアウトプットを設定します

■解析用の領収書画像(5ファイル)

 

■スプレッドシート転記結果

# 既存のスプレッドシートを取得
+get_spreadsheet_1:
  action>: GetSpreadsheet
  display_name>: '既存のスプレッドシートを取得'
  provider: ''
  spreadsheet_id: ''
  private: false
  meta:
    display:
    action:
      disabled: false

# アイテム一覧を取得
+list_items_1:
  action>: ListItems
  display_name>: 'アイテム一覧を取得'
  provider: ''
  directory: ''
  includeFileId: false
  limit: 1000
  private: false
  meta:
    display:
    action:
      disabled: false

# 各要素について繰り返す
+for_each_1:
  for_each>:
    file: +list_items_1
    withIndex: count
    private: false
    display_name>: '各要素について繰り返す'
  meta:
    action:
      disabled: false
  _do:

    # ファイルを取得
    +get_file_1:
      action>: GetFile
      display_name>: 'ファイルを取得'
      provider: ''
      filename: ${file}
      private: false
      meta:
        display:
        action:
          disabled: false

    # Document Forceでドキュメントを解析
    +d_f_analyze_document_1:
      action>: DFAnalyzeDocument
      display_name>: 'Document Forceでドキュメントを解析'
      provider_id: ''
      endpoint: ''
      file: +get_file_1
      wait_for_result: true
      private: false
      meta:
        display:
        action:
          disabled: false

    # AIパンチャーのアウトプットを扱いやすいJSON形式に整形する
    +call_custom_action_2:
      action>: CallCustomAction
      display_name>: 'AIパンチャーのアウトプットを扱いやすいJSON形式に整形する'
      id: ca_a43237bc76f82679a02b
      params:
        _json: +d_f_analyze_document_1
      meta:
        version: '2026-06-30T02:21:03.000Z'
        interface:
          params:
            _json: Text
          output: Anything
          pickers:
        action:
          disabled: false
        display:
          id:
            type: chip
            label: 'AIパンチャーのアウトプットを扱いやすいJSON形式に整形する'
            icon: build
            imageUrl: 'https://storage.googleapis.com/robotic-crowd-production/psohd9td1xsi5c4leh3cih47llvf?GoogleAccessId=strage-object-creater%40robotic-crowd.iam.gserviceaccount.com&Expires=1782791337&Signature=xoWyMnGvBo2BK1HvIqK1S8hJSvDmmODRweulS5LQOs0NDLVy2%2FH9dHiSjzLlDfxVNjghtyARc6oEAmVBgFDzavX4W%2BhdTKbIEShMA2sSBeWMRR5hFbhp%2BHz6mndKZJLg%2B0bFqmw%2FAJ03N4gyZ6TWO6RXzAOVM51D7Wc0vYmubiI5ZxnaB7T3QQnzw%2BqLIW6cVoFvXr1xbAxwiDAPw%2BwCuAzwXbVrSfZhGiocpSlOkr2kMiMKcbE6xuV5EukFAeyvFPBqKtP8tN51dy0goNG82SoLh%2BOCl3HJ5XkSvUG9KZgBPx8IsUGo6nVQgYT4GWwIrpEQeBGIM7Ahqq4CT6%2BUpg%3D%3D&response-content-disposition=inline%3B+filename%3D%22icon.png%22%3B+filename%2A%3DUTF-8%27%27icon.png&response-content-type=image%2Fpng'
            color: '#AD1457'

    # 変数に保存
    +store_value_1:
      action>: StoreValue
      display_name>: '変数に保存'
      key: item
      value: +call_custom_action_2
      setIfNotDefined: false
      private: false
      meta:
        action:
          disabled: false

    # リストを作成
    +create_list_1:
      action>: CreateList
      display_name>: 'リストを作成'
      items: ["${file}","${item.ショップ名}","${item.金額}","${item.日付}","${item.住所}"]
      private: false
      meta:
        action:
          disabled: false

    # セルの値を更新
    +update_cells_1:
      action>: UpdateCells
      display_name>: 'セルの値を更新'
      spreadsheet: +get_spreadsheet_1
      range: 'シート1!A${count+2}'
      values: +create_list_1
      private: false
      meta:
        action:
          disabled: false
AIパンチャー/OCR/AI

このページは役に立ちましたか?

CONTENTS