# 給与管理システム (Payroll Management System) 会計システムに統合された給与管理モジュールです。 ## 機能概要 ### 1. 従業員管理 - 従業員の基本情報管理 - 扶養家族情報の登録・管理 - 銀行口座情報の管理 ### 2. 給与設定 - 従業員ごとの給与基本設定 - 基本給、時給、各種手当の設定 - 設定履歴の管理 ### 3. 月次給与計算 - 勤怠情報の入力 - 給与の自動計算 - 基本給 - 残業手当(時給 × 1.25) - 休日手当(時給 × 1.35) - 社会保険料(健康保険、厚生年金、雇用保険) - 所得税(扶養人数を考慮) - 住民税 - 給与明細の表示 - 給与の承認機能 ### 4. 税率・保険料管理 - 社会保険料率の管理 - 健康保険 - 厚生年金 - 雇用保険 - 労災保険 - 所得税率表の管理 - CSV インポート機能 ## セットアップ ### 1. データベーススキーマの適用 ```bash # PostgreSQLに接続 psql -U your_user -d your_database # スキーマを適用 \i backend/sql/payroll_schema.sql ``` ### 2. サーバーの起動 ```bash cd backend uvicorn app.main:app --reload ``` ### 3. フロントエンドへのアクセス ブラウザで以下の URL にアクセス: - メインメニュー: http://localhost:8000/static/payroll.html - 従業員管理: http://localhost:8000/static/payroll-employees.html - 給与設定: http://localhost:8000/static/payroll-salary-settings.html - 月次給与計算: http://localhost:8000/static/payroll-calculation.html - 税率・保険料設定: http://localhost:8000/static/payroll-settings.html ## API エンドポイント ### 従業員管理 - `POST /payroll/employees/` - 従業員の作成 - `GET /payroll/employees/` - 従業員一覧の取得 - `GET /payroll/employees/{employee_id}` - 従業員詳細の取得 - `PUT /payroll/employees/{employee_id}` - 従業員情報の更新 - `DELETE /payroll/employees/{employee_id}` - 従業員の削除 ### 扶養家族管理 - `POST /payroll/employees/{employee_id}/dependents` - 扶養家族の追加 - `GET /payroll/employees/{employee_id}/dependents` - 扶養家族一覧の取得 - `PUT /payroll/dependents/{dependent_id}` - 扶養家族情報の更新 - `DELETE /payroll/dependents/{dependent_id}` - 扶養家族の削除 ### 給与設定 - `POST /payroll/settings/salary` - 給与設定の作成 - `GET /payroll/settings/salary/{employee_id}` - 給与設定履歴の取得 - `GET /payroll/settings/salary/{employee_id}/current` - 現在の給与設定の取得 - `PUT /payroll/settings/salary/{setting_id}` - 給与設定の更新 ### 保険料率管理 - `POST /payroll/settings/insurance-rates` - 保険料率の作成 - `GET /payroll/settings/insurance-rates` - 保険料率一覧の取得 - `GET /payroll/settings/insurance-rates/{rate_type}` - 特定保険料率の取得 - `PUT /payroll/settings/insurance-rates/{rate_id}` - 保険料率の更新 ### 所得税率表管理 - `POST /payroll/settings/income-tax` - 所得税率表の作成 - `POST /payroll/settings/income-tax/import` - CSV インポート - `GET /payroll/settings/income-tax` - 所得税率表の取得 - `GET /payroll/settings/income-tax/calculate` - 所得税の計算 ### 月次給与計算 - `POST /payroll/calculation/calculate` - 給与の計算 - `GET /payroll/calculation/` - 給与計算一覧の取得 - `GET /payroll/calculation/{payroll_id}` - 給与明細の取得 - `PUT /payroll/calculation/{payroll_id}` - 給与データの更新 - `POST /payroll/calculation/{payroll_id}/recalculate` - 給与の再計算 - `POST /payroll/calculation/{payroll_id}/approve` - 給与の承認 - `DELETE /payroll/calculation/{payroll_id}` - 給与データの削除 ## 使い方 ### 初回セットアップフロー 1. **保険料率の確認** - 税率・保険料設定画面で、初期登録された保険料率を確認 - 必要に応じて更新 2. **所得税率表のインポート** - CSV ファイルを準備(フォーマット: 月収 From,月収 To,扶養人数,税額) - 税率・保険料設定画面で CSV インポート 3. **従業員の登録** - 従業員管理画面で従業員を登録 - 必要に応じて扶養家族情報を追加 4. **給与設定** - 給与設定画面で各従業員の給与設定を登録 - 基本給、手当などを設定 ### 月次給与計算フロー 1. **勤怠情報の入力** - 月次給与計算画面で「新規計算」をクリック - 従業員を選択 - 出勤日数、勤務時間、残業時間などを入力 2. **給与の計算** - 「計算実行」ボタンをクリック - システムが自動的に給与を計算 3. **給与明細の確認** - 計算結果を確認 - 必要に応じて「再計算」 4. **承認** - 内容を確認後、「承認」ボタンをクリック - 承認後は変更不可 ## データベーススキーマ ### 主要テーブル 1. **employees** - 従業員マスタ 2. **dependents** - 扶養家族情報 3. **salary_settings** - 給与基本設定 4. **insurance_rates** - 社会保険料率マスタ 5. **income_tax_table** - 所得税率表 6. **monthly_payroll** - 月次給与計算ヘッダー 7. **payroll_details** - 給与明細項目詳細 ## 計算ロジック ### 基本給の計算 - 月給制: 設定された基本給から欠勤日数を控除 - 時給制: 時給 × 勤務時間 ### 残業手当 - 時給 × 残業時間 × 1.25 ### 休日手当 - 時給 × 休日出勤時間 × 1.35 ### 社会保険料 - 健康保険: 総支給額 × 従業員負担率 - 厚生年金: 総支給額 × 従業員負担率 - 雇用保険: 総支給額 × 従業員負担率 ### 所得税 1. 課税対象額 = 総支給額 - 通勤手当(非課税限度額まで) - 社会保険料 2. 扶養家族数を取得 3. 所得税率表から該当する税額を取得 ### 差引支給額 - 総支給額 - 総控除額 ## 注意事項 - 所得税率表は国税庁の「給与所得の源泉徴収税額表」に基づいて作成してください - 社会保険料率は年度ごとに変更される可能性があるため、定期的な更新が必要です - 承認済みの給与は変更・削除できません - 扶養家族の情報は所得税計算に影響するため、正確に入力してください ## 今後の拡張機能 - 賞与計算機能 - 年末調整機能 - 給与明細の PDF 出力 - 銀行振込データの出力 - 給与台帳の出力 - 源泉徴収票の作成