E-commerceStarting an Ecommerce Business: Orders, Delivery and Cash Flow
Connect ecommerce orders, stock, delivery, COD payments and customer care. A practical story with AI chat, Social Hub and room to grow into ERP.
Improve COD with clear confirmation, fair exception handling and courier reconciliation. Follow a complete parcel cohort and test the economics honestly.
Autor
Anichur Rahaman

The operations lead sees “78% delivered” on Monday’s courier report. Finance asks a different question: how much of the collected money can we match to the bank? Meanwhile, a returned parcel is back at the warehouse and a customer is asking to correct an address. Those are three jobs, with three different owners.
Take a fictional snapshot of 1,000 one-parcel orders, all dispatched. There are 780 delivered, 190 received back as return-to-origin, 20 in a loss/claim state and 10 still open. Calling all 220 undelivered parcels “RTO” would hide both unresolved shipments and claims. None of these numbers is a market benchmark.
A useful COD process follows the order, the parcel and the money separately. Confirmation and a helpful response to a failed attempt can improve the journey, but they do not guarantee acceptance or settlement. The job is to make the next decision clear and the final outcome verifiable.
Use one dispatch cohort and an explicit observation date. The four outcome rows below are mutually exclusive at that snapshot; the cohort still has open cases. An NDR (non-delivery report) records an unsuccessful attempt. It is not itself proof of a final return. A return-in-transit also differs from stock physically received and inspected.
| State at review | Parcels | Next responsibility |
|---|---|---|
| Delivered | 780 | Check collection and remittance evidence |
| RTO received | 190 | Receive/inspect before saleable stock |
| Loss/claim state | 20 | Investigate location, liability and claim |
| Still open | 10 | Monitor next action and promised follow-up |
| Total dispatched | 1,000 | Keep the original denominator |
In this fictional cohort, 690 were delivered first time and 90 after a recorded NDR. Assume 310 unique parcels had at least one NDR: recovery is 90/310 = 29.0%. Count parcels rather than duplicate status events. The observed RTO-received share is 190/1,000 = 19%; pending outcomes can still change.
Courier definitions, payment methods, attempt limits and intervention deadlines vary. Use the contracted service and current shipment evidence. The UPS delivery-notice guide, for example, describes service-specific next actions; it is not a universal retry timetable for every carrier or country.
For a separate unit-cost model, assume a 40-unit order, product cost 22 and the allowances below. Values are generic currency units, not courier prices. An RTO unit is physically recovered at cost, then carries an assumed average impairment of 8% ×22 =1.76. Lost parcels and open claims need their own economics.
| Line | Delivered | Received RTO |
|---|---|---|
| Goods revenue | 40.00 | 0.00 |
| Retained product cost | -22.00 | 0.00 |
| Outbound shipping | -3.00 | -3.00 |
| Return shipping | 0.00 | -2.50 |
| Packaging | -0.50 | -0.50 |
| Pick and pack | -1.00 | -1.00 |
| Inspect and restock | 0.00 | -1.00 |
| COD handling fee | -0.80 | 0.00 |
| Returned-stock impairment | 0.00 | -1.76 |
| Listed contribution | 12.70 | -9.76 |
Delivery contributes 12.70 and the received-RTO model −9.76. The outcome swing is 22.46; 9.76/12.70 is about 0.77 delivered-order contributions. This is not net profit: tax, marketing, overhead, cash financing and other costs are outside this model. Recovered stock is an asset, not immediate cash.
If goods are missing or unsaleable, the cost is not automatically zero because a return was expected. Hold non-saleable returns separately until inspected. Measure actual recoverable carrying value and agreed shipping/collection fees; do not count the same impairment twice.
Before the pick list, confirm the actual variant, quantity, complete amount due, delivery address, supported payment method and realistic timing. Check serviceability with the chosen courier. Phone formatting helps prevent a wrong digit; it does not prove identity or intent. A short address can still be valid, so offer locally appropriate clarification rather than forcing a landmark everywhere.
Route exceptions using explainable evidence and human review. A new buyer, shared family phone, late-night order or weak courier zone is not proof of fraud. Investigate a relevant prior failure with its context: a carrier’s missed attempt should not automatically penalise the customer. Avoid invented point weights that pretend to be calibrated risk probabilities.
Record what needs clarification, what was communicated and the customer’s response. Confirmation is evidence of a choice, not a promise of delivery. Set a clear hold/expiry and a contact route for no response. Respect a genuine cancellation; do not quietly label it delivered or keep retrying to improve a metric.
Contact customers through an allowed channel and purpose, without exposing private order details to someone unverified. If using WhatsApp, check the current Business Messaging Policy, including permission, template/window rules and opt-out. A COD checkout is not blanket permission for promotional messaging.
A deposit can be an option if the terms, refund treatment and remaining balance are clear and lawful. It is not automatic forfeitable compensation for a failed delivery. In this example a 20% deposit on 40 is 8, below the modelled RTO cost 9.76; “the deposit covers the risk” would be false.
Verify the captured payment and order reference; a screenshot or pending authorisation is insufficient. After an 8-unit paid deposit, the courier should collect 32, not 40. Ensure the carrier accepts the revised collection amount before handing over the parcel. A late payment or expired stock hold needs an exception path.
Show any COD fee or prepaid incentive before acceptance, with the real total. Compare fee income, payment costs, fulfilment, cancellation/refund and conversion. Full prepayment does not remove returns, delivery failures or disputes. Keep a fair alternative rather than imposing an unexplained penalty band.
Give each new NDR a reference, current reason/source timestamp, intervention deadline and owner. The remaining action depends on the parcel state and carrier contract. A same-day internal response goal may be useful; neither four hours nor 48 hours is a universal recovery guarantee.
Unavailable or unreachable: offer a permitted reschedule or an agreed channel, within reasonable contact limits. Incomplete address: verify the requester and correction, submit it through the authorised process and check that the courier accepted it. A submitted correction is not yet a rerouted parcel.
Refusal: clarify a genuine misunderstanding once where appropriate, honour the customer’s choice and route the return under the applicable terms. An automatic discount is not the answer to every refusal. Lost, damaged or already returning: investigate or claim; do not promise another delivery attempt that the provider no longer supports.
After a booking or status-update timeout, query the existing tracking/reference before repeating the write. Use bounded backoff, duplicate protection and a visible unresolved state. Limit access to address changes, discounts, bookings and refunds by role; do not let a model or repeated webhook invent a second shipment.
Delivery evidence, collection evidence and settlement evidence belong in separate states. In the example, all 780 delivered parcels are assumed collected at 40: gross 31,200. Suppose only a 0.80 COD fee is withheld per parcel and freight is billed separately; expected net is 30,576. Actual contracts can have other deductions, taxes and timing.
If 770 of those parcels match a remittance and bank receipt within the 30-day observation window, matched net is 30,184. The other ten represent expected net 392 not yet matched. That is an exception to investigate, not proof of money permanently lost; compare the contractual due dates, disputes and bank cutoff.
Match courier, unique tracking/order reference, currency, gross due, verified deposit, amount collected, authorised fee/adjustment, remittance batch, bank receipt and due date. Separate fee differences, partial remittances, duplicates and not-yet-due items. Age overdue exceptions from the agreed due date. Do not mark an order settled merely because the courier says “delivered”.

Use a second, fully closed 100-order teaching model with the unit contributions above. The baseline assumes 80 delivered and 20 received RTO. The changed scenario assumes 6 cancellations before dispatch,82 deliveries and 12 received RTO, with confirmation costing 0.30 for every placed order. It assumes no additional cancellation cost and excludes other unlisted costs.
| Measure | Baseline | Changed assumption |
|---|---|---|
| Placed orders | 100 | 100 |
| Dispatched | 100 | 94 |
| Delivered | 80 | 82 |
| Received RTO | 20 | 12 |
| Cancelled before dispatch | 0 | 6 |
| Confirmation cost | 0.00 | 30.00 |
| Listed contribution | 820.80 | 894.28 |
Baseline:80×12.70−20×9.76 =820.80. Changed:82×12.70−12×9.76−30 =894.28. The model difference is 73.48, about 9.0%; it is not evidence that confirmation caused the improvement or that six cancelled buyers would otherwise all have failed.
The changed RTO rate per dispatch is 12/94 =12.8%, not 12%. Twelve percent is the RTO share of placed orders. Also report delivered/placed 82% and cancelled/placed 6%, so fewer dispatches cannot hide lost good customers.
Test a permitted change with comparable or randomised groups where appropriate, define the cohort/window in advance and allow outcomes to mature. Track unique-parcel NDR recovery, first-attempt success, cancellations, customer complaints, contribution per placed order and overdue cash. Report open-case ages and timing percentiles, not only a settled-only average.
Use the StoreConsole delivery module to evaluate the records and workflows your team needs. Confirm the particular courier connector, supported corrections, event freshness and remittance import separately. A tour of statuses does not prove every provider action or accounting match is already automated.
On Monday, the operations lead can now name the 190 parcels received back, the 20 claims and the 10 still open. Finance can explain the ten delivered parcels awaiting a match instead of calling them missing forever. A customer’s corrected address has an owner and a verified carrier response.
That is progress worth measuring. Better confirmations and carrier choices may improve the result, but a trustworthy report first tells the truth about what happened—and what is still unresolved.
Reviewed 5 November 2026. Anichur Rahaman is the creator of StoreConsole. All parcel counts, unit costs and comparison outcomes in this article are illustrative.
Sobre o Autor
Anichur Rahaman
Continuar Lendo