Guides · Grocery & kirana
Sell Groceries Online on the ONDC Network: Kirana Guide 2026
Updated: September 2026 · 11 min read
✅ Straight answer: Yes — a kirana or grocery shop can sell groceries online in India without a website, an app or a warehouse. You list your products once through a Seller App in the ONDC Network, and buyer apps on the network show them to customers near you. You need four things: a GSTIN or a GST enrolment number, the FSSAI number already printed on each packaged food item, the label details from the pack, and a delivery radius you can actually serve. No monthly fee, no listing fee. On a ₹1,000 delivered order our fee is ₹20 (plus ₹3.60 GST on that fee).
Pick up a 1 kg packet of toor dal and turn it over. The back label — maker’s name and address, net weight, MRP, packing date, best-before, a 14-digit FSSAI number — already holds almost everything a buyer app needs to show your dal to a customer in the next lane. Your job online is to copy what the pack says, take two clear photos, and set a sensible delivery circle.
I run Kaarobari, a Seller App in the ONDC Network, from Dhule in Maharashtra. Every rule below is one our own software applies. For the whole journey for any kind of shop, read the pillar first: how to sell on the ONDC Network.
Can a kirana shop sell online without a website?
Quick answer: Yes. On the ONDC Network the buyer app is the “website”. You register once with a Seller App, add your products, and every buyer app on the network can show your shop to customers inside your delivery radius.
How an order moves: a customer opens a buyer app and searches “toor dal”. The app shows every product whose shop radius covers her address; she picks yours, pays inside the app, and the order lands on your dashboard. You pack it, a delivery boy or network partner takes it, and the money follows a fixed route into your bank. Three surprises:
- One listing, many shop windows. You list once, not on each buyer app. (Current list: our buyer-apps guide.)
- Your shop, your prices. You set the selling price; never above the MRP on the pack.
- Nothing about the physical shop changes. Same counter, same stock, same suppliers.
📊 One shelf, one listing, many windows
Your counter
→
Listed once
Your catalogue on your Seller App
→
Customers inside your delivery radius
Buyer app 1
Toor dal 1 kg
Buyer app 2
Toor dal 1 kg
Buyer app 3
Toor dal 1 kg
Buyer app 4
Toor dal 1 kg
So “kirana store online selling” is really three small tasks: the right document, the right details on each product, and the right circle on the map.
GST or enrolment number: which one is for you?
Quick answer: If you have a GSTIN, use it and you can sell anywhere in India. If you do not, you get a GST enrolment number from the GST portal (it costs nothing) plus your Udyam certificate, and you can sell to buyers within your own state. Either one lets you register as a grocery seller on the ONDC Network.
The fear, out loud: “Mere paas GST nahi hai. Toh main out hoon?” No. Since October 2023 the law allows a seller without GST registration to sell through e-commerce with an enrolment number instead. We run that route live.
| You have a GSTIN | You do not have GST | |
|---|---|---|
| What you upload | GST certificate | GST enrolment number + Udyam certificate |
| Where you can sell | Anywhere in India | Buyers inside your own state |
| Cost of the document | Whatever your CA charged you | Nothing — issued on the government portals at no cost |
| Where to get it | Already with you | gst.gov.in (enrolment) · udyamregistration.gov.in (Udyam) |
| Time to get it | — | About 15 minutes each, on your phone |
Plus the three documents every seller needs: PAN, Aadhaar (front and back), one bank proof. Full list with official links: our seller documents page.
📊 Which door is yours?
Do you have a GSTIN?
↙ ↘
Yes
No
One honest condition: the enrolment number works within your own state only. For a kirana delivering a few kilometres, no limit at all; for a shop couriering papad to Delhi, it is. Details in selling online without GST; the registration steps are on the ONDC seller registration page.
Do I need an FSSAI licence to sell packaged food online?
Quick answer: For sealed branded packs (Parle-G, Tata Salt, Fortune oil), the FSSAI number on the listing is the brand owner’s, printed on the pack — you declare it; you do not need one of your own. If you make or pack food yourself — laddoo, papad, chivda, masala in your own pouches — you need your own FSSAI registration.
Every packaged food item on the network carries a food declaration block with an FSSAI number inside it. The field is named for the brand owner, because the licence belongs to whoever registered the product, not to the shop selling it. For branded biscuits you type the 14-digit number near the FSSAI logo — reporting whose product it is. Our form has three FSSAI fields; any one completes the block:
| Field | When you use it |
|---|---|
| Brand-owner FSSAI licence (14 digits) | Almost always. The number on a sealed branded pack. |
| Importer FSSAI licence (14 digits) | Imported food: the Indian importer's number on the sticker. |
| Other FSSAI licence (14 digits) | A different licence holder on the pack, such as a marketer or re-packer. |
The number must be exactly 14 digits. A 17-digit number is a FoSCoS application reference, not a licence — it means the licence has not been issued yet.
📊 Whose FSSAI number goes on the listing?
Is this item a sealed pack made by someone else?
↙ ↘
Yes — I resell it
No — I make or pack it myself
If you fry chivda and pack it in your own pouches, or your SHG makes masala — you are the food business, and the licence on that pack has to be yours. Our team does this on a call with you, at no charge.
What happens if the FSSAI number is left blank on a food item
We do not invent declarations. A food item with no FSSAI number in any of the three fields goes out without its food-safety block — buyer apps that check food declarations can quietly hide it, and you see an amber badge on it in your dashboard. No penalty, no error; just less visibility until the number is filled.
One more rule, from ONDC’s own compliance handbook: any food item you deliver should have at least 30% of its shelf life left, or at least 45 days. A pack a week from best-before belongs on your discount shelf, not in an online order.
Which label fields must the buyer see?
Quick answer: Six things from the pack must reach the buyer app: common name, net quantity, MRP, the manufacturer or packer’s name and full address, the month and year of manufacture or packing, and customer-care details. Three of them (name, address, date) are the ones our software checks before it will publish the declaration block at all.
The law is the Legal Metrology (Packaged Commodities) Rules, 2011; Rule 6(10) extends it to online listings. All ten declarations are in our Legal Metrology label guide; for groceries, these six matter:
| # | On the pack it says | Where you find it | What our form calls it |
|---|---|---|---|
| 1 | Common name (“Toor Dal”) | Front of pack | Product name |
| 2 | Net quantity (1 kg, 500 g, 1 L) | Front or back | Quantity + unit |
| 3 | MRP “inclusive of all taxes” | Front or back | MRP (selling price at or below it) |
| 4 | Manufacturer / packer name and full address | Back label | Manufacturer name · Manufacturer address |
| 5 | Month and year of manufacture / packing | Back label, often stamped | Manufacturing date |
| 6 | Customer-care name, phone, email | Back label | We handle it at network level; your pack photo shows it |
Now the genuinely first-party part. Our software publishes the packaged-commodity declaration only when all three of manufacturer name, address and manufacturing date are filled. One missing, and the block is left off — a half-declaration is a false declaration. The cost is silent: label-enforcing buyer apps show no error; they just do not show the item. One food seller on our platform had the declaration complete on only 1 of 29 items; the other 28 lacked nothing but a manufacturing date, and the catalogue stayed almost invisible for a week. With the date filled on all 29, every item was complete on the next push and could be shown.
The three-field rule, in one line
Manufacturer name + full address + manufacturing month/year → declaration published → buyer apps can show the item. Any one blank → declaration withheld → label-checking apps hide the item, and your dashboard shows an amber badge. Fix: type what the pack says.
- The address must be complete. “Nashik, Maharashtra” is not an address; “Plot 12, MIDC Satpur, Nashik 422007” is.
- The date is the one on the pack. Never today’s date to get past the field. No readable date: sell that batch across the counter.
📊 The declaration block on the product form
Illustrative values.
What photos and details does a grocery listing need?
Quick answer: One clear front photo is required, plus up to four more; make the second one the back label, readable. Then the basics: name, category, quantity and unit, MRP and selling price, GST rate and HSN, veg or non-veg, return and cancel rules, parcel weight, stock. Buyer apps enforce a quality bar and can drop an item that misses it.
Exactly what our product form asks:
| Section | What you fill | Notes from the floor |
|---|---|---|
| Photos | 1 main image (required) + up to 4 more | JPG, PNG or WebP, 3 MB each. Photo 2 = back label. |
| Product | Name · description · category · “Is this product edible?” | Turns the FSSAI fields on. Soap no; dal yes. |
| Quantity | Number + unit: kg, g, litre, ml, piece, dozen, pack, unit | The unit must match the pack. |
| Price and tax | MRP · selling price (at or below MRP) · GST rate · HSN code | On your purchase bill. The form will not accept a price above MRP. |
| Food tags | Veg / non-veg / egg · nutritional info · additives | Copy the panel as text. |
| Order rules | Returnable? · Cancellable? · Maximum quantity per order | Mark non-returnable items (loose, perishable) before the sale. |
| Parcel | Weight in grams · package dimensions | Also sent to the network as item weight. |
| Stock | Starting stock quantity | An order for stock you do not have becomes a cancellation. |
After you submit, a person on our side reviews the product within 24 hours, and it goes out with the next catalogue push. When a buyer app actually picks it up is a later section, because it surprises everyone.
📊 Anatomy of a grocery listing that buyer apps accept
② back label
③ Toor Dal
④ 1 kg
⑤ MRP ₹160 · ₹152
⑥ Shree Agro Foods, Nashik · 07/2026
⑦ FSSAI 1001 5022 0000 12
⑧ Veg
⑨ Returnable · Cancellable
- ✓① Front photo, product fills the frame
- ✓② Back-label photo, FSSAI and address readable
- ✓③ Common name from the pack
- ✓④ Net quantity + unit as printed
- ✓⑤ MRP; selling price at or below it
- ✓⑥ Maker name + full address + month/year (three-field rule)
- ✓⑦ Brand-owner FSSAI, 14 digits
- ✓⑧ Veg / non-veg mark
- ✓⑨ Returnable? Cancellable? Decided before the sale
Three photo habits that separate listings that get shown from ones that sit there: product fills the frame on a plain background; back label readable at phone size, in daylight, no flash glare (if you cannot read the FSSAI number on your screen, the buyer app cannot either); and one product, one listing, with sizes grouped — one group, one unit.
Loose dal, loose rice, loose oil?
If you pour it into your own pouch, you are the packer under Legal Metrology, and every declaration on that pouch becomes yours to print. Week-one advice: start with sealed branded packs, where every declaration already exists; add own-packed items once you have a printed label.
How far should my delivery radius be?
Quick answer: Set a radius you can actually serve, and never a tiny one. 5 km hides you from most of a city; if a delivery partner carries your parcels, 50 km is the sensible default. The radius is enforced, not just advertised: an order from outside it is rejected before it reaches you.
Every catalogue we publish carries a line that says, in effect, “this shop serves buyers within X km”. Buyer apps read it before they show you to anyone; a customer outside your circle never sees your shop, and neither of you will ever know. Two things we have seen on our own network:
- Too small. A shop that had never set a radius went out at 5 km (an old default) — to the whole network it existed inside one small circle of one town. The night the radius was corrected, its storefront appeared on a buyer app about 30 minutes after that app’s next crawl.
- Too big. At least one buyer app we checked showed shops set to 50 km and did not show shops set to 5,000 km. “Unlimited” can behave like “nowhere”.
Both extremes make you invisible, so our system now defaults a new shop to 50 km and asks you to confirm it.
| Radius | Who can see you | What it means for delivery |
|---|---|---|
| 5 km | One neighbourhood; most of a city cannot find you | Easy to self-deliver, but pointless online |
| 10–15 km | A whole town, or a large slice of a city | Honest for a shop that delivers itself |
| 50 km | The city plus the district around it | The sensible default with a delivery partner |
| 5,000 km (“all India”) | On paper everyone; in practice, some apps hide you | Courier-based shops only, never a kirana |
The part sellers miss: the radius is enforced, not just advertised. An order from outside your circle is rejected as non-serviceable before it reaches your dashboard. It cuts the other way too: set 50 km and deliver yourself, and you have promised 50 km.
📊 Delivery radius map — three circles, one rejected pin
The rest of the delivery setup is on the same screen: self or network delivery (see our delivery guide); delivery and packing charge (a new shop starts at ₹25 and ₹10; set what you actually charge); no-charge delivery distance and minimum order (the levers that stop a ₹40 order costing ₹25 to deliver); time to ready (immediate delivery needs 60 minutes or less); and the return window (who pays when something comes back: returns, RTO and damage).
I added a product. Why is it not showing yet?
Quick answer: Because buyer apps do not watch your catalogue live; they copy it on their own schedule. In our logs those copies cluster between roughly 1 AM and 3 AM, and an item appears 4 to 30 minutes after that app’s copy. Add a product in the afternoon; expect it tomorrow morning.
Every new seller adds the first product at 4 PM, opens a buyer app at 6 PM, finds nothing, and assumes something is broken. Nothing is broken. Three clocks are running:
- Our review. A person checks the product within 24 hours; a blank address or blurry label gets a note back.
- The catalogue push. Small updates flow during the day, but by the network contract they cannot introduce a brand-new shop — a buyer app must make a full copy first.
- The buyer app’s crawl. Each app makes that full copy on its own schedule — in our logs, roughly 1 to 3 AM — and your items show 4 to 30 minutes after it completes.
📊 From “add product” to “visible” — the honest clock
Afternoon
You add products; our review within 24 h
Evening
Nothing visible yet — normal
1 AM – 3 AM
Buyer apps copy catalogues
Morning
Items appear 4–30 min after each app's copy
New shop = needs a full copy first. New item in an already-visible shop = usually the next copy.
So: listed today, check tomorrow morning. Two mornings and still nothing? Then it was never the clock — go back to radius, the three-field declaration, and the photos; all six silent reasons are in why your ONDC listing is not showing. The cheapest check: install any buyer app, set an address inside your radius, and search your shop name — once a month, like glancing at your own window.
What does a ₹1,000 grocery order actually pay?
Quick answer: No monthly fee, no listing fee. We charge 2% only on delivered orders, plus 18% GST on that fee: on a ₹1,000 order, ₹20 plus ₹3.60. A cancelled or fully refunded order pays us ₹0.
Here is the arithmetic on a plain card, with nothing hiding under it.
📊 Our fee on a ₹1,000 order
No monthly fee. No listing fee. Nothing charged on a cancelled or fully refunded order.
Two honest footnotes, better read here than on a settlement file:
One. ₹976.40 is the fee-only view. A ₹1,000 order also passes through the buyer app that found your customer and through the government (GST on the fees, plus small TCS and TDS amounts in your own name that your accountant adjusts). On the real settlement file we studied, the buyer app’s share came off first, our 2% was charged on the ₹964.60 that reached us (₹19.29), and ₹936.06 landed in the seller’s bank. Every line: when ONDC sellers get paid.
Two. The money does not arrive on delivery day. The buyer app holds it until the return window closes — about a week in that file — then we pay you in one bank transfer with one UTR. Plan your stock cash on a week to ten days.
And the exit: no contract, no lock-in; the account closes with one message. Ready to put the first packet online? Start your shop on Kaarobari — about ten minutes on a phone.
Your first week, in order
Quick answer: Documents on Sunday, first ten products on Monday, radius and delivery setup the same evening, check a buyer app on Wednesday morning. Grocery does not need a hundred products to start; it needs ten correct ones.
📊 Kirana, week one
- Photograph PAN, Aadhaar (front + back), one bank proof
- GST certificate, or the enrolment number + Udyam
- Pick 10 fast-moving sealed packs (atta, dal, oil, sugar, tea, biscuits, salt, soap)
- For each: front photo, back-label photo, copy name · quantity · MRP · maker + full address · packing month/year · 14-digit FSSAI
- Set the radius you can honestly serve (not 5, not 5,000)
- Delivery charge, packing charge, minimum order, no-charge delivery distance
- Check a buyer app next morning from an address inside your radius
- First order: pack it, photograph the sealed parcel, hand it over
Why ten and not a hundred: a half-filled grocery listing (missing date, missing FSSAI, blurry label) is not “shown lower” — it is withheld. Get ten right, watch one order land, then add the rest of the shelf.
Questions kirana owners ask us
“Online wale mere daam se kam bechne ko bolenge?” — Will I be forced to sell below my shop price?
Sahi sawaal hai. No. You set the selling price yourself; the only rule is never above the MRP on the pack. Nobody can edit your price.
“I have no GST. My turnover is small. Is this even for me?”
Yes. A GST enrolment number plus your Udyam certificate lets you sell to buyers within your own state — for a kirana, everyone you deliver to anyway. Both cost nothing on the government portals, and our team gets them made with you on a call.
“Mujhe FSSAI licence lena padega kya?” — Do I need my own FSSAI licence?
Only if you make or pack food yourself. For sealed branded packs, the number on the listing is the brand owner’s. For your own chivda or masala, a Registration on foscos.fssai.gov.in is ₹100 a year for turnover up to ₹12 lakh.
“Kya delivery boy mera maal le kar bhaag jayega?” — What if the delivery goes wrong?
Fair fear. Photograph the sealed parcel before it leaves — if it is damaged in transit on a network delivery, the fault sits with whoever handled it after you. Full cost rulebook: returns and RTO guide.
“Aur agar ye sab pasand nahi aaya toh?” — And if I want to stop?
Then you stop. No contract, no minimum period, no monthly fee. One message and the account is closed.
Stuck on any document? Our team gets it done on a call — no charge
We have a dedicated team that guides you step-by-step on a call and gets every document made — Udyam, GST enrolment, FSSAI, all of it. And not just documents: from signup to your shop going live on the ONDC Network to your first delivered order — support at every step, completely free. No fees, no agent costs.
Mon–Sat, 10am–7pm. Hindi and English both work.
Read next
Sources
- FSSAI — fssai.gov.in / foscos.fssai.gov.in — Registration vs State licence, the 14-digit number
- Legal Metrology (Packaged Commodities) Rules, 2011 — consumeraffairs.nic.in — Rule 6(1) declarations; Rule 6(10) e-commerce listings
- GST portal — gst.gov.in — enrolment number without GST registration · Udyam — udyamregistration.gov.in
- ONDC Network Policy — resources.ondc.org — listing quality, serviceability, the ≥30% / ≥45-day shelf-life condition (Compliance Handbook, June 2025)
- ⚠️ Fake-site warning: the enrolment number, Udyam and FSSAI Registration cost nothing or ₹100 on the government sites above. Any agent asking ₹2,000 to “register you on ONDC” is not the government and is not us.
- Kaarobari’s own product form, statutory-declaration rule, serviceability check and settlement arithmetic, as our software applies them, September 2026.
Written by Tejas Ahirrao, founder of Kaarobari (NEXSOL INFOTECH PVT LTD, CIN U62099MR2026PTC474666, Dhule, Maharashtra), a Seller App in the ONDC Network. We publish what we can verify, with dates. If a rule on this page is wrong or has changed, tell us and we will correct the page, not just the date.

