銀行エンジニアリング Lab 08:Pricing Lab(版の承認 → 見積り → 契約 → 満期・中途解約)
新しい金利を提案・承認し、見積りから定期預金を契約して、旧契約が変わらないことと、中途解約の利息を確かめます。
v8以降に実装した台帳・記帳エンジンなどを実際に動かし、正常時と異常時の両方から銀行システムの構造を学ぶ。
Prerequisite: BANKING SYSTEMLEARNING GOALS
このページで学ぶこと
- 版の提案と別人の承認
- 見積りの失効と契約時の固定
- 中途解約の利息の手計算
PLAIN LANGUAGE
まず、ここだけつかむ
新しい金利を提案し、別人が承認し、有効開始日から見積りと契約に反映します。
旧契約が変わらないことと、見積りの失効を自分の操作で確かめます。
中途解約の利息を手計算し、実際の支払と比べます。
DIFFICULT PARTS, STEP BY STEP
難しいポイントを、順番にほどく
専門用語を覚えることより、「なぜ必要か」「このシステムのどこで使うか」を理解することが目標です。
施行日
新しい価格が効き始める日です。
過去に遡って価格を変えないためです。
effective_from。承認日の翌営業日以降。
見積りの有効期限
見積りが使える期間です。
古い条件で契約が結ばれないようにするためです。
発行と同じJST日のうちで、かつ発行の翌営業日まで。過ぎるか版が切り替わると PR003。
中途解約利息
満期前に解約したときに支払う利息です。
商品ごとの条件を契約に固定して計算するためです。
契約時の early_rate_bps とその日までの暦日数。
準備
seed の状態では、全期間が年0.80%・中途解約は元本のみです。提案は operator、承認は管理責任者で行います。
open 'http://localhost:54336/local/login?as=operator&next=/admin/pricing'演習
| 演習 | 操作 | 観察すること |
|---|---|---|
| 1. 版を提案する | operator:12か月、年1.20%、中途解約0.50%、有効開始は翌営業日以降 | 承認待ちのキューに入る。今日の日付を指定すると PR004 |
| 2. 自分で承認してみる | operator のまま承認を試す | 権限がなく拒否される。管理責任者が提案した場合も、本人の承認は PR005 |
| 3. 別人が承認する | manager:承認 | 有効開始日になるまで、契約の条件は変わらない |
| 4. 旧契約と新契約 | 有効開始日以降に見積り → 契約 | 新契約は年1.20%。旧契約は年0.80%のまま |
| 5. 見積りの失効 | 見積りのあとで、別の版が有効になる(または日付が変わる)状態で契約 | PR003 で拒否され、見積りのやり直しになる |
| 6. 中途解約 | 新契約を100日後に中途解約する場面を手計算 | 元本×50bp×100日÷3,650,000の切り捨てが支払われる |
振り返り
- 価格を変えても既存契約が動かないことを、どの列で確認したか
- 見積りと契約の間に条件が変わったとき、なぜ契約を止めるほうが安全か
CHECK YOUR UNDERSTANDING
3問で理解チェック
答えを頭の中で考えてから、各項目を開いて確認してください。
Q1今日の日付を有効開始日にして提案できますか?
できません。未来の営業日だけです(PR004)。
Q2年0.50%の中途解約で、100万円を100日預けたときの利息は?
1,000,000×50×100÷3,650,000 の切り捨てで 1,369円です。
Q3新しい版が有効になった日、旧契約の年利は?
変わりません。契約時の値のままです。
完全に暗記する必要はありません。大切な考え方を説明できそうなら押してください。
SOURCE TRAIL
根拠と関連教材
CURRENT IMPLEMENTATIONは確認したrepository内の実装です。HISTORICAL IMPLEMENTATIONは導入・修正の履歴で、後続migrationによる再定義があり得ます。RELATED LESSONは教材への案内で、実装の一次Sourceではありません。ASSUMPTIONは仮定、UNKNOWNは未確認を表します。
確認基点: d02eae8914f39cbf06bfe422dc39c71886f82b3e / 2026-09-11。稼働環境への適用確認: UNKNOWN。パス実在の自動検査と、記述した技術的事実の確認は別です。
Implementation Status: IMPLEMENTED IN MINIBANK(この教材が扱うコードの範囲)
- RELATED LESSON/docs/be-deposit-pricing-versions価格の版と契約時の固定
- RELATED LESSON/docs/be-deposit-interest-fee-accounting利息と手数料の会計
- CURRENT IMPLEMENTATION
src/app/admin/(protected)/pricing/page.tsxPricingPage()管理画面 預金価格(表示は PricingAdminView) - CURRENT IMPLEMENTATION
scripts/banking/v15-pricing.test.mjs版の承認、遡及の拒否、契約時の固定、見積りの失効、日次残高の利息、手数料、中途解約、照合のDBテスト