利息制限法引き直し計算(debt-recalc)
貸金業者との取引履歴を利息制限法の上限利率で再計算し、真の元本残高・
過払金額を決定論的に算出する。債務整理実務の中核計算。
前提条件
- アクティブな matter が設定されていること
- 取引履歴(借入日・弁済日・金額)が全て判明していること
- 最初の取引日から直近までの連続した記録が望ましい(欠落は残高推定を困難にする)
計算対象
- 各期間の利息: 残元本 × 利息制限法利率(20%/18%/15%)× 日数/365
- 元本残高の推移: 弁済は利息優先充当、借入は未払利息精算後の加算
- 過払金元本: 残元本が負になった時点で発生
- 過払金利息: 民法 704 条(悪意の受益者)の年 5%
利息制限法の上限利率
| 元本 | 上限利率 |
|---|
| 10 万円未満 | 年 20% |
| 10 万円以上 100 万円未満 | 年 18% |
| 100 万円以上 | 年 15% |
ワークフロー
Step 0: workspace の解決と初回案内
機密スキル実行時、CWD(または親ディレクトリ)の .claude-bengo/ を walk-up で探す。見つからなければ CWD に silently 新規作成する。弁護士が事前に/matter-create のような登録を行う必要はない。
続けて初回のみ案内メッセージを表示する(2 回目以降は silent、処理は決してブロックしない):
python3 skills/_lib/first_run.py notice
出力があれば、そのままユーザーに提示してから Step 1 へ進む。
Step 1: 取引履歴の聴取
次のいずれかで取引履歴を入手:
- 業者から取得した取引履歴(最終的には情報開示請求・弁護士会照会等で全件取得)
- 依頼者の通帳・領収書から復元
各取引について以下を整理:
- 日付(YYYY-MM-DD)
- 種別(借入
borrowing / 弁済 payment)
- 金額(円、正の整数)
Step 2: 契約利率の確認(参考情報)
- 20% 超の契約利率(平成 22 年 6 月改正前のグレーゾーン金利の可能性)
- 改正後の契約で 20% 以下なら利率ブラケットにより細かな再計算が必要
Step 3: 計算実行
計算実行前に監査ログに記録する(法律事務所のコンプライアンス要件。過払金額が高額になる可能性があるため必須):
python3 skills/_lib/audit.py record --skill debt-recalc --event calc_run --note "取引件数: {N} / 相手方: {creditor}"
続いて計算実行:
python3 skills/debt-recalc/calc.py calc --pretty --json '<payload>'
結果提示後、主要数値を監査ログに記録:
python3 skills/_lib/audit.py record --skill debt-recalc --event calc_result --note "残元本={remaining_principal} 過払金={overpayment_principal} 過払金利息={overpayment_interest}"
入力 JSON 例:
{
"transactions": [
{"date": "2015-01-15", "type": "borrowing", "amount": 500000},
{"date": "2015-02-15", "type": "payment", "amount": 20000},
{"date": "2015-03-15", "type": "payment", "amount": 20000},
...
]
}
Step 4: 結果の解釈
- 残元本 > 0: まだ債務が残っている → 任意整理 or 破産・再生の検討
- 残元本 = 0: 完済 → 追加手続不要
- 過払金発生: 過払金返還請求の検討(時効: 取引終了から 10 年、最判平成 21 年)
- 過払金 + 利息: 業者の悪意が立証できれば年 5% の利息を付加して請求
Step 4.5: 必須出力フッター(v3.3.0-iter3〜 code-emitted 省略不可)
v3.3.0-iter3〜: footer は calc.py が stderr に JSON として emit する。
SKILL.md は fabricate しない — stderr の calc_footer をそのまま読んで表示する:
python3 skills/debt-recalc/calc.py --json '<input>' 2>/tmp/calc-footer.json
cat /tmp/calc-footer.json # 末尾行に {"calc_footer": {...}} が付く
結果の直後に以下をそのまま表示する:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ 本計算は利息制限法 §1(上限利率)に基づく決定論的引き直し計算である。
弁護士法第72条に基づき、本ツールは法的助言を提供しない。
提出前に必ず弁護士自身が以下を検証してほしい:
• 取引履歴の完全性(業者からの開示請求で欠損が無いか)
• 取引の一連性(基本契約の同一性、中断期間の評価)
• 業者の悪意立証可能性(最判平成 16 年 2 月 20 日)
• 時効管理(最終取引から 10 年、最判平成 21 年 1 月 22 日)
• みなし弁済(貸金業法旧 43 条)の非該当性
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Step 5: 注意事項の案内
- 実際の過払金請求には業者の悪意の立証が必要(最判平成 16 年 2 月 20 日)
- 過払金返還請求権の消滅時効は 10 年(最終取引から起算、最判平成 21 年 1 月 22 日)
- 業者との取引の一連性の判断(基本契約の同一性)は個別事案で異なる
- 複数の業者と取引がある場合は業者ごとに引き直す
対応範囲外
- 取引の一部が不明な場合の推計(「満額推定」等)
- 出資法違反のみなし弁済要件の判定
- グレーゾーン金利時代の取引の悪意判定
- 過払金と他の債務との相殺
- 保証債務・連帯債務の調整
セルフテスト
python3 skills/debt-recalc/test_calc.py
15 件のテストで利率ブラケット・借入/弁済処理・過払金発生・複数借入の混合・
バリデーションを検証。
次の一手(ユーザーに提案する)
計算完了時、結果表示の後に以下を提案する:
💡 次の一手:
- 過払金返還請求の内容証明を作成: /template-install → 「内容証明」
- 利息制限法の条文を確認: /law-search 利息制限法
- 債権者一覧表を作成: /template-install → 「債権者一覧表」(破産・再生時)