A grocery store website and app of your own works when four things are set up before launch: a catalogue listed in the units you actually sell, delivery zones with a cap on orders per slot, a delivery charge that covers what each drop costs you, and one stock count shared with your counter. This guide shows how to set up each one.
At a glance
| Decision | What to settle | Rule of thumb |
|---|---|---|
| Catalogue | Units, pack sizes, loose items | One product per item, one variant per pack size, loose items sold by weight |
| First listing | How many items to launch with | The items that make up most of your bills, then add weekly |
| Delivery model | Own riders, Ordrio's riders, couriers or pickup | Match it to your daily order count and distance |
| Slot capacity | Orders per slot | The lower of packing capacity and rider capacity |
| Delivery charge | Fee and minimum order | Cover your cost per drop with margin from the basket |
| Stock | Counter and online in sync | One stock count, with a buffer on fast sellers |
What does a grocery store website need before launch?
This guide is for a shop owner building an online store and app in the shop's own name, not for listing on someone else's app. On your own store, the customer list, the prices and the delivery promise are yours. So are the mistakes, which is why the setup matters.
Most grocery stores that struggle online have the same four problems: items listed in the wrong unit, slots that take more orders than the shop can pack, delivery fees that lose money on small baskets, and stock that is right at the counter and wrong on the website. Each section below fixes one of them.
How to structure a grocery catalogue: units, pack sizes and loose items
A grocery catalogue is harder than most because the same item is sold in several ways. Decide the structure once, before you upload anything, or you will redo it.
| Item type | Example | How to list it | Stock counted in |
|---|---|---|---|
| Packed item, one size | Salt, 1 kg packet | One product | Packets |
| Packed item, several sizes | Atta in 1 kg, 5 kg and 10 kg | One product, one variant per size | Packets, per variant |
| Loose item sold by weight | Onions, loose dal | One product sold by weight, with a minimum and maximum | Kilograms |
| Item sold by count | Coconut, eggs | One product, priced per piece or per tray | Pieces or trays |
| Fixed bundle | A weekly vegetable box | One bundle product | Bundles, or the items inside |
Three rules keep this clean:
- Variants for sizes, separate products for different items. Basmati rice and sona masoori rice are separate products. Basmati in 1 kg and 5 kg is one product with two variants.
- Sell loose items by weight, not as fake packets. Listing "onions 1 kg" as a packet breaks the moment a customer wants 750 g. Set a minimum (for example 250 g) and a maximum you can supply.
- Name items the way customers search. Use "item, variety, size": "Toor dal, unpolished, 1 kg". Add the other names people use for the item in the description, so a search for either finds it.
Product data sheet: columns to copy
Fill one row per variant in a spreadsheet before you upload. It doubles as your price list.
- Product name
- Category and sub-category
- Brand
- Variant or pack size
- Selling unit (packet, kg, litre, piece)
- Selling price
- Compare-at price, if you show a saving
- Tax category and HSN code, as your accountant advises
- Barcode
- SKU code
- Opening stock
- Low-stock level
- Minimum and maximum weight, for loose items
- Image file name
- Branches that sell it
- Other names customers use
- Active (yes or no)
Which items to list first
Do not wait until all 3,000 items have photos. Pull a month of bills, sort items by how often they appear, and list the top 150 to 300 first. Your own bills will usually show that a few hundred items cover most of what people buy each week. Add the next batch every week after launch.
Own riders, Ordrio's riders, couriers or pickup: which delivery model fits?
You can mix these, and many stores do. Choose the main one by your order count and distance.
| Model | Fits when | You pay for | Watch out for | Compare |
|---|---|---|---|---|
| Your own riders | 20 or more drops a day in a tight area | Salary, fuel, bike upkeep, leave cover | Idle riders on slow days, no cover when one is absent | Cost per drop at your real daily volume |
| Ordrio's riders (Vayu) | You want delivery without hiring, in a city Vayu covers | A delivery charge per order, quoted when your city is confirmed | Selected cities only | The quote per drop against your own rider cost |
| Couriers (Ordrio Ship) | Orders go beyond your delivery area, or you ship packed goods | Courier rate per shipment | Not suited to fresh items on a same-day promise | Rates per order across partners, COD handling |
| Customer pickup | Customers live close and want to skip the fee | Nothing extra | Orders waiting at the counter at rush hour | Pickup share of orders, wait time at the counter |
Pickup is the cheapest way to start. Many stores launch with pickup and their own staff delivering in a small area, then add a second model once volume is known.
Worked example: what one delivery costs you
The numbers below are an illustrative example with round numbers, not real data from any store. Put your own figures in their place.
Say one rider costs you ₹18,000 a month in salary and fuel, and works 26 days. That is about ₹690 a day. At 25 drops a day, each drop costs about ₹28. Call it ₹30.
Now say your average gross margin on a grocery basket is 15%. Here is what is left after the drop:
| Order value | Margin at 15% | Cost of the drop | Left before packing and gateway fees |
|---|---|---|---|
| ₹250 | ₹37 | ₹30 | ₹7 |
| ₹600 | ₹90 | ₹30 | ₹60 |
| ₹1,000 | ₹150 | ₹30 | ₹120 |
What this tells you:
- Small baskets barely pay. At ₹250, almost all the margin goes to the rider. Charge a delivery fee below a set order value, or set a minimum order.
- Volume per rider is the lever. If slots batch orders so the same rider does 40 drops a day, the cost per drop falls to about ₹17.
- Prepaid orders carry a gateway fee. Your payment gateway charges its own fee on online payments. Add it to the right-hand column for prepaid orders.
How to set delivery zones and slots you can keep
Zones
Draw zones on the map, not by pin code alone, because one pin code can cover streets you can reach in five minutes and streets that take forty. A simple pattern:
- Zone 1: the area a rider covers and returns from quickly. Lowest fee or free above a set order value.
- Zone 2: further out, with a higher fee or a higher minimum order.
- Blocked: areas across a highway, a river or a traffic bottleneck. Block them rather than promise a slot you will miss.
Slot capacity
Every slot needs a cap on orders. Work it out from two numbers and take the lower one.
- Packing capacity: packers × orders packed per hour × slot length. Two packers at 6 orders an hour in a 2-hour slot is 24 orders.
- Delivery capacity: riders × drops per slot. One rider doing 8 drops in a 2-hour slot is 8 orders.
Here the cap is 8, not 24. Adding a second rider raises it to 16. Adding a packer changes nothing.
Cut-off times
Close each slot early enough to pick and pack it. For an early morning slot, that usually means the previous night. For a same-day slot, leave at least the time your packers need for a full slot.
How do you set a delivery charge and a minimum order?
Use the worked example to find the order value where a drop pays for itself. Then pick one of these patterns:
- Free above a threshold, fee below it. Easy for customers to understand, and it nudges baskets up.
- A minimum order value. Simpler, but it turns away small orders from good regulars.
- Charge by zone or distance. Fair when your area is large.
- A different fee for cash on delivery orders, if cash handling costs you more.
Show the fee at checkout and on the home page. A fee that appears only at the last step makes customers drop the basket.
How to keep the counter and the website on one stock
If the counter sells the last packet and the website does not know, you take an order you cannot fill and lose a customer's trust. Four habits prevent it:
- One stock count. The counter billing and the online store must share products and stock, so every bill updates both.
- A buffer on fast sellers. Keep the online stock a few units below the shelf for milk, bread and eggs, or turn off selling when out of stock for those items.
- A morning check. Look at the low-stock list before the first slot is packed.
- A replacement rule. Decide in advance what packers do when an item is missing: call the customer, substitute a set alternative, or remove the item and refund it.
Build a custom grocery app or use a platform?
Grocery app development from scratch means more than an app. You also need a website, an admin panel, a payment gateway connection, hosting, app store developer accounts, and someone to update all of it when Android or iOS changes. That work never ends.
| Question | Platform | Custom build |
|---|---|---|
| Time to first order | Days | Months |
| Who fixes it at 8 pm | The platform's support team | Your developer, if available |
| Changes to checkout, delivery or payments | Settings and add-ons | New development each time |
| When it makes sense | Most single shops and small chains | A process no platform supports, at a scale that pays for a team |
Start on a platform. Move to custom work only when you can name the exact limit you have hit.
Launch plan: four weeks
Week 1: catalogue. Export a month of bills, pick the top 150 to 300 items, fill the product data sheet, take photos of loose items yourself, upload.
Week 2: delivery and payments. Draw zones, set slots with caps, set the delivery charge and minimum order, connect a payment gateway and decide on cash on delivery. Place three test orders yourself: one prepaid, one cash on delivery, one pickup.
Week 3: soft launch. Share the store link with 30 to 50 regulars. Pack every order yourself or watch it packed. Note every missing item, wrong unit and late drop.
Week 4: fix and announce. Fix the problems from week 3, add the next batch of items, then print the link on bills, put a board at the counter and share it on WhatsApp.
Common mistakes and how to fix them
- Listing loose items as packets. Customers cannot order the quantity they want. Fix: sell by weight with a minimum and maximum.
- Uncapped slots. The first busy Sunday, half the orders go out late. Fix: cap each slot at the lower of packing and rider capacity.
- One flat fee everywhere. Far-away small baskets lose money. Fix: charge by zone or set a threshold.
- Separate stock for counter and website. You sell what you do not have. Fix: one shared stock count and a buffer on fast sellers.
- Waiting for every photo. Launch slips by months. Fix: launch with your top items and add weekly.
- No replacement rule. Packers guess, customers complain. Fix: decide call, substitute or refund before launch.
- Not telling regulars. A store nobody knows about takes no orders. Fix: the link on every bill, at the counter and on WhatsApp.
Where Ordrio fits
Nadi is your store's own website and app. The grocery template, Grocbay, is built for the setup above:
- Catalogue: bulk import with images, stock and prices, and bulk edits. Catalog Studio turns a product list or a billing export into a clean catalogue that you review before anything is created. Weight-based and packaged products, with weight selling switched on through the Weight Products add-on.
- Delivery: zones drawn on a map, time slots and charges per zone, and different rules per branch. Delivery charges can be set by block, by distance or by your own rules. Express and scheduled delivery, and store pickup. The Polygon add-on draws exact delivery areas. In Nadi, these settings sit under Settings, in Branch and Logistics.
- Delivery partners: your own riders, Vayu (Ordrio's own riders, in selected Indian cities, with live tracking and proof of delivery) or couriers through Ordrio Ship, which compares rates, prints labels and reconciles COD.
- Payments: UPI, cards, wallets and cash on delivery, through a gateway you connect, such as Razorpay, Cashfree or PhonePe.
- Counter billing: Kadal runs billing on the same products, stock and customers, so a sale in either place updates both.
- Plans: the free plan includes your online store. Paid plans include your own domain and the merchant app. Your own Android app comes from the Grow plan, which also adds a minimum order value; the iOS app is an add-on. See pricing.
What is not included or not stated. Ordrio gives you a store, not shoppers: you bring customers through your shop, your regulars and your own marketing. Vayu runs only in selected cities, and charges are shared when your city is confirmed. Some features, such as Polygon and Weight Products, are add-ons, and which ones come with your plan depends on the plan.
When Ordrio is not the right choice. If you do not want to pack orders, manage slots or answer customers, a store of your own will be hard work. If you get a handful of orders a month, a store link may be more than you need. And if you need a process no platform supports, talk to us about Enterprise or plan a custom build.
You start on the free plan. Any paid plan costs ₹1 for the first 30 days.