Stock Expiry Report
Monitoring product freshness and inventory shelf life
Items with Expiry
{{ number_format($totalItems) }}
Tracked in inventory
Expired Items
{{ number_format($expiredItems) }}
Requires immediate removal
Expiring in 30 Days
{{ number_format($expiringSoonItems) }}
Prioritize for sale
Expiry Inventory Details
Showing {{ $expiryItems->firstItem() ?: 0 }} to {{ $expiryItems->lastItem() ?: 0 }} of {{ $expiryItems->total() }} items
| Product Name | Supplier | Purchase / Expiry | Remaining Life | Qty | Value | Status |
|---|---|---|---|---|---|---|
|
{{ $item->product?->name ?? 'Deleted Product' }}
SKU: {{ $item->product?->sku ?? 'N/A' }}
|
{{ $item->purchase?->supplier?->name ?? 'N/A' }} |
Purch: {{ $item->purchase?->purchase_date ? \Carbon\Carbon::parse($item->purchase->purchase_date)->format('d M, Y') : 'N/A' }}
Exp: {{ $expiryDate ? \Carbon\Carbon::parse($expiryDate)->format('d M, Y') : 'Not Set' }}
|
@if($expiryDate)
@php
$percent = $daysUntilExpiry < 0 ? 0 : min(100, ($daysUntilExpiry / 365) * 100);
@endphp
{{ $daysUntilExpiry < 0 ? abs($daysUntilExpiry) . ' days ago' : $daysUntilExpiry . ' days' }}
@else
-
@endif
|
{{ number_format($item->quantity) }} | {{ formatCurrency($item->quantity * $item->unit_cost) }} | {{ $statusText }} |
|
No stock expiry items found for the selected filters.
|
||||||