AwardXero App of the Year Awards 2026 Finalist
qoblex_logo_main

Batches & Serials

Import or Update Batches by CSV Stocktake

When you need to set batch (lot) and serial quantities in bulk, Qoblex lets you run a stocktake from a spreadsheet. You download a template that already lists your products and their current batches at a location, edit the quantities and expiry dates, and upload it back. Qoblex compares what you entered against what it has on record and creates a stock adjustment for the differences, updating existing batches and creating new ones where needed.

This article explains how to reach the import screen, what each column in the template means, the exact rules the file must follow, and what Qoblex does with the file after you upload it. A serial number is treated as a batch with a quantity of one, so the same import handles both batch-tracked and serial-tracked products.


Before you start

  • This import runs against one location at a time. You pick the location on the import screen before downloading the template or uploading a file.
  • Downloading the template requires a subscription that includes lot, serial, and expiry-date tracking. If your plan does not include it, Qoblex will not build the template and returns the message “Your subscription does not support lot/serial expiry dates.”
  • The template is generated in the background and lists every product variant at the chosen location, with one row per existing batch. Variants with no batches at that location appear as a single blank row you can fill in.

The maximum upload size is 10 MB. (The on-screen warning currently reads “5MB”; the actual limit enforced is 10 MB.)

Open the batch import screen

The batch stocktake import lives on the legacy Products screen.

  1. Go to your Products list.
  2. Open the actions menu and choose Import Batches.
  3. The Import batches / serial numbers window opens.

Download the template

  1. In the import window, choose the location you want to run the stocktake for. The window notes: “Existing batches will be updated, and new batches will be created where needed.”
  2. Click Prepare Template. Qoblex builds the CSV in the background.
  3. When it is ready, a Download Template button appears. Click it to save the file.

The downloaded template lists all your product variants for that location. Each existing batch is written on its own row, with its current batch number, expiry date, and quantity already filled in. Variants that have no batches at the location appear as a single row with the batch, expiry, and quantity columns left blank.

The template columns

The template always has these six columns, in this order. Edit only the batch number, expiry date, and quantity. The Product and Sku columns are there to help you read the file and are ignored on upload.

Column Description Required
Id The product variant’s identifier. Qoblex uses this to match each row to the right variant. On a variant that has several batches, leave Id blank on the extra rows and Qoblex treats them as more batches for the variant on the row above. Yes on the first row of each variant
Product The product variant’s name, for your reference only. Not read on upload. No
Sku The variant’s SKU, for your reference only. Not read on upload. No
Batch/Lot Number The batch or lot number. For a serial-tracked item, put the serial number here. Must not be empty. Yes
Expiry Date The batch’s expiry date, if it has one. Leave blank for items with no expiry. No
Quantity The counted quantity on hand for that batch at the location. Yes

Important: the very first data row must have a variant Id. If it is blank, the file is rejected with “Invalid CSV format: first row is missing Product Variant Id.”

Rules the file must follow

  • Every batch row needs a batch number. A blank Batch/Lot Number on any row stops the import with “Batch number cannot be empty.”
  • No duplicate batches for the same variant. If the same Id and Batch/Lot Number appear more than once, the import stops with “Duplicate batch numbers have been detected.” Combine them into one row with the total quantity instead.
  • Rows with a quantity of zero are skipped. They are dropped rather than counted, so a zero does not clear out a batch through this import.
  • Expiry dates use a fixed year-month-day format, not your regional settings. Qoblex reads dates and quantities from this file in a standard international format, regardless of your account’s regional preferences. Write expiry dates as year-month-day (for example 2026-08-20), which matches the full form the template exports (2026-08-20T00:00:00). Write quantities with a period as the decimal separator (for example 12.5, not 12,5).

Upload the file

  1. Confirm the correct location is still selected in the import window.
  2. Edit the template: adjust quantities, set or change expiry dates, and add rows for any new batches or serial numbers.
  3. Drag the file onto the upload area or click it to browse and select your CSV.

The file uploads and is processed in the background. When it finishes, a status message appears in the window. Click Close to return to your Products list.

What Qoblex does automatically

  • Reads each row and matches it to a product variant by its Id, inheriting the Id from the row above when a variant spans several batch rows.
  • Trims spaces from batch numbers and checks for empty or duplicate batch numbers before doing anything.
  • Drops any row with a quantity of zero.
  • Treats the whole file as a stocktake for the chosen location: it compares your counted quantities against what it holds on record and creates a stock adjustment for the differences, updating existing batches and creating new batches where needed.

Batches, lots, serial numbers, and expiry dates stay inside Qoblex. They are not sent to or pulled from Shopify, Xero, QuickBooks, or Amazon.


Share

Your next stage of growth is just a click away