Most Indian B2B companies know their gross margin per order to the rupee, and have no idea what it costs to process one. The gap shows up as "we're busy but not profitable" - revenue grows, headcount grows faster, and nobody can point to the order that ate the margin. If you ship 500-5,000 orders a month, this is the number worth fixing first, because it compounds across every order you will ever take.
Cost per order is bigger than your invoice
Ask a finance lead what an order costs and you will usually get the delivery charge. That is one line of seven. The full stack, in our experience with SMB order flows, looks like this:
- Collections - gateway or bank charges, blended across UPI (zero MDR for most merchants today), cards (roughly 1.8-2.2% plus GST), netbanking and NEFT. The GST is creditable, so book it as input tax credit rather than an expense.
- Order processing labour - order entry, PO matching, credit check, invoice generation, e-invoice IRN, dispatch paperwork. Measured in minutes, not salaries.
- Fulfilment - picking, packing, courier or own vehicle, and the fuel cost that never appears on a courier bill.
- Failed delivery and returns - re-shipping, restocking, credit notes.
- Customer communication - confirmation, dispatch, delivery, and the "where is my order" calls that follow.
- Reconciliation - matching payments to invoices, chasing short payments, GSTR-1 versus books gaps.
- Rework - the wrong dispatch address, the wrong GSTIN, the credit note you raise twice.
The mistake is treating the first and third as the whole number. The last three lines usually hide 30-50% of the cost.
A worked example: 1,200 orders a month
Take a Gurgaon-based industrial supplies distributor. 1,200 orders a month, average order value Rs 18,000, so Rs 2.16 crore of monthly revenue. Gross margin 22% - about Rs 3,960 per order.
A realistic per-order cost stack:
- Collections: Rs 95 blended
- Processing labour at 18 minutes: Rs 105
- Packing and last-mile: Rs 140
- Support (2.4 touches at Rs 35): Rs 84
- Reconciliation and rework: Rs 45
- Notifications: Rs 2
Total: roughly Rs 470 per order, or Rs 5.64 lakh a month. That is 11.9% of gross margin going to administer the order, before any sales cost. Two-thirds of it is labour and rework, not courier charges.
Now the upside. Cutting processing from 18 minutes to 6 - by integrating the storefront, the CRM and Tally - and dropping support touches from 2.4 to 1.6 saves about Rs 140 per order. On 1,200 orders that is Rs 1.68 lakh a month, close to Rs 20 lakh a year. That is usually a bigger number than the courier negotiation everyone wants to have instead.
The four levers that actually move
1. Stop re-typing data. Every handoff where a human copies an order number, address or GSTIN into another system is both a cost and an error generator. Connect the order source to your CRM and internal systems so the order is entered once. Typical processing time drops from 15-25 minutes to 5-8.
2. Move the prepaid share up. Cash-on-delivery and cheque collection carry the highest true cost - reconciliation, follow-up, failed delivery. A small prepaid incentive of 0.5-1% usually costs less than the reconciliation it removes. UPI-first checkout helps further; most UPI merchant transactions carry no MDR today.
3. Template your communication. Most support volume is status queries, not problems. Automated dispatch and delivery updates over WhatsApp and email typically cut inbound "where is my order" contacts by a third or more. You need fewer people, not better scripts.
4. Fix the data at the source. Address and GSTIN validation at order entry is cheap. An RTO or a re-raised credit note is not. If four in a hundred orders fail on bad data, validation pays for itself within weeks.
Sequence matters: measure first, automate the highest-minute task second, re-measure third. Teams that start with a new ERP and no baseline usually finish with the same cost per order and a longer implementation.
Where to start
Pull the last 30 days of orders and, for a sample of 20, write down the actual minutes spent on each one from order capture to cash received. Multiply by a loaded hourly cost, add the hard costs, divide by orders. You will have a defensible number in an afternoon, and it will almost certainly be higher than the one in your head. That baseline also tells you whether the fix is integration, process or headcount - and whether it needs a custom dashboard or just a spreadsheet. Maysan Labs builds order and operations tooling for Indian SMBs, but the arithmetic above is worth doing whether you build it with us or not.
Buying software or a website?
Twelve questions to ask any vendor before you sign: price, your data, fit for an Indian business and support.
Get the free checklistRelated case study
Full-Stack Ecommerce Platform
Needed a complete ecommerce platform built from scratch with inventory, orders, payments, and customer management.
Written by Sanjay Mandal at Maysan Labs, a software studio in Gurgaon, India. Follow us on LinkedIn