@php $money = fn ($v) => number_format($v, 2); @endphp

Earnings & Allowances

@foreach ($comp['allowances'] as $a) @endforeach
Basic Salary {{ $money($comp['basicSalary']) }}
{{ $a['name'] }} @if ($a['taxable'])(taxable)@endif {{ $money($a['amount']) }}
Gross Pay {{ $money($comp['grossPay']) }}

Allowable Deductions

@foreach ($comp['allowableDeductions'] as $d) @endforeach
{{ $d['name'] }} {{ $money($d['amount']) }}
Taxable Income {{ $money($comp['taxablePay']) }}
Total Allowable {{ $money($comp['totalAllowable']) }}

PAYE (bracket by bracket)

@forelse ($comp['payeBands'] as $b) @empty @endforelse @foreach ($comp['reliefs'] as $r) @endforeach
Band Rate Taxable Tax
{{ number_format($b['min'], 0) }} – {{ $b['max'] === null ? 'above' : number_format($b['max'], 0) }} {{ $b['rate'] }}% {{ $money($b['amount']) }} {{ $money($b['tax']) }}
Below the first tax band — no PAYE.
PAYE before relief {{ $money($comp['payeBeforeRelief']) }}
{{ $r['name'] }} ({{ $r['type'] }}) - - -{{ $money($r['amount']) }}
PAYE payable {{ $money($comp['paye']) }}

Other Deductions

@forelse ($comp['otherDeductions'] as $d) @empty @endforelse
{{ $d['name'] }} @if ($d['preTax'])(pre-tax)@endif {{ $money($d['amount']) }}
No other deductions.
NSSF (employee) {{ $money($comp['nssfEmployee']) }}
SHIF {{ $money($comp['shif']) }}
Housing Levy {{ $money($comp['housingLevy']) }}
Pension {{ $money($comp['pensionEmployee']) }}
PAYE {{ $money($comp['paye']) }}
Total Other Deductions {{ $money($comp['totalOtherDeductions']) }}
Total Deductions {{ $money($comp['totalDeductions']) }}
Net Pay {{ $money($comp['netPay']) }}