Skip to content
Docs menu

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 #

The three steps of a batch upload
StepWhat it doesWhat it stops
TemplateAn 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.
PreviewParses the file, validates every row, resolves the products and prices the file against the credit balance. It writes nothing.A surprise.
CommitAsks 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