Stock Movements ← Back to stock balances @php $filtersActive = $productFilter || $warehouseFilter || $typeFilter || $quantityFilter || $unitCostFilter || $balanceFilter || $createdByFilter || $fromDate || $toDate; @endphp @if ($filtersActive) @endif
DateQtyBalance @forelse ($movements as $movement) @empty @endforelse
Product Warehouse Type Unit Cost By
{{ $movement->created_at->format('d M Y, h:i A') }} @if ($movement->product)
{{ $movement->product->name }}
{{ $movement->product->sku }}
@else
Deleted product (#{{ $movement->product_id }})
@endif
{{ $movement->warehouse->name }} $movement->type === 'opening', 'bg-green-50 text-green-700 dark:bg-green-500/10 dark:text-green-400' => in_array($movement->type, ['adjustment_add', 'scheme_free']), 'bg-red-50 text-red-700 dark:bg-red-500/10 dark:text-red-400' => $movement->type === 'adjustment_remove', 'bg-amber-50 text-amber-700 dark:bg-amber-500/10 dark:text-amber-400' => in_array($movement->type, ['transfer_out', 'transfer_in']), ])> {{ $types[$movement->type] ?? $movement->type }} $movement->quantity > 0, 'text-red-600 dark:text-red-400' => $movement->quantity < 0, ])> {{ $movement->quantity > 0 ? '+' : '' }}{{ $movement->quantity }} {{ $movement->unit_cost !== null ? number_format($movement->unit_cost, 2) : '—' }} {{ $movement->balance_after }} {{ $movement->createdBy?->name ?? '—' }}
@if ($filtersActive) @else @endif
@if ($movements->isNotEmpty())
{{ $movements->links() }}
@endif