Partial COD vs Full COD in India: Conversion, Delivery and App Options
Kanchan Sharma, Ecommerce Conversion Analyst12 min read
A small COD deposit costs some checkouts but cuts failed deliveries by more than half. Checkout completion falls from about 46% with full COD to 40.9% with partial COD, while RTO drops from 24.3% to 11%, so more orders reach customers. Ask for a deposit from risky pin codes and first-time buyers, not from everyone. PenguinCOD and Partialy offer partial COD on Shopify, and Cashfree CODFIRM and Codify add pin-code rules with OTP checks.
Does partial COD beat full COD once RTO is counted?#
Yes: a deposit loses about one checkout in nine but cuts RTO by more than half, so more orders reach customers. These benchmarks come from ProfitBox360 research, 2025 (client data and shopper surveys).
| Measure | Full COD | Partial COD |
|---|---|---|
| Checkouts that end in an order | 46% | 40.9% |
| RTO rate (share of shipped orders) | 24.3% | 11% |
| Typical deposit | — | ₹99 |
| Deposit payments that succeed | — | 83.5% |
Independent public studies comparing the two are scarce. Shiprocket's guide to partial COD says it reduces fake orders and RTO losses, but gives no measured results. It advises using a deposit selectively, for high-value orders, new customers and high-risk locations.
Part of the RTO drop comes from who is left. The deposit filters out low-intent shoppers, who are the likeliest to refuse a parcel.
Compare the two on delivered orders, not on checkout completion alone:
Delivered orders = checkouts started × completion rate × (100% − RTO rate)
For 1,000 checkouts, full COD delivers 1,000 × 46% × 75.7% = about 348 orders. Partial COD delivers 1,000 × 40.9% × 89% = about 364 orders.
Does the deposit pay for itself?#
Yes. In the example below, it adds ₹17,476.08 a month even after losing 51 orders at checkout.
Illustrative example: 1,000 shoppers a month start checkout with an ₹850 basket, the average COD order. Assumptions:
- Partial COD orders have the same ₹850 basket (assumption).
- Product and packaging cost 40% of order value, or ₹340, and returned stock can be resold (assumption).
- Every order placed is shipped. Cancellations before dispatch are left out (assumption).
- Forward shipping costs ₹61.50 per delivered order. An RTO costs ₹172.50 per parcel, covering both freight legs and handling.
- COD handling is 1.8% of the cash the courier collects (assumption that it applies only to the amount collected).
- The ₹99 deposit is paid online. The gateway charges 2.1% (₹2.08). The store is on Shopify's Basic plan (assumption), which adds 2% on third-party payments (₹1.98). Deposit fees total ₹4.06.
- A deposit on a returned parcel is refunded in full, and the ₹4.06 in fees isn't recovered (assumption).
Value per order:
- Full COD, delivered: ₹850 − ₹340 − ₹61.50 − ₹15.30 COD handling = ₹433.20
- Partial COD, delivered: ₹850 − ₹340 − ₹61.50 − ₹13.52 COD handling on the ₹751 balance − ₹4.06 deposit fees = ₹430.92
- Partial COD, returned: ₹172.50 + ₹4.06 = ₹176.56 lost
| Per 1,000 checkouts | Full COD | Partial COD |
|---|---|---|
| Orders placed | 460 | 409 |
| RTO parcels | 112 | 45 |
| Delivered orders | 348 | 364 |
| Delivered sales | ₹2,95,800 | ₹3,09,400 |
| Earned on delivered orders | ₹1,50,753.60 | ₹1,56,854.88 |
| RTO cost | ₹19,320 | ₹7,945.20 |
| Contribution before advertising | ₹1,31,433.60 | ₹1,48,909.68 |
RTO parcels are rounded to whole parcels: 460 × 24.3% = 111.78, so 112. For partial COD, 409 × 11% = 44.99, so 45.
The deposit costs 51 orders at checkout, worth ₹43,350. It saves 67 RTO parcels, so 16 more orders reach customers. Contribution rises by ₹17,476.08 a month.
Each partial COD order placed earns about ₹364.08 (₹1,48,909.68 ÷ 409). Partial COD stays ahead until completion falls to 361 orders per 1,000 checkouts (₹1,31,433.60 ÷ ₹364.08), or 36.1%.
Where full COD earns more#
Keep full COD where RTO is already low. Rerun the example with full COD RTO at the metro benchmark of 18%, and keep the deposit's 11%.
- Full COD RTO parcels: 460 × 18% = 82.8, so 83. Delivered orders: 377.
- Contribution: 377 × ₹433.20 − 83 × ₹172.50 = ₹1,63,316.40 − ₹14,317.50 = ₹1,48,998.90
That's slightly more than partial COD's ₹1,48,909.68. At 18% RTO or below, the deposit costs more in lost checkouts than it saves in returns.
COD RTO averages 18% in metro cities, 29% in tier 2 cities and 37.5% in tier 3 and smaller towns. At ₹172.50 per RTO, that's ₹31,050, ₹50,025 and ₹64,687.50 for every 1,000 COD shipments.
Win back failed deposit payments#
Fix failed deposit payments before you cut the deposit: 83.5% of deposit payments succeed, so about one in six fails.
In the example, 409 orders ÷ 83.5% = about 490 payment attempts. So 81 shoppers tried to pay and failed. At ₹850 each, that's ₹68,850 of orders.
- Offer UPI first and keep cards as a fallback.
- Send a payment link by WhatsApp or SMS when a deposit fails, so the shopper can retry without rebuilding the cart.
- Let the shopper switch to full prepayment on the same screen.
- Track deposit attempts and successes separately from checkout completion.
Which Shopify apps offer partial COD in India?#
Start with PenguinCOD or Partialy. Both have free plans and Indian developers, list Shiprocket among the tools they work with, and collect a deposit with the balance paid in cash.
Prices below are in US dollars, as listed on the Shopify App Store on 19 September 2026. The App Store bills every 30 days.
| App | Free plan | Paid plans | Deposit setting | Watch for |
|---|---|---|---|---|
| PenguinCOD: Partial COD & OTP | Up to 30 orders a month | $6/month (500 orders), $25/month (unlimited orders), $99/month (unlimited OTPs) | Percentage or fixed amount | Also offers OTP and pin-code rules; launched December 2025 |
| Partialy: Partial COD Payment | 25 orders a month, up to $100 of revenue through the app, 2.5% commission on partial payments | $10/month (300 orders), $24/month (600 orders), $49/month (unlimited) | 20–50% or a fixed amount | Paid plans below $49 cap revenue through the app at $1,000 and $3,000 |
| PartialPay Deposit & Split COD | None; 7-day free trial | $9/month (50 orders), $25/month (150), $49/month (400), $99/month (unlimited) | Deposit rules at checkout; balance by invoice link | No reviews yet; built around deposits and pre-orders |
Shiprocket Checkout, a third-party checkout rather than a Shopify app, also offers partial COD. It sets the deposit as a percentage, with rules by pin code, risk profile, invoice value and product, and a choice to include shipping charges.
Two partial COD apps with App Store pages, Split2Ship Partial Payment/COD and GoKwik's Kwik COD & Checkout, now show as not available on the Shopify App Store. Check that a listing is live before you plan around an app.
Check the fees before you install#
Budget for Shopify's transaction fee on the deposit. Shopify Payments isn't available in India, so Indian stores take online payments through a third-party provider. Shopify then charges a fee that depends on the plan.
| Shopify plan | Fee on third-party payments | On a ₹99 deposit |
|---|---|---|
| Basic | 2% | ₹1.98 |
| Grow | 1% | ₹0.99 |
| Advanced | 0.6% | ₹0.59 |
| Plus | 0.2% | ₹0.20 |
Cash on delivery counts as a manual payment method, so the cash balance carries no Shopify transaction fee. Your gateway charges its own fee on top, about 2.1% on average, or ₹2.08 on ₹99.
Partialy's free plan adds 2.5% commission on partial payments. Ask whether that means the deposit (₹2.48 on ₹99) or the whole order (₹21.25 on ₹850). Its paid plans charge no commission.
Check how the balance reaches your courier#
Make sure the courier collects only the balance. With a ₹99 deposit on an ₹850 order, the COD amount on the shipping label should read ₹751. PenguinCOD lists a Shiprocket integration for partial COD, and Partialy lists Shiprocket among the tools it works with. Ship a test order before going live.
When should a pin code lose COD altogether?#
Switch COD off only where a pin code's COD RTO reaches 30% or more. Ask for a deposit above 18%, and keep full COD at 18% or below.
| Pin code's COD RTO | What to do |
|---|---|
| 18% or below | Keep full COD |
| Above 18% and below 30% | Ask for a ₹99 deposit |
| 30% or more | Switch COD off and offer prepaid only |
Measure each pin code over the last 90 days. Judge only pin codes with at least 50 shipped COD orders, because a few refusals swing a small sample too far. Leave the rest on full COD until they reach 50.
The 18% line is the metro benchmark, where the deposit example above stops paying. The 30% line comes from the example below.
Does switching COD off pay?#
Yes, in high-RTO pin codes. Stores that switch COD off there lose about 31.5% of orders, but RTO falls to 7.5%.
Illustrative example: 1,000 COD orders a month come from pin codes whose COD RTO is 37.5%, the tier 3 benchmark. Assumptions:
- Orders are worth ₹850. Product and packaging cost ₹340, and returned stock can be resold (assumption).
- With COD off, 31.5% of orders are lost. The rest pay the full ₹850 online (assumption that the basket doesn't change).
- Online payment fees are 2.1% for the gateway plus 2% for Shopify Basic, as before: ₹17.85 + ₹17 = ₹34.85 per order. They aren't recovered when a returned order is refunded (assumption).
- Forward shipping is ₹61.50, an RTO costs ₹172.50 and COD handling is 1.8% of order value.
Value per order:
- COD, delivered: ₹433.20, as in the deposit example
- Prepaid, delivered: ₹850 − ₹340 − ₹61.50 − ₹34.85 = ₹413.65
- Prepaid, returned: ₹172.50 + ₹34.85 = ₹207.35 lost
| Per month | COD on | COD off |
|---|---|---|
| Orders | 1,000 | 685 |
| RTO parcels | 375 | 51 |
| Delivered orders | 625 | 634 |
| Earned on delivered orders | ₹2,70,750 | ₹2,62,254.10 |
| RTO cost | ₹64,687.50 | ₹10,574.85 |
| Contribution before advertising | ₹2,06,062.50 | ₹2,51,679.25 |
With COD off, RTO parcels are 685 × 7.5% = 51.375, so 51.
Switching COD off loses 315 orders, worth ₹2,67,750 at checkout. Yet 9 more orders reach customers, and contribution rises by ₹45,616.75 a month.
At 30% COD RTO, the two are almost level: 700 × ₹433.20 − 300 × ₹172.50 = ₹2,51,490 with COD on, against ₹2,51,679.25 with it off. Below 30%, keep COD and use a deposit.
Which apps restrict COD by pin code and verify orders?#
Cashfree CODFIRM and Codify COD & OTP both hide COD by pin code and verify orders with a one-time password (OTP). PenguinCOD does both too, alongside partial COD.
Prices below are in US dollars, as listed on the Shopify App Store on 19 September 2026.
| App | Pin-code COD rules | Order verification | Price as listed |
|---|---|---|---|
| Cashfree CODFIRM | Hides COD by pin code, product, order value or high-RTO customer | OTP at checkout; WhatsApp confirmation and delivery alerts | Free under 100 COD orders a month; Pro $5/month; Premium $9.99/month; Enterprise $50/month; plus $0.02 per COD order in India ($0.01 on Enterprise) |
| Codify COD & OTP | Restricts COD by pin code, product, order value or customer tag | OTP before or after checkout; reminders and auto-cancel for unverified orders | Standard $0.99/month (rules only); Pro $3.99/month plus $0.0001 per message sent |
| PenguinCOD: Partial COD & OTP | Blocks or limits COD by pin code, city or region | OTP phone verification | Free up to 30 orders a month; from $6/month |
| Nex Advanced Cash on Delivery | Limits COD by country, state or pin code | None listed; can switch COD off for customers tagged for RTO | Pin-code rules from the $11.99/month Basic plan |
| Zipcode Shipping & COD Checker | Hides COD by pin code, cart value, weight or shipping method | None listed | Free plan lists "Global COD & allow-list" and 50 pin codes; conditional COD display from $6.99/month; product-page COD checker at $8.99/month |
| RTO Shield | Removes COD for pin codes on a fraud list the developer compiles | Tags orders from phone numbers on its blacklist | Free; no reviews yet |
Pick by what you need to control. For your own pin-code list plus OTP in one app, Cashfree CODFIRM or Codify covers it. For pin-code rules alone, Nex or Zipcode Shipping & COD Checker is enough. RTO Shield blocks pin codes from a list it compiles itself, so compare its blocks with your own RTO data.
Confirming orders before dispatch, by WhatsApp or OTP, is a separate step. Run it alongside pin-code rules rather than instead of them.
What Shopify's own tools can do#
Use an App Store app for pin-code rules, whatever your plan. Public apps built with Shopify Functions work on the Basic plan and above, while custom apps built with Functions need Plus. Shopify's free Checkout Blocks app can hide payment methods only on Plus, and its destination rules stop at country and state.
Run your COD rules from one app, so two apps don't hide or show COD in conflicting ways. Shopify also caps a store at 25 active payment method customisations across all apps.
FAQ#
How big should a partial COD deposit be?#
Start at about ₹99, the typical deposit Indian stores ask for. On an ₹850 order, the average COD basket, that's 11.6% upfront. Shiprocket's guide suggests a slightly higher advance for high-value or high-RTO orders. Partialy's percentage setting runs from 20% to 50%, so use its fixed-amount option for a small deposit.
Should the deposit be refunded if a buyer refuses delivery?#
Refund it by default. India's Consumer Protection (E-Commerce) Rules, 2020 bar cancellation charges on consumers who cancel after confirming a purchase, unless the seller bears similar charges when it cancels. A kept deposit can look like such a charge. State the refund rule next to the deposit at checkout.
Can repeat customers skip the deposit?#
Yes, let them pay in full on delivery. Repeat buyers' COD orders come back about 15% of the time, half the rate for first-time buyers and below the 18% metro benchmark. A deposit would cost their checkouts for little saving. Check that your app can exclude returning customers before you switch the deposit on.
Does partial COD work with Shiprocket?#
Yes, as long as the app passes the balance to Shiprocket as the COD amount, not the full order value. PenguinCOD and Partialy both list Shiprocket among the tools they work with. Before going live, ship a test order and check that the label shows ₹751 to collect on an ₹850 order.
Should the deposit rule change during festive sales?#
Yes, widen it before big sale days. COD RTO climbs to about 30.8% during festive sales, against 24.3% across the year. That adds ₹11,212.50 of RTO cost per 1,000 COD shipments at ₹172.50 each. Pin codes sitting just under the 30% switch-off line can cross it, so recheck them first.
Should shoppers see COD availability before checkout?#
Yes, show it on the product page, so shoppers in pin codes without COD find out before they reach checkout. Finding out at the payment step is a common reason to abandon. Zipcode Shipping & COD Checker adds a product-page COD checker on its $8.99 monthly plan, and several COD apps handle the checkout side.
Kanchan Sharma
Ecommerce Conversion Analyst, ProfitBox360Kanchan writes about making online stores easier to browse and buy from. Her focus includes product pages, customer trust, payment options and checkout friction, with practical guidance for improving the shopping experience.
How this research is checked, and corrected