クラウド会計にログインできない原因と、株主資本等変動計算書を仕訳の形から決める仕組み
ログイン画面から先へ進まない
朝、会計ソフトAにログインできなかった。 画面が先へ進まない。
前日まで同じ拡張で同じ画面を触っていたので、まず相手側を疑った。 Claude Code にリダイレクトの連鎖を実測してもらうと、返ってきたのは 302 と 200 だけだった。 0.09秒から0.5秒。 5xx もタイムアウトも1件もない。
通信は生きている。 では何が止まっているのか。
ログインしている会計ソフトAのアカウントが、本番と別のものになっている。 それが返ってきた答えだった。
そう言われても自分ではまだ入れないので、実際に入ってみてもらった。
入れた。
/api/v1/current_office が 200 を返し、事業者は検証用の法人、年度は 2026 年度でセッションが生きていた。
ブラウザが掴んでいたのは、会計を持っていない方のアカウントだった。
相手は最初から正常に応答していた。 別の扉を叩いていたのは、こちらのほうだ。 「レスポンスが返ってきていないのでは」と口に出した時点で、調べにいく先を間違えている。
未プッシュのコミットが6本
拡張のリポジトリは、コミットもプッシュも済んでいるのか。
気になって聞いた。
未プッシュのコミットが6本、さらに CLAUDE.md の未コミット変更が1件残っていた。
学習ゲートはすでに止めてある。 だから今日は素通しで通るはずだった。
止めたのは Codex のコミットレビューのほうだった。
2回止まり、指摘を直してから通してもらった。
最後は7コミットを push して、origin/master との差は 0/0 になった。
ゲートを1つ止めたら、別のゲートが仕事をしていた。
「タグで識別してるんでしたっけ」
昼前、株主資本等変動計算書まわりの実装を自分で説明できるか怪しくなった。
剰余金の配当は、タグで識別していたのではなかったか。 CF教材のタグを見ていた気がする。 繰越利益剰余金と未払配当金と利益準備金の内訳は、どういう条件で作っていたのか。
3つとも外れていた。
タグは見ていない。
CF教材のタグも参照していないし、例に使っている No.392 の仕訳には SS: のタグ自体が付いていない。
変動事由を決めているのは、仕訳1本の全行の形だった。
その形を型の表(equity-causes.json)に照らす。
一致した型の名前が、そのまま事由になる。
自分で仕様を決めて実装させたのに、1日で「タグだったはず」に化けていた。
推定の入らない8段の手順
これは要するにアルゴリズムですよね、と言ってみたら、そのとおりだと返ってきた。 仕訳と貸借対照表から株主資本等変動計算書を作る、8段の手順である。 推定も学習も入っていない。 入力が同じなら、出力も必ず同じになる。
1段目は入力を集めるところだ。
- 年次推移表の貸借対照表から、純資産科目の期末残高と当期純利益
- 仕訳 API から、純資産科目に触れる仕訳の全行
- 科目マスタから、各科目の決算書科目と、部(純資産かどうか)と、借方貸方の別
期首は別に取りにいかない。 前年度の期末をそのまま当年度の期首として使う。
入力の3つ目は金額ではない。 借方に出た数字が増加なのか減少なのかは、仕訳ではなく科目の側が決めている。
15本の型と、当てはまらない仕訳の扱い
型の表には15本入っている。 記事の表にも、その15本を全部載せてもらった。
当てはまらない仕訳が出たときにどうなるかも確認した。 拡張の「仕訳を見る」に「要確認: 型に一致しません」と出る。 同時に、その仕訳の行も並ぶ。 純資産側の科目と増減、相手側の科目と貸借。
それを見て equity-causes.json に型を1本足す。
書くのは純資産側と相手側のグループと、配分のしかただけで、コードは触らない。
同じファイルが別リポジトリの scripts/mf_api/ にもあるので、足すときは両方直す。
これは忘れる。
15本で世の中の仕訳を覆ったわけではない。 覆っていないことは画面に出るし、足す場所も1つのファイルに決まっている。 当てはまらないものが出たら足していけばいい、という運用でいくと決めた。
実装が分かる記事を1本書かせた
そのまま、今回の実装が分かる記事を1本書かせた。 content-management、japanese-tech-writing、doc-communication、svg-diagram を使わせ、dev サーバーで描画を確認したうえでコミットまで済ませてもらった。 次に「タグでしたっけ」と言い出したときは、これを読めばいい。
→ 株主資本等変動計算書の変動事由を仕訳の形から自動で決めるChrome拡張を作った
セッションの残りも心細くなってきたので、積み残しを確認して計画書を完了に更新させた。 拡張の機能としての積み残しは、なかった。
別セッションの躓きメモに12項目足した
午後は別のリポジトリに移った。 会計ソフトAの内部APIで仕訳のCSVを流し込んだときに躓いた箇所を、リファレンスとして1本のMarkdownに貯めてある。
貯めているのは自分だが、躓いているのは別セッションだ。 だから、そのセッションが何にぶつかったかが全部載っているとは限らない。
該当セッションのログ2本、約10MB を見直してもらい、漏れていた12項目を追記した。 120行が167行になった。
コミットしようとしたら、不要だった。 別セッションが先にコミットを作っていて、12項目はその中に全部入っていた。 24ファイルのコミットで、リファレンス本体も CLAUDE.md の導線も含まれていた。
並行セッションは、こちらが知らないあいだに成果物を確定させる。 「コミットしたか」を聞く前に、相手が何をコミットしたかを見るほうが早い。
今日残ったもの
- ログインできないときは、相手のサーバーより先に、自分がどのアカウントで入っているかを見る
- ゲートを1つ止めても、別のゲートが仕事をしている
- 1日前に自分で決めた仕様は、1日で「タグだったはず」に化ける
- 型に一致しない仕訳が出たら
equity-causes.jsonに1本足す。別リポジトリ側の同じファイルも直す