税効果会計講座の制度を一次資料で確かめ、Pythonの参照モデルで配布用Excelブックを検査した
税効果会計講座の制度を一次資料で確かめ、Pythonの参照モデルで配布用Excelブックを検査した
税効果会計の講座づくりは、eurekapu-nuxt4 で計画書を立てて進めている。 計画書には、段0という関門を置いた。 制度の一次確認である。 防衛特別法人税、東京都の超過税率、ASBJ の実務対応報告や回収可能性の適用指針を一次資料で確かめるまでは、段1(配布ブックの組み立て)に進まない。
計画書の前提は、一次資料と本当に合っているのか。 この日は、そこを確かめるところから始まった。
朝の短いセッションで引き継ぎを書き出した
朝6時台のセッションでは、判断事項8件への回答を計画書へ反映してもらった。 補足のコメントは付けなかった。 推奨と違う選択が2件あり、その分だけ作る量が増える。
反映が済んだところで、引き継ぎのプロンプトをダウンロードフォルダのテキストファイルに書き出してもらった。
段0で一次資料を読み、食い違いが出たところで止めた
9時台のセッションは、その引き継ぎファイルを渡して再開した。 Claude Code に、一次資料を順に読ませていった。
- ASBJ の実務対応報告第48号を原文で読み、基礎控除を法定実効税率でどう扱うかを確かめた
- 東京都の住民税 10.4% を主税局のページで確認した
- 住民税の課税標準が「所得税額控除前の法人税額」で、防衛特別法人税を含まないことを確認した
- 回収可能性の適用指針第26号を原文で読み、要件の部分で計画書と食い違う点を2つ見つけた
途中で、ASBJ の一覧に 2026-07-07 付けの税効果関係の公表物が見つかった。 計画の前提が変わる可能性があるので、その中身も確かめさせた。 超過課税の期限(2025年の条例改正)については、東京都の例規集で都税条例を探させた。 見つからなければ未確認として報告する、という段取りである。
結果として確認そのものは終わったが、関門は通らなかった。 計画書と一次資料の食い違いが、全体で4つ出たのだ。 引き継ぎにある中断条件どおり、食い違いは直さずに、計画書の関門の欄に状態だけを記録して(チェックは付けずに)止まり、報告が上がってきた。 段1には進んでいない。 実行モデルが計画どおり Opus 5.5 であることも、報告の中で照合されていた。
食い違いをどう扱うかは、私が判断して貼り付けて返した。
計画書を書き直し、Codex の「要修正」を経て関門を通した
その判断に沿って、計画書を書き直させた。 §10 の判断表、§9 の関門、§2-1 の採点の注記、記事の本数まで手が入った。 設計図の下書き(§2 の決着と §11 の解釈)と、根拠を確かめるスクリプトもあわせて直した。
書き直した計画書は、Codex のレビューを受けることになっている。 バックグラウンドで回し、待つあいだに数式エンジンとブック組み立ての下調べと、段1の設例データに手を付けさせた。
返ってきた判定は「要修正」だった。 指摘は4つで、どれも直せるものだった。
この報告のとき、Claude Code は「すみません、途中の説明が英語になっていました」と詫びて、指摘4つを日本語で説明し直していた。 私は「OK、続けてください」とだけ返した。
修正では、計画書の §4-2 を §11 の順序どおりに書き直し、Codex の指摘も反映した。 設計図の下書きも、§2-1、§2-3、§2-4 を直した。 再レビューの判定は「致命的な指摘なし。実装へ進めてよい」。 ここで関門を通過とした。
段1で配布ブックを組み立てた
段1で作るのは、基本の設例を載せた配布ブックである。
設例データとPythonの参照モデル
設例の数値は、すべて自作した。
case.json には、税率表と、地域ごとの前期分と中間納付額を持たせた。
地域を切り替えても、数字の整合が崩れないようにするためである。
次に、税金、税効果、税率差異の調整を計算する Python の参照モデルを組ませた。 Excel の数式とは独立に計算し、ブックの答えをこちらと突き合わせる。 回収可能性のモデルは、列ごとの金額を返すように広げた。
基本の設例では「その他」が −318円になり、許容幅の1,000円に収まった。 設定の組み合わせ20通りを全部回しても、すべての設定で通った。
ブックの組み立てと、わざと壊す検査
ブックを組み立てるスクリプトは大きくなる。
書く前に、頼りたい挙動を数式エンジンが持っているかを確かめさせた。
日付条件の SUMIFS、数値との &、ROUND、真偽値である。
どれも使えた。
スクリプトは「設計 → エンジン → Python モデルとの突き合わせ」の流れで書かせた。 読み直した段階でいくつかバグが見つかり、初回の実行より前に直した。
検査が全部通っても、検査が空振りしているだけかもしれない。 そこで、ブックをわざと壊して検査に引っかかるかを試させた。
1回目の破壊は、61件の失敗として捕まった。 2回目は引用符の誤りのせいで、破壊そのものが当たっていなかった。 Python で書き直して当て直すと、こちらも捕まった。 2回とも検出されたので、検査が空振りしていないことを確かめられた。
openpyxl の色コードと入れ子の IF
.xlsx に書き出して検査すると、色の不一致が出た。
これは誤検知だった。
openpyxl は 0000FF を 000000FF(アルファ値 00 つき)として持つので、同じ色でも文字列が一致しない。
比較を末尾6桁だけに絞って解消した。
一方で、入れ子の IF の検出は本物を1件捕まえた。 内側の IF を、既存の「12期目以降」の係数セルを参照する形に置き換えた。
Excel で描画して目視した
最後に、完成版のブックを Excel で画像に描画させ、シートを目視で確かめさせた。 2-3 のシートは直したあと 2.600% と 30.6386% が出て、検算のセルが 0 になった。 1_ のシートは、見出しが折り返されていた。 0_設例データまで見て、全シートが正しく描画されていることを確認できた。
仕上げに、途中版の検査セルも確かめさせた。 受講者の入力セルを消した途中版で検査セルだけを残すと、空欄を参照して 0 が出て、合っているように見えてしまう。 その心配がないかを確かめたうえで、講義の台本の元になる §4-3 の説明を、5_ のシートに実際にある行にそろえた。
進捗を記録し、明日の確認に引き継いだ
段0を通過して段1まで終わったところで、引き継ぎの指示どおり作業が止まった。 私は、進捗を記録したうえで引き継ぎプロンプトをダウンロードフォルダに書き出すよう頼んだ。 明日は、私が確認するところから続きをやりたいからだ。
進捗は、計画書の §9(段0と段1の結果、次のセッションの順番)と、設計図の下書きの §4(作り方の手順)に書き込まれた。 引き継ぎプロンプトも、朝と同じくダウンロードフォルダのテキストファイルに書き出してもらった。
学びメモ
- 中断条件を引き継ぎに書いておくと、一次資料と食い違った時点で作業が止まる。止まった地点で判断を返せたので、4つの食い違いの扱いは私が決めた
- 検査を書いたら、わざと壊して捕まるかを試す。2回目の破壊は引用符の誤りで当たっておらず、当て直して初めて検出を確かめられた
- openpyxl の色コードは、アルファ値つきの8桁で返ってくる。色を比べるなら末尾6桁にそろえる
明日は、私がこの進捗を確認するところから始める。 段0と段1の結果をどこまで確定とみなすかは、その確認しだいである。