Migrating a coffee, tea & specialty food store from WooCommerce to Shopify (2026)
How to migrate a coffee, tea, or specialty food WooCommerce store to Shopify — grind options as variants, roast date metafields, subscription coffee boxes, food compliance, and specialty retail Shopify setup.
Specialty coffee and tea retail is one of the most nuanced segments of food ecommerce. Products require detailed origin data (country, region, farm, processing method), grind options that can't be easily handled with standard variants, and subscription models that are central to the business rather than an add-on. WooCommerce specialty food stores typically used a mix of custom fields for coffee data and WooCommerce Subscriptions for recurring boxes. Shopify handles this well — with metafields for coffee data and Recharge for subscriptions — but requires careful configuration.
Coffee and tea product types
- Single origin whole bean / ground coffee: Sold by weight (250g, 1kg), multiple grind options — the core product for specialty roasters
- Espresso blends: Multi-origin blends optimised for espresso — fixed recipe, consistent across bags
- Decaf: Decaffeinated coffee — note decaf process (Swiss Water, CO2, Methylene Chloride — CO2 preferred for specialty)
- Green coffee: Unroasted beans for home roasters — different product requirements
- Loose leaf tea: Sold by weight, multiple grades and origins
- Tea bags: Convenience format — often same tea as loose leaf in different packs
- Tea blends: Flavoured and blended teas — ingredient lists required
- Coffee equipment: Grinders, pour-over sets, espresso machines — physical retail products
- Coffee subscriptions: Monthly or weekly fresh-roasted coffee delivery — recurring revenue core
- Specialty food: Artisan chocolate, hot sauce, honey, preserves — similar product data needs
Coffee product metafields
Origin and traceability
product.metafields.coffee.country_of_origin(single_line_text) — "Ethiopia", "Colombia", "Kenya"product.metafields.coffee.region(single_line_text) — "Yirgacheffe", "Huila", "Nyeri"product.metafields.coffee.farm_or_cooperative(single_line_text) — specific farm or cooperative nameproduct.metafields.coffee.altitude_masl(single_line_text) — "1,800–2,200 masl" — altitude affects cup profileproduct.metafields.coffee.variety(list.single_line_text) — "Heirloom", "Bourbon", "Typica", "Gesha"product.metafields.coffee.processing_method(single_line_text) — "Natural", "Washed", "Honey", "Anaerobic"product.metafields.coffee.harvest_year(number_integer) — crop year
Roast and freshness
product.metafields.coffee.roast_level(single_line_text) — "Light", "Medium-Light", "Medium", "Dark"product.metafields.coffee.roast_date_days_fresh(number_integer) — how many days post-roast for optimal brewing (e.g., 7–21 days for espresso, 3–14 for filter)product.metafields.coffee.best_before_from_roast_days(number_integer) — shelf life from roast date- Note: actual roast date is batch-specific and changes weekly/fortnightly — print on bag, not in Shopify product data.
Flavour and cup profile
product.metafields.coffee.flavour_notes(list.single_line_text) — "Raspberry", "Dark Chocolate", "Orange Blossom"product.metafields.coffee.acidity(single_line_text) — "Bright", "Balanced", "Low"product.metafields.coffee.body(single_line_text) — "Light", "Medium", "Full"product.metafields.coffee.sweetness(single_line_text) — "High", "Medium", "Low"product.metafields.coffee.brew_methods(list.single_line_text) — "Espresso", "Pour Over", "AeroPress", "Cold Brew" — recommended brew methods
Grind options and bag size variants
Coffee products need two variant dimensions: bag size (weight) and grind type. With Shopify's 3-option limit, this works perfectly:
- Option 1: "Size" — "250g" / "500g" / "1kg"
- Option 2: "Grind" — "Whole Bean" / "Filter (Coarse)" / "Cafetiere (Medium-Coarse)" / "Pour Over (Medium)" / "Espresso (Fine)" / "Moka Pot (Fine-Medium)"
- Pricing: 250g whole bean at £X. 500g at £(X × 1.8). 1kg at £(X × 3.2). Grind options typically same price as whole bean (grinding is included in the service).
- Inventory: track inventory per bag size, not per grind — you have X kg of beans and grind to order. In Shopify, manage inventory at the size variant level only, not the grind variant.
- WooCommerce migration: WooCommerce coffee stores often used product add-ons (WooCommerce Product Add-Ons plugin) for grind selection rather than variants. Migrate add-ons to proper variant options in Shopify.
Tea product metafields
product.metafields.tea.tea_type(single_line_text) — "Green", "Black", "Oolong", "White", "Pu-erh", "Herbal"product.metafields.tea.country_of_origin(single_line_text) — "Darjeeling, India", "Fujian, China", "Uji, Japan"product.metafields.tea.grade(single_line_text) — "SFTGFOP1", "Gyokuro", "First Flush" — tea grading systemsproduct.metafields.tea.brewing_temperature_c(number_integer) — optimal brewing temperature in Celsiusproduct.metafields.tea.steeping_time_seconds(number_integer) — recommended steeping timeproduct.metafields.tea.caffeine_level(single_line_text) — "High", "Medium", "Low", "Caffeine-free"product.metafields.tea.infusions(number_integer) — number of times the tea can be re-steeped (important for oolong and pu-erh)
Coffee subscriptions
Subscription coffee boxes are a high-LTV product — customers who subscribe typically stay for 6–12 months and spend 3–4x more than one-time purchasers:
- ReCharge: set up subscription coffee variants alongside one-time purchase variants. "Subscribe and save 10%" pricing is standard for specialty coffee.
- Billing frequencies: weekly (for heavy espresso drinkers), fortnightly (most common), monthly
- Coffee rotation: many specialty roasters rotate the coffee in each subscription delivery. ReCharge supports this via product swap in subscription orders.
- Grind preference in subscription: capture grind preference at subscription sign-up (via Recharge checkout or notes). ReCharge subscription notes carry through to each recurring order.
- Pause for holidays: essential for coffee subscriptions. Subscribers going on holiday need to pause 1–2 deliveries without cancelling. ReCharge customer portal enables self-service pause.
- Discovery box model: new subscriber receives "Taster Box" (3 x 60g of different origins) — then subscribes to their favourite. Consider this as a lead product for subscription conversion.
Wholesale for cafes and restaurants
Many specialty roasters sell wholesale (5kg+ bags, commercial pricing) alongside retail:
- Shopify B2B (Plus only): for dedicated wholesale storefront. High-volume roasters may need this.
- Basic Shopify wholesale: use customer tags + price lists. Wholesale customers tagged "wholesale" see wholesale prices via Liquid theme logic or a wholesale app.
- Wholesale product variants: add 5kg and 10kg bag variants to coffee products for wholesale. Standard retail products show 250g/500g/1kg; wholesale shows 1kg/5kg/10kg.
- Minimum order: enforce wholesale minimum order (e.g., £100 minimum) via a wholesale app or custom checkout validation.
- Coffee equipment for wholesale: catering-grade grinders and equipment sold to cafes — consider separate products or a separate wholesale collection.
Food compliance labelling
- UK Food Information Regulations: coffee and tea products sold as prepacked foods require: product name, ingredients (for blends), allergen information, weight, country of origin, storage conditions, best before date, business name/address.
- Allergens: coffee is not a common allergen, but flavoured coffees and tea blends may contain nuts, dairy, gluten — display prominently. Use metafields:
product.metafields.food.contains_allergens. - Organic certification: if certified organic, display certification body (Soil Association, etc.) on product pages and packaging. Add a certification metafield.
- Fair Trade / Rainforest Alliance: display certifications on product pages — important marketing signals in specialty coffee.
Coffee and tea migration checklist
- Create coffee metafield namespace: country_of_origin, region, farm, altitude, variety, processing_method, harvest_year, roast_level, flavour_notes, brew_methods
- Create tea metafield namespace: tea_type, country_of_origin, grade, brewing_temperature_c, steeping_time_seconds, caffeine_level, infusions
- Migrate WooCommerce custom fields / ACF data to Shopify metafields
- Rebuild coffee grind options as product variants (not WooCommerce product add-ons)
- Set up bag size × grind variant matrix for each coffee product
- Install ReCharge for coffee subscriptions — configure weekly/fortnightly/monthly frequencies
- Enable subscriber grind preference capture at subscription sign-up
- Set up wholesale customer tag pricing for cafe/restaurant accounts
- Add food compliance information per UK regulations to product descriptions
- Create "Coffee Subscriptions", "Single Origins", "Espresso Blends" collections
- Test: subscribe to coffee box → change grind preference via customer portal → next order processes with new grind
- Test: wholesale customer sees wholesale prices at checkout
The most common coffee migration error is treating grind options as product add-ons in WooCommerce and then migrating them as nothing — leaving Shopify products as "whole bean only" with no grind selection. This happens because WooCommerce Product Add-Ons don't map to any standard WooCommerce field that migration tools pick up. Before migrating, manually audit every coffee product and note its grind options, then recreate these as proper Shopify variants. A coffee product without grind selection is unusable for the majority of customers who don't have a grinder — they'll simply abandon the product page and buy from a competitor who makes ordering easier.
Migrate your store with k-sync
Connect your WooCommerce store, validate your products, and push to Shopify in minutes. Free for up to 50 products.
Get started freeRelated reading
Migrating a luggage and travel accessories store from WooCommerce to Shopify (2026)
How to migrate a luggage, travel bags, or travel accessories WooCommerce store to Shopify — luggage specifications, airline compliance, TSA lock, warranty and durability claims, and luggage retail Shopify setup.
Migrating a motorcycle accessories store from WooCommerce to Shopify (2026)
How to migrate a motorcycle accessories, biker gear, or motorbike parts WooCommerce store to Shopify — helmet safety standards, CE-rated protective clothing, type approval for parts, fitment compatibility, and motorcycle retail Shopify setup.