ホーム/财务与会计/reading-invoice
R

reading-invoice

by @kazukinagatav
4.4(4)

請求書の画像を読み取り構造化データを返す。 他のスキルから呼び出されるほか、直接ユーザーが呼び出すことも可能。

Invoice ProcessingFinancial Document AutomationOCR for FinanceExpense ManagementAccounts PayableGitHub
インストール方法
npx skills add kazukinagata/shinkoku --skill reading-invoice
compare_arrows

Before / After 効果比較

1
使用前

紙や画像形式の請求書から手動でデータを入力することは、時間がかかり、エラーが発生しやすく、非効率的です。特に大量の請求書を処理する場合、膨大な作業量となります。

使用後

reading-invoiceスキルを使用すると、請求書画像から構造化データ(金額、日付、サプライヤーなど)が自動的に抽出され、処理効率と正確性が大幅に向上し、手作業による介入が削減されます。

description SKILL.md


name: reading-invoice description: > 請求書の画像を読み取り構造化データを返す。 他のスキルから呼び出されるほか、直接ユーザーが呼び出すことも可能。

請求書 画像読み取り

請求書の画像を読み取り、構造化データとして返すスキル。

PDF ファイルの場合

ファイルが PDF(.pdf)の場合、画像 OCR の前にテキスト抽出を試みる。

  1. shinkoku pdf extract-text --file-path <path> を実行する
  2. 抽出テキストに必要な情報(金額・日付・請求元等)が含まれていれば、テキストから構造化データを生成する
  3. テキストが不十分(スキャン PDF 等)の場合は shinkoku pdf to-image --file-path <path> --output-dir <dir> で PNG に変換し、以下の画像読み取りフローに進む

画像読み取り方法

推奨: デュアル検証(並列2コンテキスト)

精度を高めるため、同じ画像を2つの独立したコンテキストで並列に読み取り、結果を照合する。

  1. 2つの独立した読み取りを実行する: サブエージェントが使える環境では、2つのサブエージェントを並列で起動し、それぞれ独立に画像を読み取る。 各サブエージェントには以下の「基本ルール」と「出力フォーマット」をプロンプトとして渡し、画像ファイルパスを指定する。

  2. 結果照合: 両方の読み取り結果から主要フィールド(金額等)を比較する。

  3. 一致の場合: そのまま採用。「2つの独立した読み取りで結果が一致しました」と報告する。

  4. 不一致の場合: ユーザーに元画像パスと両方の結果を提示し、正しい方を選択してもらう:

    • 差異のあるフィールドを明示する
    • A を採用 / B を採用 / 手動入力 の3択を提示する

フォールバック(サブエージェント非対応の場合)

サブエージェントが利用できない環境では、以下の手順で読み取る:

  1. 画像ファイルを直接 Read ツールで読み取る
  2. 以下の「基本ルール」と「出力フォーマット」に従ってデータを抽出する
  3. 抽出結果をユーザーに提示し、必ず目視確認を依頼する

⚠ デュアル検証が利用できないため、必ずユーザーに目視確認を依頼してください。

基本ルール

  • 画像ファイルは Read ツールで読み取る(Claude Vision が自動的に画像を認識する)
  • 金額は必ず int(円単位の整数)で返す。カンマや「円」は除去する
  • 日付は YYYY-MM-DD 形式で返す
  • 和暦は西暦に変換する(令和7年 → 2025、令和6年 → 2024、平成31年 → 2019)
  • 読み取れないフィールドは UNKNOWN(文字列)または 0(金額)とする
  • 複数ファイルを渡された場合は全て順に処理してまとめて返す

出力フォーマット

画像を読み取り、以下の形式で返す:

---INVOICE_DATA---
vendor: 請求元名
invoice_number: 請求書番号
invoice_registration_number: 適格請求書発行事業者番号(T+13桁)
date: YYYY-MM-DD
total_amount: 請求金額合計(int)
tax_amount: 消費税額(int)
items:
  - description: 品目・サービス名
    amount: 金額(int)
    quantity: 数量(int)
    tax_rate: 税率(10 or 8)
---END---

抽出のポイント

  • 請求金額の合計(税込)を最優先で抽出する
  • 消費税額を確認する(10% と 8% 軽減税率の区分があれば区別する)
  • インボイス番号(T+13桁の適格請求書発行事業者登録番号)の有無を確認する
  • 請求書番号がある場合は抽出する
  • 請求元(vendor)の名称を抽出する
  • 日付は請求日を使用する(発行日と請求日が異なる場合は請求日を優先)
  • 明細行は読み取れる範囲で抽出する(不明な場合は items を空にする)

複数ファイルの処理

複数のファイルパスが指示された場合:

  1. Glob ツールでファイル一覧を取得する(パターンが指示された場合)
  2. 各ファイルを Read ツールで順に読み取る
  3. 全ファイルの結果をまとめて返す(各結果の前にファイル名を記載する)
## file1.jpg
---INVOICE_DATA---
...
---END---

## file2.jpg
---INVOICE_DATA---
...
---END---

forumユーザーレビュー (0)

レビューを書く

効果
使いやすさ
ドキュメント
互換性

レビューなし

統計データ

インストール数200
評価4.4 / 5.0
バージョン
更新日2026年3月17日
比較事例1 件

ユーザー評価

4.4(4)
5
0%
4
0%
3
0%
2
0%
1
0%

この Skill を評価

0.0

対応プラットフォーム

🔧Claude Code
🔧OpenClaw
🔧OpenCode
🔧Codex
🔧Gemini CLI
🔧GitHub Copilot
🔧Amp
🔧Kimi CLI

タイムライン

作成2026年3月17日
最終更新2026年3月17日