• #日記
  • #CF精算表
  • #Chrome拡張機能
  • #Excel自動化
  • #Google Sheets
daily-log

2026年4月2日の開発日記

CF精算表の自動生成パイプラインを口頭メモからワークシート出力まで一本で繋いだ日。朝は会計ソフトAの繰越自動化で無限ループを踏み、午後はCF精算表の中間テーブルやスキル設計に没頭した。

今日やったこと

1. Chrome拡張:会計ソフトA次年度繰越一括自動化

会計ソフトAの「次年度繰り越し」を複数年度分まとめて実行する機能をChrome拡張に実装した。

主な成果:

  • Chrome DevTools MCPで繰越フォームの構造とAPIを特定
  • Codexレビュー3回を経て計画を精緻化(CTI/TID整合性、成否判定、安全弁)
  • bridge.js → import.js → content.js の3ファイルで実装完了
  • 致命的バグ: 会計ソフトAは最新年度でも繰越フォームを表示するため、noFormチェックで無限ループ→2033年度まで作成してしまった
  • 修正: endYear >= 現在年(2026) の終了条件に変更
  • UIを3回改善(独立セクション→カード内→ヘッダー行のオレンジボタン)

詳細: Chrome拡張で会計ソフトの次年度繰越を一括自動化した話


2. CF精算表ワークフロー構築

口頭/参考書→取引モジュール→会計ソフトA仕訳→年次推移表→CF精算表のパイプラインを一気通貫で構築した。

主な成果:

  • CF精算表の複数年度一括生成(年次推移表1シート化、中間テーブル転置、調整列SUMIFS化)
  • 貸付金ライフサイクルモジュール新規作成(借入金パターンの反転)
  • 資本政策(Cap Table)モジュール新規作成
  • スキル・コマンドの整理(cf-lifecycle-journal、/cf-multi-year-worksheet)
  • IBフォーマットを全スキルの最終ステップとして必須化
  • 全ステップでSS+Excel両方出力の方針確定
  • 命名規則策定: CF_精算表_{ライフサイクル名}

詳細: CF精算表ワークフロー構築


3. MF仕訳→年次推移表の自動生成

会計ソフトAの仕訳データからBS+PLの年次推移表を自動生成するスクリプトを開発し、Excel版とGoogle Sheets版のデュアル出力に対応した。

主な成果:

  • gen_annual_table_core.py として共通モジュール切り出し(Excel版とSS版で共有)
  • 勘定科目マスターJSON化(223件)
  • 返済予定表の合計行バグ修正(Row 19の初回返済が合計に含まれていなかった)
  • チェック行・入力仕訳シート同梱・全年度出力(2022〜2028)対応
  • /gen-annual-table コマンド更新(SS版を推奨に)

詳細: 会計ソフトの仕訳データから年次推移表を自動生成した


今日の試行錯誤

#テーマ試したこと結果気づき
1繰越終了条件noForm(フォームなし)で判定無限ループ会計ソフトAは最新年度でも常にフォーム表示
2UIボタン配置設定タブ下部に独立セクション場所が離れすぎ事業者カード内に動的配置が自然
3中間テーブル横持ち(行=CF項目)INDEX/MATCHが煩雑縦持ちに転置してSUMIFSで一発
4集計関数SUMPRODUCT再計算が遅いSUMIFS + YEAR関数でシンプル化
5合計列設計INDEX/MATCH混在メンテ困難合計列=SUMのみルールに統一
6年次推移表コピーシートごとcopyTo#REF!エラーセル内容上書き方式が安全
7返済予定表合計=SUM(E20:E501)Row19漏れ範囲始点の確認を怠った初歩的ミス
8スキル分離汎用ルール切り出し見送り中身が薄いうちは分けない判断

今日の学び

  • 会計ソフトのUI前提(「フォームが消えたら完了」)を盲信すると無限ループを踏む。外部の事実(現在年度)で終了判定する方が堅牢
  • 「合計列=SUMのみ、調整列に関数」のルールがCF精算表の数式設計を見通しよくする
  • Google Sheetsのシート参照はsheetIdに紐づくため、シート削除→リネームで全参照が壊れる
  • IBフォーマットを仕組みとして最終ステップに組み込むと、書式の統一を忘れない
  • gen_annual_table_core.pyの切り出しで、Excel版とSS版のロジック乖離を防げた

関連記事