Coffee Roaster Green Bean Inventory — Lot Tracking, Cupping, Aging Risk
Green coffee has 6-12 month peak quality. Lot tracking, cupping schedule, storage discipline, roast-to-order vs roast-to-stock. The architecture for a disciplined specialty roaster.
ShelfLifePro Editorial Team
Inventory management insights for retail and pharmacy
Why green coffee inventory is its own discipline
Specialty coffee roasters operate one of the more interesting perishable inventory categories in food. Green beans (raw, unroasted) have a 6-12 month "peak quality" window depending on processing method, storage conditions, and origin. After that window, the cup quality drops noticeably — bright origin notes flatten, the espresso gets baked / dull, the customer notices.
Unlike most perishables, "expired" green coffee isn't unsafe — it's just declining quality. That makes the discipline subtle: there's no health-code forcing function, only customer-perception forcing function. Roasters who don't track lot age aggressively serve worse coffee at higher cost than roasters who do.
This post walks through what disciplined green-bean inventory looks like for a specialty coffee roaster.
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 auditThe lot-tracking architecture
Every shipment of green coffee arrives with a lot identifier — typically the importer's lot number, plus the producer's information (farm / cooperative / region / processing method / harvest year). Disciplined roasters capture all of it at receipt:
- Lot number (importer's)
- Farm / cooperative / origin
- Processing (washed / natural / honey / anaerobic)
- Harvest year
- Crop year (Northern hemisphere = year of harvest; Southern = year of pick + 1)
- Cupping notes from the importer
- Date received
The lot record carries through the operation: every roast batch references the green lot, every retail bag of roasted coffee can be traced back. When a customer asks "what's the origin of this Ethiopian," the answer is precise, not approximate.
The aging risk by storage condition
Green coffee aging is a function of storage conditions. The variables:
Temperature. Cooler is better. 50-60°F is ideal. Above 70°F accelerates aging dramatically.
Humidity. 50-65% RH is the target. Below 40% dries the beans (loses moisture content, brittleness, off-flavors). Above 70% encourages mold growth.
Packaging. GrainPro / VacBag / oxygen-barrier liners extend life by 4-6x vs jute alone. Most quality importers ship in proper liners; the roaster's job is not to break the seal until ready to use.
Storage rotation. First-in-first-out at the bin level. Beans sitting at the bottom of a hopper for 3 months while fresh beans get scooped from the top is the most common discipline failure.
A well-stored lot in proper packaging holds peak quality 8-12 months from harvest. A poorly-stored lot in opened jute drops noticeably in 2-3 months. Same coffee, dramatically different cup.
The cupping schedule
Top-quartile roasters cup every active green lot on a defined schedule: at receipt, at 30 days, at 90 days, and any time before a major retail / wholesale launch. Cupping notes go in a log tied to the lot.
The cupping log answers: is this lot still tasting like what we bought? If the answer is "yes" — keep using it as planned. If "no, it's flattened" — pull from premium offerings, downgrade to blend / espresso, or markdown.
Roasters who don't cup actively serve declining coffee to customers without realising it. Customers eventually notice and switch to a more disciplined roaster.
The roast-to-order vs roast-to-stock decision
Wholesale / café accounts: roast-to-order works well. Customer commits Monday, roasted Wednesday, delivered Thursday. Inventory of roasted coffee held to minimum.
Retail (cafe shelf, online): roast-to-stock with discipline. Roast in batches sized to 5-7 days of expected sales. Beyond 7-10 days post-roast, retail-bagged coffee starts flattening — better to roast more often in smaller batches than once a week in big batches.
Subscription customers: roast-to-fulfil schedule. Subscription is the highest-loyalty / lowest-waste channel for a coffee roaster.
The waste reality
Green coffee waste at a disciplined roaster runs 0.5-2% of total purchases. The waste sources:
- Defects sorted out at receipt (usually 0.5-1% of the lot)
- Stale lots that aged out before use
- Test roasts gone wrong
- Broken bags / spillage
Roasters who let lots age out 6+ months past peak typically waste 5-10% of total purchases. The cost difference at a $60k/year green coffee budget is $3,000-5,000.
The traceability obligation
Coffee isn't FSMA 204 covered (no FTL list inclusion), but specialty coffee customers — particularly cafés and high-end retail — increasingly want origin traceability. The "we know exactly where this came from, here are the cupping notes, here's the harvest year" story is part of the premium-coffee value proposition.
A roaster who can produce that story per bag earns the premium pricing. A roaster who can't competes on price.
Where ShelfLifePro fits
ShelfLifePro is general inventory + lot tracking — well-suited to coffee roaster green bean management. Lot capture at receipt, cupping log linked to lot, age-based alerts when lots approach end of peak window, roast batch tied back to green lot for traceability. For a roaster running on spreadsheets and trying to scale beyond a single-shop / single-roaster operation, the system replaces the manual paperwork.
Related reading
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.
Weekly expiry-tracking playbook
One short email every Tuesday. FEFO tactics, markdown math, and real-world waste-reduction wins. Unsubscribe anytime.
No spam. Unsubscribe in one click.