• #日記
  • #tax-assistant
  • #外貨
  • #OCR
  • #リファクタリング
  • #AI協働
daily-log

2026年2月27日の開発日記

業務アプリの実装を朝から夕方まで詰め込んだ一日。外貨対応のフルスタック実装、返品仕訳のバグ修正、136件の領収書OCR処理と、手を動かす作業が続いた。夕方にはClaude OpusとCodex(GPT-5.3)を対話させてプロジェクトの再設計を議論するという、少し変わったセッションも行った。

今日やったこと

1. 税務アプリの外貨建てレシート対応

アルゼンチンペソのレシートが $ 表記でOCRされ、USDと区別できない問題が発覚。通貨記号だけでは判別不能なので、is_foreign_currency フラグをフルスタックで実装した。

主な成果:

  • Gemini OCRスキーマに外貨判定フィールド追加
  • DB・API・フロントエンド(Vue)まで4レイヤーを貫通
  • オレンジボーダー+「要チェック」バッジで視覚的に目立たせるUI
  • 自動判別は見送り、フラグを立てて人間に委ねるシンプルな設計

詳細: 税務アシスタント外貨建てレシート対応


2. クレカ明細の返品仕訳バグ修正

クレカ明細でプラス値(返品)があると仕訳の借方・貸方が反転しないバグを発見。is_refund フラグの追加からUIの編集可能性制御まで対応した。

主な成果:

  • is_refund フラグをDB・パーサー・API・仕訳ビューアに追加
  • Codexレビューで SELECT * との列数不一致問題を事前回避
  • 返品時は貸方(費用科目)が編集可能、借方(カード)は固定にするUI修正
  • ユーザーフィードバックを即座に反映

詳細: クレカ明細の返品仕訳バグ修正


3. OCR・データ取込パイプラインの改善

領収書→仕訳変換スキル(receipt-to-shiwake)の新規作成、OCRスキーマへの税区分自動取得追加、大量データの取込処理を行った。

主な成果:

  • receipt-to-shiwakeスキルを構築(PDF→Googleシート仕訳書き込み)
  • OCRに税区分(3種enum)と「租税公課」を追加
  • 領収書136件 + クレカCSV144件 = 計280件の仕訳データを取込
  • CSVファイルの.gitignore追加 + 既存21件のGit追跡解除

詳細: OCR・データ取込パイプライン改善


4. プロジェクト再設計をClaude×Codexで議論

「ゼロから自由に再設計できるなら?」という問いをClaude Opus単独とCodexとのディスカッションの2セッションで検討した。

主な成果:

  • 9項目の変更一覧表(現行→再設計→狙い)を整理
  • Codexが過剰設計を抑制(4層→3層、TanStack Query見送りなど)
  • 税務固有の要件(監査証跡・冪等性・ルールバージョン管理)がCodexから追加
  • Codexへの質問はYes/No形式+ファイル読み込みが効果的と判明

詳細: Claude OpusとCodexでNuxt 4プロジェクトの再設計を議論した記録


今日の学び

  • 通貨記号 $ は20以上の通貨で使われている。記号だけで通貨を特定しようとする設計は破綻する
  • SQLiteの ALTER TABLE ADD COLUMN は安全だが、既存マイグレーションの SELECT * と組み合わさると列数不一致で壊れる
  • AIに設計を聞くとき、Yes/No形式で立場を取らせると具体性が出る。自由記述だと「ケースバイケース」で終わる
  • 大量データ処理では「あと一手間」の削減が効く。OCR時点で税区分を取得する改善が、136件の後工程を消した

明日やること

  • クレカ返品仕訳のUI修正の実装(返品時の貸方編集対応、計画済み)
  • 仕訳ビューア支出側の一括確定機能追加
  • 再設計ドキュメントをもとに、最初に着手すべきリファクタリング箇所の選定

関連記事