コンテンツへスキップ
製品ページに戻る

Umitake AI OCR for kintone ユーザーマニュアル

目次

  1. 概要
  2. インストール
  3. APIキーの取得
  4. プラグイン設定
  5. パターンAの使い方(レコード単位OCR)
  6. パターンBの使い方(テーブル行単位OCR)
  7. AIルックアップ検索
  8. 注意事項・制限
  9. トラブルシューティング

概要

AI OCR は、PDF・画像・テキストファイル(JPG・PNG・WebP・TXT・CSV・JSON)をAIで読み取り、kintoneレコードのフィールドに値を自動入力するプラグインです。

主な機能:

  • 請求書・注文書・領収書などあらゆる書類からフィールド値を抽出
  • テキストファイル(TXT・CSV・JSON)の内容をAIで解析してフィールドへ反映
  • 4つのAIプロバイダーに対応: Claude(Anthropic)/ OpenAI(GPT)/ Azure OpenAI / Google Gemini
  • 2つの動作モード:
    • パターンA — レコード単位のOCR。サイドバイサイドのレビュー画面で確認してから値を適用
    • パターンB — テーブル行単位のOCR。行ごとのレビュー画面で確認してから値を適用
  • AIルックアップ検索 — ルックアップフィールドに対してAIが最適なマスタレコードを自動選択
  • OCRに使用したファイルを添付フィールドへ自動保存

インストール

  1. kintone管理画面(右上の歯車アイコン)を開く
  2. プラグイン をクリック
  3. プラグインの読み込み をクリック
  4. plugin.zip を選択してアップロード
  5. アップロード完了後、対象アプリの設定画面を開く
  6. プラグイン タブから「Umitake AI OCR for kintone」を追加
  7. 設定 をクリックしてプラグイン設定画面を開く

APIキーの取得

Umitake AI OCR を使用するには、利用するAIプロバイダーのAPIキーが必要です。APIキーはプラグイン設定画面に入力し、kintoneのプラグイン設定(暗号化済みストレージ)に保存されます。

Anthropic(Claude)

ClaudeはPDFをネイティブに処理でき、スキャンPDFでも高い精度を発揮します。

  1. https://console.anthropic.com/ にアクセスしてサインイン(またはアカウント作成)
  2. 左メニューの API Keys をクリック
  3. Create Key をクリックし、名前を入力して Create Key
  4. sk-ant- で始まるキーをコピー(一度しか表示されません)
  5. プラグイン設定の APIキー 欄に貼り付け

メモ: Anthropicはトークン量に応じた従量課金です。利用状況やクレジット残高は https://console.anthropic.com/settings/billing で確認できます。プラグイン設定画面にも直接リンクがあります。


OpenAI(GPT)

  1. https://platform.openai.com/ にアクセスしてサインイン(またはアカウント作成)
  2. 右上のメニューから組織名 → API keys をクリック
  3. Create new secret key をクリックし、名前を入力して Create secret key
  4. sk- で始まるキーをコピー(一度しか表示されません)
  5. プラグイン設定の APIキー 欄に貼り付け

メモ: PDFはPDF.js(300DPI PNG)で画像変換してからAPIに送信します。デジタルPDFは高精度ですが、スキャンPDFはClaudeと比較してやや精度が低下する場合があります。


Azure OpenAI

Azure OpenAIを使用するには、有効なAzureサブスクリプションとAzure OpenAIリソースの作成が必要です。

ステップ1 — Azure OpenAIリソースの作成:

  1. https://portal.azure.com/ にサインイン
  2. 検索ボックスで Azure OpenAI を検索し、作成 をクリック
  3. サブスクリプション・リソースグループ・リージョン・リソース名を入力し、作成 をクリック

ステップ2 — モデルのデプロイ:

  1. 作成したリソースを開き、Azure OpenAI Studioに移動 をクリック(または https://oai.azure.com/ に直接アクセス)
  2. デプロイ新しいデプロイの作成 をクリック
  3. モデル(例: gpt-4o)を選択し、デプロイ名(例: gpt-4o-deployment)を入力
  4. デプロイ名 を控えておく(プラグイン設定で使用)

ステップ3 — APIキーとエンドポイントの確認:

  1. Azureポータルで作成したAzure OpenAIリソースを開く
  2. キーとエンドポイント(リソース管理の中)をクリック
  3. キー1(またはキー2)をコピー
  4. エンドポイントURL(https://<リソース名>.openai.azure.com/)からリソース名を確認

ステップ4 — プラグイン設定に入力:

設定項目入力値
AIプロバイダーAzure OpenAI
APIキーキー1またはキー2
Azureリソース名エンドポイントURLのリソース名部分
APIバージョン例: 2024-08-01-preview
モデル(デプロイ名)デプロイ時に設定したデプロイ名

Google Gemini

方法A — Google AI Studio(個人利用・簡単):

  1. https://aistudio.google.com/ にアクセスし、Googleアカウントでサインイン
  2. APIキーを取得APIキーを作成 をクリック
  3. 生成されたキーをコピー
  4. プラグイン設定の APIキー 欄に貼り付け

方法B — Google Cloud(法人利用・本番環境):

  1. https://console.cloud.google.com/ にサインイン
  2. プロジェクトを作成または選択
  3. APIライブラリで Generative Language API を検索し、有効化
  4. APIとサービス認証情報認証情報を作成APIキー をクリック
  5. 生成されたキーをコピーし、プラグイン設定に貼り付け

プラグイン設定

対象アプリの設定画面で「Umitake AI OCR for kintone」の 設定 をクリックすると、プラグイン設定画面が開きます。

ライセンスキー

ライセンスキーをお持ちの場合は ライセンスキー 欄に入力し、検証 ボタンで確認してください。このプラグインの使用にはライセンスが必要です。

AIプロバイダーとモデル

  1. AIプロバイダー ドロップダウンからプロバイダーを選択
  2. Anthropic の場合: 利用可能なモデル一覧が自動的に表示されます
  3. OpenAI / Gemini の場合: モデルを読み込む ボタンをクリックしてAPIからモデル一覧を取得
  4. Azure OpenAI の場合: デプロイ名 を直接入力(Azure OpenAI Studioでデプロイ時に設定した名前)
  5. Azure OpenAI の追加項目:
    • Azureリソース名 — エンドポイントURLのリソース名部分
    • APIバージョン — 例: 2024-08-01-preview

プロバイダー別PDF対応状況:

プロバイダーPDF処理方式備考
Claude(Anthropic)ネイティブスキャンPDFでも高精度
OpenAI(GPT)画像変換(PDF.js・300DPI PNG)スキャンPDFはやや精度低下
Azure OpenAI画像変換(PDF.js・300DPI PNG)上記に同じ
Gemini(Google)ネイティブ(inline_data)高精度

共通プロンプト

すべてのOCR実行に適用される一般的な抽出指示を入力します。OCR実行時に毎回AIに送信されます。

記述例:

以下のフィールドを請求書から抽出してください。書類に明記されている値のみ返してください。フィールドが見つからない場合は空文字を返してください。

パターンA — レコード単位OCR

パターンAを有効にする をチェックすると、レコードの編集画面にOCRウィジェットが表示されます。

設定項目説明
スペースフィールドIDOCRウィジェットを表示するSpaceフィールドのエレメントID
添付ファイルフィールド(任意)OCRソースファイルの保存先となる添付ファイルフィールド
ファイルの保存動作追記 — 既存ファイルを残して追加 / 置換 — 上書き
追加プロンプトフィールド(任意)AIへの追加指示として送信される複数行テキストフィールド(例: 取引先マスタに保存した仕入先固有の読み取りルール)

フィールドマッピング

OCR結果のキーとkintoneフィールドを紐付けます。

説明
kintoneフィールド値を入力するkintoneフィールド(ドロップダウンから選択)
OCR結果キーAIに出力させるJSONのキー名

+ フィールドを追加 で行を追加、× で削除します。

設定例: フィールドコード invoice_no のkintoneフィールドに「請求書番号」を読み取る場合:

kintoneフィールドOCR結果キー
請求書番号(invoice_noinvoice_number

共通プロンプトにより、AIは { "invoice_number": "INV-001", ... } のようなJSONを返すよう指示されます。プラグインは invoice_numberinvoice_no にマッピングします。

テーブルマッピング

OCR結果のテーブル行データをkintoneのサブテーブルフィールドにマッピングします。請求書の明細行などをサブテーブルに入力する際に使用します。

設定項目説明
テーブルフィールド値を入力するkintoneサブテーブルフィールド
列マッピングサブテーブルの各列とOCR結果キーを紐付け(フィールドマッピングと同形式)

AIルックアップ検索: 列マッピングでルックアップ列を選択すると AIルックアップ検索 チェックボックスが表示されます。有効にするとAIがマスタレコードを自動選択します。

複数のサブテーブルに対してそれぞれテーブルマッピングを追加できます。


パターンB — テーブル行単位OCR

パターンBを有効にする をチェックすると、kintoneのサブテーブルがOCRボタン付きのカスタムテーブルに置き換わります。

設定項目説明
テーブルフィールドコードカスタムOCRテーブルに置き換えるkintoneサブテーブルフィールド
スペースフィールドIDカスタムOCRテーブルを表示するSpaceフィールドのエレメントID
添付ファイル列(任意)OCRソースファイルを保存するFILEタイプのサブテーブル列
ファイルの保存動作追記 — 既存ファイルを残して追加 / 置換 — 上書き

列マッピング

サブテーブルの各列とOCR結果キーを紐付けます。

説明
サブテーブルの列フィールド(ドロップダウンから選択)
OCR結果キーAIに出力させるJSONのキー名
幅(%)カスタムテーブルの列幅。省略時は自動幅

AIルックアップ検索: ルックアップ列を選択すると AIルックアップ検索 チェックボックスが表示されます。有効にするとAIがマスタレコードを自動選択します。


パターンAの使い方(レコード単位OCR)

  1. レコードを 編集モード で開く
  2. 設定したSpaceフィールドにOCRウィジェットが表示されます
  3. ファイルを選択: PDF・画像・テキストファイルをドロップゾーンにドラッグ&ドロップするか、クリックしてファイルを選択
    • 対応形式: PDF / JPG / PNG / WebP / TXT / CSV / JSON
    • TXT・CSV・JSONは 50KB以下 のみ処理されます
  4. (任意) 追加プロンプト テキストエリアに追加指示を入力 — 例: 「"備考"フィールドは空欄にしてください」「この書類はMM/DD/YYYY形式の日付を使用しています」
  5. OCRを実行 をクリック
  6. AIがファイルを処理し、結果が準備できると OCRレビュー モーダルが表示されます
  7. レビューモーダルでの操作:
    • PDF・画像の場合: 左側に書類のプレビューが表示されます(複数ページのPDFはページナビゲーションで切り替え)
    • テキストファイルの場合: プレビューは表示されず、抽出フィールドのみ表示されます
    • 右側に抽出されたフィールド値が表示されます — 適用前に値を編集できます
    • テーブルマッピングを設定している場合、テーブル行データが下部のテーブルセクションに表示されます
  8. レコードに適用 をクリックしてkintoneフィールドに値を反映
  9. 通常通りレコードを保存 — 添付フィールドを設定している場合、この時点でファイルがアップロードされます

パターンBの使い方(テーブル行単位OCR)

  1. レコードを 編集モード で開く
  2. 設定したSpaceフィールドにカスタムOCRテーブルが表示されます
  3. 各行のアクション列に 📎 OCR ボタンがあります
  4. 入力したい行の 📎 OCR をクリック
  5. ファイル選択ダイアログが開くので、PDF・画像またはテキストファイルを選択
    • 対応形式: PDF / JPG / PNG / WebP / TXT / CSV / JSON
    • TXT・CSV・JSONは 50KB以下 のみ処理されます
  6. OCRが実行され、行のOCR結果 モーダルが表示されます
    • テキストファイルの場合はプレビューなしのコンパクト表示になります
  7. 抽出値を確認・編集し、行に適用 をクリック
  8. 必要な行に対して同様の操作を繰り返す
  9. 各行右端の ボタンでその行の直後に新しい行を追加、× ボタンで行を削除
  10. 通常通りレコードを保存 — 添付ファイルは保存時にアップロードされます

メモ: 複数行テキスト(MULTI_LINE_TEXT)フィールドはテーブル内でテキストエリアとして表示されます。


AIルックアップ検索

ルックアップフィールドにマッピングされたフィールドに対して AIルックアップ検索 を有効にすると、AIが最適なマスタレコードを自動的に選択します。

動作の仕組み

  1. OCR実行前に、プラグインがルックアップのソースアプリの全レコードを取得してキャッシュ
  2. OCRでフィールド値が抽出された後、AIがOCR結果とキャンディデートレコードを照合
  3. AIが最も一致するレコードのキー値を返す
  4. 照合された値がレビューモーダルに事前入力される

AIルックアップ検索の有効化

パターンA — フィールドマッピングの場合:

kintoneフィールド ドロップダウンでルックアップフィールドを選択すると、行の下に AIルックアップ検索 チェックボックスが表示されます。チェックを入れるとAI照合が有効になります。

パターンB — 列マッピングの場合:

ドロップダウンでルックアップ列を選択すると AIルックアップ検索 チェックボックスが表示されます。チェックを入れると有効になります。

活用例

  • 取引先名: 請求書から「ABCトレーディング株式会社」を読み取り → AIが取引先マスタを検索して正しい取引先コードを入力
  • 勘定科目: 経費の摘要を読み取り → AIが勘定科目マスタから適切な科目コードを選択
  • 商品コード: 商品名を読み取り → AIが商品マスタと照合して商品コードを入力

メモ: AIルックアップ検索は追加のAPI呼び出しを行います。適切な一致が見つからない場合は、OCRで読み取った元の文字列がそのまま使用されます。


注意事項・制限

対応ファイル形式

形式処理方式サイズ制限
PDFAIにネイティブ送信またはPDF.jsで画像変換
JPG / JPEG / PNG / WebPAIにbase64で送信
TXT / CSV / JSONテキストとして読み取りAIに送信50KB以下

CSVファイルはヘッダー行とデータ行を分けてAIに提示するため、列構造を正確に伝えられます。

テキストファイルのレビューモーダルにはプレビューが表示されません(プレビューなしのコンパクト表示)。

APIキーのセキュリティ

APIキーはkintoneのプラグイン設定(サーバー側暗号化ストレージ)に保存されます。AIプロバイダーのAPIエンドポイント以外のサーバーには送信されません(kintone.proxy 経由で通信)。

PDFの精度

プロバイダーデジタルPDFスキャンPDF
Claude(Anthropic)非常に高い非常に高い
OpenAI(GPT)非常に高い高い(300DPI画像変換)
Azure OpenAI非常に高い高い(300DPI画像変換)
Gemini(Google)非常に高い非常に高い

スキャン書類を大量に処理する場合は、Claude(Anthropic)の使用を推奨します。

追加プロンプトフィールドと追加プロンプトテキストエリアの違い

  • 追加プロンプトフィールド(プラグイン設定で指定): kintoneの複数行テキストフィールドの値がすべてのOCR実行時に自動的に追加されます。マスタレコードなどに保存した、アプリやベンダー固有の恒久的な指示に適しています。
  • 追加プロンプトテキストエリア(OCRウィジェット内): OCR実行時にユーザーが入力する自由記述。スキャンごとに異なる一時的な指示に適しています。

両方を同時に使用できます。フィールドの値が先に追加され、その後にテキストエリアの値が追加されます。

パターンAとパターンBは同一のSpaceフィールドを共有できない

両パターンを有効にする場合、それぞれ異なるSpaceフィールドを割り当てる必要があります。同じSpaceフィールドを選択した場合、プラグイン設定画面に警告が表示されます。

kintoneサブテーブル内へのSpaceフィールド配置不可

kintoneの仕様上、サブテーブルの行内にSpaceフィールドを配置することはできません。そのためパターンBでは、サブテーブル全体をSpaceフィールド内のカスタムテーブルで置き換える方式を採用しています。

表示言語

OCRウィジェットおよびプラグイン設定画面は、ログインユーザーの言語設定(kintone.getLoginUser().language)に基づいて日本語または英語で自動的に表示されます。


トラブルシューティング

OCRウィジェットが表示されない

確認事項:

  • プラグイン設定が保存されているか(設定画面で「保存」を押したか)
  • プラグイン設定でパターンA(またはB)が有効になっているか
  • kintoneフォーム設定のSpaceフィールドの エレメントID と、プラグイン設定の スペースフィールドID が一致しているか
  • アプリ設定が保存され、アプリが更新されているか

OCRは実行されるがフィールドに値が入らない

確認事項:

  • フィールドマッピングの OCR結果キー が共通プロンプトで指定したキー名と完全に一致しているか(AIはこのキー名でJSONを返す必要があります)
  • マッピングで選択した kintoneフィールド が正しいか
  • レビューモーダルで レコードに適用(または 行に適用)をクリックしたか(値は自動適用されません)

AI APIエラーが発生する

確認事項:

  • APIキーが正しく、有効期限が切れていないか
  • プラグイン設定で選択したモデルが現在も利用可能か(廃止されたモデルはエラーになります)
  • Azure OpenAIの場合: リソース名・APIバージョン・デプロイ名がすべて正しいか
  • AIアカウントのクレジット・クォータが十分にあるか

ライセンスエラーが表示される

確認事項:

  • ライセンスキーがプラグイン設定に入力され、検証済みであるか
  • ライセンスの有効期限が切れていないか

ルックアップフィールドとして認識されない(AIルックアップ検索のチェックボックスが表示されない)

確認事項:

  • マッピングで選択したフィールドが、kintoneフォーム設定で実際にルックアップフィールドとして設定されているか
  • プラグイン設定画面を再読み込みしてフィールド一覧を再取得してみる

パターンB: OCRテーブルでの変更が保存に反映されない

確認事項:

  • 元のkintoneサブテーブルは直接編集せず、必ずSpaceフィールドのカスタムOCRテーブルを使用してください
  • 元のサブテーブルが画面上に表示されている場合は、kintone管理者にSpaceフィールドの配置を確認してもらってください