• #tax-assistant
  • #csv-export
  • #マネーフォワード
  • #画像リネーム
  • #自動化
  • #日記
開発tax-assistant

税務アシスタント MF仕訳エクスポート改善 -- 日付ソート・画像リネーム・コピー機能を一括追加

背景

tax-assistantプロジェクトには /export-mf-journal というコマンドがある。仕訳データをマネーフォワード用のCSVフォーマットで出力する機能だ。

これまでの出力は「登録順」で並んでいた。レシート画像も元のファイル名のままで、後から見返したときにどの画像がどの取引に対応するのか追えない。CSVを開いて日付順に並べ替え、画像を手作業でリネームし、フォルダに整理する -- その手間が毎月積み上がっていた。

今回、コマンド一発で全処理が完結するように /export-mf-journal を改修した。


追加した機能

1. 取引日ソートと連番振り直し

CSV出力時に全行を取引日の昇順でソートし、行番号を1から振り直すようにした。

以前は登録順がそのまま出力されていたので、月初の経費が中盤に紛れ込んだり、月末の売上が先頭に来たりしていた。ソートを入れたことで、CSVを開いた瞬間に時系列で取引が並ぶ。マネーフォワードへのインポート時にも、仕訳帳の見通しが一気に良くなる。

2. レシート画像のリネーム

元のレシート画像ファイルを以下の命名規則でリネームする。

{取引日}_{金額}_{支出先}_{元のファイル名}.{拡張子}

例:

20250315_5400_Amazon_IMG_1234.jpg
20250320_12000_ヨドバシ_receipt_0042.png

ファイル名を見ただけで「いつ」「いくら」「どこで」が分かる。ファイルマネージャで日付順にソートすれば、そのまま時系列の証憑台帳になる。

3. リネーム画像の自動コピー

リネームした画像を exports/ ディレクトリ内のサブディレクトリに自動コピーする。元ファイルには手を加えない。

この設計にしたのは、元のレシート画像を壊したくなかったから。コピーなので、万が一リネームのロジックに問題があっても元データは無傷で残る。何度でもやり直せる安心感がある。

4. 適用欄へのファイル名記載

仕訳データの適用欄(摘要)に、リネーム後のファイル名を自動で書き込む。

マネーフォワード上で仕訳を開いたとき、適用欄を見ればどのレシート画像が対応するか即座に分かる。税務調査で「この経費のエビデンスは?」と聞かれても、適用欄のファイル名で検索すれば数秒で該当画像にたどり着ける。


後方互換性の確認

前回出力したCSVと今回の出力を突き合わせた。借方金額、貸方金額、勘定科目が全行で完全一致した。変わったのはソート順と適用欄の画像ファイル名だけ。既存の運用フローを壊さずに機能追加できた。


remote-controlで回す開発体験

今回の改修は、Claude Code の remote-control 経由で進めた。

ブラウザのclaude.aiで「取引日でソートして連番振り直して」と指示を出すと、ローカルのtax-assistantリポジトリでコードが書き換わり、テスト用CSVが出力される。出力を確認して「画像リネームも追加して」と続ければ、次のコミットが積まれる。

手元でエディタを開かずに、チャットだけで機能が積み上がっていく。「リモコンでテレビのチャンネルを変える」感覚に近い。指示を出して、結果を確認して、次の指示を出す。このサイクルが回り始めると、実装速度が目に見えて上がる。


Google Driveディレクトリ整備

あわせて、クライアント向け売上伝票の保存先ディレクトリを整備した。2025年2月から12月までの月別ディレクトリを一括作成。

売上伝票/
  2025-02/
  2025-03/
  ...
  2025-12/

これも手作業でやると地味に手間がかかる。mkdir を11回叩くだけとはいえ、月名を間違えないように確認しながらやると数分は飛ぶ。スクリプトで一括生成して、作業時間を削った。


振り返り

今回の改修で、仕訳エクスポートの後工程がほぼ消えた。以前は「CSV出力 → Excelで日付ソート → 画像を手動リネーム → フォルダに整理 → 適用欄を手入力」と5ステップあった作業が、コマンド1回で終わる。

月次の経理作業で毎回30分ほど食われていた手作業が、数秒のコマンド実行に置き換わった。年間で換算すると6時間分の作業が浮く計算になる。

地味な自動化ほど、積み重なると効いてくる。