invoice-extract
Skill0 starsChanged 4 months agoMITView on GitHub
受領した請求書PDF(スキャン画像を含む)から発行元・金額・支払期日・登録番号などを抽出し、検算つきの一覧表(CSV / Excel)にする。請求書の転記、支払一覧の作成、経費精算の集計に使う。
In this repository8 other files it gives its agents.
- contract-reviewSkill
- expense-auditSkill
- manual-writerSkill
- meeting-minutesSkill
- rfp-analysisSkill
- security-checksheetSkill
- skill-builderSkill
- support-replySkill
The file
Files
請求書データ化
複数の請求書PDFから必要項目を抽出し、そのまま支払処理に回せる一覧表を作る。
入力として受け取るもの
- 請求書PDF(1枚でもフォルダ単位でも可。スキャン画像のPDFも対象)
- 出力先のファイル名(指定がなければ
invoices_YYYYMMDD.csv) - 自社で使っている項目名の指定(あれば)
手順
- 対象ファイルを列挙する。 Glob で PDF を集め、件数をユーザーに伝えてから処理を始める。
- 1件ずつ読む。 ファイルごとに全ページを読む。複数の請求書が1つのPDFに結合されている場合は分割して扱う。
- 項目を抽出する。 下記の抽出項目に従う。読み取れない項目は空欄にし、
備考に要確認: <項目名>と書く。 - 検算する。 下記の検算ルールを全件に適用し、不一致は
検算列に記録する。 - 一覧表を出力する。 CSV を既定とし、Excel を求められた場合は
.xlsxにする。 - サマリを報告する。 処理件数、合計金額、要確認の件数、検算不一致の件数を伝える。
抽出項目
| 列名 | 内容 | 備考 |
file_name | 元ファイル名 | 追跡用。必ず入れる |
issuer | 発行元の正式名称 | 「株式会社」を省略しない |
registration_no | 適格請求書発行事業者の登録番号 | T + 13桁。無い場合は空欄 |
invoice_no | 請求書番号 | |
issue_date | 発行日 | YYYY-MM-DD |
due_date | 支払期日 | YYYY-MM-DD |
subtotal_10 | 10%対象の小計 | 数値のみ |
tax_10 | 10%の消費税額 | 数値のみ |
subtotal_8 | 8%対象(軽減税率)の小計 | 対象がなければ空欄 |
tax_8 | 8%の消費税額 | 対象がなければ空欄 |
total | 請求金額(税込) | 数値のみ |
bank_account | 振込先 | 銀行名・支店名・口座種別・口座番号 |
payment_terms | 支払条件 | 「月末締め翌月末払い」など |
check | 検算結果 | OK または不一致の内容 |
note | 備考 | 要確認: <項目名> を列挙 |
検算ルール
すべての行に対して次を確認し、結果を check 列に書く。
subtotal_10 + tax_10 + subtotal_8 + tax_8 == totalかtax_10がsubtotal_10の10%(端数処理の差1円以内)かtax_8がsubtotal_8の8%(端数処理の差1円以内)かdue_dateがissue_dateより後かregistration_noがT+ 数字13桁の形式か
いずれかに反した場合は check 列に NG: 合計不一致(小計+税=1,100,000 / 記載=1,100,001) のように、期待値と実際の値を両方書く。
守るべきルール
- 読み取れない値を推測で埋めない。 空欄にして
noteに要確認を書く。金額の推測は事故に直結する。 - 金額は数値のみで出力する。 通貨記号・カンマ・「円」を含めない。表示形式は表計算側で整える。
- 日付は
YYYY-MM-DDに統一する。 元号表記は西暦に変換し、変換したことをnoteに記す。 - 発行元名を省略・整形しない。 「(株)」は「株式会社」に統一してよいが、法人格の位置は原文どおりにする。
- ファイル名と行を必ず対応させる。 検算NGの行を人が原本で確認できることが、この仕組みの前提になる。
- 原本を書き換えない。 PDFは読み取り専用として扱う。
自社用にカスタマイズする
- 列名を自社の会計システムの取込フォーマットに合わせる
- 勘定科目・部門コードの自動付与ルールを追加する
- 支払サイトの社内基準(例: 検収月末締め翌々月10日払い)を検算に追加する
- 継続取引先の名称マスタを
references/vendors.mdに置いて表記ゆれを吸収する
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

