{% extends '_include/base.html.twig' %} {% block title %}Time Tracking — Overtime Report{% endblock %} {% block content %} {% set currency = display_currency() %}

Overtime Management

{# Period selector #}
{# Summary #}

{{ overtime_data.overtime_data|length }}

Employees with Overtime

{{ overtime_data.total_overtime_hours|number_format(2) }}

Total Overtime Hours

{# Overtime pay estimate: avg rate x 1.5 x hours (rough) #}

{{ overtime_data.total_overtime_hours|number_format(1) }} hrs

Billable @ 1.5× Rate

{# Detail table #} {% if overtime_data.overtime_data|length > 0 %} {% set monthly_hours = 174 %} {% for entry in overtime_data.overtime_data %} {% set emp = entry.employee %} {% set hourly = (emp.salaryBase ?? 0) / monthly_hours %} {% set ot_pay = hourly * 1.5 * entry.total_overtime_hours %} {% endfor %}
Employee Department Overtime Days Total OT Hours Est. OT Pay (1.5×) Payroll Status
{{ emp.firstName }} {{ emp.lastName }}
{{ emp.registrationNbr }}
{{ emp.department|default('—') }} {{ entry.overtime_days }} {{ entry.total_overtime_hours|number_format(2) }} {{ ot_pay|format_currency(currency) }} Pending payroll
Totals {{ overtime_data.total_overtime_hours|number_format(2) }} hrs
FLSA Reminder: Non-exempt employees must receive overtime pay at 1.5× regular rate for hours over 40/week. Overtime is reflected in the next payroll run automatically.
{% else %}
No overtime recorded for {{ (year ~ '-' ~ ('%02d'|format(month)) ~ '-01')|date('F Y') }}.
{% endif %}
{% endblock %}