{{-- ─── Toolbar ─────────────────────────────────────────────────────────── --}}
{{-- Search --}}
{{-- Action buttons --}}
{{-- Export --}} Export XLS {{-- Import trigger --}} Import XLS {{-- Save all --}} Save All Saving…
{{-- ─── Import panel ────────────────────────────────────────────────────── --}}

Import Stock from XLS / XLSX

The file must have columns: SKU and Stock Qty (header row required). An ID column is matched first if present, then SKU. Unmatched rows are skipped — existing data is not erased.

{{-- ─── Table ───────────────────────────────────────────────────────────── --}}
@forelse ($this->rows as $row) @php $id = $row['id']; $dbQty = $row['db_qty']; $editedQty = (int) ($this->stock[$id] ?? $dbQty); $changed = $editedQty !== $dbQty; $isCommon = $this->commonlyStocked[$id] ?? $row['commonly_stocked']; @endphp {{-- Commonly stocked star --}} {{-- Brand --}} {{-- Product name --}} {{-- SKU --}} {{-- Current qty badge --}} {{-- Editable new qty --}} {{-- Live badge --}} @empty @endforelse
★ Brand Product SKU On Hand New Qty Live
{{ $row['brand_name'] ?? '—' }} {{ $row['name'] }} @if ($isCommon) Common @endif {{ $row['sku'] }} {{ $dbQty }} @if($row['active']) @else @endif
No products match your search.
{{-- Row count --}}
{{ count($this->rows) }} product(s){{ $search ? ' matching "' . $search . '"' : '' }} ★ = pinned to top as commonly stocked
{{-- ─── Sticky save bar (appears when anything is changed) ──────────────── --}}
Saving…