222 lines
6.5 KiB
Markdown
222 lines
6.5 KiB
Markdown
# 給与管理システム (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 出力
|
||
- 銀行振込データの出力
|
||
- 給与台帳の出力
|
||
- 源泉徴収票の作成
|