@php $productOptions = $products->map(fn ($product) => (object) ['id' => $product->id, 'name' => "{$product->name} ({$product->sku})"]); @endphp
Stock Balances
@can('inventory.adjust') @endcan @can('inventory.transfer') Smart Stock Movement @endcan @can('inventory.view') Transfer History @endcan
@if (session('success'))
{{ session('success') }}
@endif @if ($supplierSummary->isNotEmpty())
@foreach ($supplierSummary as $row) @endforeach
@endif @php $filtersActive = $productFilter || $warehouseFilter || $supplierFilter || $quantityFilter || $costFilter || $valueFilter; @endphp @if ($filtersActive) @endif
ProductWarehouseQuantityAvg. CostStock Value @forelse ($balances as $balance) @empty @endforelse
Supplier
@if ($balance->product)
{{ $balance->product->name }}
{{ $balance->product->sku }}@if ($balance->product->brandRelation) · {{ $balance->product->brandRelation->name }}@endif
@else
Deleted product (#{{ $balance->product_id }})
Stock still recorded here — needs reconciling.
@endif
{{ $balance->warehouse->name }} {{ $balance->product?->supplierLinks->firstWhere('pivot.is_preferred', true)?->name ?? '—' }} $balance->product && $balance->quantity <= $balance->product->reorder_level && $balance->quantity > 0, 'text-red-600 dark:text-red-400' => $balance->quantity === 0 || ! $balance->product, 'text-gray-800 dark:text-gray-100' => $balance->product && $balance->quantity > $balance->product->reorder_level, ])> {{ $balance->quantity }} {{ number_format($balance->average_cost, 2) }} {{ number_format($balance->stockValue(), 2) }}
@if ($filtersActive) @else @endif
@if ($balances->isNotEmpty())
{{ $balances->links() }}
@endif
View movement history → View batches & expiry →
{{-- Opening Stock modal --}} @if ($showOpeningForm)

Record Opening Stock

A one-time starting balance for a product at a warehouse. Use Adjust Stock afterwards for corrections.

@endif {{-- Adjust Stock modal --}} @if ($showAdjustForm)

Adjust Stock

@if ($adjustDirection === 'add')

Leave blank to keep the current average cost unchanged — only set this if the found stock has a known, different cost.

@endif
@endif {{-- Transfer Stock modal --}} @if ($showTransferForm)

Transfer Stock

@endif