[{"data":1,"prerenderedAt":339},["ShallowReactive",2],{"content-/equity-statement-extension":3,"all-pages-for-dir":319,"related-/equity-statement-extension":320,"og-image-/equity-statement-extension":338},{"id":4,"title":5,"body":6,"category":299,"concepts":300,"description":301,"extension":302,"meta":303,"navigation":304,"ogImage":300,"path":305,"project_name":306,"published":307,"publishedAt":308,"seo":309,"source":310,"stem":311,"tags":312,"todo":300,"unpublished":307,"updatedAt":300,"__hash__":318},"pages/2026-09/2026-09-13/equity-statement-extension.md","株主資本等変動計算書が手入力なのはなぜか、そしてChrome拡張で自動化する",{"type":7,"value":8,"toc":284},"minimark",[9,14,18,21,37,40,45,48,55,58,61,64,67,70,73,76,79,82,85,88,91,95,98,106,109,112,115,118,121,124,127,130,133,165,168,172,175,178,181,184,187,190,197,208,211,214,218,221,232,235,238,261,264,267,270],[10,11,13],"h2",{"id":12},"ヘッダーに仕訳帳を足すだけのはずだった","ヘッダーに「仕訳帳」を足すだけのはずだった",[15,16,17],"p",{},"自作の Chrome 拡張で、クラウド会計（会計ソフトA）の全ページのヘッダーに明細一覧と月次推移表の2つのボタンを出している。\n普段使うのはこの2つだけだと判断して、他の導線は9月8日に全部やめたばかりだった。",[15,19,20],{},"その判断が少し外れていた。\n仕訳帳へ直行したい場面が思ったよりずっと多い。",[15,22,23,24,28,29,32,33,36],{},"やることは1つ足すだけだ。\n",[25,26,27],"code",{},"MF_home画面/content.js"," の ",[25,30,31],{},"NAV_BUTTONS"," に1行足す。\nURL の ",[25,34,35],{},"cti"," を引き継ぎ、仕訳帳を開いているときは他と同じく押せない表示にする。\nここまでは Claude Code に書かせて、すぐ終わった。",[15,38,39],{},"終わらなかったのは、そのあとだった。",[41,42,44],"h3",{"id":43},"拡張をリロードしてもボタンが増えない","拡張をリロードしても、ボタンが増えない",[15,46,47],{},"拡張をリロードして、開いていたタブを再読み込みした。\nボタンは2つのままだった。",[15,49,50,51,54],{},"manifest の version を上げてからリロードした。変わらない。\n拡張を無効にして、有効に戻した。変わらない。\ndev-reload の合図（",[25,52,53],{},"mfc:reload-extension","）を送った。何も起きない。",[15,56,57],{},"新しいタブで同じページを開いたら、3つ目のボタンがあっさり出た。",[15,59,60],{},"content script はレンダラープロセス単位で生きていて、リロード前から開いていたタブには古いスクリプトが残り続ける。\nversion を変えても、無効にして戻しても、そのタブの中身は入れ替わらない。\nリロード前から開いていたタブは拡張のコンテキストを失っているので、こちらが合図を送っても何も起きない。",[15,62,63],{},"近いことは CLAUDE.md に1行あった。\n拡張を無効にしても開いているタブの content script は止まらない、という9月10日のメモだ。\nただしそれは「無効にしたのに重い」を切り分けたときの文脈で書いてあって、リロードしても表示が変わらない話とはつながっていなかった。\n今回の形で書き足してもらってから、学習ゲートはスキップしてコミットした。",[10,65,66],{"id":66},"なぜ株主資本等変動計算書は手入力なのか",[15,68,69],{},"10時半すぎ、年次推移表のページを開いていた。",[15,71,72],{},"このページは年度が列に並んでいる。\n貸借対照表と損益計算書はこの並びで出せるとして、株主資本等変動計算書も作れないだろうか。\n配当を入れてあるので、純資産が何によって増えて、何によって減ったのかを年ごとに並べて見たかった。",[15,74,75],{},"決算書のほうに株主資本等変動計算書がある。\nそちらの API を持ってくればいい。\nそう思って画面を開いた。",[15,77,78],{},"変動事由の欄が、全部手入力だった。",[15,80,81],{},"期首と期末と当期純利益は入っている。\n配当も、利益準備金の積立ても、自分で打ち込む欄になっている。",[15,83,84],{},"なぜ自動で作っていないのか、としばらく考えた。\n他社のクラウド会計も同じだと分かって、ようやく腑に落ちた。",[15,86,87],{},"仕訳には「これは配当だ」と書いてある欄がない。\n残っているのは、どの科目からどの科目へいくら動いたか、だけだ。\n事由を補助科目で持っている事業者もいれば、持っていない事業者もいる。\nどちらでも動くソフトを作るなら、事由の欄を空けて人に聞くのがいちばん確実になる。",[15,89,90],{},"逆に言えば、仕訳の形さえ決まっていれば、事由は機械で決められる。\nそこを確かめたくなって、コードベースと仕訳の持ち方を調べてもらい、計画書を書かせた。",[10,92,94],{"id":93},"事由を決める規則とその穴","事由を決める規則と、その穴",[15,96,97],{},"計画の中心は、事由が「純資産科目 × 相手科目」の組で決まるという見立てだった。",[15,99,100,101,105],{},"繰越利益剰余金が減って未払配当金が増えれば、剰余金の配当。\n繰越利益剰余金が減って利益準備金が増えれば、利益準備金の積立て。\nこの対応を",[102,103,104],"strong",{},"型の表","として持ち、仕訳を照らす。",[15,107,108],{},"期首と期末は貸借対照表から取れる。\n事由が全部ついたなら、差し引きの残りはゼロになるはずだ。",[15,110,111],{},"Codex レビューを2回通した。",[15,113,114],{},"1回目で2点返ってきた。",[15,116,117],{},"1つめ。純資産どうしを先に相殺する規則を置くと、自己株式の処分差損（借方が預金とその他の資本剰余金、貸方が自己株式）が、消却と処分に分かれて誤分類される。\n2つめ。タグは仕訳1本に1つしか付かないので、1本の中に2つの事由がある仕訳では配分を指定できない。\nタグを型より優先させると、積立てまで配当に飲み込まれる。",[15,119,120],{},"そして、どちらも残差では検出できない。\n誤分類しても金額の合計は合うので、残差はゼロのままになる。",[15,122,123],{},"この2点目が効いた。\n残差ゼロを正しさの証明のように扱っていたが、残差が検出するのは漏れだけで、取り違えは検出しない。",[15,125,126],{},"規則を「行を対にして消す」から「仕訳全体の形を型の表に照らし、一致がちょうど1つのときだけ確定する」に改めさせた。\n一致が0個でも2個以上でも、推定はせず「事由未確定」に残す。\n処分差損の反例をテストに足して、2回目で承認になった。",[10,128,129],{"id":129},"判断が要る4点",[15,131,132],{},"残った判断は4つあった。\n計画書 HTML に3択ボタンを埋め込んで、決裁フォームを立ててもらった。",[134,135,136,143,153,159],"ul",{},[137,138,139,142],"li",{},[102,140,141],{},"表示の形","：推移形式だけにする（行が科目と事由、列が年度）",[137,144,145,148,149,152],{},[102,146,147],{},"型で決まらない事由の明示","：仕訳のタグ ",[25,150,151],{},"SS:事由名"," で示す。1本の仕訳は1事由に限る",[137,154,155,158],{},[102,156,157],{},"決算書への書き戻し","：当期だけ、ボタンと差分確認つきで書き戻す",[137,160,161,164],{},[102,162,163],{},"過年度の仕訳の取り方","：消込の年度キャッシュを流用し、取得ボタンで年度を切り替える",[15,166,167],{},"4件とも推奨案をそのまま選んだ。\n自由記述は1件も書かなかった。\n各項目に、選ぶと何がどう変わるかが書いてあったので、迷う余地がなかった。",[10,169,171],{"id":170},"明日やると決めた直後に撤回した","「明日やる」と決めた直後に撤回した",[15,173,174],{},"ここで切り上げることにした。\nキリのいいところで終わりにして、翌日の Google タスクに登録してもらった。\n翌朝6時から始めるつもりだった。",[15,176,177],{},"登録が終わった直後に、気が変わった。",[15,179,180],{},"計画書は書けている。\n決裁も済んでいる。\n明日の朝の自分が、今と同じ解像度でこれを読み直せるとは思えなかった。",[15,182,183],{},"セッション切り替えのプロンプトだけ出してもらって、そのまま実装に入った。\nGoogle タスクへの登録のほうは、もう済んでしまっていた。",[10,185,186],{"id":186},"当期の仕訳から事由を確定させる",[15,188,189],{},"Phase 0 では仕訳を読まない。\n期首と期末の差額だけで組む。",[15,191,192,193,196],{},"貸借対照表の純資産の行から期首と期末と当期純利益を拾って、表の枠だけ作る。\nここで引っかかったのが、繰越利益剰余金と「（うち当期純利益）」の2行だった。\n他の科目には ",[25,194,195],{},"data-encrypted-id"," が振られているのに、この2行には id もリンクも無い。\nラベルの文字列で拾うしかなく、会計ソフト側が文言を変えれば読めなくなる。\n読めなかった年度は表ごと「読めません」と出し、黙ってゼロにはしない方針にした。",[15,198,199,200,203,204,207],{},"Phase 1 で当期の仕訳を読む。\n",[25,201,202],{},"ledger_entries"," から純資産に触れる仕訳番号を拾い、",[25,205,206],{},"journals?numbers="," でその仕訳だけを取る。",[15,209,210],{},"実機で確かめた。\n検証用の2026年度に、配当と積立てが1本にまとまった仕訳（No.392）がある。\nこれが「剰余金の配当 −632,000」と「利益準備金の積立て ±63,200」に分かれ、残差がゼロになった。",[15,212,213],{},"机上の指摘として受け取った「1本に2事由」が、手元のデータにそのまま入っていた。",[10,215,217],{"id":216},"過年度と決算書への書き戻し","過年度と、決算書への書き戻し",[15,219,220],{},"過年度の仕訳は、年度を切り替えないと読めない。",[15,222,223,224,227,228,231],{},"消込の機能が年度ごとの仕訳をキャッシュしているので、そこに ",[25,225,226],{},"sourceType"," と ",[25,229,230],{},"tagNames"," を足して流用した。\n取得ボタンを押すと、年度を切り替え、保存し、元の年度に戻す。",[15,233,234],{},"2021年から2025年まで取ってみた。\n事由未確定として残ったのは、2022年の −29,091 だけだった。\n繰越の漏れだ。",[15,236,237],{},"最後に、決算書への書き戻しをやらせた。",[15,239,240,241,244,245,248,249,252,253,256,257,260],{},"手で打ち込むのではなく、拡張から送っている。\n",[25,242,243],{},"/ss_datas"," の表を読んで、当期の確定した事由を「新規」「上書き」「同じ」に分けて見せる。\n行の無い事由は ",[25,246,247],{},"POST /ss_items"," で作り、値は各セルのフォームと同じ ",[25,250,251],{},"POST /ss_datas","（既存は ",[25,254,255],{},"PUT","）で1件ずつ送る。\n送る前と後で ",[25,258,259],{},"current_term"," を見て、年度が変わっていたら止める。\n上書きはチェックを入れないと送れないようにした。",[15,262,263],{},"検証用の2026年度で3件を書き戻したら、決算書に出ていた「金額が不一致」の表示が消えた。",[15,265,266],{},"決算のたびに手で打ち込んでいた欄が、仕訳から埋まった。",[10,268,269],{"id":269},"今日わかったこと",[134,271,272,275,278,281],{},[137,273,274],{},"合計が合うことを正しさの根拠にしていた。残差ゼロが拾うのは漏れだけで、取り違えはすり抜ける",[137,276,277],{},"「自動で作れない」の正体は、たいてい「そのデータに書いていない」だった。株主資本等変動計算書の事由は、仕訳のどこにも書かれていない",[137,279,280],{},"拡張のリロードで表示が変わらないときは、まず新しいタブで開いて切り分ける。version を上げても無効化しても、開きっぱなしのタブには効かない",[137,282,283],{},"計画が固まった直後は、寝かせるより着手したほうが早い。明日の自分は、今日の自分ほど文脈を持っていない",{"title":285,"searchDepth":286,"depth":286,"links":287},"",2,[288,292,293,294,295,296,297,298],{"id":12,"depth":286,"text":13,"children":289},[290],{"id":43,"depth":291,"text":44},3,{"id":66,"depth":286,"text":66},{"id":93,"depth":286,"text":94},{"id":129,"depth":286,"text":129},{"id":170,"depth":286,"text":171},{"id":186,"depth":286,"text":186},{"id":216,"depth":286,"text":217},{"id":269,"depth":286,"text":269},"dev",null,"クラウド会計の年次推移表に株主資本等変動計算書のタブを足した記録。期首と期末は貸借対照表から取り、変動事由は仕訳全体の形を型の表に照らして決める。決算書への書き戻しまで一日で通した。","md",{},true,"/equity-statement-extension","misc-dev",false,"2026-09-13T00:00:00.000Z",{"title":5,"description":301},"make-diary","2026-09/2026-09-13/equity-statement-extension",[313,314,315,316,317],"Chrome拡張","株主資本等変動計算書","クラウド会計","仕訳","Codex","sndAlVgL8Q8uZ6uC1yHWa1kQOfXVjGjoqYplLdi35aQ",[],[321,325,328,332,335],{"title":322,"path":323,"publishedAt":324},"クラウド会計にログインできない原因と、株主資本等変動計算書を仕訳の形から決める仕組み","/cloud-accounting-login-and-equity-cause-logic","2026-09-14T00:00:00.000Z",{"title":326,"path":327,"publishedAt":324},"株主資本等変動計算書の変動事由を仕訳の形から自動で決めるChrome拡張を作った","/equity-statement-from-journal-shape",{"title":329,"path":330,"publishedAt":331},"2026年9月15日の開発日記 - 「終わっているはず」を確かめて回った日","/2026-09-15-diary","2026-09-15T00:00:00.000Z",{"title":333,"path":334,"publishedAt":331},"クラウド会計の仕訳画面で、受取利息の源泉徴収税を自動で分ける機能をChrome拡張に持たせた","/accounting-extension-withholding-tax-on-interest",{"title":336,"path":337,"publishedAt":331},"CF計算書教材の論点205（株主資本）を会計ソフトAで突合し、帳票3種を1つのExcelにまとめた","/cf-lifecycle-205-journal-excel-export","https://log.eurekapu.com/og/blog/equity-statement-extension.png?v=2026-09-13T00%3A00%3A00.000Z&title=%E6%A0%AA%E4%B8%BB%E8%B3%87%E6%9C%AC%E7%AD%89%E5%A4%89%E5%8B%95%E8%A8%88%E7%AE%97%E6%9B%B8%E3%81%8C%E6%89%8B%E5%85%A5%E5%8A%9B%E3%81%AA%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%8B%E3%80%81%E3%81%9D%E3%81%97%E3%81%A6Chrome%E6%8B%A1%E5%BC%B5%E3%81%A7%E8%87%AA%E5%8B%95%E5%8C%96%E3%81%99%E3%82%8B&author=Kei%20Komatsu&sig=67977976b2d649d0",1789529464762]