Files
njts-accounting-core/verify_calculation.py
2026-01-22 22:10:17 +09:00

49 lines
1.7 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env python3
"""
給与計算の流れを再現してみる
画像から見える情報:
- 基本給: ¥420,000
- 総支給額: ¥420,000
- 社会保険小計: ¥63,400
- 所得税甲欄3人: ¥7,450
ユーザーが言っている「控除後の収入356,600」とは何か
"""
total_payment = 420000
social_insurance = 63400
income_tax_shown = 7450
# 課税対象額の計算
# 課税対象額 = 総支給額 - 通勤手当(非課税限度額まで) - 社会保険料
# 通勤手当がないと仮定
taxable_income = total_payment - social_insurance
print("=== 給与計算の再現 ===")
print(f"総支給額: ¥{total_payment:,}")
print(f"社会保険小計: ¥{social_insurance:,}")
print(f"課税対象額(給与-社保): ¥{taxable_income:,}")
print()
# ユーザーが言った「356,600」との比較
user_mentioned = 356600
print(f"ユーザーが言及した金額: ¥{user_mentioned:,}")
print(f"計算された課税対象額: ¥{taxable_income:,}")
print(f"差異: ¥{taxable_income - user_mentioned:,}")
print()
# 所得税の逆算
print("=== 所得税の検証 ===")
print(f"画像に表示されている所得税甲欄3人: ¥{income_tax_shown:,}")
print(f"ユーザーが期待する所得税: ¥5,840")
print(f"差異: ¥{income_tax_shown - 5840:,}")
print()
# 月収356,600に対して5,840円という金額が妥当か確認
print("=== 税率の検証 ===")
effective_rate_user = (5840 / user_mentioned) * 100
effective_rate_actual = (income_tax_shown / taxable_income) * 100
print(f"356,600円に対して5,840円の税率: {effective_rate_user:.2f}%")
print(f"{taxable_income:,}円に対して{income_tax_shown:,}円の税率: {effective_rate_actual:.2f}%")