給与管理システム新規作成

This commit is contained in:
admin
2026-01-20 11:15:49 +09:00
parent 9dc7cbcb07
commit 8a00de8f03
45 changed files with 8925 additions and 5 deletions

221
docs/payroll_system.md Normal file
View File

@@ -0,0 +1,221 @@
# 給与管理システム (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 出力
- 銀行振込データの出力
- 給与台帳の出力
- 源泉徴収票の作成