コンテンツにスキップ

概念ガイド

端数処理の規則

金額に関する基本方針は次のとおりです。

  • 公開レスポンスの金額は integer yen(円単位の整数)です。
  • 料率の乗算や中間値の計算には decimal.js を使います。
  • 時給制の基本給(hourly_rate × base_work_minutes ÷ 60)は ceil_yen で円未満を切り上げます。
  • calculation_trace の各ステップには、丸める前の値(raw_amount)と丸めた後の値(rounded_amount)の両方が記録されます。

端数処理ルールは用途ごとに固定

Section titled “端数処理ルールは用途ごとに固定”

現行の端数処理ルールは用途ごとに明示されており、法定控除の丸め自体を会社ごとの任意ルールへ変更することはできません。ただし、割増賃金と源泉所得税は法令上認められた方式から会社が選択できます。社会保険料等の50銭ルールは従来どおり変更できません。

会社計算プロファイルの overtime_premium_rounding_method で、割増賃金に使う時間単価・割増単価の端数処理を選べます。

処理
none(既定)時間単価と割増単価を丸めず、4区分を合算した後に1円未満を切り上げます。従来と同じ方式です
hourly_rate_half_up1時間あたり賃金額を50銭四捨五入してから、各割増率を掛けます
unit_price_half_up1時間あたり賃金額を50銭四捨五入し、さらに各割増単価も50銭四捨五入してから分数を掛けます
hourly_rate_ceil1時間あたり賃金額の1円未満を、労働者に有利な方向へ切り上げてから各割増率を掛けます

月間の割増賃金を合算した後の処理は、overtime_premium_monthly_total_rounding で別に選びます。

処理
none(既定)追加処理をしません
half_up_100_yen合算後の整数円額を100円単位で四捨五入します(50円以上切り上げ、50円未満切り捨て)

これらは昭和63年3月14日 基発150号で認められた範囲の方式です。就業規則・賃金規程との整合は会社の責任で確認して選択してください。適用した値は月次計算レスポンスの settings_snapshot で、計算過程は attendance_premium_roundingattendance_overtime_monthly_total_rounding のtrace stepで確認できます。

社会保険・厚生年金・雇用保険の従業員負担分

Section titled “社会保険・厚生年金・雇用保険の従業員負担分”

健康保険、介護保険、子ども・子育て支援金、厚生年金保険、雇用保険の従業員負担分には round_50_sen_or_less_down_over_50_sen_up_to_yen を使います。これは 50銭以下を切り捨て、50銭を超える場合に切り上げる ルールで、たとえば 1000.501000 に、1000.511001 になります。

round_half_up_to_yen(四捨五入)や floor_yen(切り捨て)は一般用途の丸めとして残されていますが、社会保険・厚生年金・雇用保険の従業員控除額には使用しません。

  • 月次給与の月額表方式 は、課税支給額から社会保険料等控除額を差し引いた金額を参照額として、tax_table_typetax_dependent_count で国税庁の源泉徴収税額表(月額表)の該当行をそのまま引きます(表引き)。表の値をそのまま使うため、追加の端数処理は発生せず、trace 上の rounding_rulenull になります。
  • 月次給与の電算機計算の特例 は、甲欄について給与所得控除の1円未満を ceil_yen で切り上げ、算出した税額を round_half_up_to_10_yen で10円未満四捨五入します。乙欄は会社設定にかかわらず月額表を使います。
  • 賞与の所得税 は、前月の課税支給額から前月の社会保険料等控除額を差し引いた金額を参照額として、税額表から源泉税率を決定します。その税率を、当月の課税支給額から社会保険料等控除額を差し引いた金額に掛け、結果を floor_yen(円未満切り捨て)で丸めます。

どの端数処理ルールが適用されたかは、calculation_trace の各ステップの rounding_rule フィールドで確認できます。ルールが適用されないステップ(設定解決や表引きなど)では rounding_rulenull です。trace の構造全体については trace の読み方 を参照してください。