@foreach ($payrolls as $payroll) @php $daysDeclared = $payroll->employee->daysDeclared > 0 ? $payroll->employee->daysDeclared : 26; $workingHours = $payroll->employee->workingHours > 0 ? $payroll->employee->workingHours : 8; $salary = $payroll->employee->salary > 0 ? $payroll->employee->salary : 3266.1; // SMIG fallback @endphp

{{ $payroll->status ?? '-' }}

{{-- Company Header --}}

BULLETIN DE PAIE

RS : {{ company('raison_sociale') }}
RC : {{ company('rc') }}
ICE : {{ company('ice') }}
Patente : {{ company('patente') }}
IF : {{ company('if') }}
CNSS : {{ company('cnss') }}
Adresse : {{ company('adresse') }}
Téléphone : {{ company('tel') }}
Email : {{ company('email') }}
Responsable : {{ company('responsable') }}
RIB : {{ company('rib') }}

{{-- Payroll Info --}}
La paie de mois : {{ $payroll->month ?? '-' }}, Fais le : {{ $payroll->date ? $payroll->date->format('d M Y') : '--' }} @if ($payroll->approvedBy) et validé par {{ $payroll->approvedBy }}, le {{ $payroll->approvedAt ? $payroll->approvedAt->format('d-m-Y') : '--' }} @endif Année fiscale : {{ $payroll->calculation_year ?? '-' }}
Nom : {{ $payroll->name ?? '-' }} Date embauche : {{ $payroll->employee->hireDate->format('d-m-Y') ?? '-' }} N° CNSS : {{ $payroll->employee->cnssNumber ?? '-' }} Matricule : {{ $payroll->employee->matricule ?? '-' }}
Poste : {{ $payroll->employee->jobTitle ?? '-' }} Département : {{ $payroll->employee->department ?? '-' }} Nbr déductions : {{ $payroll->employee->relatedPerson ?? '0' }} Paiment : {{ $payroll->paymentMethod ?? '-' }}

{{-- Main Table --}} {{-- Supplémentaires --}} @if (!empty($payroll->detailSuppl)) @foreach (json_decode($payroll->detailSuppl, true) as $supp) @endforeach @endif {{-- Indemnités --}} @if (!empty($payroll->compensation['details'])) @foreach ($payroll->compensation['details'] as $detail) @php $isTaxable = filter_var($detail['taxable'] ?? false, FILTER_VALIDATE_BOOLEAN); @endphp @endforeach @endif
RUBRIQUE BASE (Dh) (J,H) TAUX GAINS (Dh) RETENUES (Dh)
Salaire de base mensuel {{ number_format($salary, 2, ',', ' ') }} {{ number_format($payroll->totalWorkedRegularHours / $workingHours, 2, ',', ' ') }} J -- {{ number_format(($salary / $daysDeclared) * ($payroll->totalWorkedRegularHours / $workingHours), 2, ',', ' ') }} --
{{ $supp['label'] }} {{ number_format($supp['base_regulier'], 2, ',', ' ') }} {{ $supp['nbrHour'] }} H {{ $supp['rateLabel'] }} {{ number_format($supp['amount'], 2, ',', ' ') }} --
{{ $detail['compensation_name'] ?? ($detail['allowance_label'] ?? '-') }} {{ number_format($detail['base'] ?? 0, 2, ',', ' ') }} -- {{ isset($detail['rate_percentage']) ? $detail['rate_percentage'] . '%' : '--' }} {{ $isTaxable ? number_format($detail['amount'] ?? 0, 2, ',', ' ') : '--' }} {{ !$isTaxable ? number_format($detail['amount'] ?? 0, 2, ',', ' ') : '--' }}
Salaire brut imposable {{ number_format($payroll->grossSalary ?? 0, 2, ',', ' ') }}
Frais professionnels {{ number_format($payroll->grossSalary, 2, ',', ' ') }} -- {{ number_format($payroll->proFeesRate, 2, ',', ' ') }}% -- {{ number_format($payroll->proFees, 2, ',', ' ') }}
CNSS {{ number_format($payroll->cnssBase, 2, ',', ' ') }} -- {{ number_format($payroll->cnssRate, 2, ',', ' ') }}% -- {{ number_format($payroll->cnss, 2, ',', ' ') }}
AMO {{ number_format($payroll->grossSalary, 2, ',', ' ') }} -- {{ number_format($payroll->amoRate, 2, ',', ' ') }}% -- {{ number_format($payroll->amo, 2, ',', ' ') }}
Indemnité pour Perte d’Emploi {{ number_format($payroll->grossSalary, 2, ',', ' ') }} -- {{ number_format($payroll->lossJobRate, 2, ',', ' ') }}% -- {{ number_format($payroll->lossJobCompensation, 2, ',', ' ') }}
Retraite {{ number_format($payroll->grossSalary, 2, ',', ' ') }} -- {{ number_format($payroll->retretirementRate, 2, ',', ' ') }}% -- {{ number_format($payroll->retretirement, 2, ',', ' ') }}
Impot sur le revenu (IR) {{ number_format($payroll->grossSalary - $payroll->totalDeductions, 2, ',', ' ') }} -- {{ number_format($payroll->irRate, 2, ',', ' ') }}% -- {{ number_format($payroll->ir, 2, ',', ' ') }}
Total des retenues {{ number_format($payroll->totalDeductions ?? 0, 2, ',', ' ') }}
Salaire net {{ $payroll->netSalaryInWord }} {{ number_format($payroll->netSalary ?? 0, 2, ',', ' ') }}
Signature de l'employé : Signature de l'employeur :
@if (!$loop->last)
@endif @endforeach