How to Build a Delivery System for an Online Store

Most Nigerian online stores lose more money to delivery than to any other operational problem. Items go out at a flat ₦3,000 to everywhere, riders are booked by WhatsApp, cash comes back in fragments, and nobody can say with confidence what fulfilling an order actually costs.
A delivery system fixes that by turning informal arrangements into rules the software enforces. This guide covers the design decisions first, then the build, then the numbers.
What a delivery system actually includes
A delivery system is the combination of software, rules and partners that moves a paid order from your shelf to the customer's hands, records what it cost and reconciles the money.
The six components:
| Component | What it answers | Where it lives |
|---|---|---|
| Fulfilment model | Who physically delivers | Business decision |
| Zones and rates | What the customer pays and what you pay | Checkout and rate table |
| Dispatch workflow | Who packs, when it leaves, who is notified | Order management |
| Allocation | Which courier or rider takes this order | Rules or manual assignment |
| Reconciliation | Did the money and the goods balance | Finance reports |
| Returns | What happens when delivery fails | Policy plus workflow |
Stores usually build only the second component, a delivery fee at checkout, and then run the other five on WhatsApp. That works until roughly 10 orders a day.
Step 1: Choose a fulfilment model
| Model | How it works | Cost profile | Best for | Main risk |
|---|---|---|---|---|
| Third-party couriers | You book a pickup with a logistics firm such as GIG Logistics, Kwik, Sendbox or DHL for international | Per delivery, no fixed cost | Most stores under 30 orders a day | Less control of timing and handling |
| In-house riders | You employ or contract riders with your own bikes | Fixed monthly cost plus fuel and maintenance | Dense same-city volume, food, pharmacy | Idle riders on slow days |
| Hybrid | In-house within your core city, couriers elsewhere | Mixed | Growing stores | Two systems to manage |
| Pickup or click-and-collect | Customer collects from your shop or a pickup point | Lowest | Lagos and Abuja customers avoiding delivery fees | Requires a safe, staffed location |
| Vendor or supplier ships | Your seller or supplier dispatches directly | No handling cost | Marketplaces and dropshipping | You carry the complaint, not the control |
A rough break-even test: if you consistently deliver more than 20–25 orders a day inside one city, in-house riders usually beat per-delivery courier fees. Below that, third-party couriers are cheaper and far less management.
Do not start in-house because it feels more professional. Start in-house when the arithmetic says so.
Step 2: Design delivery zones and rates
Flat-rate delivery across Nigeria is the most common pricing error. It overcharges nearby customers, undercharges distant ones, and hides where you are losing money.
Build a zone table instead. A workable structure for a Lagos-based store:
| Zone | Coverage | Typical lead time | Rate basis |
|---|---|---|---|
| Zone 1 | Same district or local government area | Same or next day | Lowest flat rate |
| Zone 2 | Rest of the city, mainland and island split | 1–2 days | Higher flat rate, island premium |
| Zone 3 | Neighbouring states | 2–3 days | Courier rate plus handling |
| Zone 4 | Rest of Nigeria, state capitals | 3–5 days | Courier rate by weight |
| Zone 5 | Remote areas and park-to-park delivery | 3–7 days | Quote on request |
| International | Outside Nigeria | 5–14 days | Courier quote, priced in USD terms |
Then choose a rate basis:
- Zone flat rate: simplest, works for light, similar-sized products.
- Weight or size bands: necessary once you ship bulky items; a 20kg order at the same price as a 200g order destroys margin.
- Order-value threshold: free delivery above a set value, which raises average order value but must be set above your true delivery cost plus product margin.
- Live courier rates by API: most accurate, needs integration and a fallback when the courier's service is unreachable.
Whatever you choose, store the actual delivery cost against each order, not just the charge to the customer. Without that column you cannot see the true margin per order or per zone.
Step 3: Build the dispatch workflow
Give every order an explicit status and a person responsible. A workable sequence:
- Payment confirmed or pay-on-delivery order approved by a human.
- Awaiting stock check — confirm the item physically exists before promising anything.
- Packed — with a packing slip carrying the order number and a photograph of the packed item for high-value goods.
- Awaiting pickup — courier booked, waybill number recorded.
- Out for delivery — rider or courier has it, customer notified.
- Delivered — confirmed by proof of delivery: signature, photo, code or courier status.
- Failed or rescheduled — with a reason code, not a WhatsApp message.
- Returned — back in stock or written off, with the reason recorded.
Two rules make this workflow useful. First, every status change should trigger a customer notification automatically. Second, reason codes on failures are mandatory; without them you will never know whether failures come from wrong addresses, unreachable customers or courier delays.
Set a dispatch cut-off time, for example 2pm, and publish it. Nigerian customers accept slower delivery far better than they accept an unmet promise.
Step 4: Integrate couriers properly
There are three levels of integration, and the right one depends on order volume.
- Manual booking. Staff book each pickup through the courier's app or a WhatsApp desk and paste the waybill number into the order. Fine under about 15 orders a day.
- Semi-automated. Bulk export of orders in the courier's format, bulk import of tracking numbers back. Cheap to build, cuts most of the typing.
- API integration. Your store requests a rate, creates a shipment, receives a waybill number and tracking updates automatically. Best above 30 orders a day or when you quote live rates at checkout.
Before integrating, ask the courier these questions:
- Do you have a documented API for rates, shipment creation and tracking, and can we test in a sandbox?
- What are your coverage areas and realistic lead times per zone?
- How is remittance handled for pay-on-delivery orders, and on what cycle?
- What is the claims process for lost or damaged items, and what is the liability limit?
- Can we get a weekly reconciliation report we can match against our orders?
Always integrate a second courier before you need one. Single-courier dependency means one service disruption stops your whole store.
Step 5: Handle pay on delivery and cash reconciliation
Pay on delivery still converts well in Nigeria, particularly for new customers and higher-value items, but it introduces two costs: refused deliveries and cash that sits with someone else.
Controls that work:
- Verify the order before dispatch. A call or WhatsApp confirmation for pay-on-delivery orders reduces refusals substantially.
- Cap the value. Set a maximum order value for pay on delivery, and require part payment above it.
- Charge delivery upfront. A small prepaid delivery fee filters out non-serious orders while keeping the convenience.
- Offer transfer on delivery. A rider with a transfer or POS option removes cash handling entirely and settles faster.
- Reconcile daily. Each remittance should map to specific order numbers. Build a simple report: orders delivered, cash expected, cash received, variance, ageing.
- Track repeat refusers. Flag phone numbers with multiple refused deliveries and require prepayment from them.
Treat the remittance cycle as working capital. If your courier remits weekly, a week of pay-on-delivery sales is money you have spent on stock but not yet received.
Step 6: Plan for failed deliveries and returns
Nigerian addresses are the root cause of most failures. Streets are renamed, numbers repeat and landmarks do more work than postcodes.
Practical fixes at checkout:
- Separate fields for street, area or estate, city, state, and a required landmark or directions field.
- Required phone number with validation, plus an optional alternative number.
- An optional map pin on mobile, which most buyers will set correctly.
- Address confirmation in the order notification, so errors are caught before dispatch.
- Save verified addresses to the customer's account for repeat orders.
For returns, decide and publish: the return window, who pays return delivery, the condition required, and the refund method and timeline. Then build it as an order status with a reason code so the data tells you which products and which zones generate returns.
How much does a delivery system cost?
Indicative 2026 ranges; actual quotes vary with scope, vendor and exchange rate.
| Build scope | What you get | Indicative cost |
|---|---|---|
| Zone and rate configuration on an existing store | Zone table, weight bands, free-delivery threshold, cut-off times | ₦80,000–₦350,000 |
| Delivery module with dispatch statuses and notifications | Status workflow, reason codes, SMS, WhatsApp and email alerts, proof of delivery | ₦250,000–₦1,500,000 |
| Courier API integration | Live rates, shipment creation, tracking sync, per courier | ₦300,000–₦1,200,000 per courier |
| Cash and remittance reconciliation reports | Daily variance reports, ageing, courier statements | ₦200,000–₦900,000 |
| Custom dispatch platform with rider app | Rider assignment, route list, proof of delivery, live status | ₦2,000,000–₦8,000,000+ |
Recurring costs: courier fees per delivery, SMS and WhatsApp messaging, packaging, rider salaries and fuel if in-house, and maintenance at ₦20,000–₦150,000 per month depending on the scope of your store.
What changes for Nigerian online stores
Distance is not the main cost driver; access is. A delivery to a nearby but hard-to-reach area can cost more than a longer one on a good route. Build zones from experience, then adjust quarterly using your recorded actual costs.
Lagos needs its own rules. Mainland and island pricing differ, third-mainland traffic affects same-day promises, and a 4pm dispatch often means a next-day delivery in practice.
Interstate usually means park-to-park or courier hubs. Many customers outside major cities expect to collect from a pickup terminal. Offer it explicitly, at a lower rate, rather than treating it as a failure of home delivery.
Festive periods break lead times. December and major holidays extend delivery times across the industry. Publish revised lead times ahead of the season rather than apologising afterwards.
Customers ask on WhatsApp. Even with a perfect tracking page, buyers will message. Automated status updates on WhatsApp reduce that traffic; a support number that nobody answers increases refunds.
Example (hypothetical): a skincare brand shipping nationwide
Example (hypothetical): a Lagos skincare brand doing about 25 orders a day sells lightweight products nationwide and was charging ₦3,500 flat delivery everywhere.
What changed when they built a delivery system:
- Zones replaced the flat rate: Lagos mainland, Lagos island, South-West states, rest of Nigeria, each with weight bands for orders above 2kg.
- Free delivery threshold set at a level above product margin plus average delivery cost, which lifted average basket size.
- Pay on delivery restricted to Lagos and capped, with a prepaid delivery fee for first-time buyers outside Lagos.
- Two couriers integrated, one primary and one fallback, with the actual courier cost recorded on every order.
- A 1pm cut-off published on the product page, the cart and the order confirmation.
Within a quarter, the visible benefit was not lower delivery spend but clarity: they could see which zones were unprofitable, which courier failed most often, and which products generated returns. Those three reports drove the next round of pricing decisions.
Mistakes to avoid
- Flat-rate delivery nationwide. It subsidises distant customers with local ones and hides losses.
- Promising same-day delivery without a cut-off time. Late orders create complaints you cannot win.
- No proof of delivery. Without a photo, code or signature, disputed deliveries always cost you.
- Booking couriers only by WhatsApp. Waybill numbers get lost and nothing reconciles at month end.
- Uncapped pay on delivery. A single refused high-value order can wipe out a day's margin.
- Not recording the true delivery cost per order. You cannot price what you do not measure.
- One courier only. Their bad week becomes your bad week.
- Hiding delivery fees until the last checkout step. Late fee reveals are a leading cause of cart abandonment.
A 30-day implementation plan
- Days 1–3: Pull the last 90 days of orders. Record actual delivery cost, failures and complaints by area.
- Days 4–7: Draft zones, rates and lead times from that data. Set a cut-off time and a returns policy.
- Days 8–12: Configure zones, weight bands and the free-delivery threshold on your store.
- Days 13–18: Implement dispatch statuses with reason codes and automated customer notifications.
- Days 19–22: Improve the checkout address form: landmark field, phone validation, saved addresses.
- Days 23–26: Sign a second courier. Agree remittance cycles and reporting with both.
- Days 27–30: Build the daily reconciliation report and the weekly delivery performance review. Train staff on it.
Then review zone profitability monthly for the first quarter and adjust rates using your own numbers, not guesswork.
Conclusion
Delivery is where online store margins are quietly won or lost. The work is mostly design, not code: decide the fulfilment model, price by zone and weight, give every order an explicit status with automated customer notifications, integrate at least two couriers, control pay on delivery, and record the true cost of every delivery so the data can correct your pricing. Build those foundations and the software becomes straightforward.
If your store has outgrown WhatsApp dispatch and manual reconciliation, Linestech builds delivery and order management modules for Nigerian e-commerce businesses, including courier integrations and reconciliation reporting.
Frequently asked questions
Should I charge customers the exact delivery cost?
Not always. Many stores blend rates so nearby customers pay slightly more and distant customers slightly less, because a simple rate table converts better than exact pricing. What matters is that your blended charge covers your blended cost, which you can only know if you record actual costs per order.
Is in-house delivery cheaper than using couriers?
Only at volume and density. A rider costs money whether or not there are orders, so the switch makes sense when you consistently fill a rider's day inside one city. Below that, per-delivery courier pricing is cheaper and removes recruitment, maintenance and supervision.
How do I reduce failed deliveries?
Validate phone numbers, require a landmark or directions field, confirm pay-on-delivery orders before dispatch, notify the customer the morning of delivery, and record a reason code for every failure so you can fix the actual cause rather than guessing.
What delivery information should appear on the product page?
An estimated lead time by zone, the dispatch cut-off time and an indication of cost. Buyers who learn the delivery fee only at the final checkout step abandon carts at a noticeably higher rate than those told earlier.
Can I integrate more than one courier into my store?
Yes, and you should. A common pattern is a primary courier for most zones, a second for areas the first covers poorly, and a manual option for unusual destinations. Rules can choose automatically by zone, weight or item value.
How do I handle delivery for fragile or high-value items?
Use a courier with a documented claims process and a liability limit you have read, photograph the packed item, require proof of delivery with a code, and consider restricting pay on delivery for those products. Price the extra packaging into the item, not the delivery fee.
Do I need software, or can spreadsheets work?
Spreadsheets work up to roughly 10–15 orders a day. Beyond that the reconciliation effort and the error rate grow faster than the volume, and the cost of a proper delivery module is usually recovered within a few months through fewer failures and better rate accuracy.
Sources and further reading
Figures, platform rules and regulations change. These are the primary references behind this article and the places to check before you act on it.

