## 01_code_definition/08_salary.md # 給与マスタ設計 ## 1. 概要 従事者ごとの給与・報酬を管理する。 契約形態(委任・雇用・業務委託)によって計算ロジックが異なる。 **給与履歴を残すため、変更のたびに新しいレコードを追加する。** ## 2. 基本方針 - 給与計算は月単位で行う - 歩合は案件売上に対して適用 - 契約形態ごとに以下の要素を組み合わせる | 契約コード | 契約形態 | 基本給 | 時給 | 歩合 | 備考 | |-----------|---------|-------|------|------|------| | C01 | 委任(役員) | 月額固定 | - | - | 定期同額給与。年に1回だけ変更可 | | C02 | 正規雇用 | 月額固定 | - | ○ | 基本給+歩合 | | C03 | 契約社員 | 月額固定 | - | ○ | 基本給+歩合 | | C04 | パート | - | ○ | ○ | 時給+歩合 | | C05 | アルバイト | - | ○ | ○ | 時給+歩合 | | C06 | 業務委託 | - | - | ○ | 完全歩合 | | C07 | 派遣社員 | 派遣先から支払 | - | - | 別体系 | ## 3. 保存形式 給与情報は従事者マスタ(employees.json)とは**別マスタ(salaries.json)** で管理する。 変更履歴を残すため、更新時は上書きせずに新しいレコードを追加する。 ### 3.1 データ構造(1レコードの内容) | フィールド名 | 型 | 必須 | 説明 | |-------------|-----|------|------| | SPS_ID | string | ✅ | 従事者ID | | 契約コード | string | ✅ | C01〜C07 | | 基本給 | number | | 月額固定の場合(円) | | 時給 | number | | 時給の場合(円) | | 歩合率 | number | | パーセント(例:55 → 55%) | | 適用開始日 | date | ✅ | この給与を適用し始めた日 | | 適用終了日 | date | | NULLの場合は現在有効 | | active | boolean | ✅ | true=現在有効/false=過去の履歴 | | 備考 | string | | 特記事項 | ### 3.2 データ例 ```json { "salaries": [ { "SPS_ID": "SPS01-00001", "契約コード": "C01", "基本給": 500000, "時給": null, "歩合率": null, "適用開始日": "2024-04-01", "適用終了日": null, "active": true, "備考": "役員報酬" }, { "SPS_ID": "SPS01-00001", "契約コード": "C01", "基本給": 480000, "時給": null, "歩合率": null, "適用開始日": "2023-04-01", "適用終了日": "2024-03-31", "active": false, "備考": "前期役員報酬" }, { "SPS_ID": "SPS01-00004", "契約コード": "C06", "基本給": null, "時給": null, "歩合率": 55, "適用開始日": "2024-04-01", "適用終了日": null, "active": true, "備考": "業務委託 歩合55%" } ] } ``` ## 4. 歩合率の考え方 - 歩合率は職務(役職)ごとに基準値を持つこともできるが、**最終的には個人ごとに設定**する(権限設計と同じ考え方) - 例:上級調査員の基準歩合率は50%だが、交渉で55%になることもある - 案件種別(調査・車検・コーヒー)によって歩合率を変える場合は、別途設計が必要 ## 5. 現在有効な給与の取得方法 - 従事者情報を表示する時は、`active: true` のレコードを取得する - 履歴を見たい時は、その従事者の全レコードを適用開始日順に表示 ## 6. 保存場所 `/master/salaries.json` ## 7. 個人事業の報酬・給与対応 - 個人事業(SPS)で報酬・給与が発生する場合も、統合マスタ(salaries.json)で一元管理する - 契約コード(C01〜C07)で個人事業・法人の区別なく対応可能 - 実際の支払い処理(仕訳)は会計システム(journal.html)で行う ## 8. 今後の検討事項 1. 案件種別ごとに歩合率を変える必要があるか 2. 役員賞与(事前確定届出給与)の扱い 3. 給与計算機能との連携方法 ```