My P9 {{ $year }} Request leave @if ($todayAttendance?->clock_in === null)
@csrf
@elseif ($todayAttendance->clock_out === null)
@csrf
@else @endif
@php $leaveRemaining = $entitlements->sum(fn ($e) => (float) $e->allocated + (float) $e->carried_forward - (float) $e->used_days - (float) $e->pending_days); $latestPayslip = $payslips->first(); $loanBalance = $loans->where('status', 'active')->sum('balance'); @endphp
Name
{{ $user->name }}
Employee no
{{ $user->employee_no ?? '—' }}
Designation
{{ $user->designation ?? '—' }}
Department
{{ $user->department?->name ?? '—' }}
Pay grade
{{ $user->payGrade?->code ?? '—' }}@if ($user->pay_step) · step {{ $user->pay_step }}@endif
Bank / M-Pesa
{{ $user->bank_name ? $user->bank_name.' · '.$user->bank_account : ($user->phone ?? 'Not captured') }}
Statutory
HELB {{ $user->helb_monthly ? money($user->helb_monthly) : '—' }} @if ($union) · {{ $union->union_name }} {{ money($union->monthly_dues) }}@endif

Contact HR to correct any of these details.

@if ($entitlements->isEmpty())

No leave entitlements for {{ $year }} yet.

@else
    @foreach ($entitlements as $entitlement) @php $entitlementTotal = (float) $entitlement->allocated + (float) $entitlement->carried_forward; $usedPercent = $entitlementTotal > 0 ? (int) min(100, max(0, round((((float) $entitlement->used_days + (float) $entitlement->pending_days) / $entitlementTotal) * 100))) : 0; @endphp
  • {{ $entitlement->leaveType?->name ?? 'Leave' }} {{ number_format((float) $entitlement->balance, 1) }} / {{ number_format($entitlementTotal, 1) }} days
    @if ((float) $entitlement->pending_days > 0)
    {{ number_format((float) $entitlement->pending_days, 1) }} days pending approval
    @endif @if ((float) $entitlement->carried_forward > 0 && $entitlement->carried_expires_at)
    {{ number_format((float) $entitlement->carried_forward, 1) }} carried day(s) expire {{ $entitlement->carried_expires_at->format('d M Y') }}
    @endif
  • @endforeach
@endif
@if ($recentAttendance->isEmpty())

No attendance recorded yet.

@else
    @foreach ($recentAttendance as $record)
  • {{ $record->date?->format('D, d M') }} {{ $record->clock_in?->format('H:i') ?? '—' }} @if ($record->clock_out) – {{ $record->clock_out->format('H:i') }}@endif
  • @endforeach
@endif

My payslips

Latest six pay runs. Open one to print or save as PDF.

@if ($payslips->isEmpty()) @else
@foreach ($payslips as $slip) @endforeach
Period Gross Deductions Net pay Status
{{ $slip->payrollRun?->period_label ?? '—' }} {{ money($slip->gross_salary, false) }} {{ money($slip->total_deductions, false) }} {{ money($slip->net_pay, false) }} View
@endif
@if ($loans->isEmpty())

No loans or advances on record.

@else
    @foreach ($loans as $loan)
  • {{ $loan->loan_no }}
    Balance {{ money($loan->balance, false) }} {{ money($loan->monthly_deduction, false) }}/mo
  • @endforeach
@endif
@if ($claims->isEmpty())

No claims submitted yet.

@else
    @foreach ($claims as $claim)
  • {{ $claim->claim_no }}
    {{ \Illuminate\Support\Str::limit($claim->description, 32) }}
    {{ money($claim->amount, false) }}
  • @endforeach
@endif
@csrf
@error('description')

{{ $message }}

@enderror
@php($awaiting = $appraisals->where('status', 'completed')) @if ($awaiting->isEmpty())

Nothing to acknowledge right now.

@else
    @foreach ($awaiting as $appraisal)
  • {{ strtoupper($appraisal->period) }} {{ $appraisal->period_year }} appraisal
    Reviewed by {{ $appraisal->reviewer?->name ?? 'HR' }} · rating {{ $appraisal->overall_rating ?? '—' }}/5
    @csrf
  • @endforeach
@endif @if ($appraisals->where('status', 'acknowledged')->isNotEmpty())

{{ $appraisals->where('status', 'acknowledged')->count() }} appraisal(s) acknowledged.

@endif
@if ($goals->isEmpty())

No goals set for this year.

@else
    @foreach ($goals as $goal)
  • {{ $goal->title }} {{ $goal->progress }}%
    {{ $goal->kra }} · weight {{ $goal->weight }}%
  • @endforeach
@endif
@if ($tasks->isNotEmpty())
    @foreach ($tasks as $task)
  • {{ $task->title }}
    {{ ucfirst($task->kind) }}{{ $task->is_required ? ' · required' : '' }}
    {{ $task->due_date?->format('d M Y') ?? 'No due date' }}
  • @endforeach
@endif
@if ($letters->isEmpty())

No letters issued to you yet.

@else
    @foreach ($letters as $letter)
  • {{ $letter->subject }}
    {{ $letter->letter_no }} · {{ $letter->issued_at?->format('d M Y') }}
    @if ($letter->is_acknowledged) @else @endif
  • @endforeach
@endif
@if ($documents->isEmpty())

Nothing in your document vault yet.

@else
    @foreach ($documents as $document)
  • {{ $document->title }}
    {{ $document->category_label }} @if ($document->expires_at) · expires {{ $document->expires_at->format('d M Y') }} @if ($document->is_expired) (expired) @endif @endif
    @if ($document->expires_at && $document->is_expired) @elseif ($document->expires_at && $document->expires_at->lte(today()->addDays(30))) @endif
  • @endforeach
@endif