expense-report
経費報告書の作成、領収書の整理、経費の分類、支出の要約を行い、払い戻しや税務申告の準備を支援し、領収書データや手入力にも対応して、ビジネス経費を効率的に管理するSkill。
📜 元の英語説明(参考)
Organize, categorize, and summarize business expenses for reimbursement and tax preparation. Use when a user asks to create an expense report, organize receipts, categorize expenses, summarize spending, prepare expenses for reimbursement, or compile business expenses for tax filing. Handles receipts, CSV data, and manual entries.
🇯🇵 日本人クリエイター向け解説
経費報告書の作成、領収書の整理、経費の分類、支出の要約を行い、払い戻しや税務申告の準備を支援し、領収書データや手入力にも対応して、ビジネス経費を効率的に管理するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o expense-report.zip https://jpskill.com/download/14880.zip && unzip -o expense-report.zip && rm expense-report.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/14880.zip -OutFile "$d\expense-report.zip"; Expand-Archive "$d\expense-report.zip" -DestinationPath $d -Force; ri "$d\expense-report.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
expense-report.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
expense-reportフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
経費報告書
概要
ビジネス経費を整理、分類し、プロフェッショナルな報告書にまとめます。このスキルは、領収書、CSVファイル、または手動入力からの経費データを処理し、種類別に分類し、合計を計算し、払い戻し申請または税務申告に適した形式の報告書を生成します。
手順
ユーザーが経費報告書の作成または経費の整理を依頼した場合、次の手順に従ってください。
ステップ 1: 経費データを収集する
利用可能なソースから経費を収集します。
CSV またはスプレッドシートから:
import pandas as pd
def load_expenses_csv(file_path):
df = pd.read_csv(file_path)
# Normalize column names
df.columns = [col.strip().lower() for col in df.columns]
return df
手動入力から: 各経費についてユーザーに尋ねるか、リストを受け入れます。
- 日付
- 摘要 / ベンダー
- 金額
- カテゴリ (提供されていない場合は自動的に割り当てます)
- 支払い方法 (クレジットカード、現金、払い戻し可能)
領収書の画像または PDF から: OCR またはテキスト抽出を使用してデータを抽出し、同じ形式に構造化します。
ステップ 2: 経費を分類する
各経費を標準カテゴリに割り当てます。ベンダー名と摘要に基づいて自動的に分類します。
CATEGORY_RULES = {
"Travel": ["airline", "hotel", "uber", "lyft", "taxi", "flight", "airbnb", "rental car"],
"Meals & Entertainment": ["restaurant", "cafe", "coffee", "lunch", "dinner", "doordash", "grubhub"],
"Office Supplies": ["staples", "office depot", "amazon", "supplies"],
"Software & Subscriptions": ["github", "aws", "google cloud", "slack", "zoom", "adobe", "saas"],
"Transportation": ["gas", "parking", "toll", "metro", "transit"],
"Professional Services": ["consulting", "legal", "accounting", "freelance"],
"Communication": ["phone", "internet", "verizon", "att", "tmobile"],
"Training & Education": ["course", "conference", "workshop", "udemy", "training"],
}
def categorize_expense(description):
desc_lower = description.lower()
for category, keywords in CATEGORY_RULES.items():
if any(keyword in desc_lower for keyword in keywords):
return category
return "Other"
ステップ 3: 合計と概要を計算する
def summarize_expenses(df):
summary = {
"total": df['amount'].sum(),
"by_category": df.groupby('category')['amount'].sum().to_dict(),
"by_month": df.groupby(df['date'].dt.to_period('M'))['amount'].sum().to_dict(),
"count": len(df),
"date_range": f"{df['date'].min()} to {df['date'].max()}",
"avg_per_expense": df['amount'].mean(),
"largest_expense": df.loc[df['amount'].idxmax()].to_dict()
}
return summary
ステップ 4: レポートを生成する
複数のシートを含む Excel レポート:
def generate_excel_report(df, summary, output_path="expense_report.xlsx"):
with pd.ExcelWriter(output_path, engine='openpyxl') as writer:
# Summary sheet
summary_df = pd.DataFrame([
{"Metric": "Total Expenses", "Value": f"${summary['total']:.2f}"},
{"Metric": "Number of Expenses", "Value": summary['count']},
{"Metric": "Date Range", "Value": summary['date_range']},
{"Metric": "Average per Expense", "Value": f"${summary['avg_per_expense']:.2f}"},
])
summary_df.to_excel(writer, sheet_name='Summary', index=False)
# Category breakdown
cat_df = pd.DataFrame([
{"Category": cat, "Total": f"${amt:.2f}"}
for cat, amt in sorted(summary['by_category'].items(), key=lambda x: -x[1])
])
cat_df.to_excel(writer, sheet_name='By Category', index=False)
# All expenses detail
df.to_excel(writer, sheet_name='All Expenses', index=False)
return output_path
クイックレビュー用の Markdown 概要:
def generate_markdown_summary(summary):
lines = [
"# Expense Report Summary",
f"**Period:** {summary['date_range']}",
f"**Total Expenses:** ${summary['total']:.2f}",
f"**Number of Items:** {summary['count']}",
"",
"## By Category",
]
for cat, amt in sorted(summary['by_category'].items(), key=lambda x: -x[1]):
pct = (amt / summary['total']) * 100
lines.append(f"- **{cat}:** ${amt:.2f} ({pct:.1f}%)")
return "\n".join(lines)
ステップ 5: 結果を表示し、問題を指摘する
概要を表示し、潜在的な問題を指摘します。
- 領収書がない経費
- 異常に高額な個々の経費
- 報告期間外の経費
- 重複エントリ (同じベンダー、金額、日付)
例
例 1: CSV からの月次経費報告書
ユーザーのリクエスト: "expenses.csv ファイルから 1 月の経費報告書を作成してください"
実行されたアクション:
- expenses.csv をロードして解析します
- 1 月のエントリにフィルタリングします
- 34 件の経費を自動的に分類します
- 概要と Excel レポートを生成します
出力:
Expense Report: January 2025
=============================
Total Expenses: $4,287.50
Number of Items: 34
Average per Expense: $126.10
By Category:
Travel: $1,850.00 (43.1%)
Software & Subscriptions: $680.00 (15.9%)
Meals & Entertainment: $542.30 (12.7%)
Office Supplies: $418.20 (9.8%)
Transportation: $365.00 (8.5%)
Professional Services: $320.00 (7.5%)
Other: $112.00 (2.6%)
Top 3 Expenses:
1. $890.00 - Delta Airlines (Jan 15)
2. $520.00 - Marriott Hotel (Jan 15-16)
3. $320.00 - Legal consultation (Jan 22)
Flags:
- 2 potential duplicates found (review recommended)
- 3 expenses over $200 may require manager approval
Report saved: expense_report_jan_2025.xlsx
例 2: 年間の税務経費概要
ユーザーのリクエスト: "税務申告のために 2024 年のすべての事業経費を要約してください"
実行されたアクション:
- 年間の経費データをロードします
- IRS Schedule C カテゴリを使用して分類します
- 月ごとの内訳を含む年間の概要を生成します
出力:
Ann
(原文がここで切り詰められています) 📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Expense Report
Overview
Organize, categorize, and summarize business expenses into professional reports. This skill processes expense data from receipts, CSV files, or manual entries, categorizes them by type, calculates totals, and generates formatted reports suitable for reimbursement submissions or tax preparation.
Instructions
When a user asks to create an expense report or organize their expenses, follow these steps:
Step 1: Collect expense data
Gather expenses from the available sources:
From a CSV or spreadsheet:
import pandas as pd
def load_expenses_csv(file_path):
df = pd.read_csv(file_path)
# Normalize column names
df.columns = [col.strip().lower() for col in df.columns]
return df
From manual entries: Prompt the user for each expense or accept a list:
- Date
- Description / Vendor
- Amount
- Category (assign automatically if not provided)
- Payment method (credit card, cash, reimbursable)
From receipt images or PDFs: Extract data using OCR or text extraction, then structure into the same format.
Step 2: Categorize expenses
Assign each expense to a standard category. Auto-categorize based on vendor name and description:
CATEGORY_RULES = {
"Travel": ["airline", "hotel", "uber", "lyft", "taxi", "flight", "airbnb", "rental car"],
"Meals & Entertainment": ["restaurant", "cafe", "coffee", "lunch", "dinner", "doordash", "grubhub"],
"Office Supplies": ["staples", "office depot", "amazon", "supplies"],
"Software & Subscriptions": ["github", "aws", "google cloud", "slack", "zoom", "adobe", "saas"],
"Transportation": ["gas", "parking", "toll", "metro", "transit"],
"Professional Services": ["consulting", "legal", "accounting", "freelance"],
"Communication": ["phone", "internet", "verizon", "att", "tmobile"],
"Training & Education": ["course", "conference", "workshop", "udemy", "training"],
}
def categorize_expense(description):
desc_lower = description.lower()
for category, keywords in CATEGORY_RULES.items():
if any(keyword in desc_lower for keyword in keywords):
return category
return "Other"
Step 3: Calculate totals and summaries
def summarize_expenses(df):
summary = {
"total": df['amount'].sum(),
"by_category": df.groupby('category')['amount'].sum().to_dict(),
"by_month": df.groupby(df['date'].dt.to_period('M'))['amount'].sum().to_dict(),
"count": len(df),
"date_range": f"{df['date'].min()} to {df['date'].max()}",
"avg_per_expense": df['amount'].mean(),
"largest_expense": df.loc[df['amount'].idxmax()].to_dict()
}
return summary
Step 4: Generate the report
Excel report with multiple sheets:
def generate_excel_report(df, summary, output_path="expense_report.xlsx"):
with pd.ExcelWriter(output_path, engine='openpyxl') as writer:
# Summary sheet
summary_df = pd.DataFrame([
{"Metric": "Total Expenses", "Value": f"${summary['total']:.2f}"},
{"Metric": "Number of Expenses", "Value": summary['count']},
{"Metric": "Date Range", "Value": summary['date_range']},
{"Metric": "Average per Expense", "Value": f"${summary['avg_per_expense']:.2f}"},
])
summary_df.to_excel(writer, sheet_name='Summary', index=False)
# Category breakdown
cat_df = pd.DataFrame([
{"Category": cat, "Total": f"${amt:.2f}"}
for cat, amt in sorted(summary['by_category'].items(), key=lambda x: -x[1])
])
cat_df.to_excel(writer, sheet_name='By Category', index=False)
# All expenses detail
df.to_excel(writer, sheet_name='All Expenses', index=False)
return output_path
Markdown summary for quick review:
def generate_markdown_summary(summary):
lines = [
"# Expense Report Summary",
f"**Period:** {summary['date_range']}",
f"**Total Expenses:** ${summary['total']:.2f}",
f"**Number of Items:** {summary['count']}",
"",
"## By Category",
]
for cat, amt in sorted(summary['by_category'].items(), key=lambda x: -x[1]):
pct = (amt / summary['total']) * 100
lines.append(f"- **{cat}:** ${amt:.2f} ({pct:.1f}%)")
return "\n".join(lines)
Step 5: Present results and flag issues
Display the summary and flag any potential issues:
- Expenses missing receipts
- Unusually large individual expenses
- Expenses outside the reporting period
- Duplicate entries (same vendor, amount, and date)
Examples
Example 1: Monthly expense report from CSV
User request: "Create an expense report from my expenses.csv file for January"
Actions taken:
- Load and parse expenses.csv
- Filter to January entries
- Auto-categorize 34 expenses
- Generate summary and Excel report
Output:
Expense Report: January 2025
=============================
Total Expenses: $4,287.50
Number of Items: 34
Average per Expense: $126.10
By Category:
Travel: $1,850.00 (43.1%)
Software & Subscriptions: $680.00 (15.9%)
Meals & Entertainment: $542.30 (12.7%)
Office Supplies: $418.20 (9.8%)
Transportation: $365.00 (8.5%)
Professional Services: $320.00 (7.5%)
Other: $112.00 (2.6%)
Top 3 Expenses:
1. $890.00 - Delta Airlines (Jan 15)
2. $520.00 - Marriott Hotel (Jan 15-16)
3. $320.00 - Legal consultation (Jan 22)
Flags:
- 2 potential duplicates found (review recommended)
- 3 expenses over $200 may require manager approval
Report saved: expense_report_jan_2025.xlsx
Example 2: Annual tax expense summary
User request: "Summarize all my business expenses from 2024 for tax filing"
Actions taken:
- Load expense data for full year
- Categorize using IRS Schedule C categories
- Generate annual summary with monthly breakdown
Output:
Annual Expense Summary: 2024
============================
Total Business Expenses: $48,320.75
IRS Schedule C Categories:
Advertising: $3,200.00
Car & Truck Expenses: $4,850.00
Contract Labor: $8,400.00
Insurance: $2,160.00
Office Expenses: $5,680.00
Supplies: $2,340.00
Travel: $12,450.00
Meals (50% deductible): $4,280.75
Utilities: $1,920.00
Other: $3,040.00
Monthly Trend:
Highest month: November ($6,420)
Lowest month: August ($2,180)
Report saved: annual_expenses_2024.xlsx
Example 3: Organize receipts from a business trip
User request: "I just got back from a conference in Chicago. Organize these receipts: flights $450, hotel 3 nights $180/night, Uber rides $85, meals $220, conference ticket $399"
Output:
Business Trip Expense Report: Chicago Conference
=================================================
Total: $1,694.00
Expenses:
Date | Category | Description | Amount
---------- | ------------- | --------------------- | --------
[Trip] | Travel | Round-trip flights | $450.00
[Trip] | Travel | Hotel (3 nights) | $540.00
[Trip] | Transportation| Uber rides | $85.00
[Trip] | Meals | Meals during trip | $220.00
[Trip] | Training | Conference registration| $399.00
Summary:
Travel & Lodging: $990.00 (58.4%)
Meals: $220.00 (13.0%)
Training: $399.00 (23.6%)
Transportation: $85.00 (5.0%)
Note: Fill in specific dates for each expense before submitting.
Report saved: trip_expense_chicago.xlsx
Guidelines
- Auto-categorize expenses by default but allow the user to override categories.
- Always flag potential duplicates (same vendor, amount, and date within 1 day).
- Use standard business expense categories that align with common reimbursement policies and IRS Schedule C.
- For tax reports, note which categories have special deduction rules (e.g., meals at 50%).
- Format all currency amounts consistently with two decimal places.
- When generating Excel reports, include a summary sheet, category breakdown, and full detail sheet.
- Date formats should be consistent. Parse and normalize dates from various input formats.
- Never assume tax rates or reimbursement policies. Present the data and let the user or their accountant make tax decisions.
- Install pandas and openpyxl with
pip install pandas openpyxlif not available.