<<<<<<< HEAD GRN Receipt ======= GRN #{{ $grn->id }} >>>>>>> origin/main <<<<<<< HEAD
HOPE COFFEE
GOODS RECEIVED NOTE
Voucher No: {{ $grn->id }}

Farmer Info

Date:{{ \Carbon\Carbon::parse($grn->date_recorded)->format('d-M-Y H:i') }}
Name:{{ strtoupper($grn->farmer->farmer_fname . ' ' . $grn->farmer->farmer_lname) }}
Village:{{ $grn->farmer->farmer_village ?? '-' }}
Contact:{{ $grn->farmer->farmer_contact }}
Group:{{ $grn->farmer->group->group_name ?? '-' }}

Delivery Details

@if($grn->kiboko > 0) @endif
Type:{{ $grn->coffee_type }}
Kiboko:{{ number_format($grn->kiboko, 0) }} Kgs
FAQ:{{ number_format($grn->faq, 0) }} Kgs
Moisture:{{ $grn->moisture_content }}%
@php $grades = [ '1800' => $grn->grade_1800, '1700' => $grn->grade_1700, '1500' => $grn->grade_1500, '1200' => $grn->grade_1200, '1199' => $grn->grade_1199, ]; $hasGrades = collect($grades)->some(fn($val) => floatval($val) > 0); @endphp @if($hasGrades)

Grade Breakdown

@foreach($grades as $grade => $weight) @if(floatval($weight) > 0) @endif @endforeach
{{ $grade }}:{{ number_format($weight, 0) }} Kgs
@endif

Processed By

{{ $savedByUser->name ?? '-' }}
@if(!empty($savedByUser->sign))
Signature
@endif
Farmer Signature
======= @php $farmer = $grn->farmer; $contact = $farmer->farmer_contact ?? null; $contactDisplay = $contact ? ('+'.ltrim((string) $contact, '+')) : '—'; $statusLabel = match ((int) ($grn->grn_stat ?? 0)) { 0 => 'Pending FAQ', 1 => 'In payment queue', 2 => 'Voucher saved', default => 'Recorded', }; @endphp

Hope Coffee

Goods Received Note

P.O Box 81 Kyotera · +256 706 058246

Payment desk token
#{{ $grn->id }}
{{ $statusLabel }}
Farmer
Date {{ $grn->date_recorded ? \Carbon\Carbon::parse($grn->date_recorded)->format('d M Y, H:i') : '—' }}
Name {{ strtoupper(trim(($farmer->farmer_fname ?? '').' '.($farmer->farmer_lname ?? ''))) }}
Farmer no. {{ $farmer->farmer_number ?? '—' }}
Village {{ $farmer->farmer_village ?? '—' }}
Group {{ $farmer->group->group_name ?? '—' }}
Contact {{ $contactDisplay }}
Intake
@if($kibokoWeight > 0) @if($grn->moisture_before !== null && $grn->moisture_before !== '') @endif @endif @if($grn->quality_remarks) @endif
Coffee type {{ $grn->coffee_type ?? '—' }}
Bags {{ number_format((float) ($grn->bags ?? 0), 0) }}
Kibooko {{ number_format($kibokoWeight, 1) }} kg
Moisture before {{ $grn->moisture_before }}%
Moisture content {{ $grn->moisture_content ?? '—' }}%
Quality {{ $grn->quality_remarks }}
@if($gradeLines->isNotEmpty())
Grade breakdown
@foreach($gradeLines as $line) @endforeach
Screen / grade Kg
{{ $line['label'] }} {{ number_format($line['qty'], 1) }}
@endif
Total FAQ {{ number_format($faqTotal, 1) }} kg
Out-turn @if($kibokoWeight > 0 && $outTurn > 0) {{ number_format($outTurn, 1) }}% @elseif($kibokoWeight > 0 && $faqTotal > 0) {{ number_format(($faqTotal / $kibokoWeight) * 100, 1) }}% @else — @endif
Processed by
{{ $savedByUser->name ?? '—' }}
@if(!empty($savedByUser->sign))
Staff signature
@endif
Farmer signature
@if(!empty($qrCode))
GRN QR code
Scan to verify GRN #{{ $grn->id }}
@endif