Why Produce Inventory Is Different From Everything Else
Track fresh produce stock, handle spoilage honestly, and bill correctly at the mandi. Practical steps for vegetable wholesalers without spreadsheet headaches.
ShelfLifePro Editorial Team
Inventory management insights for retail and pharmacy
A medical store can hold paracetamol for two years. A garment shop can sit on stock for a season. You cannot do either.
When a truck of tomatoes arrives at 5 AM, you have maybe 36 hours to move the bulk of it before quality starts dropping and buyers start bargaining harder. By the time you sit down to reconcile your books at the end of the week, half of what you received has already gone out, some of it has shrunken or spoiled, and the price you sold at on Tuesday was different from what you sold at on Thursday.
This is the core problem in produce billing: the stock moves faster than the paperwork.
Most mandi operators handle this with a notebook, a rough mental tally, and a reconciliation at the end of the day that is more estimate than fact. That works until it doesn't. A disputed invoice with a retailer, a GST notice asking for stock reconciliation, or just the slow bleed of untracked spoilage adding up to a real loss by month-end.
Receiving: The First Place Money Disappears
Picture a mid-sized wholesale operation in Azadpur or Vashi. A vehicle arrives with 200 crates of onions. The helper counts crates, the driver gets a signature, and everyone moves on.
Three problems can hide inside that moment:
- The crates are correct in number, but two are underweight.
- A portion of the stock is already showing soft spots that will turn into wastage within 24 hours.
- The purchase rate written on the challan doesn't match what was verbally agreed.
None of these are caught at receiving. All of them show up later as unexplained losses.
A better habit: weigh a sample of crates on arrival, not all of them, but enough to catch a pattern. Note the condition of the stock against the challan. If something looks borderline, photograph it before signing. Two minutes at the gate versus a phone argument with your supplier three days later.
Not sure how much you're losing to expiry?
Run a free inventory waste audit, find your bleeding SKUs in 60 seconds. No sign-up required.
Run free auditSetting Up Stock in a Way That Actually Makes Sense
Most produce comes in by weight. Billing also goes out by weight. The problem is that the weight changes between receiving and selling. Tomatoes lose moisture. Spinach wilts. A 50 kg bag of potatoes that sat in a corner for four days might effectively be a 47 kg bag by the time someone buys it.
If your inventory system treats stock as a fixed number from the moment it arrives, your records will always be off. You'll show stock you don't really have, and your spoilage will look like theft or billing errors.
A few things that help:
- Record stock by actual received weight, not invoice weight if the two differ.
- Set a daily or per-lot spoilage allowance based on commodity type. Leafy vegetables spoil faster than root vegetables. Your system should reflect this.
- Do a quick physical check each morning for anything that's deteriorating faster than expected. Better to discount and move it than to write it off later.
- Keep a separate tally for what goes out as wastage or is sold below cost. That number is real business information.
Billing Correctly When Prices Change Multiple Times a Day
This is the part that trips up even experienced operators.
At 6 AM, green chillies are at Rs. 28 per kg. By 10 AM, a fresh arrival from Nashik has pushed the rate to Rs. 22. A retailer who bought at 6 AM is going to want credit. A retailer who bought at 10 AM will pay the lower rate. If your billing system is a manual receipt book, you are writing different numbers on different slips, and reconciling this at the end of the day is a genuine headache.
The minimum you need:
- Every bill should have a timestamp, not just a date.
- Rate should be recorded per transaction, not assumed from a master price list.
- If you give post-sale credit adjustments, those need to be documented separately, not just deducted informally the next time the customer settles.
This matters for GST as well. Produce has different GST treatment depending on the commodity and whether it's processed or unprocessed. If you're billing fresh vegetables, most are exempt. But if you're handling processed or packaged items, the rate changes. A billing system that doesn't distinguish between these will create a messy return at the end of the quarter.
Handling Spoilage Without Hiding It
Spoilage is a cost of doing this business. Every produce operator knows this. The problem is when it becomes invisible in the books.
Picture this scenario: you receive 500 kg of grapes. You sell 420 kg over three days. At the end of the third day, 80 kg are unaccounted for in your stock register. Some was sold in small lots that weren't billed properly. Some genuinely spoiled. You're not sure which.
That 80 kg gap is going to look like either missing sales or missing stock, depending on who is reading the books. Either way, it's a problem.
The cleaner approach is to record spoilage as its own transaction type. When you pull 15 kg of coriander from saleable stock because it's yellowing, that should be a written-off entry, not a gap in your records. Over time, this gives you actual spoilage percentages by commodity, which helps you decide how much of each item to buy, what pricing cushion you need, and which suppliers consistently deliver shorter-dated stock.
What Spreadsheets Can't Do Well Here
Spreadsheets can store numbers. They can't flag you when a lot is aging, remind you that a batch of capsicum has been sitting for two days, or automatically adjust your available stock when a return comes back from a customer.
The bigger issue with spreadsheets in a mandi context is speed. When you're billing ten customers before 8 AM, you don't have time to open a file, find the right tab, update the stock, and generate an invoice. The billing and the stock update happen in the same action, or they don't happen together at all, and you spend your evening trying to reconcile two things that should have stayed connected from the start.
This is what ShelfSense handles directly. You bill a customer, the stock adjusts. You receive a delivery, it goes into inventory at the right rate. You can see at a glance what's moving and what isn't. If a lot has been sitting for a day and a half and your usual cycle is 24 hours, that shows up before it's a problem.
The free tier is a reasonable starting point if you want to test whether this actually fits how you work. No commitment, and you can see within a few days whether it's easier than what you're doing now.
A Few Practical Habits Worth Keeping
Software or no software, some habits make a real difference in a produce operation:
- Close your stock daily, not weekly. A week's worth of discrepancy is much harder to trace than a single day's.
- Train whoever does receiving to note condition alongside quantity. One line on the challan copy is enough.
- Keep your wastage records honest. Undercounting spoilage makes your margins look better on paper and worse in reality.
- When a customer disputes a bill, have the timestamped invoice ready. Verbal agreements disappear; a printed bill with rate, weight, and time does not.
Produce wholesale is a fast business with thin margins. The operators who stay profitable aren't necessarily the ones with the biggest volumes. They're usually the ones who know exactly what came in, what went out, and what the gap cost them.
ShelfLifePro Editorial Team
The ShelfLifePro editorial team covers inventory management, expiry tracking, and waste reduction for pharmacies, supermarkets, and retail businesses worldwide.
See what batch-level tracking actually looks like
ShelfLifePro tracks expiry by batch, automates FEFO rotation, and sends markdown alerts before stock expires. 14-day free trial, no credit card required.
Get weekly expiry tips
One short email every Tuesday. FEFO tactics, markdown math, and stories from Indian retailers. No spam.
No spam. Unsubscribe in one click. Email only, no WhatsApp spam.
Get weekly expiry tips on WhatsApp
One short voice + text tip every Tuesday morning. Indian retail wins, Tally hacks, monsoon stock plays, straight to your phone.