給与管理システム新規作成
This commit is contained in:
274
docs/payroll_enhancements.md
Normal file
274
docs/payroll_enhancements.md
Normal file
@@ -0,0 +1,274 @@
|
||||
# 工资系统增强功能说明
|
||||
|
||||
## 已实现的三大改进
|
||||
|
||||
### 1. 扶养人数输入和判定 ✓
|
||||
|
||||
#### 功能说明
|
||||
|
||||
- **扶养家族管理**: 已有的 `dependents` 表允许录入扶养家族信息
|
||||
- **自动计算扶养人数**: 系统自动统计有效期内的扶养人数
|
||||
- **扶养判定规则表**: 新增 `dependent_rules` 表,可配置扶养条件
|
||||
|
||||
#### API 端点
|
||||
|
||||
- `POST /payroll/employees/{employee_id}/dependents` - 添加扶养家族
|
||||
- `GET /payroll/employees/{employee_id}/dependents` - 查看扶养家族列表
|
||||
- `GET /payroll/settings/dependent-rules` - 查看扶养判定规则
|
||||
- `POST /payroll/settings/dependent-rules` - 设置扶养判定规则
|
||||
|
||||
#### 扶养判定条件(可配置)
|
||||
|
||||
```
|
||||
- 所得限度額_一般: 480,000円/年
|
||||
- 所得限度額_配偶者: 480,000円/年
|
||||
- 所得限度額_配偶者特別: 1,330,000円/年
|
||||
- 年齢_特定扶養親族: 19-23歳
|
||||
- 年齢_老人扶養親族: 70歳以上
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2. 奖金计算 + 社保上限设置 ✓
|
||||
|
||||
#### 社会保险料上限表 (`insurance_limit_settings`)
|
||||
|
||||
可通过画面手动修改的上限值:
|
||||
|
||||
| 设定类型 | 2026 年初始值 | 说明 |
|
||||
| ------------------------ | ------------- | -------------------------------- |
|
||||
| 健康保険標準報酬月額上限 | 1,390,000 円 | 健康保险计算基数上限(第 50 级) |
|
||||
| 厚生年金標準報酬月額上限 | 650,000 円 | 厚生年金计算基数上限(第 32 级) |
|
||||
| 通勤手当非課税限度額 | 150,000 円 | 通勤补贴免税上限 |
|
||||
|
||||
#### API 端点
|
||||
|
||||
**社保上限管理**:
|
||||
|
||||
- `GET /payroll/settings/insurance-limits` - 获取当前社保上限
|
||||
- `POST /payroll/settings/insurance-limits` - 创建新的上限设置
|
||||
- `PUT /payroll/settings/insurance-limits/{limit_id}` - 修改上限值
|
||||
|
||||
**奖金计算**:
|
||||
|
||||
- `POST /payroll/bonus/calculate` - 计算奖金
|
||||
- `GET /payroll/bonus/` - 获取奖金列表
|
||||
- `GET /payroll/bonus/{bonus_id}` - 获取奖金详情
|
||||
- `POST /payroll/bonus/{bonus_id}/approve` - 审批奖金
|
||||
|
||||
#### 奖金计算逻辑
|
||||
|
||||
```python
|
||||
总支给额 = 基本奖金 + 业绩奖金 + 其他奖金
|
||||
|
||||
# 应用社保上限
|
||||
健康保险 = min(总支给额, 健康保险上限) × 健康保险率
|
||||
厚生年金 = min(总支给额, 厚生年金上限) × 厚生年金率
|
||||
介护保险 = min(总支给额, 健康保险上限) × 介护保险率 (40-64岁)
|
||||
雇用保险 = 总支给额 × 雇用保险率
|
||||
|
||||
# 奖金所得税(特殊算法)
|
||||
所得税 = (总支给额 - 社保) × 根据前3月平均工资和扶养人数确定的税率
|
||||
|
||||
差引支给额 = 总支给额 - 总控除额
|
||||
```
|
||||
|
||||
#### 奖金类型
|
||||
|
||||
- 夏季賞与(夏季奖金)
|
||||
- 冬季賞与(冬季奖金)
|
||||
- 決算賞与(结算奖金)
|
||||
- その他(其他)
|
||||
|
||||
---
|
||||
|
||||
### 3. 源泉徴収税額表上传功能 ✓
|
||||
|
||||
#### 功能说明
|
||||
|
||||
- **CSV 上传**: 可通过 API 上传源泉徴收税额表的 CSV 文件
|
||||
- **年份区分**: 每条税率记录有 `valid_from` 和 `valid_to` 字段区分年份
|
||||
- **自动应用**: 计算工资时自动使用对应年份的税额表
|
||||
|
||||
#### API 端点
|
||||
|
||||
- `POST /payroll/settings/income-tax/import-csv` - 上传税额表 CSV
|
||||
- `GET /payroll/settings/income-tax` - 查看当前税额表
|
||||
- `GET /payroll/settings/income-tax/calculate` - 测试税额计算
|
||||
|
||||
#### CSV 格式示例
|
||||
|
||||
```csv
|
||||
monthly_income_from,monthly_income_to,dependents_count,tax_amount,valid_from
|
||||
0,88000,0,0,2026-01-01
|
||||
88000,89000,0,130,2026-01-01
|
||||
89000,90000,0,200,2026-01-01
|
||||
```
|
||||
|
||||
**字段说明**:
|
||||
|
||||
- `monthly_income_from`: 月收入下限
|
||||
- `monthly_income_to`: 月收入上限
|
||||
- `dependents_count`: 扶养人数 (0, 1, 2, 3...)
|
||||
- `tax_amount`: 源泉徴収税额
|
||||
- `valid_from`: 适用开始日期
|
||||
|
||||
#### 使用流程
|
||||
|
||||
1. 准备 CSV 文件(按国税厅公布的源泉徴収税額表格式)
|
||||
2. 调用上传 API: `POST /payroll/settings/income-tax/import-csv`
|
||||
3. 系统自动应用新税额表进行计算
|
||||
|
||||
---
|
||||
|
||||
## 数据库变更
|
||||
|
||||
### 新增表
|
||||
|
||||
1. **insurance_limit_settings** - 社保上限设置表
|
||||
|
||||
```sql
|
||||
- limit_id (主键)
|
||||
- setting_type (设定类型)
|
||||
- limit_amount (上限金额)
|
||||
- valid_from/valid_to (有效期)
|
||||
```
|
||||
|
||||
2. **bonus_payments** - 奖金计算表
|
||||
|
||||
```sql
|
||||
- bonus_id (主键)
|
||||
- employee_id (员工ID)
|
||||
- bonus_year/bonus_month (年月)
|
||||
- bonus_type (奖金类型)
|
||||
- base_bonus/performance_bonus/other_bonus (支给项目)
|
||||
- health_insurance/care_insurance/pension_insurance... (控除项目)
|
||||
- total_bonus/total_deduction/net_bonus (合计金额)
|
||||
```
|
||||
|
||||
3. **dependent_rules** - 扶养判定条件表
|
||||
|
||||
```sql
|
||||
- rule_id (主键)
|
||||
- rule_type (规则类型)
|
||||
- rule_value (规则值)
|
||||
- valid_from/valid_to (有效期)
|
||||
- description (说明)
|
||||
```
|
||||
|
||||
### 应用数据库变更
|
||||
|
||||
```bash
|
||||
# 1. 应用增强功能schema
|
||||
psql -U your_user -d your_database -f backend/sql/payroll_enhancements.sql
|
||||
|
||||
# 2. 验证表是否创建成功
|
||||
psql -U your_user -d your_database -c "\dt *bonus* *insurance_limit* *dependent_rule*"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 计算逻辑改进总结
|
||||
|
||||
### 月度工资计算
|
||||
|
||||
1. ✅ 应用健康保险上限 (1,390,000 円)
|
||||
2. ✅ 应用厚生年金上限 (650,000 円)
|
||||
3. ✅ 应用通勤补贴免税限度 (可配置)
|
||||
4. ✅ 40-64 岁自动计算介护保险
|
||||
5. ✅ 自动统计扶养人数用于所得税计算
|
||||
|
||||
### 奖金计算
|
||||
|
||||
1. ✅ 应用社保上限(与工资计算一致)
|
||||
2. ✅ 特殊的奖金所得税算法
|
||||
3. ✅ 支持多种奖金类型
|
||||
4. ✅ 基于前 3 月平均工资计算税率
|
||||
|
||||
---
|
||||
|
||||
## 前端 TODO(建议)
|
||||
|
||||
需要创建以下管理画面:
|
||||
|
||||
1. **社保上限设置画面**
|
||||
|
||||
- 显示当前上限值
|
||||
- 允许修改上限金额
|
||||
- 查看历史变更记录
|
||||
|
||||
2. **扶养判定规则画面**
|
||||
|
||||
- 显示当前判定条件
|
||||
- 允许修改所得限度额
|
||||
- 配置年龄条件
|
||||
|
||||
3. **税额表上传画面**
|
||||
|
||||
- CSV 文件上传组件
|
||||
- 预览上传内容
|
||||
- 查看当前税额表
|
||||
|
||||
4. **奖金计算画面**
|
||||
- 选择员工
|
||||
- 输入奖金金额
|
||||
- 显示计算结果
|
||||
- 审批流程
|
||||
|
||||
---
|
||||
|
||||
## API 测试示例
|
||||
|
||||
### 1. 设置社保上限
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:18080/payroll/settings/insurance-limits \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"setting_type": "健康保険標準報酬月額上限",
|
||||
"limit_amount": 1390000,
|
||||
"valid_from": "2026-01-01",
|
||||
"notes": "2026年度上限"
|
||||
}'
|
||||
```
|
||||
|
||||
### 2. 上传税额表 CSV
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:18080/payroll/settings/income-tax/import-csv \
|
||||
-F "file=@tax_table_2026.csv" \
|
||||
-F "valid_from=2026-01-01"
|
||||
```
|
||||
|
||||
### 3. 计算奖金
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:18080/payroll/bonus/calculate \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"employee_id": 1,
|
||||
"bonus_year": 2026,
|
||||
"bonus_month": 6,
|
||||
"bonus_type": "夏季賞与",
|
||||
"payment_date": "2026-06-30",
|
||||
"base_bonus": 500000,
|
||||
"performance_bonus": 100000,
|
||||
"calculated_by": "admin"
|
||||
}'
|
||||
```
|
||||
|
||||
### 4. 查询扶养判定规则
|
||||
|
||||
```bash
|
||||
curl http://localhost:18080/payroll/settings/dependent-rules
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 总结
|
||||
|
||||
✅ **问题 1**: 扶养人数输入和判定 - 已实现,可配置判定条件
|
||||
✅ **问题 2**: 奖金计算 + 社保上限 - 已实现,上限可手动修改
|
||||
✅ **问题 3**: 税额表上传 - 已实现,支持 CSV 上传和年份区分
|
||||
|
||||
所有功能都已实现 API 层,可以通过 RESTful 接口调用。下一步建议创建前端管理画面以便更方便地操作这些功能。
|
||||
171
docs/payroll_quickstart.md
Normal file
171
docs/payroll_quickstart.md
Normal file
@@ -0,0 +1,171 @@
|
||||
# 給与システム - クイックスタートガイド
|
||||
|
||||
## セットアップ手順
|
||||
|
||||
### 1. データベーススキーマの適用
|
||||
|
||||
```powershell
|
||||
# PostgreSQLに接続(環境に応じて認証情報を変更)
|
||||
$env:PGPASSWORD = "your_password"
|
||||
psql -U your_user -d your_database -f backend/sql/payroll_schema.sql
|
||||
```
|
||||
|
||||
または、既存のデータベース接続を使用している場合:
|
||||
|
||||
```powershell
|
||||
# Pythonスクリプトで実行する場合
|
||||
cd backend
|
||||
python -c "
|
||||
from app.core.database import get_connection
|
||||
with open('sql/payroll_schema.sql', 'r', encoding='utf-8') as f:
|
||||
sql = f.read()
|
||||
with get_connection() as conn:
|
||||
with conn.cursor() as cur:
|
||||
cur.execute(sql)
|
||||
conn.commit()
|
||||
print('給与システムのスキーマを適用しました')
|
||||
"
|
||||
```
|
||||
|
||||
### 2. サーバーの起動
|
||||
|
||||
```powershell
|
||||
cd backend
|
||||
uvicorn app.main:app --reload
|
||||
```
|
||||
|
||||
### 3. ブラウザでアクセス
|
||||
|
||||
http://localhost:8000/static/payroll.html
|
||||
|
||||
## 初期データのセットアップ
|
||||
|
||||
### 1. 保険料率の確認
|
||||
|
||||
システムには以下の初期保険料率が登録されています(2026 年度):
|
||||
|
||||
- 健康保険: 10.00% (労使折半 各 5.00%)
|
||||
- 厚生年金: 18.30% (労使折半 各 9.15%)
|
||||
- 雇用保険: 1.55% (従業員 0.6% + 事業主 0.95%)
|
||||
- 労災保険: 0.30% (事業主のみ)
|
||||
|
||||
必要に応じて「税率・保険料設定」画面で更新してください。
|
||||
|
||||
### 2. 所得税率表のインポート
|
||||
|
||||
サンプル CSV ファイルが `backend/income_tax_sample.csv` に用意されています。
|
||||
|
||||
1. 「税率・保険料設定」画面を開く
|
||||
2. 「所得税率表」タブを選択
|
||||
3. 「CSV インポート」ボタンをクリック
|
||||
4. `income_tax_sample.csv` を選択
|
||||
5. 適用開始日を入力(例: 2026-01-01)
|
||||
|
||||
### 3. 従業員の登録
|
||||
|
||||
1. 「従業員管理」画面を開く
|
||||
2. 「新規登録」タブを選択
|
||||
3. 必要な情報を入力:
|
||||
- 従業員コード(必須)
|
||||
- 氏名(必須)
|
||||
- 入社日(必須)
|
||||
- その他の情報(任意)
|
||||
4. 「登録」ボタンをクリック
|
||||
|
||||
### 4. 扶養家族の登録(必要な場合)
|
||||
|
||||
1. 「従業員管理」画面で従業員を選択
|
||||
2. 従業員詳細画面の「扶養家族」セクションで追加
|
||||
|
||||
### 5. 給与設定の登録
|
||||
|
||||
1. 「給与設定」画面を開く
|
||||
2. 従業員を選択
|
||||
3. 「新規設定追加」ボタンをクリック
|
||||
4. 給与情報を入力:
|
||||
- 基本給(必須)
|
||||
- 雇用形態(必須)
|
||||
- 支給形態(必須)
|
||||
- 通勤手当(任意)
|
||||
- 適用開始日(必須)
|
||||
5. 「保存」ボタンをクリック
|
||||
|
||||
## 給与計算の実行
|
||||
|
||||
### 月次給与計算の手順
|
||||
|
||||
1. 「月次給与計算」画面を開く
|
||||
2. 「新規計算」ボタンをクリック
|
||||
3. 給与計算情報を入力:
|
||||
- 従業員を選択
|
||||
- 対象年月
|
||||
- 支給日
|
||||
- 勤怠情報(出勤日数、勤務時間、残業時間など)
|
||||
- その他(住民税、その他控除など)
|
||||
4. 「計算実行」ボタンをクリック
|
||||
5. 給与明細を確認
|
||||
6. 問題なければ「承認」ボタンをクリック
|
||||
|
||||
### 給与明細の見方
|
||||
|
||||
**支給項目**
|
||||
|
||||
- 基本給: 設定された基本給(欠勤がある場合は控除後)
|
||||
- 残業手当: 残業時間 × 時給 × 1.25
|
||||
- 休日手当: 休日出勤時間 × 時給 × 1.35
|
||||
- 通勤手当: 設定された通勤手当
|
||||
- その他手当: 入力されたその他手当
|
||||
- **総支給額**: 上記の合計
|
||||
|
||||
**控除項目**
|
||||
|
||||
- 健康保険: 総支給額 × 5.00%
|
||||
- 厚生年金: 総支給額 × 9.15%
|
||||
- 雇用保険: 総支給額 × 0.60%
|
||||
- 所得税: 所得税率表に基づいて計算
|
||||
- 住民税: 入力された金額
|
||||
- その他控除: 入力された金額
|
||||
- **総控除額**: 上記の合計
|
||||
|
||||
**差引支給額** = 総支給額 - 総控除額
|
||||
|
||||
## よくある質問
|
||||
|
||||
### Q1: 給与を再計算するには?
|
||||
|
||||
A: 給与明細画面で「再計算」ボタンをクリックしてください。ただし、承認済みの給与は再計算できません。
|
||||
|
||||
### Q2: 承認済みの給与を修正するには?
|
||||
|
||||
A: 承認済みの給与は変更できません。給与を削除して新規に計算し直す必要があります。
|
||||
|
||||
### Q3: 時給制の従業員の給与計算は?
|
||||
|
||||
A: 給与設定で「支給形態: 時給」を選択し、時給を入力してください。基本給は「時給 × 勤務時間」で自動計算されます。
|
||||
|
||||
### Q4: 所得税が 0 円になる
|
||||
|
||||
A: 所得税率表が登録されていない可能性があります。「税率・保険料設定」画面で所得税率表を確認してください。
|
||||
|
||||
### Q5: 扶養家族の人数が所得税に反映されない
|
||||
|
||||
A: 扶養家族の「有効期間」を確認してください。計算対象月に有効な扶養家族のみがカウントされます。
|
||||
|
||||
## トラブルシューティング
|
||||
|
||||
### エラー: 「給与設定が見つかりません」
|
||||
|
||||
→ 「給与設定」画面で該当従業員の給与設定を登録してください
|
||||
|
||||
### エラー: 「保険料率が見つかりません」
|
||||
|
||||
→ 「税率・保険料設定」画面で保険料率を確認・登録してください
|
||||
|
||||
### 所得税が正しく計算されない
|
||||
|
||||
→ 所得税率表が正しくインポートされているか確認してください
|
||||
→ 扶養家族の有効期間が正しく設定されているか確認してください
|
||||
|
||||
## サポート
|
||||
|
||||
詳細なドキュメントは `docs/payroll_system.md` を参照してください。
|
||||
221
docs/payroll_system.md
Normal file
221
docs/payroll_system.md
Normal 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 出力
|
||||
- 銀行振込データの出力
|
||||
- 給与台帳の出力
|
||||
- 源泉徴収票の作成
|
||||
Reference in New Issue
Block a user