Guides · Inventory
Batch, expiry, and serial-number tracking: what Gulf retailers should demand from inventory software
Published
In short
If you sell anything with a date on it, your inventory software should know which batch each unit came from, when it expires, and sell the oldest first — with a rule that blocks or warns at the till when stock is close to expiry. If you sell anything with a warranty, it should know the serial number of the unit that went out and the date it went out. Both have to work at the counter, not only in the back office, and both have to alert the branch that holds the stock. This guide lists the tests.
Two problems that look alike
A supermarket in Sharjah and an electronics shop in Riyadh have the same complaint about inventory software — “it counts boxes, not what is in them” — and two different needs.
The supermarket needs batch and expiry tracking: a delivery of 200 units with a date on them is one batch, sold before the next delivery of the same product, and taken off the shelf before the date. The electronics shop needs serial-number tracking: each unit is unique, the one that went to the customer has a warranty that started on the day of sale, and the one that came back has to be the one that went out.
A product is one or the other, never both, and inventory software that treats them as the same feature usually does neither well.
What batch tracking should do
| Requirement | Why it matters | Test in the demo |
|---|---|---|
| A batch per receipt, with expiry and cost | Margin and write-offs are per batch, not per product | Receive the same product twice at two prices and two dates |
| First-expiry-first-out by default | Staff will not check dates under a queue | Sell one unit and see which batch it came from |
| Manual override, on the record | Sometimes the newer batch is the one in hand | Pick a different batch and check the movement history |
| Block or warn near expiry | Your policy, not the cashier’s judgement | Set 7 days, then try to sell a batch expiring in 5 |
| Alerts to the branch that holds it | Head office cannot pull stock in Al Ain | Check who receives the expiry alert |
| Works at the till, offline | Expiry rules that only apply in the back office do not apply | Disconnect the till and sell a near-expiry batch |
The last row is the one most cloud products fail. If the batch logic lives on the server, an offline till sells whatever it likes and reconciles later, by which time the expired unit is in the customer’s bag. The offline POS guide explains what “offline” has to mean.
What serial tracking should do
- Serials in, serials out. Each unit is received with its serial and sold with its serial, so the receipt carries the number the customer will quote when they come back.
- Warranty from the sale date. The warranty period is on the product; the start date is the sale. Both should be visible from the serial, and the wording on the receipt should be yours.
- Returns check the serial. A return of a serial that was never sold, or was sold twice, should be refused rather than quietly restocked.
- History per unit. Received, sold, returned, and restocked, in order, on one record.
The test: sell a serialised unit, then try to return a different serial of the same product. The right answer is a refusal with a reason.
Cost and margin follow the batch
Batch cost matters as much as expiry. Two deliveries of the same product at different prices are two costs, and the margin on a sale depends on which batch it came from. Software that carries one average cost per product hides the difference; software that carries cost per batch shows it, and the write-off of an expired batch is then the cost of that batch, not an estimate.
One rule for a whole range
Nobody wants to set tracking on 3,000 products by hand. Look for defaults per category — dairy is batch-tracked with a 5-day rule, phones are serial-tracked with a 24-month warranty — with the ability to switch a single product off the rule. Changing the category default should apply to the products that follow it and tell you about the ones that could not follow.
Where Flowyana stands
Flowyana ships both modes as options on the inventory module: batches with expiry, cost, first-expiry-first-out picking, a block-or-warn rule, and branch-level alerts; serials with warranty, receipt printing, and return checks. Both run on the web platform and on the retail POS, including offline. A product is one or the other, set per product or per category. The inventory page lists the rest of the module; the retail solution shows how it fits a shop.
See it in the product
Where this lives in Flowyana
Questions
Asked alongside this guide.
Does Flowyana track batches and expiry dates?
Yes. Products can be batch-tracked with an expiry date and a cost per batch. Sales pick the first batch to expire, staff can override, and a configurable rule blocks or warns when a batch is within the number of days you set. Expiry alerts reach the branch that holds the stock, and the expiry report shows what is due to go.
Does it track serial numbers and warranty?
Yes. Products can be serial-tracked, one unit at a time, with a warranty period; the serial prints on the receipt, returns check against the serial sold, and the unit’s history stays on the record. Serial tracking runs on the web platform and on the retail POS.
Can a product be both batch-tracked and serial-tracked?
No, and that is deliberate — a unit is either identified by its batch or by its own serial. A product’s tracking mode is set once, with defaults per category so a whole range follows one rule.
Does batch tracking work when the till is offline?
On the retail POS, yes: batch stock and the picking rules are on the device, so the till sells first-expiry-first-out and applies the expiry rule with no connection. The restaurant POS does not track batches at the till.
Keep reading
More guides.
Accounting
How to choose accounting software in the UAE: a 2026 checklist for small businesses
UAE accounting software checklist for 2026: 5% VAT split on every posting, TRN on documents, Arabic–English invoices, multi-currency, and honest e-invoicing answers.
Documents
Arabic–English invoices: what to look for in bilingual documents
Paired labels on one page, real right-to-left layout, correct numerals and currency, per-branch branding, and the same template across every printable document type.
Accounting
Business software in Kuwait and Qatar: running books before VAT arrives
No VAT in force in Kuwait or Qatar today. Why tax-as-configuration means switching it on later is a setting rather than a migration, plus currencies and Arabic documents.