Magento for coffee and tea: repeat orders, grind choice and trade accounts
I set up Magento for coffee and tea sellers, from small roasters to shops with a cafe trade side. The same questions come up in nearly every first call: how to sell one coffee in five grinds without five products, how to send regulars a bag every two weeks, and how to give cafes trade prices that nobody else sees. None of this is exotic. Each one has a right and a wrong setup, though, and the wrong one is painful to undo once orders are flowing.
- Grind saved as an option on the order, not as a separate product
- Repeat deliveries through a subscription extension the customer manages
- Trade prices and account payment for cafes and offices
Four things I settle with a roaster before building
The answers decide how the catalog is structured, how checkout behaves and which extensions are needed. Getting them wrong early means rebuilding products later, which is the expensive kind of rework.
-
Grind One coffee, many grinds
Whole bean, espresso, filter, cafetière, cold brew. Turn every grind into its own SKU and the catalog grows fast while stock gets split for no reason, since you grind to order anyway. A dropdown option keeps one product and one stock figure, and the grind lands on the order line for whoever packs it.
-
Repeat Regulars want it to just turn up
Coffee and tea run out on a schedule, so plenty of customers would rather subscribe than remember to reorder. Magento Open Source has no subscription feature, and Adobe Commerce does not add one. It takes an extension or a payment provider that stores the card and charges on a schedule, and the right one depends on where you sell.
-
Roast date Freshness starts at the roaster
Specialty buyers read the roast date on the bag, not a best-before a year away. Most roasters roast on fixed days and ship soon after, so the shop should say when an order will be roasted and sent. That means the roast days and cut-off times need to live in the store, not only in your head.
-
Wholesale Cafes buy differently
A cafe takes bigger bags every week, at trade prices, often on account. It should not see retail offers, and home customers should not see trade prices. Magento customer groups handle most of this natively. Company accounts with several buyers per cafe are an Adobe Commerce B2B feature.
How the pieces fit together for a coffee or tea shop
Catalog first, then repeat orders, then roasting and trade. Where Magento needs an extension to cover a gap, the card names the gap rather than hiding it.
-
Grind and bag size without a SKU explosion
Each coffee is a configurable product for bag size (say 250g and 1kg), because size changes price and stock. Grind stays a custom option, because it changes neither. It shows on the order, the packing list and the confirmation email. Tea follows the same split: tin or pouch and weight as variants with their own stock, plus a small sample size that fits through a letterbox.
-
Subscriptions customers can manage themselves
Since subscriptions are not built in, I choose an extension that works with your payment provider and test the things customers really do: skip one delivery, swap the coffee, change the grind, move the date, pause for a holiday. Every renewal should create a normal Magento order, so roasting, packing and the accounts treat one-off and repeat orders the same way.
-
Roast days and dispatch dates
A small module stores your roast days and the order cut-off for each. The product page and cart can then say “roasted Tuesday, sent the same day” instead of a vague delivery window. In the admin you get a roast list with totals per coffee and per bag size for the next roast, so nobody is adding up orders by hand at 6am.
-
Origin, process and tasting notes as data
Country, region, farm or co-op, altitude, variety, process (washed, natural, honey) and tasting notes each become a product attribute. Every coffee page gets the same layout, and customers can filter by process or country. Tea gets type (green, black, oolong), origin and brewing temperature. Keeping these out of the free-text description means they stay consistent when the next lot arrives.
-
Trade accounts for cafes and offices
Trade customers sit in a wholesale customer group with tier prices on larger bags and the Purchase Order payment method for account terms. I usually add a trade sign-up form that holds new accounts for your approval before prices show, which is a small module because Open Source has no approval step. Reordering is one click from the customer account, and a fixed weekly delivery runs through the same subscription extension as retail.
-
Grinders, brewers and accessories
Equipment brings its own issues: heavier parcels, warranty questions and, for many brands, a minimum advertised price. Magento’s Minimum Advertised Price setting can keep the price hidden until the cart for those products. Related products and cross-sells link a dripper to the right filter papers. On Open Source those links are set by hand or by import; Adobe Commerce can set them with rules.
Your quote
Get a fixed quote for your project
Send your store URL and describe what you want to change. We can review the requirements and agree a written scope, quote and timeline before work starts.
- Free first call
- Written scope, price and timeline
- You approve every change
Five steps from audit to optimised store
Audit → plan → build → deploy → stabilise. Tuned for coffee’s subscription cadence: every cycle is a live billing event, every roast is a production-floor pick list. Optional ongoing retainer through the next four quarters.
-
01
Audit
Catalog mix audit (single-origin vs blends vs decaf vs tea), subscription share + churn cohort, B2B cafe wholesale share, equipment / accessories share, current subscription provider (ReCharge / Bold / Skio / Smartrr / custom), Klaviyo flow inventory (welcome / replenishment / win-back), roast-schedule workflow, ERP / inventory-of-green-coffee state. 1 week. Fixed-fee.
Baseline + gaps -
02
Plan
Catalog tree (origins → blends → tea → equipment), roast-schedule cadence (twice-weekly vs weekly), subscription provider pick (ReCharge default, Skio for headless), Klaviyo flow plan, B2B cafe wholesale workflow, equipment cross-sell strategy, US vs EU shipping cutoffs. Written spec + Gantt. 1 week.
Locked scope -
03
Build
Catalog + roast-to-order workflow + grind-at-cart custom options + ReCharge subscription wiring + Klaviyo flow set + B2B Companies + equipment cross-sell. Built in 5-9 weeks depending on subscription / B2B scope. Test fixtures for roast queue, pause/skip/swap flows, multi-buyer B2B accounts. Smoke test the full subscription billing cycle on a staging clone.
Build + UAT -
04
Deploy
Blue-green cutover with subscription billing smoke test (test card runs through one full cycle on the new instance before DNS flips), roast-date countdown verified on PDP, grind-at-cart selection persists through checkout, ReCharge customer portal SSO works, B2B cafe login works. Go-live checklist + rollback plan. War room for the first 48 hours.
Live + verified -
05
Stabilise
Monthly subscription cohort retention review, churn-reason taxonomy iteration, quarterly green-coffee inventory turn vs forecast, equipment cross-sell win-rate, B2B reorder rate. Tune Klaviyo flows + roast schedule + grind defaults. Optional ongoing retainer ($1.5k to $5k/mo) through the next four quarters.
Optimised + iterating
Free extensions that fit a coffee and tea store
Open source under MIT. Hyvä and Luma, Magento 2.4.4 to 2.4.9.
-
Checks the postcode at checkout before you promise delivery.ZIP/PIN Code Validation at Checkout for Magento 2
Free -
Adds a fee or surcharge at checkout, for example for cold packing or handling.Extra Fee & Surcharge for Magento 2 Checkout
Free -
Badges such as New, Sale or Low stock on product cards.Smart Product Badges & Labels for Magento 2
Free -
Low stock warnings and back in stock emails.Low Stock & Back-in-Stock Alerts for Magento 2
Free
Reviews from clients I have worked with
Public reviews on Upwork. Same person, same rate card, same playbook for every roaster + tea brand.
Magento work and feedback View Upwork profile
-
Sports footwear and hockey shop, Netherlands -
Photo printing supplies wholesaler, Netherlands -
Educational toys and books shop
-
Kishan has done an excellent job in a timely manner. He is very knowledgeable, has a very positive attitude, easy to communicate.
Z. K.Magento 2 client -
He is technically strong, approaches problems thoughtfully, and focuses on stable, long-term solutions.
E. H.Magento 2 client -
Kishan was a pleasure to work with! He is highly skilled, professional, and delivered outstanding results on time.
M.Magento 2 client
- Working with coffee and tea sellers in
- United States
- United Kingdom
- Canada
- Australia
- Germany
- France
- Netherlands
- India
Twelve questions specialty coffee + tea founders actually ask
Book a free 30-min coffee + tea Magento consultation
Tell me your subscription share, current provider (ReCharge / Bold / Skio / Smartrr / custom), cafe wholesale tonnage, and equipment mix. I’ll send a written platform-fit recommendation within 24 hours and include a 30-min calendar link if a call would help. No upsell.
Message me on WhatsApp
No form to fill. Send me a quick message. I reply during 10 AM to 7 PM IST, Monday to Saturday.
Helpful to mention
- Current platform
- Store URL
- Annual GMV (USD)
- Primary category
- Compliance focus
- Main pain / why you’re looking at Magento
These are already in the message for you. Just add your answers.
Message me on WhatsAppOr save my number: +91 84012 70422