@extends('admin.layouts.app') @section('title', 'Inventory') @section('page_title', 'Inventory Management') @section('content')
Overall Inventory List
Reset
@forelse($products as $product) @php $purchase = $purchaseTotals[$product->id] ?? 0; $purchaseReturn = $purchaseReturnTotals[$product->id] ?? 0; $sales = $saleTotals[$product->id] ?? 0; $salesReturn = $saleReturnTotals[$product->id] ?? 0; $wastage = $wastageTotals[$product->id] ?? 0; $totalIn = $purchase + $salesReturn + $product->opening_stock; $totalOut = $sales + $purchaseReturn + $wastage; $calculatedStock = $totalIn - $totalOut; $stockValue = $calculatedStock * ($product->purchase_price ?? 0); @endphp @empty @endforelse @php $tPurchase = 0; $tPurchaseReturn = 0; $tSales = 0; $tSalesReturn = 0; $tWastage = 0; $tTotalIn = 0; $tTotalOut = 0; $tStockVal = 0; $tStockQty = 0; foreach($products as $p) { $pu = $purchaseTotals[$p->id] ?? 0; $pr = $purchaseReturnTotals[$p->id] ?? 0; $sa = $saleTotals[$p->id] ?? 0; $sr = $saleReturnTotals[$p->id] ?? 0; $wa = $wastageTotals[$p->id] ?? 0; $ti = $pu + $sr + $p->opening_stock; $to = $sa + $pr + $wa; $sk = $ti - $to; $tPurchase += $pu; $tPurchaseReturn += $pr; $tSales += $sa; $tSalesReturn += $sr; $tWastage += $wa; $tTotalIn += $ti; $tTotalOut += $to; $tStockQty += $sk; $tStockVal += $sk * ($p->purchase_price ?? 0); } @endphp
ID Product Name Code Category Unit Purchase Purchase Return Sales Sales Return Wastage Total In Total Out Current Stock Stock Value Action
{{ $product->id }} {{ $product->name }} {{ $product->code }} @if($product->category) @if($product->category->parent) {{ $product->category->parent->name }} → {{ $product->category->name }} @else {{ $product->category->name }} @endif @else N/A @endif {{ $product->unit->short_name ?? 'N/A' }} {{ number_format($purchase, 3) }} {{ number_format($purchaseReturn, 3) }} {{ number_format($sales, 3) }} {{ number_format($salesReturn, 3) }} {{ number_format($wastage, 3) }} {{ number_format($totalIn, 3) }} {{ number_format($totalOut, 3) }} @if($calculatedStock <= 0) Out of Stock @elseif($calculatedStock <= $product->alert_quantity) {{ number_format($calculatedStock, 3) }} @else {{ number_format($calculatedStock, 3) }} @endif {{ number_format($stockValue, 2) }}
No products found
Total: {{ number_format($tPurchase, 3) }} {{ number_format($tPurchaseReturn, 3) }} {{ number_format($tSales, 3) }} {{ number_format($tSalesReturn, 3) }} {{ number_format($tWastage, 3) }} {{ number_format($tTotalIn, 3) }} {{ number_format($tTotalOut, 3) }} {{ number_format($tStockQty, 3) }} {{ number_format($tStockVal, 2) }}
{{ $products->withQueryString()->links() }}
Shipment Wise Inventory Report
Reset
@if($shipmentNumber)
Shipment Number: {{ $shipmentNumber }}
@php $allProducts = collect(); foreach($purchaseItems as $item) { $allProducts->put($item->product_id, $item->product); } foreach($saleItems as $item) { $allProducts->put($item->product_id, $item->product); } foreach($wastageItems as $item) { $allProducts->put($item->product_id, $item->product); } foreach($purchaseReturnItems as $item) { $allProducts->put($item->product_id, $item->product); } foreach($saleReturnItems as $item) { $allProducts->put($item->product_id, $item->product); } @endphp
@foreach($allProducts as $productId => $product) @php $purchaseQty = $purchaseItems->where('product_id', $productId)->sum('quantity'); $saleQty = $saleItems->where('product_id', $productId)->sum('quantity'); $wastageQty = $wastageItems->where('product_id', $productId)->sum('quantity'); $purchaseReturnQty = $purchaseReturnItems->where('product_id', $productId)->sum('quantity'); $saleReturnQty = $saleReturnItems->where('product_id', $productId)->sum('quantity'); $totalIn = $purchaseQty + $saleReturnQty; $totalOut = $saleQty + $wastageQty + $purchaseReturnQty; $stockVal = ($totalIn - $totalOut) * ($product->purchase_price ?? 0); @endphp @endforeach @if($allProducts->count() > 0) @php $totalStockValue = 0; foreach($allProducts as $pid => $p) { $pq = $purchaseItems->where('product_id', $pid)->sum('quantity'); $sq = $saleItems->where('product_id', $pid)->sum('quantity'); $wq = $wastageItems->where('product_id', $pid)->sum('quantity'); $prq = $purchaseReturnItems->where('product_id', $pid)->sum('quantity'); $srq = $saleReturnItems->where('product_id', $pid)->sum('quantity'); $stk = ($pq + $srq) - ($sq + $wq + $prq); $totalStockValue += $stk * ($p->purchase_price ?? 0); } @endphp @endif
Product Name Code Unit Purchase Purchase Return Sales Sales Return Wastage Total In Total Out Current Stock Stock Value Action
{{ $product->name ?? 'N/A' }} {{ $product->code ?? 'N/A' }} {{ $product->unit->short_name ?? 'N/A' }} {{ number_format($purchaseQty, 3) }} {{ number_format($purchaseReturnQty, 3) }} {{ number_format($saleQty, 3) }} {{ number_format($saleReturnQty, 3) }} {{ number_format($wastageQty, 3) }} {{ number_format($totalIn, 3) }} {{ number_format($totalOut, 3) }} @if(($totalIn - $totalOut) <= 0) Out of Stock @elseif(($totalIn - $totalOut) <= ($product->alert_quantity ?? 0)) {{ number_format($totalIn - $totalOut, 3) }} @else {{ number_format($totalIn - $totalOut, 3) }} @endif {{ number_format($stockVal, 2) }} @if($product) @endif
Total {{ number_format($purchaseItems->sum('quantity'), 3) }} {{ number_format($purchaseReturnItems->sum('quantity'), 3) }} {{ number_format($saleItems->sum('quantity'), 3) }} {{ number_format($saleReturnItems->sum('quantity'), 3) }} {{ number_format($wastageItems->sum('quantity'), 3) }} {{ number_format($purchaseItems->sum('quantity') + $saleReturnItems->sum('quantity'), 3) }} {{ number_format($saleItems->sum('quantity') + $wastageItems->sum('quantity') + $purchaseReturnItems->sum('quantity'), 3) }} {{ number_format($totalStockValue, 2) }}
@if($allProducts->count() == 0)
No inventory records found for this shipment number.
@endif @else
Please select a shipment number to view the inventory report.
@endif
@endsection