The usual way
Expiry dates in a side file
- A separate Excel sheet of expiry dates
- You find expired stock at the count or after a complaint
- Newer stock goes out while older stock expires
- Disposal is not linked to the batch that expired
New · part of the inventory module
Record every purchase on a batch with its number and expiry date. Sales draw from the nearest expiry without you choosing, expired batches cannot be sold, and you know ahead of time what needs to move.
Turn it on once, then work as usual: the system follows every batch for you.
From warehouse settings, for all items or the ones you choose, and pick the expiry mode: required, optional, or batch number only.
On the purchase invoice or goods receipt: the batch number (or an automatic one from the date) and its expiry, with one line split across several batches if needed.
The sales invoice draws from the nearest expiry automatically, or you pin a batch yourself. Expired batches are not offered.
The usual way
With 123ERP
Across purchasing, sales, warehouses and reports, for the items you track.
Required expiry dates, optional dates for the items that expire, or batch numbers only for traceability without dates.
Sales invoices draw from the batch closest to expiry automatically; you can pin a specific batch or split a line across batches.
A batch expired on the invoice date is not offered and the system rejects it. It can still be transferred between warehouses or disposed of.
When you turn tracking on, the existing balance becomes "previous stock" sold first; split it into dated batches whenever you like, or enter it with the opening balance.
Count each batch separately with differences per batch, and move quantities between warehouses choosing the batch.
A "disposal" issue order takes stock out of that exact batch, even if it has expired, to the expense account you choose.
Expired and near-expiry batches on the dashboard, an alert window per item (30 days by default), and reports: expiry tracking, batch exceptions and batch trace.
Batch number, expiry and quantity under the item name on the A4 sales invoice, with an option to hide them in print settings.
Turn on tracking for many items at once, or have every new stock item tracked automatically. Service and composite items are excluded.
Any business selling products with an expiry date or a lot number needs to know where each batch is and when it expires.
Dairy, canned goods and drinks: selling the oldest expiry first cuts waste.
Every batch with its number and expiry, and expired stock never reaches a sales invoice.
Alerts ahead of expiry, with the window you set per item, so stock moves in time.
Lot numbers with or without expiry, and every batch's movement in the batch trace report.
Recording every quantity you buy on a batch with a number and an expiry date, so the system knows each batch's balance in every warehouse, sells the nearest expiry first and alerts you before it expires.
No. Turn it on for all stock items or for the ones you choose, and optionally track every new item automatically. Service and composite items are excluded.
It becomes "previous stock" with no date and is sold first; you can split it into dated batches later. Nothing is lost.
Yes. A batch expired on the invoice date is not offered and the system rejects it on the sales invoice; no permission overrides this. It can still be transferred or disposed of.
Yes, with the "batch only" mode: the batch number alone, oldest first, with expiry hidden on screens and in print.
You choose batches on purchase invoices, goods receipts, sales invoices, warehouse transfers, stock counts, opening balances and disposals. POS sales, returns and manufacturing are assigned to batches automatically.
It is part of the inventory module: the Accounting & Inventory, Business Management and All-in-One plans. You can try it free for 14 days.
Try 123ERP free for 14 days and turn on batch tracking for your items from warehouse settings.