AI に市民税の申告・納税管理を作らせてみた — 監査可能な「確定」がまた組み立てで済んだ(やってみた #78)
/tax-filing375px のビューポートで撮影。縦長のページはフレーム内をスクロールします。
解説記事
AI に市民税の申告・納税管理を作らせてみた — 監査可能な「確定」がまた組み立てで済んだ(やってみた #78)
やってみたシリーズ: 自作のデザインシステム
@gunjo/ui(群青)を、群青のことを一度も見たことのない AI に、実際の画面で組ませていく連載。公共/自治体4枚目——市民税申告 / 納税管理(申告・税額計算 × 控除 × 期別納付状況 × 延滞 × 確定/通知)。
公共の4枚目は税務課の市民税申告・納税管理。所得と控除から税額を計算し、期別の納付状況を追い、課税を確定して通知書を出す画面。監査可能な確定(誰がいつ)・2人確認・延滞判定・JPY 金額入力——規制と金額の重い部分が、また組み立てで済んだ。
結果 — 4.5/5
tsc/build 緑・console 0・375px横溢れ0・所得控除入力でライブ税額再計算(給与5.2M→8.5M で年税額¥235,300→¥518,300)・期別納付状況・延滞判定・2人確認→署名確定→ロック→通知書発付。
業界越えが「規制+金額」の領域で全開
-
SignedRecord(臨床記録)→ 課税確定「この回いちばんの収穫」(下書き→署名ロック→確定者+時刻の監査行→更正は追記)。 -
CoSign(与薬ダブルチェック)→ 係長照合(確認者≠主担当ガード・JSDoc が「金融の二重承認」と明記)。 -
ReferenceValue(臨床ラボ)→ 延滞判定(HH チップ+sr-only で色だけに頼らない・labels で「延滞中」に)。 -
CurrencyInput/formatCurrency(金融)→ 収入控除入力+JPY 表示・Badgeicon → 全ステータスピル・DataTable → 申告キュー。
予備知識ゼロの AI 曰く「gunjo.jp は一度も必要なかった」——型付きソース+JSDoc だけで全部見つかった。手組みは税額内訳の <dl> だけ。
src 変更ゼロ(コンポーネントを作らず)
新たな大きな欠落は無し。ライブラリが税務申告をまるごと既存コンポーネントで賄った。見つかった欠落は全て1回目の小さな不便:
- 🟡 Meter の見えるラベルがロケール整形しない(
117600円 / 235300円のまま・valueTextは aria だけ上書き・見える表示は固定・#308)。→ Meter の小さな欠落がこれで4件(#277 %二重・#286 満たすほど良い・#297 ReactNode label aria・#308 formatValue)=Meter をまとめて直す PR の頃合い。 - 🟡 金額内訳(行+合計)のコンポーネントが無い(市民税+県民税+均等割→合計 を手組み・MetadataList は合計行/右寄せ無・#178 SummaryList に追記)。
- 🟢 ReferenceValue は「値が閾値超え」を旗にするので「延滞という状態(金額¥0でも)」を表せない(日数で判定して回避)。
- 🟢 @tabler/icons-react が利用者側で明示インストールが要る(pnpm/strict で hoisting が壊れる・#309・docs)。
学び — 「監査可能な確定」はもう作法の骨格
医療の SignedRecord・CoSign が、税の課税確定・係長照合にまた骨格そのまま効いた。#59 退院サマリ・#75 交付・#76 給付決定 に続き、税でも。「監査できる署名確定+二重承認」は、業界を問わず事務方の普遍的な作法で、それをコンポーネント化してあるから、規制の重い領域の新画面が来るたびに組み立てで済む。残る金額系の欠落(Meter 整形・金額内訳)は小さく、3回ルール/まとめて直すことで埋める。
次回予告(やってみた #79)
- 公共をもう1枚(住民異動 / 各種届出)で5枚目。ApprovalWorkflow が別手続きでまた効くか・Meter 集約も検討。
試す
まだ alpha。医療の署名確定/2人確認が税の課税確定/照合にまた業界を越え、Meter の小さな欠落が4件たまった回。
この連載は、作者が AI(Claude と Codex)と協働で制作しています。実験・検証の設計、判断、公開前の事実確認は人間が行い、実作業と下書き執筆は AI が担っています。
使用した @gunjo/ui コンポーネント
この画面のソースが直接 import しているコンポーネントです。
cold AI が組み上げた実コード
ファイル名をクリックでソースを展開できます。