Home  ›  Blog  ›  Net Profit for Indian Sellers

How to Calculate Net Profit for Indian E-commerce Sellers (2026)

Published 19 May 2026 · 6 min read · For Amazon, Flipkart, Meesho, Shopify, D2C

Ask any Indian seller what their net profit is and watch the pause. Then comes the spreadsheet: COGS in one tab, Shiprocket invoice in another, Razorpay statement in a third, ad spend exported from Amazon as a CSV. Nobody's dashboard shows net profit because nobody's dashboard has all the data.

This post walks the exact gross-to-net waterfall every Indian seller eventually builds by hand — including the fee lines marketplaces hide and the GST nobody warns you about. There's a free calculator at the end that does the math for you.

The 5 deductions Amazon, Flipkart and Meesho refuse to subtract

  1. COGS — your manufacturing cost. Marketplaces don't know it.
  2. Ad spend — Amazon shows ACOS but doesn't deduct from your bank balance.
  3. Shiprocket / courier fees — billed separately, with 18% GST on top.
  4. Razorpay / payment gateway MDR — 2% + 18% GST on every prepaid order.
  5. RTO cost — ₹69.5 per failed order is normal; on COD-heavy categories this is the biggest single leak.

Skip any one of these and your "profit" is a story you're telling yourself.

The formula

TCP = product cost + taxes + packaging Sales = delivered orders × selling price COGS = delivered orders × TCP ↓ first stop: gross profit ↓ Gross profit = Sales − COGS Shiprocket fee = total orders × selling price × shipPct × (1 + GST) Razorpay fee = prepaid orders × selling price × pgPct × (1 + GST) RTO cost = (total − delivered) × RTO fixed fee ↓ final stop: net profit ↓ Net profit = Gross − ads − Shiprocket − Razorpay − misc − RTO
Why use total orders for Shiprocket, but delivered orders for COGS?
Shiprocket charges for forward AND reverse pickups, so the courier eats your money on RTO orders too. COGS is product cost — and only delivered orders actually shipped product the customer kept (returned units come back to inventory).

Worked example: a ₹599 SKU

Real seller numbers (lifted from a Reddit r/EcommerceIndia post that went around in mid-May 2026):

Inputs

InputValue
Selling price / unit₹599
Product cost / unit₹101
Total orders24
Delivered orders15
Prepaid orders (of delivered)2
Ad spend (period)₹2,440.35
Misc expenses₹141.28
Shiprocket fee %2%
RTO fee / failed order₹69.50
Razorpay fee %2%
GST on fees18%

Waterfall

LineCalculationAmount
Sales15 × ₹599₹8,985
COGS15 × ₹101−₹1,515
Gross profit83.14%₹7,470
Ad spendperiod total−₹2,440.35
Shiprocket fees24 × 599 × 0.02 × 1.18−₹339.27
Razorpay fees2 × 599 × 0.02 × 1.18−₹28.27
Misc expenses−₹141.28
RTO cost9 × ₹69.50−₹625.50
NET PROFIT43.35%₹3,895.34
Gross was 83%. Net is 43%. Forty points of margin disappeared between the marketplace dashboard ("look how much I'm selling!") and the bank account. That gap — ads, Shiprocket, Razorpay, RTO, GST — is where Indian e-commerce sellers actually compete.

What the marketplace dashboards hide

1. Forward and reverse logistics are billed together

Shiprocket / Delhivery don't print "RTO cost" on the order page. You only see it on the monthly invoice — by which time you've shipped 200 more units of a product that's hemorrhaging cash.

2. Razorpay MDR is invisible at order time

Payment gateway takes its cut before the money hits your account. Shopify reports show "Sale ₹599" — the ₹14 MDR (with GST) is a separate line that nobody reconciles.

3. GST on B2B fees nobody mentions

Every fee — courier, payment, marketplace commission — has 18% GST stacked on top. A "2% MDR" is really 2.36% in cash terms. Sellers without GST registration can't claim input tax credit, so this stays gone.

4. Ad spend doesn't get attributed per SKU

Amazon's ACoS is campaign-level. Most sellers run one campaign across multiple ASINs and end up cross-subsidizing — one winner pays the loss on three losers.

What "healthy" looks like in Indian e-commerce

Net marginVerdictWhat it means
25%+HealthyYou're keeping enough to reinvest and grow.
10–25%ThinOne bad return week or ad-spend spike erases the month.
< 10%DangerYou're working for Shiprocket, Razorpay and Amazon, not yourself.

RTO-heavy categories (fashion, COD-dominant niches) typically live in the thin band. The lever isn't price — it's getting RTO rate down by 5 percentage points.

The 6 numbers to chase before you raise price

  1. RTO rate — if >25%, every other optimization is noise.
  2. Ad spend / Sales — gross ACoS. If > Gross margin %, ads are subsidizing competitors' ranking.
  3. COD % of orders — every COD order is a Razorpay-fee-saver but an RTO-risk-multiplier.
  4. Misc expenses — the line that grows quietly. Audit quarterly.
  5. Returns ratio — different from RTO; these are delivered then returned. Pure refund loss.
  6. Inventory holding days — every day a SKU sits is cash you could've reinvested.
→ Run the calculator on your numbers (free, no signup)

Doing this for 50+ SKUs

The calculator handles one SKU at a time — perfect for "should I keep selling this product?" decisions. For a full catalog, the same waterfall on every SKU plus 9 more loss patterns (deadstock, price erosion, stockout) is what SLM's dashboard automates from your Amazon, Flipkart, Meesho or Shopify CSV. No spreadsheets, no manual cross-referencing — just the gross-to-net story for every product you sell.

Hat-tip to the Reddit r/EcommerceIndia community for sharing real seller P&L sheets that inspired this breakdown.