[{"data":1,"prerenderedAt":292},["ShallowReactive",2],{"content-/accounting-extension-monthly-trial-balance":3,"all-pages-for-dir":270,"related-/accounting-extension-monthly-trial-balance":271,"og-image-/accounting-extension-monthly-trial-balance":291},{"id":4,"title":5,"body":6,"category":249,"concepts":250,"description":251,"extension":252,"meta":253,"navigation":254,"ogImage":250,"path":255,"project_name":256,"published":257,"publishedAt":258,"seo":259,"source":260,"stem":261,"tags":262,"todo":250,"unpublished":257,"updatedAt":250,"__hash__":269},"pages/2026-09/2026-09-16/accounting-extension-monthly-trial-balance.md","クラウド会計の月次推移表から過年度の元帳を読むChrome拡張を追加した",{"type":7,"value":8,"toc":233},"minimark",[9,13,16,19,24,27,30,34,37,45,48,51,55,58,72,75,78,81,84,87,90,94,97,100,103,106,109,112,115,118,121,125,128,131,150,157,160,163,166,169,176,179,183,186,189,192,195,198,201,204,207,210,213,216,230],[10,11,12],"p",{},"会計ソフトAの月次推移表で、2025年の売上高を眺めていた。\n12月の列に載っている金額をクリックすると、総勘定元帳ではなく「存在しません」という表示が返ってきた。",[10,14,15],{},"これは会計ソフトAの仕様としては正しい。\nセッションが持っている年度は2026年のままで、画面に出ている2025年の数字のほうは、拡張が取ってきてキャッシュに置いたものだからだ。\n元帳は、いま選んでいる年度しか見に行かない。",[10,17,18],{},"ただ、数字の中身を確かめたくなるのは、たいてい過年度のほうだ。\nそこで、拡張をもう1つ新規で足すことにした。",[20,21,23],"h2",{"id":22},"右側にペインを出して元帳を模す","右側にペインを出して、元帳を模す",[10,25,26],{},"作りは、帳票ページで使っている既存の拡張と同じでいい。\n月次推移表の右側にサイドパネルを開き、総勘定元帳を模した表をそこに並べる。",[10,28,29],{},"いきなり書かせずに、まず実装計画を作らせた。\n何を作るかだけでなく、いま何が不便でこれを足すのかまで書かせている。\n出てきた計画書はブラウザで開いて、末尾に並んだ3つの判断、つまり置き場所とデータの取り方と取得タイミングに答える形にしてもらった。\nCodexのレビューは先に2回通してあって、1回目の3件を反映したあと、2回目は致命的な指摘なしで抜けていた。",[20,31,33],{"id":32},"保存先はdbでいいのか","保存先はDBでいいのか",[10,35,36],{},"キャッシュの置き場所の話になったとき、ブラウザで動く解析系のDBを持ち出したらどうか、と聞いてみた。",[10,38,39,40,44],{},"返ってきたのは、DuckDB-Wasmと、ブラウザ標準ならIndexedDBという話だった。\nそのうえで、いま使っている ",[41,42,43],"code",{},"chrome.storage.local"," は実体がLevelDBなので、広い意味ではもうDBに入っているのだと説明された。",[10,46,47],{},"そう言われて腹落ちした。\n量が大きくないし、これから大きくなる予定もない。\nなら、いま入っているところで十分だ。",[10,49,50],{},"税抜処理だと仕訳が税込みになって推移表とズレるのではないか、とずっと引っかかっていた。\nそれもこのとき消えた。\n総勘定元帳も月次推移表も、元は全部仕訳帳から作られている。\nズレるわけがない。",[20,52,54],{"id":53},"過年度の仕訳をurlで開けるか","過年度の仕訳をURLで開けるか",[10,56,57],{},"では、2026年を選んでいる状態のまま、2025年の仕訳をURLで直接開けないのか。\nクエリパラメータあたりで飛べるなら話は早い。",[10,59,60,61,64,65,64,68,71],{},"できない、という答えだった。\n年度を持っているのはセッションのほうで、",[41,62,63],{},"cti"," も ",[41,66,67],{},"tid",[41,69,70],{},"term_id"," も、どう渡しても現在の年度が返る。\nこの点は以前に実測済みだという。",[10,73,74],{},"仕訳番号をクリックして会計ソフトA側の仕訳帳へ飛ばす形にすると、必ず年度切替が挟まり、そのあと年度を戻す操作が残る。\n面倒なので、ローカルに持っているデータから仕訳を組み立ててペインの下半分に出す形にした。",[10,76,77],{},"実データを流し込んだところで、貸借が合わない仕訳が出た。\n同じ枝の借方と貸方が同じIDを持っていたため、重複排除が片方を弾いていたのが原因だった。\n判定を直し、ついでにペインの下に余白を足して、摘要の列を詰めた。\n借方と貸方と残高が、初期表示で見えるようになった。",[20,79,80],{"id":80},"年度タブが下の表まで切り替えていた",[10,82,83],{},"年次推移表のほうでは、年度のタブをクリックすると、下の推移表まで当期が切り替わっていた。",[10,85,86],{},"これは困る。\nセッション上の当期は2025年なのだから、タブで2024年を押しても、下の表は2025年を当期として扱ってほしい。\nどの年度を取得するかという話と、下に何年から表示するかという話は、別のものだ。",[10,88,89],{},"タブで表を差し替えるのをやめさせ、あわせて未取得の年度についてはセルのリンク自体を外させた。\n未取得なのに「クリックすると元帳が出ます」と案内していては、さっきの「存在しません」と同じことになる。",[20,91,93],{"id":92},"_1年度ずつ取得の前提を作り直す","「1年度ずつ取得」の前提を作り直す",[10,95,96],{},"ここまでの作りは、ボタンを押してから「何年度を取得」をもう一度押す、という1年度ずつの前提だった。\n過去の年度が何年ぶんも登録されている事業者だと、これは単純に面倒くさい。",[10,98,99],{},"未取得の年度をまとめて取る形に変えてもらった。\n新しい年度から順にチェーンで取りに行き、最後にセッションを元の年度へ戻す。",[10,101,102],{},"残高試算表では「未取得の6年度をまとめて取得」が出た。\n2年度ぶん取ったところで中止を押し、残りを再開して完走させるまで実機で見ている。",[10,104,105],{},"仕訳が1本も入っていない年度は、取得しても「未取得」のまま残り、毎回まとめ取得の対象に入ってくる。\n表の期間を絞った状態だと、仕訳がある年度まで「データなし」で固定されてしまう経路もあった。\n年度全体に仕訳があるかどうかをAPIで先に確かめてから印を付ける形に直させた。\n1件返るか0件返るかは、レスポンスを実測して裏を取っている。",[20,107,108],{"id":108},"まとめ取得のボタンが消えた理由",[10,110,111],{},"そのボタンが画面から消えていたので、壊れたのかと思って聞いた。",[10,113,114],{},"壊れてはいなかった。\n未取得の年度が0になったので隠れていた、という説明だった。",[10,116,117],{},"理屈は分かるが、これは嫌だ。\n押せるボタンが黙って消える画面は、次に何が起きるか読めない。\n隠すのではなく無効で見せてほしい、と言い直した。",[10,119,120],{},"「未取得の年度はありません」と書いた状態で常に出るようになった。",[20,122,124],{"id":123},"codexに12回止められた","Codexに12回止められた",[10,126,127],{},"コミットに入ってから、Codexのレビューが立て続けに止まった。\n12回だった。",[10,129,130],{},"中身は、どれも実際に踏む経路のものだった。",[132,133,134,138,141,144,147],"ul",{},[135,136,137],"li",{},"保存キーが年度のIDに依存していて、切替のたびにIDが変わるので取得直後に見失う（年度番号ベースに統一）",[135,139,140],{},"元帳だけ取得に失敗した年度が「取得済み」で固定される",[135,142,143],{},"取得中にページを離れると、セッションが過年度に残ったままになる（離脱ガードを追加）",[135,145,146],{},"事業者を確認できないときに書き戻しが動く（確認できなければ止めるフェイルクローズに変更）",[135,148,149],{},"取得と書き戻しが同時に走る",[10,151,152,153,156],{},"事業者の取り違えは書き込み事故に直結するので、ここは全部直させた。\n一方、",[41,154,155],{},"storage.remove"," が失敗したときに削除を成功として確定してしまう件は、11件目と12件目で同じ論点を繰り返し指摘された。\nストレージにトランザクションが無い以上、どこまでやっても同じ議論になる。\nそのタブで古い元帳を使わせないところまで入れて、残りは理由を付けて通した。",[10,158,159],{},"コミットの途中では、別セッションが作った計画書を1本巻き込んでいるのに気づいた。\n自分の変更だけをファイル指定で入れ直して、コミットを分け直した。",[20,161,162],{"id":162},"リロードのたびに出る許可ダイアログ",[10,164,165],{},"この日はずっと、拡張をリロードするたびに「リモートデバッグを許可しますか」が出ていた。\n一度許可すれば済まないのか、と聞いた。",[10,167,168],{},"原因はこちら側だった。\nリロードに使っていたスクリプトが、実行のたびに新しいCDP接続を張る作りになっていた。\n接続を張り直すたびに、あのダイアログが出る。\n接続を保ったままのChrome DevTools MCPなら1回で済む。\n20回以上叩いていたらしい。",[10,170,171,172,175],{},"しかも、この拡張には最初から合図でリロードする仕組みが入っていた。\nページ側からイベントを投げ、バックグラウンドが ",[41,173,174],{},"chrome.runtime.reload()"," を呼ぶ経路だ。\n入っているものを使わずに、外から毎回つなぎ直していたことになる。",[10,177,178],{},"同じことを繰り返さないように、スキルとプロジェクトのルールへ書かせた。",[20,180,182],{"id":181},"画面の真ん中に出ていた説明を全部へ畳む","画面の真ん中に出ていた説明を、全部「?」へ畳む",[10,184,185],{},"午後は表示のほうを触った。",[10,187,188],{},"期首と期末の定義、「事由未確定」の出し方、「推定」が何を指すかといった注記が、どれも画面の中央に常時出ている。\n毎回読むものではないし、気になったときに分かればいい。\n基本的には全部なくていい、と伝えた。\n注記はバーの「?」に寄せて、マウスオーバーで出す形へ全面的に変えてもらった。",[10,190,191],{},"書き戻しペインの導入文も、ボタン脇の注記も、「要確認」の直し方も、同じように畳んだ。",[10,193,194],{},"ここでCodexが1件拾ったのは、実際のバグだった。\nモードを切り替える処理が毎回テキストを入れ直すので、証憑モードのときだけ古い文言が残る。\n直したうえで、年次推移表と月次推移表と総勘定元帳の3画面で描画を確認してからコミットした。",[20,196,197],{"id":197},"検証用法人に何を入れていたか",[10,199,200],{},"拡張の動作を見ている検証用の法人に、どの事例の仕訳を入れていたのか分からなくなった。\n頭に浮かんだ番号で合っているかを確かめてもらったら、合っていた。\n2026年度に入っている仕訳は5本で、うち4本にメモが付いていた。",[20,202,203],{"id":203},"横に置いていた受取利息",[10,205,206],{},"朝のコミットで、前のセッションで触った受取利息のコードがCodexゲートに引っかかっていた。\n今日の作業とは別だからと、そちらは別コミット待ちにして横へ置いていた。",[10,208,209],{},"置いたままにしているのを見て、直す必要があるなら直してほしい、と言った。\n遠慮しすぎていた、と返ってきて、その場で直してコミットまで進んだ。",[10,211,212],{},"一日の終わりに計画書を実態へ合わせさせたときも、全部doneにはしなかった。\nディスク上で確認が取れた項目だけにチェックを打ち、残りは積み残しとして書き残してある。",[20,214,215],{"id":215},"学びメモ",[132,217,218,221,224,227],{},[135,219,220],{},"年度はセッションが持っている。URLのパラメータで過年度を指しても、返ってくるのは現在の年度だった",[135,222,223],{},"保存キーを年度のIDに紐づけると、年度を切り替えた瞬間に見失う。年度番号で持つ",[135,225,226],{},"押せるボタンを条件で消すと、使う側は次に何が起きるか読めない。消さずに無効で出す",[135,228,229],{},"拡張に入っている開発用の仕組みを先に見る。外から接続し直す手段を20回以上使っていた",[10,231,232],{},"積み残しはストレージの削除まわりが1つ。\n削除の失敗をどう扱うかは、トランザクションが無い範囲では決着しない。\nいまはそのタブで古いデータを使わせないところで止めてある。",{"title":234,"searchDepth":235,"depth":235,"links":236},"",2,[237,238,239,240,241,242,243,244,245,246,247,248],{"id":22,"depth":235,"text":23},{"id":32,"depth":235,"text":33},{"id":53,"depth":235,"text":54},{"id":80,"depth":235,"text":80},{"id":92,"depth":235,"text":93},{"id":108,"depth":235,"text":108},{"id":123,"depth":235,"text":124},{"id":162,"depth":235,"text":162},{"id":181,"depth":235,"text":182},{"id":197,"depth":235,"text":197},{"id":203,"depth":235,"text":203},{"id":215,"depth":235,"text":215},"dev",null,"月次推移表のセルをクリックしても過年度の元帳は開かない。右側のペインに元帳を模して出す拡張をもう1つ足し、年度ごとの取得を一括取得に作り直し、画面中央の説明文をマウスオーバーへ畳むまでの記録。","md",{},true,"/accounting-extension-monthly-trial-balance","misc-dev",false,"2026-09-16T00:00:00.000Z",{"title":5,"description":251},"make-diary","2026-09/2026-09-16/accounting-extension-monthly-trial-balance",[263,264,265,266,267,268],"Chrome拡張","クラウド会計","月次推移表","総勘定元帳","UI改善","開発日記","U4Qd6bRDDZKr0jgvnooUpD6_CMVxrNY8EjjkxIcBIOY",[],[272,276,280,284,288],{"title":273,"path":274,"publishedAt":275},"クラウド会計の元帳に消込の紐付けを足すChrome拡張を自作する","/mf-ledger-reconciliation-extension","2026-09-10T00:00:00.000Z",{"title":277,"path":278,"publishedAt":279},"クラウド会計の仕訳画面で、受取利息の源泉徴収税を自動で分ける機能をChrome拡張に持たせた","/accounting-extension-withholding-tax-on-interest","2026-09-15T00:00:00.000Z",{"title":281,"path":282,"publishedAt":283},"株主資本等変動計算書の変動事由を仕訳の形から自動で決めるChrome拡張を作った","/equity-statement-from-journal-shape","2026-09-14T00:00:00.000Z",{"title":285,"path":286,"publishedAt":287},"クラウド会計の帳簿を点検するChrome拡張を自作し、総勘定元帳まで広げた","/accounting-ledger-extension-phase23","2026-09-05T00:00:00.000Z",{"title":289,"path":290,"publishedAt":258},"2026年9月16日の開発日記 - 拡張機能の作り直しと、手書き42枚のCSV化","/2026-09-16-diary","https://log.eurekapu.com/og/blog/accounting-extension-monthly-trial-balance.png?v=2026-09-16T00%3A00%3A00.000Z&title=%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E4%BC%9A%E8%A8%88%E3%81%AE%E6%9C%88%E6%AC%A1%E6%8E%A8%E7%A7%BB%E8%A1%A8%E3%81%8B%E3%82%89%E9%81%8E%E5%B9%B4%E5%BA%A6%E3%81%AE%E5%85%83%E5%B8%B3%E3%82%92%E8%AA%AD%E3%82%80Chrome%E6%8B%A1%E5%BC%B5%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%9F&author=Kei%20Komatsu&sig=75cf5d8739963956",1789885490145]