Datima.ai

Guides · 5-minute read

Batches without an expiry date: track them by lot code.

Not everything on the shelf carries a date. A batch in Datima needs a quantity and either an expiry date or a lot code: how to record an undated batch, what it does and does not trigger, how it shares a product with dated ones, and the CSV columns.

Which batches have no date

Most of what Datima tracks is dated: yogurt, supplements, sunscreen, coffee. But a store rarely sells only that. The olive oil sits next to the ceramic bowl it is served in; the beans next to the grinder; the dog food next to the leash. Merchants with a mixed range told us they still want the second kind under batch control — which delivery is on the shelf, how many of it are left, which lot a complaint traces back to — without inventing a date that does not exist.

So the rule for a batch is: a quantity, and either an expiry date or a lot code. One of the two names the batch; both together is the usual case for dated goods; neither is refused — A batch needs either an expiry date or a lot code. A batch recorded with a lot code and no date is an undated batch: it is counted, deducted and corrected like any other, and it never raises an expiry alarm.

Add one

Open Products, find the product and press Add batch — on its row or on its own page. Leave Expiry date empty; the hint under the field says Leave it empty for a batch tracked by its lot code only. Type the Lot code and the Quantity, and save. Bin, received date and note work as they always did.

The Add batch dialog with the expiry date left empty, the hint under it, lot code EVOO-24-117 and quantity 18 filled in.
The date field left empty, the lot code filled in: that is an undated batch.

If it is the first batch in your store, the success step reads … · 18 units · no expiry date and says what that means: the batch sits in no at-risk card, and its units come off in arrival order, after any dated batch.

One product, both kinds

A product can hold both kinds at once: two dated batches of olive oil from the spring pressing, and a third that arrived with a lot number and no printed date. On a sale, Datima still takes from the batch that expires first. Dated batches go first, soonest date first. Undated batches are only drawn down once every dated batch of that product is empty, and among themselves in the order they were recorded. Refunds go back to the batch they came from, as before — the FEFO guide has the whole sequence.

The olive oil's product page: two dated batches listed first with their days left, then batch EVOO-24-117 with a No date badge.
The product page lists the batches in the order a sale takes them: dated first, then No date.

Where it shows

In the product list, the row's badge is still the product's soonest date. A product whose only batches are undated reads No date — which is different from Not set, the badge of a product with no batch at all. Open Show batches and each undated line reads no expiry date where the others show theirs.

A product row in the list with Show batches open: two batches with expiry dates and one reading no expiry date.
Show batches: the undated line reads no expiry date where the others show theirs.

On the dashboard, the five cards are about dated stock and an undated batch sits in none of them. It is counted on its own line beside the list heading — 1 item without a date — which counts the products holding at least one undated batch with stock. Click the line and the list shows those products; click again to clear, exactly as a card does. The fifth card is No batches yet: products in your catalog with no batch of any kind, dated or not. (It used to be called No expiry date; the words now mean something else.)

The dashboard with its five cards and, beside the product list heading, the line 1 item without a date.
Undated batches are never in a card. The line beside the list heading counts them and filters the list.

What stays dated-only

Everything that reasons about a date keeps ignoring batches that have none. That is the point: the dated half of your range stays exactly as sharp.

  • The cards and the digest. No window, no Expired, no line in the weekly email.
  • Automatic markdowns. A product's tier comes from its earliest dated batch; an undated batch is never marked down and never puts a product in the preview. (How markdowns work.)
  • The best-before block. It shows the earliest date among the dated batches. A product with only undated batches shows nothing on the storefront. (The theme block.)
  • Write off. The button appears on a batch past its date; an undated batch is never past its date. Use Zero… or Delete when it is gone. (Write off.)
  • The bulk bar. Shift dates by… leaves undated batches alone — there is nothing to shift; Set expiry date dates them like any other. (Bulk edit.)

CSV import and export

In the import template, fill lot_code and quantity and leave expiry_date empty; the row imports as an undated batch. A row with neither a date nor a lot code fails the review with one of 'expiry_date' or 'lot_code' is required, like any other row the app cannot read — the rest of the file still imports, and the failed rows come back in a file of the same shape. The template keeps both columns. The export writes an empty expiry_date cell for an undated batch, so a file that goes out and comes back changes nothing.

Rowexpiry_datelot_codeResult
dated2027-03-14A3155 or emptya dated batch, as always
undatedemptyEVOO-24-117an undated batch, shown as No date
neitheremptyemptyrefused: one of 'expiry_date' or 'lot_code' is required

Add or remove a date later

Open the batch with Edit. Pick a date and the batch moves into the windows and into the deduction order by date. To take a date off, press Remove date under the field — the calendar itself has no way to clear a day — and save; the batch needs a lot code to be saved without a date, and the form says so if it has neither: A quantity and either an expiry date or a lot code are required.

The Edit batch dialog for a dated batch, with a Remove date button under the expiry date field.
Remove date takes the date off; the lot code keeps the batch identifiable.

Questions? support@datima.ai · Last updated 15 October 2026