Inheritance Calculator Web / JavaScript / 法律
← Back to Blog

法定相続分計算ツールを
1枚のHTMLで作った話
35KBのファイルが、民法に完全準拠したプロの実務ツールになった

PROLOGUE

「誰がいくら受け取れるか」を正確に出したい

奥さんが司法書士事務所に勤めている。相続の仕事では「誰がいくら受け取れるか」——法定相続分(民法で決まっている相続の割合)を素早く正確に計算する場面が日常的にある。

市販のツールや計算サイトはあるが、「LINEで送れるくらい軽く、サーバーなし、APIなし」で動くものが手元にほしかった。それならHTMLとJavaScript(ブラウザ上で動くプログラミング言語)だけで作れるはず——そう考えてクラリスと作り始めた。

最終的に完成したのは約35KBのHTMLファイル1枚。民法887・889・900・901条に準拠した、プロの実務に耐えるツールだ。

DISCOVERY

法律のルールをコードに落とす

相続には複雑なルールがある。いくつか整理すると——

順位がある — 配偶者は常に相続人。子(第1順位)がいれば親(第2順位)は相続しない。子も親もいなければ兄弟姉妹(第3順位)が相続する。

代襲相続がある — 子が先に亡くなっていた場合、その子の子(孫)が代わりに相続する。これを「代襲相続(だいしゅうそうぞく)」という。ただし相続放棄(相続を断ること)は代襲の原因にならない、という細かいルールもある。

半血兄弟のルール — 父が同じで母が違う(異母)の兄弟姉妹は「半血兄弟(はんけつきょうだい)」と呼ばれ、第3順位での相続では取り分が全血(両親とも同じ)の半分になる。ただし第1順位(子として相続する場合)では均等だ。

民法の条文は複雑で例外が多い。会話しながら整理して実装できるのは、クラリスとの共同作業ならでは。
BUILD

2フェーズで完成まで

Phase 1(基本機能) では、配偶者・子・代襲相続・2段階相続(父が亡くなり、その後母も亡くなるケース)の全パターンに対応した。相続人の入力画面、分数での表示(LCM=最小公倍数で共通の分母に統一)、印刷機能も実装。

UIは司法書士が実務で使えるデザインに。ウォームベージュとテラコッタのカラーパレット、和文フォント(Shippori Mincho + Zen Kaku Gothic New)で仕上げた。

Phase 2(機能拡張) では、直系尊属(親・祖父母など)相続・兄弟姉妹相続の全順位に対応。入力エリアをタブ形式に刷新した。

そして最大の難関が、代襲相続のロジックのバグ修正だった。

TROUBLE

直すたびに壊れる、代襲相続の連鎖バグ

TROUBLE 01
異母の子の孫が、第2相続に誤って含まれた
孫以下の相続人ノード(データの単位)が、親の「続柄(実子か異母かの区分)」を引き継いでいなかった。異母の子の孫が第2相続(母の相続)に混ざってしまう問題。ノードに「親から引き継いだ続柄」の情報を渡すよう修正した。
TROUBLE 02
代襲相続の割合が全員均等割りになってしまった
たとえば子5人のうち1人が先に亡くなっていて孫が3人いる場合、本来は「先死亡の子の取り分(1/5)を孫3人で割る(各1/15)」が正解。しかし「子5人+孫3人=8人」でフラットに均等割りしてしまっていた(各1/8)。

修正:先死亡の子の「グループ全体の取り分」を孫に渡す計算に変更。
TROUBLE 03
修正したら今度は取り分が0円になった
バグ②の修正で引数(関数に渡す値)の設計が噛み合わなくなり、代襲相続人の取り分が0円になる問題が発生。パッチを当て続けるのをやめて、関数全体を設計から書き直すことで全部解決した。
INSIGHT

バグを直すな、設計を直せ

連鎖バグから脱出できた理由は、「パッチを当てる」ことをやめたからだ。各相続人ノードに「自分の取り分(myShare)」を渡し、存命なら自分が受け取り・先死亡なら子の人数で割って渡す——という一貫した設計に書き直した。

バグを直すより、設計を直す。これを体で覚えた。

そしてもうひとつ。35KBのHTMLファイル1枚が、サーバーなし・DBなし・フレームワークなしで、これだけの計算ロジックとUIを内包できる——「LINEで送れるツール」というコンセプトは、使う人のハードルを下げるうえで本当に大事だと改めて思った。

SUMMARY

Phase 1(12ステップ)で基本ロジックを固め、Phase 2(5ステップ)で全順位対応・バグ3件を全部倒した。民法887・889・900・901条に完全準拠した計算ツールが、35KBのHTMLファイル1枚として完成した。

奥さんのために作ったものが、プロの実務に耐えるものになった。のっぱらに、法律の木を一本植えた。

ALL Web UEFN × Verse Tools Artwork