Every row is checked before anything is created. The import used to accept the sheet as-is: a blank tax category, a missing purchase price or an IMEI of 1 went straight into live stock, because only the Add Stock form enforced those rules. Both doors now share one rule set, so what the form rejects the spreadsheet rejects too
Nothing is imported until the whole sheet passes. A bad row is named with its row number and what is wrong with it, rather than importing the good rows and leaving you to find the rest
A computer row must carry its storage, since a computer's record is identified by it
Extra Info summary. Under the Extra Costs summary there is now an Extra Info Summary: each label line in use on the parcel's IMEI items (e.g. 6 Month Warranty) with how many devices carry it. Each item row also shows its extra info line, next to its extra costs. Included on the parcel PDF
Accessory (non-IMEI) rows with quantity 0 are now skipped rather than creating a product with no stock. Previously such rows became a phantom variant that sat on the stock alert as out of stock forever, even when the same item was in stock under another grade
The import preview highlights these rows in yellow with a warning banner listing them, and the confirmation message after import names each skipped row
A sheet where every row has quantity 0 is rejected with a clear message instead of creating an empty parcel
Fixed: parcels created from a Purchase Order could charge the supplier twice — once on the PO and again as a Purchase Parcel entry whenever items were added or edited outside the PO screen. The duplicate posting can no longer happen
New Settings → Fix Data Discrepancies → PO Parcel Duplicate Ledger Entries check: lists every affected parcel with links to the parcel, the PO and the supplier's ledger, and a Fix All that removes the historical duplicates (take a database backup first — supplier balances will drop to their true values)
The parcel details page and PDF now show Extra Costs and an Avg Cost per line (after Amount), plus Total Extra Costs and Avg Cost / Device footer rows — per-device extra costs spread across all IMEI devices in the parcel. Accessories are excluded from the average
New Import Items from Excel button on the Create Purchase Order and Create Sale Order screens. Upload a spreadsheet to add all line items at once instead of entering them one by one — the rows drop straight into the order table for you to review and submit
Download template link provides the exact columns: IMEI (Yes/No), Type, Make, Model, Grade, Capacity, Colour, Qty, Rate, Tax Category (plus Vat Rate when VAT fields are enabled)
Supports IMEI items (Phone / Tablet) and non-IMEI items (free-text type). Item attributes (make, model, grade, capacity, colour) are capitalised on import for consistent grouping
Each row is validated (type, required fields, quantity, rate, tax category) with clear row-numbered errors, and the sub-total / VAT / total are calculated automatically