Skip to content

Columns & fields

The home of record for what each column and field means on the Batch Update screen.

Table columns

ColumnMeaning
(checkbox)Selects the row for bulk price update or CSV export. The header checkbox selects every row on the page.
ProductProduct name, with SKU below it.
LocationThe store and warehouse holding this record (Store · Warehouse).
BatchThe batch number (monospace), or an Aggregated pill when the warehouse doesn’t track batches.
ExpiryExpiry date (DD Mon YYYY), with a Soon or Expired badge when applicable; on aggregated rows.
SellingSelling price, in PKR.
PurchasePurchase (cost) price, in PKR, shown muted.
AvailableOn-hand quantity (quantity_in − quantity_out), coloured and tagged Low or Out of stock at threshold.
UpdatedHow long ago the record last changed (relative time).
(actions)Edit opens the drawer; a lock shows instead when the row is outside your warehouses.

Edit drawer fields

FieldNotes
Batch numberFree text; shown only when the warehouse tracks batches. Needs the update batch permission.
Expiry dateDate picker; shown only when the warehouse tracks batches. Needs the update expiry permission.
Selling pricePKR, two decimals. Needs the update selling price permission.
Purchase pricePKR, two decimals. Needs the update purchase price permission.
Adjust stockSegmented No change / Increase / Decrease, a quantity stepper, and a current → new preview. Needs the matching increase / decrease permission.

Add Stock drawer fields

FieldNotes
WarehouseRequired first — the product search is disabled until one is chosen.
ProductSearchable product picker (minimum two characters).
Qty InWhole units to add. Press Enter to add the product to the pending list.
BatchPrefills to ADJ when the warehouse tracks batches; editable.
ExpiryPrefills to two years out; editable.
Selling / Purchase pricePrefill from the selected product; editable.
Pending insertsThe staged rows; created together when you click Create N records.

Data notes

  • Available is derived, not stored: it is quantity_in − quantity_out for the record (summed across batches on an aggregated row).
  • New rows created via Add Stock carry no GRN link (grn_id is null) — they are adjustments, not receipts.
  • Prices are formatted with Intl.NumberFormat('en-PK') and shown with an Rs prefix.