Skill Bankby NEURIA

インボイス・経費 自動整理

invoice-organizer 日本語版

実機検証済み対象:個人事業主・フリーランス検証日 2026-06-29

スキルをダウンロード

SKILL.md とスクリプト一式(展開すると invoice-organizer-jp/)。~/.claude/skills/ に置くだけで使えます。

一式をダウンロード(.zip)

レシート・請求書が混在した雑然としたフォルダを、確定申告・青色申告にそのまま使える Excel(.xlsx) 台帳へ変換する Claude Code スキルです。米国発の invoice-organizer をベースに、日本の青色申告の費目区分と**インボイス制度(適格請求書)**へ対応するよう翻案し、実機で検証しました。

こんな人に

  • 確定申告・青色申告に向けて、経費を自分で整理したい個人事業主・フリーランス
  • 複数の取引先からの請求書・レシートが溜まっている
  • メールでダウンロードした PDF 請求書がフォルダに散らばっている
  • インボイス制度対応の記録(登録番号・税率区分)を残したい
  • 税理士に渡すための経費一覧を作りたい

できること

  1. あらゆる形式のファイルを読み込む — 画像(JPG / PNG)のレシート、PDF 請求書、CSV(カード・銀行明細)、Excel(既存の経費メモ)
  2. 各ファイルから情報を抽出 — 日付 / 取引先 / 金額(税込・税抜)/ 適用税率(10% / 8% / 非課税)/ 適格請求書発行事業者の登録番号(T + 13桁)/ 内容・品目
  3. 日本の費目区分に分類 — 青色申告決算書(一般用)の正式な経費区分に準拠(旅費交通費・通信費・接待交際費・消耗品費・外注工賃・地代家賃 ほか)
  4. Excel(.xlsx) 台帳を出力 — 1ファイル1行の経費一覧シート+費目別・税率別の集計シート。元ファイルへの相対パスを記録し、原本はリネーム・移動せず保持

元スキルからの主な変更点

項目元スキル(米国版)翻案後(日本版)
対象形式PDF・JPG・PNG 中心画像・PDF・CSV・Excel すべてに対応
費目区分Software / Office / Travel 等(米国の会計慣行)青色申告決算書(一般用)の正式な経費区分+内訳管理用の独立区分(会議費・新聞図書費・支払手数料)
出力形式CSVExcel(.xlsx)(集計シート付き)
税制対応なしインボイス制度対応:登録番号列・税率(10% / 8%)区分列を追加

インストール

Claude Code のスキルディレクトリに配置します。

# スキル用のフォルダを作成
mkdir -p ~/.claude/skills/invoice-organizer-jp/scripts

# このページの SKILL 本体を ~/.claude/skills/invoice-organizer-jp/SKILL.md として保存
# Excel 生成スクリプトを ~/.claude/skills/invoice-organizer-jp/scripts/generate_expense_xlsx.py として保存

Excel 出力には openpyxl が必要です(検証時のつまずきポイント。詳しくは末尾の検証ログ参照)。

pip install openpyxl

使い方

整理したいフォルダで Claude Code に依頼するだけです。

cd ~/Desktop/レシート整理
このフォルダの画像・PDF・CSV ファイルを読み込んで、
日付・取引先・金額・税率・登録番号を抽出し、
青色申告決算書の費目区分(旅費交通費・通信費・接待交際費・消耗品費・外注工賃 等)に分類して、
インボイス対応の Excel 台帳(expense-summary.xlsx)を作って

抽出した情報は次のような JSON にまとめてからスクリプトに渡し、Excel を生成します。

[
  {
    "date": "2026-04-15",
    "vendor": "株式会社オフィスマート",
    "description": "コピー用紙 A4 5束、ボールペン 10本",
    "amount_incl_tax": 3630,
    "tax_rate": 10,
    "category": "消耗品費",
    "registration_number": "T1234567890123",
    "file_path": "sample_receipts/receipt1_office_supplies.png",
    "needs_review": false
  }
]
python3 scripts/generate_expense_xlsx.py --input extracted_data.json --output expense-summary.xlsx

出力サンプル

実機検証で生成した expense-summary.xlsx は2シート構成です。

経費一覧シート(抜粋)

日付取引先内容税込税抜税率登録番号費目区分確認
2026-04-15株式会社オフィスマート事務用品3,6303,30010%T1234567890123消耗品費
2026-04-18個人タクシー 山田太郎タクシー利用1,8001,63610%なし旅費交通費要確認
2026-04-20株式会社ネクストネット回線利用料8,8008,00010%T9876543210123通信費
2026-04-22スターバックス 渋谷店カード利用(用途不明)980不明なし会議費要確認

税抜金額は「税込金額 ÷ (1 + 税率)」で自動計算されます。税率や登録番号が読み取れない取引には自動で 要確認 フラグが立ちます。

集計シート

  • 費目別小計:支払手数料 1件 / ¥55,000、旅費交通費 2件 / ¥16,800、通信費 1件 / ¥8,800、消耗品費 2件 / ¥8,130、会議費 1件 / ¥980
  • 税率別小計:不明 4件 / ¥75,480、10% 3件 / ¥14,230
  • 登録番号なしの件数(インボイス対象外の可能性、要確認):5件

安全に使うための設計

  • 税率の記載がない取引を、勝手に「標準10%」と推測して処理しない(必ず 税率不明 として記録し確認を促す)
  • 登録番号が読み取れない取引は 登録番号なし として集計し、インボイス制度の経過措置などの税務判断はスキルでは行わず、税理士・ユーザー確認に委ねる
  • 原本ファイルはリネーム・移動せず保持。台帳には元ファイルへの相対パスのみを記録

原作クレジット

本スキルは invoice-organizer を基に、日本語環境向けに翻案・実機検証したものです。

Original by ComposioHQ, license: Apache License 2.0

※ 原リポジトリ awesome-claude-skills は README でリポジトリ全体を Apache License 2.0 と明示しています。invoice-organizer フォルダには個別の LICENSE ファイルが置かれていないため、リポジトリ全体の Apache License 2.0 が適用されます。

検証ログ:詰まった点と学び

実際に Claude Code 上で 4 形式(画像 PNG ×2・PDF ×1・CSV ×1・既存 Excel ×1、計 7 レコード)のサンプルを読み取り、Excel 台帳を生成して値を検証しました。

検証日:2026-06-29

検証手順

  1. 元リポジトリの invoice-organizer/SKILL.md(master ブランチ)を取得して保存。
  2. 日本向けに翻案した SKILL.md を作成(対応形式の拡張、青色申告決算書の正式な経費区分への変更、出力を Excel に変更、インボイス制度の登録番号・税率区分への対応)。
  3. Excel 出力用スクリプト scripts/generate_expense_xlsx.py(openpyxl 使用)を新規作成。
  4. 4 形式のサンプルファイルを作成し、Claude Code の Read ツールで内容を読み取って情報抽出。
  5. 抽出結果を extracted_data.json にまとめ、スクリプトを実行して expense-summary.xlsx を生成。
  6. 生成された xlsx を openpyxl で読み込み、値を検証。

つまずいた点と対処

  • openpyxl 未インストール:スクリプト実行前に ModuleNotFoundError: No module named 'openpyxl' が発生。pip3 install openpyxl で解決(v3.1.5)。実行環境に入っていない可能性があるため、SKILL.md 内に pip install openpyxl の前提を明記しました。
  • 日本語フォントの選定:サンプル画像生成に PIL で日本語を描画する際、/System/Library/Fonts/ 配下にヒラギノ角ゴシックが見当たらず、Hiragino Sans GB.ttc(簡体字中国語向け)を使用。漢字・ひらがな・カタカナとも問題なく描画できることを確認(あくまでテスト用画像生成の話で、本番の読み取り精度には影響しません)。
  • PDF 生成reportlabpymupdf が未インストールだったため、PIL 標準の Image.save(path, "PDF") でテスト用 PDF を作成。Claude Code の Read ツールで PDF 内の日本語テキストを問題なく認識できました。

動作確認結果

  • 画像(PNG)・PDF・CSV・Excel の 4 形式すべてを読み取り、日付・取引先・金額・税率・登録番号・費目区分を正しく抽出できた。
  • CSV(カード明細)のように税率・登録番号の情報が無いケースでは needs_review: true で正しくフラグが立ち、集計シートの「登録番号なしの件数」(5件)に反映された。
  • 出力された expense-summary.xlsx は「経費一覧」シート(10列・7レコード)と「集計」シート(費目区分別小計・税率別小計・登録番号なし件数)の2シート構成で、税抜金額の自動計算(税込 ÷ (1 + 税率))も正しく動作した。
  • スクリプト実行時にエラーは発生しなかった(openpyxl インストール後)。

残課題(ユーザー判断が必要な点)

  • 「会議費・新聞図書費・支払手数料」は青色申告決算書の正式な印刷欄には無い区分。最終的に申告書へ転記する際、これらを「雑費」にまとめるかどうかは要件次第のため、SKILL.md 上でユーザー確認を促す記載にしてあります。
  • インボイス制度の経過措置(免税事業者からの仕入れに係る一定割合の控除可否)など、税務的な最終判断はスキルでは行わず、必ず税理士・ユーザー確認を促す設計にしています。