Umitake AI OCR for kintone ユーザーマニュアル
目次
- 概要
- インストール
- APIキーの取得
- プラグイン設定
- パターンAの使い方(レコード単位OCR)
- パターンBの使い方(テーブル行単位OCR)
- AIルックアップ検索
- 注意事項・制限
- トラブルシューティング
概要
AI OCR プラグインは、PDF・画像ファイル(JPG・PNG・WebP)をAIで読み取り、kintoneレコードのフィールドに値を自動入力するプラグインです。
主な機能:
- 請求書・注文書・領収書などあらゆる書類からフィールド値を抽出
- 4つのAIプロバイダーに対応: Claude(Anthropic)/ OpenAI(GPT)/ Azure OpenAI / Google Gemini
- 2つの動作モード:
- パターンA — レコード単位のOCR。サイドバイサイドのレビュー画面で確認してから値を適用
- パターンB — テーブル行単位のOCR。行ごとのレビュー画面で確認してから値を適用
- AIルックアップ検索 — ルックアップフィールドに対してAIが最適なマスタレコードを自動選択
- OCRに使用したファイルを添付フィールドへ自動保存
インストール
- kintone管理画面(右上の歯車アイコン)を開く
- プラグイン をクリック
- プラグインの読み込み をクリック
kintone-ai-ocr.zipを選択してアップロード- アップロード完了後、対象アプリの設定画面を開く
- プラグイン タブから「AI OCR」を追加
- 設定 をクリックしてプラグイン設定画面を開く
APIキーの取得
AI OCR プラグインを使用するには、利用するAIプロバイダーのAPIキーが必要です。APIキーはプラグイン設定画面に入力し、kintoneのプラグイン設定(暗号化済みストレージ)に保存されます。
Anthropic(Claude)
ClaudeはPDFをネイティブに処理でき、スキャンPDFでも高い精度を発揮します。
- https://platform.claude.com/ にアクセスしてサインイン(またはアカウント作成)
- 左メニューの API Keys をクリック
- Create Key をクリックし、名前を入力して Create Key
sk-ant-で始まるキーをコピー(一度しか表示されません)- プラグイン設定の APIキー 欄に貼り付け
メモ: Anthropicはトークン量に応じた従量課金です。利用状況やクレジット残高は https://platform.claude.com/settings/billing で確認できます。
OpenAI(GPT)
- https://platform.openai.com/ にアクセスしてサインイン(またはアカウント作成)
- 右上のメニューから組織名 → API keys をクリック
- Create new secret key をクリックし、名前を入力して Create secret key
sk-で始まるキーをコピー(一度しか表示されません)- プラグイン設定の APIキー 欄に貼り付け
メモ: PDFはPDF.js(300DPI PNG)で画像変換してからAPIに送信します。デジタルPDFは高精度ですが、スキャンPDFはClaudeと比較してやや精度が低下する場合があります。
Azure OpenAI
Azure OpenAIを使用するには、有効なAzureサブスクリプションとAzure OpenAIリソースの作成が必要です。
ステップ1 — Azure OpenAIリソースの作成:
- https://portal.azure.com/ にサインイン
- 検索ボックスで Azure OpenAI を検索し、作成 をクリック
- サブスクリプション・リソースグループ・リージョン・リソース名を入力し、作成 をクリック
ステップ2 — モデルのデプロイ:
- 作成したリソースを開き、Azure OpenAI Studioに移動 をクリック(または https://oai.azure.com/ に直接アクセス)
- デプロイ → 新しいデプロイの作成 をクリック
- モデル(例:
gpt-4o)を選択し、デプロイ名(例:gpt-4o-deployment)を入力 - デプロイ名 を控えておく(プラグイン設定で使用)
ステップ3 — APIキーとエンドポイントの確認:
- Azureポータルで作成したAzure OpenAIリソースを開く
- キーとエンドポイント(リソース管理の中)をクリック
- キー1(またはキー2)をコピー
- エンドポイント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(個人利用・簡単):
- https://aistudio.google.com/ にアクセスし、Googleアカウントでサインイン
- APIキーを取得 → APIキーを作成 をクリック
- 生成されたキーをコピー
- プラグイン設定の APIキー 欄に貼り付け
方法B — Google Cloud(法人利用・本番環境):
- https://console.cloud.google.com/ にサインイン
- プロジェクトを作成または選択
- APIライブラリで Generative Language API を検索し、有効化
- APIとサービス → 認証情報 → 認証情報を作成 → APIキー をクリック
- 生成されたキーをコピーし、プラグイン設定に貼り付け
プラグイン設定
対象アプリの設定画面で「AI OCR」の 設定 をクリックすると、プラグイン設定画面が開きます。
ライセンスキー
ライセンスキーをお持ちの場合は ライセンスキー 欄に入力し、検証 ボタンで確認してください。このプラグインの使用にはライセンスが必要です。
AIプロバイダーとモデル
- AIプロバイダー ドロップダウンからプロバイダーを選択
- Anthropic の場合: 利用可能なモデル一覧が自動的に表示されます
- OpenAI / Gemini の場合: モデルを読み込む ボタンをクリックしてAPIからモデル一覧を取得
- Azure OpenAI の場合: デプロイ名 を直接入力(Azure OpenAI Studioでデプロイ時に設定した名前)
- 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ウィジェットが表示されます。
| 設定項目 | 説明 |
|---|---|
| スペースフィールドID | OCRウィジェットを表示するSpaceフィールドのエレメントID |
| 添付ファイルフィールド(任意) | OCRソースファイルの保存先となる添付ファイルフィールド |
| ファイルの保存動作 | 追記 — 既存ファイルを残して追加 / 置換 — 上書き |
| 追加プロンプトフィールド(任意) | AIへの追加指示として送信される複数行テキストフィールド |
追加プロンプトフィールドの活用例
追加プロンプトフィールドは、レコードごとに異なるOCR指示をAIに与えられる機能です。指定した複数行テキストフィールドの内容が、OCR実行時に共通プロンプトへ追記されてAIに送信されます。
特殊な書類形式への対応
通常と異なる書式の書類に対して、書類ごとの読み取りルールを記入できます。
この請求書は税込み金額のみ記載されています。
税抜き金額は金額÷1.1で計算してください。
明細の商品コードは英字2桁+数字4桁の形式(例: AB-0123)のみ抽出してください。
ルックアップマッチングのヒント提供
書類に記載された名称がkintoneマスタと表記揺れがある場合、AIルックアップ検索と組み合わせて精度を高められます。
取引先名に"㈱"や"(株)"が含まれる場合は"株式会社"に変換してマスタを検索してください。
マスタからのコピー運用
「書類種別マスタ」などのkintoneアプリにOCR指示を保存しておき、ルックアップでレコードにコピーする運用が可能です。特殊な請求書の読み取りルールをマスタ管理することで、担当者が毎回入力しなくても一定品質のOCRを実現できます。
| 書類種別マスタ | OCR指示(追加プロンプトにコピー) |
|---|---|
| A社請求書 | 金額は税込。品番は英字2桁+数字4桁の形式。 |
| B社注文書 | 数量と単位は別フィールドへ分けて入力。 |
| C社領収書 | 宛名欄を「顧客名」フィールドに入力。 |
フィールドマッピング
OCR結果のキーとkintoneフィールドを紐付けます。
| 列 | 説明 |
|---|---|
| kintoneフィールド | 値を入力するkintoneフィールド(ドロップダウンから選択) |
| OCR結果キー | AIに出力させるJSONのキー名 |
+ フィールドを追加 で行を追加、× で削除します。
設定例: フィールドコード invoice_no のkintoneフィールドに「請求書番号」を読み取る場合:
| kintoneフィールド | OCR結果キー |
|---|---|
請求書番号(invoice_no) | invoice_number |
共通プロンプトにより、AIは { "invoice_number": "INV-001", ... } のようなJSONを返すよう指示されます。プラグインは invoice_number → invoice_no にマッピングします。
テーブルマッピング
OCR結果のテーブル行データをkintoneのサブテーブルフィールドにマッピングします。請求書の明細行などをサブテーブルに入力する際に使用します。
| 設定項目 | 説明 |
|---|---|
| テーブルフィールド | 値を入力するkintoneサブテーブルフィールド |
| 列マッピング | サブテーブルの各列とOCR結果キーを紐付け |
複数のサブテーブルに対してそれぞれテーブルマッピングを追加できます。
パターンB — テーブル行単位OCR
パターンBを有効にする をチェックすると、kintoneのサブテーブルがOCRボタン付きのカスタムテーブルに置き換わります。
| 設定項目 | 説明 |
|---|---|
| テーブルフィールドコード | カスタムOCRテーブルに置き換えるkintoneサブテーブルフィールド |
| スペースフィールドID | カスタムOCRテーブルを表示するSpaceフィールドのエレメントID |
| 添付ファイル列(任意) | OCRソースファイルを保存するFILEタイプのサブテーブル列 |
| ファイルの保存動作 | 追記 — 既存ファイルを残して追加 / 置換 — 上書き |
列マッピング
| 列 | 説明 |
|---|---|
| 列 | サブテーブルの列フィールド(ドロップダウンから選択) |
| OCR結果キー | AIに出力させるJSONのキー名 |
パターンAの使い方(レコード単位OCR)
- レコードを 編集モード で開く
- 設定したSpaceフィールドにOCRウィジェットが表示されます
- ファイルを選択: PDFや画像をドロップゾーンにドラッグ&ドロップするか、クリックしてファイルを選択
- (任意) 追加プロンプト テキストエリアに追加指示を入力
- OCRを実行 をクリック
- AIがファイルを処理し、結果が準備できると OCRレビュー モーダルが表示されます
- レビューモーダルでの操作:
- 左側に書類のプレビューが表示されます(複数ページのPDFはページナビゲーションで切り替え)
- 右側に抽出されたフィールド値が表示されます — 適用前に値を編集できます
- テーブルマッピングを設定している場合、テーブル行データが下部に表示されます
- レコードに適用 をクリックしてkintoneフィールドに値を反映
- 通常通りレコードを保存 — 添付フィールドを設定している場合、この時点でファイルがアップロードされます
パターンBの使い方(テーブル行単位OCR)
- レコードを 編集モード で開く
- 設定したSpaceフィールドにカスタムOCRテーブルが表示されます
- 各行のアクション列に 📎 OCR ボタンがあります
- 入力したい行の 📎 OCR をクリック
- ファイル選択ダイアログが開くので、PDFまたは画像を選択
- OCRが実行され、行のOCR結果 モーダルが表示されます
- 抽出値を確認・編集し、行に適用 をクリック
- 必要な行に対して同様の操作を繰り返す
- + 行を追加 で新しい行を追加、× で行を削除
- 通常通りレコードを保存 — 添付ファイルは保存時にアップロードされます
AIルックアップ検索
ルックアップフィールドにマッピングされたフィールドに対して AIルックアップ検索 を有効にすると、AIが最適なマスタレコードを自動的に選択します。
動作の仕組み
- OCR実行前に、プラグインがルックアップのソースアプリの全レコードを取得してキャッシュ
- OCRでフィールド値が抽出された後、AIがOCR結果とキャンディデートレコードを照合
- AIが最も一致するレコードのキー値を返す
- 照合された値がレビューモーダルに事前入力される
AIルックアップ検索の有効化
パターンA — フィールドマッピングの場合:
kintoneフィールド ドロップダウンでルックアップフィールドを選択すると、行の下に AIルックアップ検索 チェックボックスが表示されます。チェックを入れるとAI照合が有効になります。
パターンB — 列マッピングの場合:
列 ドロップダウンでルックアップ列を選択すると AIルックアップ検索 チェックボックスが表示されます。チェックを入れると有効になります。
活用例
- 取引先名: 請求書から「ABCトレーディング株式会社」を読み取り → AIが取引先マスタを検索して正しい取引先コードを入力
- 勘定科目: 経費の摘要を読み取り → AIが勘定科目マスタから適切な科目コードを選択
- 商品コード: 商品名を読み取り → AIが商品マスタと照合して商品コードを入力
メモ: AIルックアップ検索は追加のAPI呼び出しを行います。適切な一致が見つからない場合は、OCRで読み取った元の文字列がそのまま使用されます。
注意事項・制限
対応ファイル形式
PDF、JPG、JPEG、PNG、WebP
APIキーのセキュリティ
APIキーはkintoneのプラグイン設定(サーバー側暗号化ストレージ)に保存されます。AIプロバイダーのAPIエンドポイント以外のサーバーには送信されません(kintone.proxy 経由で通信)。
PDFの精度
| プロバイダー | デジタルPDF | スキャンPDF |
|---|---|---|
| Claude(Anthropic) | 非常に高い | 非常に高い |
| OpenAI(GPT) | 非常に高い | 高い(300DPI画像変換) |
| Azure OpenAI | 非常に高い | 高い(300DPI画像変換) |
| Gemini(Google) | 非常に高い | 非常に高い |
スキャン書類を大量に処理する場合は、Claude(Anthropic)の使用を推奨します。
パターンAとパターンBは同一のSpaceフィールドを共有できない
両パターンを有効にする場合、それぞれ異なるSpaceフィールドを割り当てる必要があります。同じSpaceフィールドを選択した場合、プラグイン設定画面に警告が表示されます。
kintoneサブテーブル内へのSpaceフィールド配置不可
kintoneの仕様上、サブテーブルの行内にSpaceフィールドを配置することはできません。そのためパターンBでは、サブテーブル全体をSpaceフィールド内のカスタムテーブルで置き換える方式を採用しています。
表示言語
OCRウィジェットおよびプラグイン設定画面は、ログインユーザーの言語設定(kintone.getLoginUser().language)に基づいて日本語または英語で自動的に表示されます。
トラブルシューティング
OCRウィジェットが表示されない
確認事項:
- プラグイン設定が保存されているか(設定画面で「保存」を押したか)
- プラグイン設定でパターンA(またはB)が有効になっているか
- kintoneフォーム設定のSpaceフィールドの エレメントID と、プラグイン設定の スペースフィールドID が一致しているか
- アプリ設定が保存され、アプリが更新されているか
OCRは実行されるがフィールドに値が入らない
確認事項:
- フィールドマッピングの OCR結果キー が共通プロンプトで指定したキー名と完全に一致しているか
- マッピングで選択した kintoneフィールド が正しいか
- レビューモーダルで レコードに適用(または 行に適用)をクリックしたか(値は自動適用されません)
AI APIエラーが発生する
確認事項:
- APIキーが正しく、有効期限が切れていないか
- プラグイン設定で選択したモデルが現在も利用可能か
- Azure OpenAIの場合: リソース名・APIバージョン・デプロイ名がすべて正しいか
- AIアカウントのクレジット・クォータが十分にあるか
ライセンスエラーが表示される
確認事項:
- ライセンスキーがプラグイン設定に入力され、検証済みであるか
- ライセンスの有効期限が切れていないか
パターンB: OCRテーブルでの変更が保存に反映されない
確認事項:
- 元のkintoneサブテーブルは直接編集せず、必ずSpaceフィールドのカスタムOCRテーブルを使用してください
- 元のサブテーブルが画面上に表示されている場合は、kintone管理者にSpaceフィールドの配置を確認してもらってください
