@php $schoolName = $schoolInfo->school_name ?? config('app.name'); $schoolAddress = $schoolInfo->address ?? 'N/A'; $schoolPhone = $schoolInfo->phone ?? 'N/A'; $paymentDate = optional($salaries->sortByDesc('payment_date')->first())->payment_date; $rawLogo = trim((string) ($schoolInfo->school_logo ?? '')); $rawLogo = ltrim($rawLogo, '/'); $schoolLogoPath = asset('storage/school_logo.png'); if ($rawLogo !== '') { if (preg_match('/^https?:\/\//i', $rawLogo)) { $schoolLogoPath = $rawLogo; } elseif (file_exists(public_path($rawLogo))) { $schoolLogoPath = asset($rawLogo); } elseif (file_exists(public_path('storage/' . $rawLogo))) { $schoolLogoPath = asset('storage/' . $rawLogo); } elseif (file_exists(base_path('core/storage/app/public/' . $rawLogo))) { $schoolLogoPath = asset('core/storage/app/public/' . $rawLogo); } } elseif (file_exists(public_path('storage/school_logo.png'))) { $schoolLogoPath = asset('storage/school_logo.png'); } @endphp

{{ $schoolName }}

Address: {{ $schoolAddress }}

Phone: {{ $schoolPhone }}

Payment Period: {{ $month->format('F Y') }}

Payment Date: {{ optional($paymentDate)->format('d M Y, h:i A') ?? now()->format('d M Y, h:i A') }}

SALARY PAYMENT SHEET

@if($salaries->count() > 0)
@foreach($salaries as $index => $salary) @php $baseSalary = $salary->salary_amount - ($salary->bonus_amount ?? 0) - ($salary->extra_amount ?? 0); $netPayable = (float) ($salary->net_payable ?? $salary->payment_amount ?? 0); $payAmount = (float) ($salary->payment_amount ?? 0); $dueAmount = max(0, $netPayable - $payAmount); $pfAmount = max(0, (float) $salary->salary_amount - $netPayable); $postName = $salary->employee?->postDetails?->name ?? '-'; @endphp @endforeach @php $totalBase = $salaries->sum(fn($s) => (float) $s->salary_amount - (float) ($s->bonus_amount ?? 0) - (float) ($s->extra_amount ?? 0)); $totalBonus = $salaries->sum(fn($s) => (float) ($s->bonus_amount ?? 0)); $totalExtra = $salaries->sum(fn($s) => (float) ($s->extra_amount ?? 0)); $totalPf = $salaries->sum(fn($s) => max(0, (float) $s->salary_amount - (float) ($s->net_payable ?? $s->payment_amount ?? 0))); $totalNet = $salaries->sum(fn($s) => (float) ($s->net_payable ?? $s->payment_amount ?? 0)); $totalPay = $salaries->sum(fn($s) => (float) ($s->payment_amount ?? 0)); $totalDue = $salaries->sum(fn($s) => max(0, (float) ($s->net_payable ?? $s->payment_amount ?? 0) - (float) ($s->payment_amount ?? 0))); @endphp
# Employee Name Emp ID Post Base Salary Bonus Extra PF Net Payable Pay Due Method
{{ $index + 1 }} {{ $salary->employee->name ?? '-' }} {{ $salary->employee->e_id ?? '-' }} {{ $postName }} {{ number_format($baseSalary) }} {{ number_format($salary->bonus_amount ?? 0) }} {{ number_format($salary->extra_amount ?? 0) }} {{ number_format($pfAmount) }} {{ number_format($netPayable) }} {{ number_format($payAmount) }} {{ number_format($dueAmount) }} {{ $salary->paymentMethod->name ?? '-' }}
TOTAL {{ number_format($totalBase) }} {{ number_format($totalBonus) }} {{ number_format($totalExtra) }} {{ number_format($totalPf) }} {{ number_format($totalNet) }} {{ number_format($totalPay) }} {{ number_format($totalDue) }}
@else
No salary records found for {{ $month->format('F Y') }}.
@endif
Back