@hotelSettings Purchase Order {{ $purchaseOrder->po_number }} - {{ hotelName() }}

Purchase Order Details

@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif
{{ $purchaseOrder->po_number }} {{ ucfirst($purchaseOrder->status) }}
Item
{{ $purchaseOrder->item->name ?? 'N/A' }}
Vendor
{{ $purchaseOrder->vendor->company ?? 'N/A' }}
Phone: {{ $purchaseOrder->vendor->phone ?? 'N/A' }} | Email: {{ $purchaseOrder->vendor->email ?? 'N/A' }}
Purchase Qty
{{ number_format((float)($purchaseOrder->purchase_quantity ?? $purchaseOrder->quantity), 3) }} {{ $purchaseOrder->purchase_unit ?? $purchaseOrder->stock_unit ?? 'units' }}
Unit Price
UGX {{ number_format((float)$purchaseOrder->unit_price, 2) }}
Total
UGX {{ number_format((float)$purchaseOrder->total_amount, 2) }}
Stock Equivalent
{{ number_format($purchaseOrder->quantity) }} {{ $purchaseOrder->stock_unit ?? 'units' }} @if(!empty($purchaseOrder->unit_conversion_factor))(x{{ number_format((float)$purchaseOrder->unit_conversion_factor, 3) }})@endif
Urgency
{{ ucfirst($purchaseOrder->urgency) }}
Delivery Date
{{ optional($purchaseOrder->delivery_date)->format('Y-m-d') }}
Notes
{{ $purchaseOrder->notes ?: 'N/A' }}
Terms
{{ $purchaseOrder->terms ?: 'N/A' }}
Accounting Sync
@if($purchaseOrder->accounting_synced)Synced@elseNot Synced@endif
Receiving Progress
@php $orderedQty = (int) $purchaseOrder->quantity; $receivedQty = (int) ($purchaseOrder->received_quantity ?? 0); $progress = $orderedQty > 0 ? min(100, (int) round(($receivedQty / $orderedQty) * 100)) : 0; @endphp
{{ number_format($receivedQty) }} / {{ number_format($orderedQty) }} received ({{ $progress }}%)
@php $rejectedTotal = (int) $purchaseOrder->receipts->sum('rejected_quantity'); $damagedTotal = (int) $purchaseOrder->receipts->sum('damaged_quantity'); $returnableQty = max(0, ($rejectedTotal + $damagedTotal) - (int) ($purchaseOrder->returned_quantity ?? 0)); @endphp
Supplier Returns
Rejected: {{ $rejectedTotal }}, Damaged: {{ $damagedTotal }}, Returned: {{ (int) ($purchaseOrder->returned_quantity ?? 0) }}, Returnable: {{ $returnableQty }}
Post Delivery (GRN)
@csrf
Receiving History
@if($purchaseOrder->receipts->isEmpty())
No deliveries posted yet.
@else
@foreach($purchaseOrder->receipts as $receipt) @endforeach
Date Accepted Rejected Damaged Delivery Note Invoice Received By
{{ optional($receipt->received_at)->format('Y-m-d H:i') }} {{ $receipt->accepted_quantity }} {{ $receipt->rejected_quantity }} {{ $receipt->damaged_quantity }} {{ $receipt->delivery_note_number ?: '-' }} {{ $receipt->invoice_number ?: '-' }} {{ $receipt->receiver->name ?? 'System' }}
@endif
Return to Vendor
@php $rejectedTotal = (int) $purchaseOrder->receipts->sum('rejected_quantity'); $damagedTotal = (int) $purchaseOrder->receipts->sum('damaged_quantity'); $returnableQty = max(0, ($rejectedTotal + $damagedTotal) - (int) ($purchaseOrder->returned_quantity ?? 0)); @endphp @if($returnableQty <= 0)
No rejected/damaged quantity pending return.
@else
@csrf
@endif