freeeで領収書を元にClaude Codeで取引登録を行う方法 #5:年払いの按分ルールを自動メモリ(MEMORY.md)からスキルに移動
私の経験に基づく記録ですので、これを推奨するものでも、動作を保証するものでもありません。あくまでも参考情報としてご覧ください。
1Passwordシリーズの#4で、年払いの請求書は翌期分を前払費用に分けて、翌期に取引の「+更新」で費用に振り替える、と指示しました。
Claude Codeはこのルールを自動メモリ(MEMORY.md)に書き残していたので、次に同じ領収書を渡したら指示しなくても覚えているのかを試しました。
前提
- #1 と同じ環境。個人事業主のfreee、freee公式MCP、Claude Code(Fable 5.1)
- #2 で作ったスキル
freee-receipt-registerと、#3 のスクリプトが同じ作業フォルダにある。スキルに按分のルールはまだ書いていない - 領収書は 1Password #4 で登録した freee 自身の年払いの領収書PDF。#4で登録した取引を消して、PCの
invoicesフォルダに置いたまま頼む
頼んだこと
Claude Codeにこう指示。
invoices にある freee の領収書 PDF を freee に登録して。登録する前に内容を確認したいので、案だけ見せて止まって。
1分で案が返ってきました。指示していないのに、翌期分を前払費用に分ける案になっています。
登録案です。書き込みは何もしていません(ファイルボックスへのアップロードも未実施)。2026年1月の支出取引にこの利用料はなく、ファイルボックスにも同じ領収書は無いので、二重登録にはなりません。
| 項目 | 内容 |
|---|---|
| 発行日 | 2026-01-11 |
| 発行元 | freee |
| 内容 | freee会計 スタータープラン 年払い(対象期間 2026-01-09〜2027-01-08) |
| 明細1 | 通信費 課対仕入10% ¥12,652(2026-01-09〜2026-12-31、357日分) |
| 明細2 | 前払費用 対象外 ¥284(2027-01-01〜01-08、日割 8/365) |
| 支払 | 現金(同日決済) |
| 翌期の費用化 | 2027-01-01 付で取引の「+更新」で前払費用 ¥284 → 通信費。振替伝票は使わない |
確認したい点。前払分は日割(8/365)です。月割にするなら ¥1,078(1/12)になります。このまま登録してよければ「OK」、修正があれば内容を教えてください。
下記、Claude Codeがやったこと。
- スキルの手順書と参照ファイルを読む。このとき、自動メモリに書き残していた前払費用のルールのファイルも読みに行っていました
- PDFの文字を抜き出して、発行元・対象期間・金額を把握
- freeeから、この取引先の今年の支出取引と、ファイルボックスの未登録分を取得して、二重登録でないことを確認
- 按分を計算して案にまとめ、確認したい点を添える
登録して、スキルにも書いてもらう
OK。登録してこのルールをスキルにして
1分半で、登録とスキルの更新の両方が終わりました。
登録もスキル更新も完了しました。取引は通信費 ¥12,652 と前払費用 ¥284 の2明細で、2027-01-01 付の+更新で前払費用 → 通信費の振替を登録しました。証憑を取引に紐付け済み、ファイルボックスの未登録分は 0 件です。スキルには参照ファイル prepaid-split.md を新規に作り、SKILL.md の手順3とスクリプト経路の手順から参照するようにしました。メモリの前払費用の記録にも、スキル組み込み済みと今回の取引IDを追記しました。
下記、Claude Codeがやったこと。
- スクリプトをドライランで実行して、PDFをファイルボックスにアップロードだけする(スクリプトは1明細しか作れないため)
- MCPで2明細の取引を登録し、続けて「+更新」を登録
- 取引を再取得して、証憑の紐付けと「+更新」の中身を確認
- スキルの手順書に判定ルールを追記、参照ファイルを新規作成、スクリプト経路の手順にも注意を1行追記
- 自動メモリに「スキルに組み込み済み」と追記
最後のは頼んでいません。ただ、追記しただけで、ルール本体はメモリに残ったままでした。これは次の節で。
スキルの差分
手順書(SKILL.md)の「仕訳を組み立てる」の節に足された段落です。
**年払い・複数期間にまたがる利用料**(領収書に「対象期間 … から … まで」があり事業年度をまたぐ: freee 年払い、サーバ年契約、SaaS 年間プランなど)は、翌期分を前払費用(対象外)に分けた 2 明細で提案し、翌期初日に取引の「+更新」(renews) で費用化する。振替伝票は使わない。按分は日割。手順と API の形は `references/prepaid-split.md`。`freee_receipt.py` は明細 1 行専用なので、この場合はアップロードのみスクリプト(`--dry-run`)で行い、取引は freee-mcp の `POST /api/1/deals` で作る。
新しくできた参照ファイルの冒頭です。IDは省いています。
# 年払い・複数期間にまたがる利用料の登録(前払費用の按分と翌期の費用化)
対象: 領収書に「対象期間 YYYY-MM-DD から YYYY-MM-DD まで」のような記載があり、その期間が事業年度(個人事業主は 1/1〜12/31)をまたぐもの。
例: freee会計の年払い、サーバ・ドメインの年契約、SaaS の年間プラン、複数年の保守料。
私の指示(2026-10-06): 短期前払費用の特例で全額費用化はせず、翌期分を前払費用に分けて期間対応させる。翌期の費用化は振替伝票ではなく取引の「+更新」(renews) で行う。提案表を作る段階からこの形で出す。
## 1. 金額を分ける
- 当期分 = 税込合計 − 翌期分。翌期分 = 税込合計 × 翌期日数 ÷ 対象期間の総日数(日割、円未満は四捨五入)。
- 月割にするかは本人が言わない限り日割。提案表の確認事項に「月割なら ¥X」と添える。
- 翌期分が 0 円になる場合は分けない(0 円の取引・明細は API が拒否する)。
この下に、2明細の取引の形、「+更新」の呼び方、提案表での見せ方が続きます。
freeeの年払いしか登録していないのに「サーバ年契約、SaaS の年間プラン」まで対象に広げてあるのと、3年契約なら期ごとに「+更新」を繰り返す、という私が指示していないケースも書いてありました。
メモリのほうは削る
メモリには「スキルに組み込み済み」と1行足されただけで、按分の計算や「+更新」の話は残ったままでした。
自動メモリの索引(MEMORY.md)はセッションを始めるたびに読まれるので、スキルと同じことを二重に持っていると、肥大化してトークンを無駄に食います。
私のClaude Codeスキルの作り方で、CLAUDE.mdが大きくなるとトークンを食うので作業の手順はスキルに切り出す、と書いたのと同じ理由です。
なので、メモリのほうは「スキルの参照ファイルを見る」の1行だけ残して、本文を削りました。
まとめ
Claude Codeが保存した自動メモリをスキルに切り出しました。
自動メモリは短期的に覚えておいてほしいのみにし、肥大化には気をつけています。
現状はスクリプトが1明細しか扱えないので、今後複数明細や仕訳の更新もスクリプトで登録できるようにしたいです。
- Claude Code の自動メモリ(公式ドキュメント): https://code.claude.com/docs/ja/memory
- Claude Code のスキル(公式ドキュメント): https://code.claude.com/docs/ja/skills