A lot tracking app records which lot of each ingredient came in, which batches used it, and which customers got those batches, so that when a supplier calls about a bad lot, the answer is one search instead of an afternoon. For a small maker, five things matter: the supplier's lot is captured when stock arrives, the oldest-dated lot is used first without anyone choosing it, batches note the lots they used by themselves, a recall report goes both ways, and it works on a phone where you actually stand. Lots cost anywhere from nothing (a spreadsheet) to about $548/month.
The short version
- Lot tracking only works if lots are captured at the door. An app that asks for them later gets them never.
- The expensive part isn't the software, it's the choosing: every time a person picks a lot from a dropdown, that's a chance to pick the wrong one.
- Run the ten-minute test below in any trial before you pay for anything.
- Prices for lots vary more than prices for anything else, because many tools sell lots as an add-on or a higher tier.
- TaroStack has lots, expiry and recalls on every plan, from $49 a month.
What a lot tracking app has to do
There's a longer explanation of what lot tracking is if you're new to it. Assuming you're past that and shopping, here's what separates an app that holds up from one that looks fine in a demo.
- Receiving takes the supplier's lot and the date on it: their code, printed on the bag, and the best-by or use-by date. If the app only lets you invent your own code, you'll be translating the day the supplier's recall letter arrives, because the letter quotes theirs.
- The lot that expires first is used first, by default. When a batch is recorded, the app should take flour from the older lot unless someone says otherwise. This is FEFO, and it's the difference between lot tracking that's right and lot tracking that's right when the person at the mixer remembers.
- A batch records the lots it used, without anyone typing them. That record is the link between an ingredient and a customer, and it's what an inspector means by a batch record.
- A recall report goes both ways: backward from a customer's complaint to the ingredient lots, forward from a supplier's lot to every batch and every customer, with what's still on your own shelves.
- It works where the stock is: on a phone, with a barcode scanner or the phone's camera, in a walk-in with no signal, and at the market stall.
That list is short on purpose. Everything else (dashboards, forecasting, integrations) is worth having, but an app that fails one of those five isn't doing lot tracking for you. It's giving you somewhere to type it.
A ten-minute test to run in any free trial
Most of these apps have a free trial. Don't spend it clicking around. Set up this and time yourself.
- Receive two deliveries of the same ingredient: 2 bags of flour, lot 4471, best by March 1, and 2 bags of the same flour, lot 4502, best by April 15. Use the supplier's codes.
- Record one batch that uses one bag of flour.
- Look at which lot it took. It should be 4471, and you shouldn't have been asked.
- Ship the batch to two customers, one case each.
- Pretend the mill has just called about lot 4471. Find every batch that used it, every customer who received those batches, and how much of 4471 is still on your shelf.
Step 5 is the whole point of the exercise. If it takes more than a couple of minutes, or you need to export two reports and match them up in a spreadsheet, that's what the real day will feel like, only with a phone ringing. For what the full exercise looks like on paper, with a hot sauce kitchen tracing one lot of peppers to three customers, see the lot tracking spreadsheet, and when you want to practice it properly, a mock recall.
What lots cost, option by option
Read on each company's pricing page on September 26, 2026. Prices change, so check before you buy.
| Option | What you pay for lots | How lots work there |
|---|---|---|
| A spreadsheet | Free | One row per lot by hand; you do the matching |
| Shopify apps, such as Freshly | Free for 10 products; Pro $24/month | Batches and expiry on the products in your store, assigned to orders. Not ingredients |
| Zoho Inventory | Premium, $79/month billed yearly | Batches with manufactured and expiry dates; when you pick, batches are sorted soonest-expiring first and you choose |
| ReciPal | Start-Up Inventory, $50/month, one user | "Automated FIFO lot tracing", with production and purchase planning |
| Recipe Cost Calculator | $129/month for its inventory tier | "FIFO lot tracing" in the tier that adds raw materials inventory |
| MRPeasy | Starter, $49/month per user | Lot traceability on every plan; expiry dates from Professional, $69/month per user |
| Stocksmith (was Craftybase) | Indie, $99/month | Lots from its Indie plan; you choose the lot from a dropdown when recording a batch |
| inFlow Inventory | $161/month, plus lot numbers add-on, $69/month | Lots, batches and expiry dates in the add-on |
| Katana | Core from $299/month, plus Traceability, $249/month | Batch numbers and expiry dates are in the add-on, so about $548/month to start. |
| TaroStack | Starter, $49 a month | Lots, expiry and recalls on every plan; the lot that expires first is used first |
Two things in that table are easy to miss. The Shopify apps track lots of the things you sell, which is useful, but they can't tell you which jam went into which jar if the recall is about the pectin. And several of the cheaper options price per user, so a kitchen with four people who all record batches pays four times.
Which one I'd look at first
My opinion, for what it's worth: if you only resell finished goods on Shopify, a Shopify app is the cheapest honest answer. If you make food and nutrition labels matter as much as lots, ReciPal is worth a trial, since labels are its home turf and TaroStack doesn't make them. If you're a larger manufacturer with routings and a shop floor, Katana and MRPeasy are built for that. And if you make things in batches with a small team and want lots handled without anybody choosing them, try TaroStack, which is why this page exists.
Where this stops working
Any app stops working the week somebody skips receiving. A delivery put away without its lot recorded is a hole in every trace that follows, and no software can fill it in afterward. So whichever you choose, make receiving the one step nobody skips, and put the phone or the scanner at the door, not in the office.
Now the part about us. TaroStack connects to Shopify and Square only: no Etsy, Amazon or WooCommerce. There's no live QuickBooks or Xero connection yet. Our Square connection is built and set up, but no customer has connected a till yet. Starter is for one site and up to three people. And it doesn't make nutrition labels, HACCP plans or anyone "compliant": it keeps the records those ask for.
How TaroStack does it
Run the ten-minute test on TaroStack and this is what you'll see. Receive the two lots of flour, 4471 and 4502, with the phone's camera or a scanner, each with its date. When Ana records a batch, TaroStack takes the flour from 4471, the lot that expires first, and notes it, so nobody picks from a dropdown with dough on their hands. That's the choosing the short version warned about, gone. Then search for 4471: the recall report shows the batches it went into, who received them, what's still on your shelves and who to call.
The rest of the test passes too. Counting and receiving work with no signal and send themselves when you're back. Lot labels print with GS1-128 barcodes for your cases. Timed, logged traceability drills give you the minutes for a buyer's form.
Lots, expiry and recalls are on every plan, including the $49 one, and the first 30 days are free, which is plenty of time for the test. Your lists import from CSV with a preview of every row before anything is saved. If you'd like a hand setting up, ask, and we'll do it with you.
