
receipt-ocr-sorter
Automatically OCR, rename, and sort receipt images/PDFs/videos by date, amount, and project, with summary reports and D365 expense mapping. Use when sorting receipts, organizing expense files, OCR renaming, receipt sorting, レシート仕分け, or D365経費カテゴリマッピング.
- Installs
- 54
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/aktsmm/agent-skills --skill receipt-ocr-sorter- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads receipt-ocr-sorter automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Receipt OCR Sorter
OCR(Surya)を使った領収書の自動仕分け・リネーム・集計ツール。
When to Use
- 領収書を仕分けて, レシートを整理して, receipt sorting
- フォルダ内の領収書画像をプロジェクト単位で自動整理したい
- 大量のレシート写真に日付・金額・用途でファイル名を付けたい
- 出張経費の領収書を一括でリネーム&集計したい
Core Workflow
- 入力フォルダの画像 / PDF / ZIP / 動画を受け取る
- OCR で日付・金額・国・カード・用途を抽出する
- 品質補正をかけて標準ファイル名へ正規化する
- プロジェクト単位で仕分ける
- Markdown サマリーを出す
Architecture
入力フォルダ(incoming/unassigned 等)
│
├─ JPEG/PNG/PDF/ZIP → OCR → 抽出 → リネーム → PJフォルダへ移動
├─ MP4/MOV → ffmpeg → JPG → OCR → ...
│
├─ カード不明 or テキスト不可 → 未分類フォルダ → 再仕分け可能
│
└─ 個人経費(D365対象外) → PJフォルダ/private/
private/フォルダ: D365 に申請しない個人経費レシートを格納する。OCR後にユーザーが「個人経費」と判断した場合に移動する。
Naming Convention
YYYY-MM-DD-国コード-金額[-カード]-分類.ext
例:
2026-02-09-jpn-14320-amex-shinkansen.jpeg
2026-02-11-us-272-amex-hotel.jpeg
2026-02-12-us-190.38-meal.jpeg ← カードなし
2026-02-09-us-6.80-amex-meal-starbucks.jpeg
国コード一覧、分類一覧、D365 カテゴリ対応、添付手順は references/d365-expense-guide.md を参照。
CLI Usage
# Dry-run(確認のみ、ファイル移動なし)
python receipt_sorter.py --project "202602_Domestic_Trip" --dry-run
# 本実行
python receipt_sorter.py --project "202602_Domestic_Trip" --input "incoming\unassigned"
# ログ指定
python receipt_sorter.py --project "202602_Domestic_Trip" --input "incoming\unassigned" --log "result.csv"
Options
| オプション | 説明 | デフォルト |
|---|---|---|
--project | 出力PJフォルダ名(必須) | - |
--input | 入力フォルダ | incoming/unassigned/ |
--dry-run | ファイル移動せず結果のみ表示 | false |
--log | 結果CSVパス | <PJフォルダ>/csv/<PJ名>_dryrun.csv or _result.csv |
Markdown Summary Output
本実行後、PJフォルダに <PJ名>_summary.md が自動生成される。
含む内容:
- プロジェクト合計(通貨混在・参考値)
- 国コード別合計テーブル
- 日付×国コード別合計テーブル
- 全明細テーブル(日付・国・金額・カード・分類・日本語概要・ファイル名)
Intake Pattern
- 未分類の生ファイルは、workspace root ではなく専用の intake folder に集約する
- 例:
incoming/unassigned/ - 案件が確定しているファイルは、intake folder を経由せず project folder へ直接入れてよい
- dry-run 用のコピーや検証入力は一時フォルダで扱い、完了後に削除する
Setup
→ references/setup-guide.md
Script Reference
→ references/receipt_sorter.py
D365 Expense Integration
OCR 後のファイルを D365 Expense に添付する運用はこの skill の重要ユースケースだが、カテゴリ表と添付手順は本体から分離する。
- カテゴリ対応表
- 添付 / 差し替え手順
- 添付時の照合ルール
- ブラウザ操作の注意
詳細は references/d365-expense-guide.md を参照。
Known Limitations
- OCRの精度はSuryaモデルに依存(手書きや歪みが大きい領収書は誤読あり)
- 金額は最大候補を採用するが、複数明細のあるレシートでは個別明細は取れない
- 金額連結誤読: OCRが改行をまたいで数字を結合し巨大整数を返すことがある(例:
14520+300→14520300)。上限チェック(500万超は除外)で防御しているが、完全ではない - 動画は中間フレーム1枚のみ抽出(最適フレーム選択は未実装)
- 日本語の漢字店名はスラッグ化時にASCII変換で落ちる(カタカナはローマ字化される)
- Windows PIL ファイルロック:
Image.open()がハンドルを保持しshutil.move()がWinError 32で失敗する。with+img.copy()+ リトライで対応済み
Done Criteria
- OCR 抽出からリネームまで一貫して処理できる
- 標準ファイル名でプロジェクト単位に仕分けできる
- 未分類と private の扱いを説明できる
- Markdown サマリーが出力される
- D365 へ載せる場合は reference の照合ルールに従って添付できる
FAQ
What does the receipt-ocr-sorter skill do?
Automatically OCR, rename, and sort receipt images/PDFs/videos by date, amount, and project, with summary reports and D365 expense mapping. Use when sorting receipts, organizing expense files, OCR renaming, receipt sorting, レシート仕分け, or D365経費カテゴリマッピング.
How do I install receipt-ocr-sorter?
Run npx skills add https://github.com/aktsmm/agent-skills --skill receipt-ocr-sorter in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/receipt-ocr-sorter/ (personal) or .claude/skills/receipt-ocr-sorter/ (project).
Which AI agents can use receipt-ocr-sorter?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is receipt-ocr-sorter safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains receipt-ocr-sorter?
It is published by aktsmm in aktsmm/agent-skills. It has 54 recorded installs.
More from aktsmm/agent-skills
powerpoint-automation
aktsmm/agent-skills
Convert web articles or blog posts into slides through a content.json pipeline, translate or rebuild existing PPTX files onto a template, and edit an already-open PowerPoint deck with COM Automation (RefURL, overflow review). Use for article-to-slides conversion, deck translation, template-based rebuilds, or live COM editing of an open deck. Not for simply reading, inspecting, or lightly editing a .pptx file. Triggers on 記事をスライド化, スライド翻訳, 開いているパワポを編集, COM自動化, RefURL, content.json.
skill-finder
aktsmm/agent-skills
Search, install, and manage Agent Skills locally and from GitHub, then help decide whether the task really needs a skill or another customization primitive. Use when looking for skills, installing skills, managing a skill collection, or choosing between a skill, prompt, instruction, or agent.
ocr-super-surya
aktsmm/agent-skills
GPU-optimized OCR using Surya. Use when extracting text from images/screenshots, recovering image-only content in PDFs or slides, or inspecting multilingual document layouts. Preserve source locations and report recognition gaps separately from verified text.
code-simplifier
aktsmm/agent-skills
Open the skill to read its SKILL.md instructions.
book-writing-workspace
aktsmm/agent-skills
Operate a reusable technical book manuscript workspace with writing structure, reader persona SSOT, review rules, and optional Markdown to Re:VIEW/PDF support. Use when organizing a book manuscript repo, defining or reviewing target readers, standardizing chapter/section files, setting writing/review agents, handling publisher proof comments, or assessing an existing writing workspace. Triggers on book writing workspace, reader persona, reader audience, 読者ペルソナ, persona SSOT, technical book project, 執筆ワークスペース, manuscript workflow, Re:VIEW workspace, proof PDF, annotated proof, publisher proof comments, 校正, 校正注釈, and 初校.
vscode-extension-guide
aktsmm/agent-skills
Open the skill to read its SKILL.md instructions.
Popular ai & agents skills
google-agents-cli-publish
google/agents-cli
This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).
google-agents-cli-eval
google/agents-cli
This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).
skill-creator
anthropics/skills
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
codex-pet
prime-skills/runcomfy-agent-skills
Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.
full-output-enforcement
leonxlnx/taste-skill
Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.
executing-plans
obra/superpowers
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available