@extends('layouts.app') @section('title', 'Payroll Reports') @section('styles') @endsection @section('content')
{{-- Filter bar --}}Run {{ $run->run_number }} ยท {{ $run->employee_count }} employees ยท Status: {{ ucfirst($run->status) }}
| Emp No. | Name | Department | Gross | PAYE | SHIF | NSSF | AHL | Other | Net |
|---|---|---|---|---|---|---|---|---|---|
| {{ $i->employee_number }} | {{ $i->full_name }} | {{ $i->department }} | {{ number_format($i->gross_pay) }} | {{ number_format($i->paye) }} | {{ number_format($i->shif) }} | {{ number_format($i->nssf_employee) }} | {{ number_format($i->ahl_employee) }} | {{ number_format($i->other_deductions) }} | {{ number_format($i->net_pay) }} |
| TOTALS | {{ number_format($run->total_gross) }} | {{ number_format($run->total_paye) }} | {{ number_format($run->total_shif) }} | {{ number_format($run->total_nssf_employee) }} | {{ number_format($run->total_ahl_employee) }} | {{ number_format($run->total_other_deductions) }} | {{ number_format($run->total_net) }} | ||
Run {{ $run->run_number }}
| Department | Headcount | Gross Pay | PAYE | Net Pay | Employer Cost | % of Total |
|---|---|---|---|---|---|---|
| {{ $r->department ?? 'Unassigned' }} | {{ $r->headcount }} | {{ number_format($r->gross) }} | {{ number_format($r->paye) }} | {{ number_format($r->net) }} | {{ number_format($r->employer_cost) }} | {{ number_format($r->employer_cost / $totalCost * 100, 1) }}% |
| TOTAL | {{ $rows->sum('headcount') }} | {{ number_format($rows->sum('gross')) }} | {{ number_format($rows->sum('paye')) }} | {{ number_format($rows->sum('net')) }} | {{ number_format($rows->sum('employer_cost')) }} | 100% |
Employee {{ $staff->employee_number }} ยท Year {{ $year }} ยท {{ $items->count() }} months recorded
| Month | Run | Gross | Taxable | PAYE | SHIF | NSSF | AHL | Net | |
|---|---|---|---|---|---|---|---|---|---|
| {{ $i->run->month_label ?? '-' }} | {{ $i->run->run_number ?? '' }} | {{ number_format($i->gross_pay) }} | {{ number_format($i->taxable_pay) }} | {{ number_format($i->paye) }} | {{ number_format($i->shif) }} | {{ number_format($i->nssf_employee) }} | {{ number_format($i->ahl_employee) }} | {{ number_format($i->net_pay) }} | Slip โ |
| YTD TOTAL | {{ number_format($items->sum('gross_pay')) }} | {{ number_format($items->sum('taxable_pay')) }} | {{ number_format($items->sum('paye')) }} | {{ number_format($items->sum('shif')) }} | {{ number_format($items->sum('nssf_employee')) }} | {{ number_format($items->sum('ahl_employee')) }} | {{ number_format($items->sum('net_pay')) }} | ||
Per-month statutory amounts due. Use this to reconcile against KRA / SHA / NSSF returns.
| Month | Run | PAYE | SHIF | NSSF (E+E) | AHL (E+E) | Total Statutory |
|---|---|---|---|---|---|---|
| {{ $r->month_label }} | {{ $r->run_number }} | {{ number_format($r->total_paye) }} | {{ number_format($r->total_shif) }} | {{ number_format($nssf) }} | {{ number_format($ahl) }} | {{ number_format($tot) }} |
| TOTAL โ {{ $year }} | {{ number_format($rows->sum('total_paye')) }} | {{ number_format($rows->sum('total_shif')) }} | {{ number_format($rows->sum('total_nssf_employee') + $rows->sum('total_nssf_employer')) }} | {{ number_format($rows->sum('total_ahl_employee') + $rows->sum('total_ahl_employer')) }} | {{ number_format($rows->sum('total_paye') + $rows->sum('total_shif') + $rows->sum('total_nssf_employee') + $rows->sum('total_nssf_employer') + $rows->sum('total_ahl_employee') + $rows->sum('total_ahl_employer')) }} | |
Run {{ $run->run_number }} ยท The amounts the hospital pays on top of gross salaries.
NSSF Employer
{{ number_format($run->total_nssf_employer) }}
AHL Employer
{{ number_format($run->total_ahl_employer) }}
Total Employer Burden
{{ number_format($run->total_nssf_employer + $run->total_ahl_employer) }}
Gross Salaries
KES {{ number_format($run->total_gross) }}
Total Cost to Hospital
KES {{ number_format($run->total_employer_cost) }}
Gross + Employer NSSF + Employer AHL
Run {{ $run->run_number }} ยท {{ $items->count() }} payments
| Emp No. | Name | Method | Bank / M-Pesa | Account / Phone | Net Amount | Reference |
|---|---|---|---|---|---|---|
| {{ $i->employee_number }} | {{ $i->full_name }} | {{ $i->payment_method }} | {{ $i->payment_method === 'mobile' ? 'M-PESA' : ($i->bank_name ?? '-') }} | {{ $i->payment_method === 'mobile' ? $i->mobile_payment_number : ($i->bank_account ?? '-') }} | {{ number_format($i->net_pay, 2) }} | {{ $run->run_number }}-{{ $i->employee_number }} |
| TOTAL | {{ number_format($items->sum('net_pay'), 2) }} | |||||
| Body | Total Due | Paid | Outstanding | Late Payments |
|---|---|---|---|---|
| {{ $r->label }} | {{ number_format($r->total_due) }} | {{ number_format($r->total_paid) }} | {{ number_format($r->total_outstanding) }} | @if($r->late_count > 0){{ $r->late_count }}@else 0@endif |
Useful for KRA P9A forms, loan letters, and certificates of earnings.
| Emp No. | Name | Months | YTD Gross | YTD PAYE | YTD SHIF | YTD NSSF | YTD AHL | YTD Net |
|---|---|---|---|---|---|---|---|---|
| {{ $r->employee_number }} | {{ $r->full_name }} | {{ $r->months_paid }} | {{ number_format($r->ytd_gross) }} | {{ number_format($r->ytd_paye) }} | {{ number_format($r->ytd_shif) }} | {{ number_format($r->ytd_nssf) }} | {{ number_format($r->ytd_ahl) }} | {{ number_format($r->ytd_net) }} |
| TOTAL | {{ number_format($rows->sum('ytd_gross')) }} | {{ number_format($rows->sum('ytd_paye')) }} | {{ number_format($rows->sum('ytd_shif')) }} | {{ number_format($rows->sum('ytd_nssf')) }} | {{ number_format($rows->sum('ytd_ahl')) }} | {{ number_format($rows->sum('ytd_net')) }} | ||