e.stopPropagation()}
- onBlur={e => onSalaryEdit(sre.employee_id, e.target.value, sre.monthly_salary)}
- disabled={actionLoading === `salary-${sre.employee_id}`}
- aria-label={t('salary_input_aria', { name })}
- className="h-8 w-28 text-right tabular-nums shrink-0"
- />
+
+ e.stopPropagation()}
+ onBlur={e => onSalaryEdit(sre.employee_id, e.target.value, sre.monthly_salary)}
+ disabled={actionLoading === `salary-${sre.employee_id}`}
+ aria-label={t('salary_input_aria', { name })}
+ className="h-8 w-28 text-right tabular-nums"
+ />
+ {degreeHint}
+
) : (
-
- {formatCurrency(primaryNumber)}
-
+
+
+ {formatCurrency(primaryNumber)}
+
+ {degreeHint}
+
)}
{/* Payslip PDF */}
diff --git a/messages/en.json b/messages/en.json
index 8073f000..2716860c 100644
--- a/messages/en.json
+++ b/messages/en.json
@@ -6703,6 +6703,7 @@
"view_pdf": "View PDF",
"view_payslip_title": "View payslip",
"salary_input_aria": "Monthly salary for {name}",
+ "degree_hint": "× {degree} % = {amount}",
"remove_sr": "Remove",
"remove_employee_aria": "Remove {name} from the payroll run",
"remove_employee_title": "Remove from the payroll run",
@@ -6937,6 +6938,7 @@
"form_employment_start": "Employment start date",
"form_employment_end": "End date",
"form_employment_degree": "Degree of employment (%)",
+ "form_employment_degree_hint": "Below 100 % the base salary is monthly salary × degree of employment.",
"form_hours_per_week": "Hours per week",
"form_workdays_per_week": "Workdays per week",
"form_work_schedule_hint": "The work schedule drives daily rates for absence and hourly-rate derivation (40 h / 5 days = default).",
diff --git a/messages/sv.json b/messages/sv.json
index 941e1781..ac649465 100644
--- a/messages/sv.json
+++ b/messages/sv.json
@@ -6703,6 +6703,7 @@
"view_pdf": "Visa PDF",
"view_payslip_title": "Visa lönespecifikation",
"salary_input_aria": "Månadslön för {name}",
+ "degree_hint": "× {degree} % = {amount}",
"remove_sr": "Ta bort",
"remove_employee_aria": "Ta bort {name} från lönekörningen",
"remove_employee_title": "Ta bort från lönekörningen",
@@ -6937,6 +6938,7 @@
"form_employment_start": "Anställningsdatum",
"form_employment_end": "Slutdatum",
"form_employment_degree": "Sysselsättningsgrad (%)",
+ "form_employment_degree_hint": "Under 100 % räknas grundlönen som månadslön × sysselsättningsgrad.",
"form_hours_per_week": "Timmar per vecka",
"form_workdays_per_week": "Arbetsdagar per vecka",
"form_work_schedule_hint": "Arbetsschemat styr dagslön vid frånvaro och timlöneberäkning (40 h/5 dagar = standard).",