Kaarobari — Seller App in the ONDC Network
Sign up
Part of theONDC Network — Part of an initiative by DPIIT, Government of India· Govt. of India · Min. of Commerce

Guides · Grocery & kirana

Sell Groceries Online on the ONDC Network: Kirana Guide 2026

T
Tejas Ahirrao · Founder, Kaarobari (Nexsol Infotech Pvt Ltd), Dhule
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

Toor dal 1 kgAtta 5 kgBiscuits

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 GSTINYou do not have GST
What you uploadGST certificateGST enrolment number + Udyam certificate
Where you can sellAnywhere in IndiaBuyers inside your own state
Cost of the documentWhatever your CA charged youNothing — issued on the government portals at no cost
Where to get itAlready with yougst.gov.in (enrolment) · udyamregistration.gov.in (Udyam)
Time to get itAbout 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

Upload the GST certificate → sell anywhere in India.

No

GST enrolment number (gst.gov.in) + Udyam certificate → sell within your own state. Add a GSTIN later and the state limit goes away.

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:

FieldWhen 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

Type the brand owner’s 14-digit number from the pack. You need no licence of your own for this item.

No — I make or pack it myself

You are the food business. Turnover up to ₹12 lakh = FSSAI Registration on foscos.fssai.gov.in, ₹100 per year; above that, a State licence.

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 saysWhere you find itWhat our form calls it
1Common name (“Toor Dal”)Front of packProduct name
2Net quantity (1 kg, 500 g, 1 L)Front or backQuantity + unit
3MRP “inclusive of all taxes”Front or backMRP (selling price at or below it)
4Manufacturer / packer name and full addressBack labelManufacturer name · Manufacturer address
5Month and year of manufacture / packingBack label, often stampedManufacturing date
6Customer-care name, phone, emailBack labelWe 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

Products · Add productToor Dal 1 kg
Manufacturer nameShree Agro Foods Pvt Ltd
Manufacturer addressPlot 12, MIDC Satpur, Nashik 422007
Manufacturing date07 / 2026
Brand-owner FSSAI (14 digits)1001 5022 0000 12
✓ Declaration complete⚠ Missing date = withheld

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:

SectionWhat you fillNotes from the floor
Photos1 main image (required) + up to 4 moreJPG, PNG or WebP, 3 MB each. Photo 2 = back label.
ProductName · description · category · “Is this product edible?”Turns the FSSAI fields on. Soap no; dal yes.
QuantityNumber + unit: kg, g, litre, ml, piece, dozen, pack, unitThe unit must match the pack.
Price and taxMRP · selling price (at or below MRP) · GST rate · HSN codeOn your purchase bill. The form will not accept a price above MRP.
Food tagsVeg / non-veg / egg · nutritional info · additivesCopy the panel as text.
Order rulesReturnable? · Cancellable? · Maximum quantity per orderMark non-returnable items (loose, perishable) before the sale.
ParcelWeight in grams · package dimensionsAlso sent to the network as item weight.
StockStarting stock quantityAn 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

① front photo
② 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.

RadiusWho can see youWhat it means for delivery
5 kmOne neighbourhood; most of a city cannot find youEasy to self-deliver, but pointless online
10–15 kmA whole town, or a large slice of a cityHonest for a shop that delivers itself
50 kmThe city plus the district around itThe sensible default with a delivery partner
5,000 km (“all India”)On paper everyone; in practice, some apps hide youCourier-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

Your shop5 kmmost of the city cannot see you10–15 km — self-delivery, honest50 km — sensible default with a delivery partneroutside the radiusorder rejected, never reaches you

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:

  1. Our review. A person checks the product within 24 hours; a blank address or blurry label gets a note back.
  2. 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.
  3. 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

Buyer pays for a ₹1,000 order₹1,000
Kaarobari fee (2%)− ₹20
GST on our fee (18% of ₹20)− ₹3.60
Your earning before the buyer app’s fee and taxes₹976.40

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.