@include('inventory::reports.partials.styles')
Stock Valuation Expiry Forecast ABC Analysis Dead Stock Reorder Stock Aging

Stock Valuation Report

Generated on {{ now()->format('d M Y, h:i A') }}

@php $avgValue = $stockReport->count() > 0 ? $totalValue / $stockReport->count() : 0; @endphp
Total Stock Value
₹{{ number_format($totalValue, 0) }}
Avg ₹{{ number_format($avgValue, 0) }} per item
Total Quantity
{{ number_format($totalQty, 0) }}
{{ $stockReport->count() }} unique products
Low Stock Items
{{ $lowStockCount }}
Below reorder point
Dead Stock
{{ $deadStockCount }}
No movement in 30 days
Reset
@if($stockReport->count() > 0)
Value by Category
@forelse(array_slice($categoryBreakdown, 0, 5, true) as $name => $data) @php $pct = $totalValue > 0 ? ($data['value'] / $totalValue) * 100 : 0; @endphp
{{ $name }} ₹{{ number_format($data['value'], 0) }}
@empty

No data

@endforelse
Value by Warehouse
@forelse(array_slice($warehouseBreakdown, 0, 5, true) as $name => $data) @php $pct = $totalValue > 0 ? ($data['value'] / $totalValue) * 100 : 0; @endphp
{{ $name }} ₹{{ number_format($data['value'], 0) }}
@empty

No data

@endforelse
@endif
Stock Details
@if($stockReport->count() > 0)
@foreach($stockReport as $i => $item) @endforeach
# Product Category Warehouse Qty Unit Cost Value Margin Status
{{ $i + 1 }}
{{ strtoupper(substr($item->product_name, 0, 2)) }}
{{ $item->product_name }}
{{ $item->sku }}
{{ $item->category_name }} {{ $item->warehouse_name }} {{ number_format($item->qty, 2) }} {{ $item->unit_name }} ₹{{ number_format($item->purchase_price, 2) }} ₹{{ number_format($item->stock_value, 2) }} {{ number_format($item->margin, 1) }}% {{ $item->status == 'ok' ? 'In Stock' : ($item->status == 'low' ? 'Low' : 'Out') }}
@else
📭

No stock data found

@endif