# #024 勘定科目・補助勘定科目登録ガイド / Accounts and subaccounts

## 画面へのアクセス
「タスク」→「#024 収入・支出」→「勘定科目・補助勘定科目マスター」

## 勘定科目
| フィールド | 必須 | 例 | 説明 |
| --- | --- | --- | --- |
| 親ID | 任意 | `100` | 最上位勘定科目は空文字。登録済み勘定科目のIDを指定 |
| ID | 必須 | `0110` | 独立した勘定科目ID。先頭ゼロを保持 |
| 名称 | 必須 | `普通預金` | 勘定科目名称 |

## 補助勘定科目
| フィールド | 必須 | 例 | 説明 |
| --- | --- | --- | --- |
| 親ID | 必須 | `0110` | 親勘定科目のIDを参照 |
| ID | 必須 | `001` | 同一親科目内で一意のID |
| 名称 | 必須 | `A銀行` | 補助勘定科目名称 |

サンプルコードは**説明用**であり、JDLの実際の科目コードと同一である保証はありません。
JDLに合わせた設定にする場合は、利用中のJDL会計データの勘定科目一覧を確認してIDを入力してください。

## 参照整合性
- 親が存在しない勘定科目、循環する親子関係、同一勘定科目内で重複する補助科目IDを拒否。
- 参照されている勘定科目／補助勘定科目は削除不可。
- 旧バージョンで自由入力された明細文字列は保持して選択肢に表示。明示的に置き換えるまでデータを消去しません。
- 収入・支出の勘定科目選択により補助科目選択肢を絞り込みます。
- HTML Functional Class: `data-finance-master='{"accounts":[],"subAccounts":[]}'`。
- API: `BoneCalendar.getFinanceMaster(element)` / `setFinanceMaster(element, master)` / `openFinanceMasterManager(element)`。
- 保存: `calendarSettings.financeMaster`、既存 SQLite Calendar Adapterの設定オブジェクトに格納。

## English brief
Create accounts with `parentId` (empty for root), `id`, `name`. Create subaccounts with `parentId` (must match an account ID), `id`, `name`. IDs are stored as strings and preserve leading zeros. Task income/expense entries reference account and subaccount IDs. Legacy free-form entries remain available until explicitly migrated. Use the existing SQLite Calendar settings store; no new DB schema is required.
