Running a programme · For a brand's operations team
Uploading batches from a spreadsheet
When a brand orders twenty-five batches at once, typing them into a form is where mistakes happen. The upload path takes a spreadsheet in three steps, and each step exists to stop a specific mistake.
Three steps #
| Step | What it does | What it stops |
|---|---|---|
| Template | An Excel file downloaded from the product's own Bulk upload tab. Its product dropdown holds that one product, and batch_kind is a dropdown too. | A typed product name that matches nothing — and a batch generated for the wrong product. |
| Preview | Parses the file, validates every row, resolves the products and prices the file against the credit balance. It writes nothing. | A surprise. |
| Commit | Asks you to retype the label total, the way a bank asks you to retype an amount. | A mis-click. |
After the commit the background worker writes the batches — always the worker, never the request, because twenty-five rows of 10,000 labels is a quarter of a million labels.
The columns #
product, quantity, batch_kind, programme, lot_number, batch_name, scan_limit, hidden_code_format, mfg_date, expiry_date, offer_end_date, discount_price_rupees, fact1_name, fact1_value, fact2_name, fact2_value
Only product and quantity are required. product takes the product's id or its exact name, in any case — and it has to be the product whose page you uploaded from: a row for any other product is rejected by name. Only Excel (.xlsx) is accepted; a CSV is refused with a sentence saying so.
When a row is rejected #
The preview names the row and the reason. Fix the file and preview again; nothing was written, so there is nothing to undo. A file whose total the balance cannot cover is refused as a whole before anything is generated.
Last reviewed 20 Sep 2026 · Something wrong? connect@avrascan.com