@extends('layouts.app')
@section('title', 'Bulk Stock Upload')
@section('content')
@if (session('error_details'))
Some rows had issues:
@foreach (session('error_details') as $detail)
- {{ $detail }}
@endforeach
@endif
@if ($errors->any())
@foreach ($errors->all() as $error)
- {{ $error }}
@endforeach
@endif
1Download a template
2Upload the filled template
How it works
- Stock is only added to products that already exist, matched by SKU (or Product Name if SKU is blank).
- No new products are created. Unknown products are listed as errors; add them under Products first.
- If a product appears more than once in the file, only the first row is used.
- Uploading the same data again is rejected, so stock is never added twice.
- Rows with an empty or zero quantity are ignored.
- New prices are optional; leave them blank to keep the current values. Fill in the Batch Number and its expiry date from the pack, so stock is sold first-expiry-first and can be traced in a recall.
- "Current Stock" and "Current Selling Price" in the template are for reference only and are not imported. To change a price, use "New Selling Price".
- All rows are applied together. If something fails, no stock is changed.
@endsection
@section('scripts')
@endsection