Cash on delivery
Cash on delivery, built in from day one
In Côte d’Ivoire, Senegal, Mali or Cameroon, most first-time online buyers want to see the product, sometimes touch it, before they pay. Cash on delivery (COD) matches that reality, but poorly managed it turns into refused parcels and wasted time. Here is how Shafrik is built around that exact problem, not bolted on as a checkbox.
The principle, no surprises
A customer places an order on your store without paying online. They pay the rider in cash or Mobile Money when the parcel arrives. Shafrik never takes a cut of that payment and never touches it, the money goes from the customer to you. Shafrik’s job is elsewhere: capture the order cleanly, notify you immediately, and give you the tools to get it to the door.
Nine statuses, not just “in progress” and “delivered”
A COD order rarely follows a straight path. The customer may not pick up, may ask for another day, or may change their mind. A two- or three-status system hides that and you lose the thread. Shafrik tracks every order through nine precise statuses:
- Pending: the order just arrived, nobody has handled it yet.
- Confirmed: you reached the customer (call, WhatsApp) and they still want the order.
- Preparing: the parcel is being packed before pickup.
- Scheduled: the customer asked for a specific delivery date; that date stays visible until it is due.
- Out for delivery: the parcel has left, on its way to the customer.
- Delivered: the order arrived and was paid.
- Unreachable: the phone does not pick up; the order stays visible for a follow-up instead of disappearing in the pile.
- Retry: the first delivery attempt failed (absent, wrong address) and another attempt is planned.
- Cancelled: the customer or you ended the order.
Each status has its own colour in the orders table and can be filtered on its own. You see at a glance how many orders wait for confirmation, how many have been unreachable too long, or how many must be retried today. Orders are never deleted: you cancel them, and the history stays available.
Why “Unreachable” and “Retry” change everything
This is where most generalist platforms fail in francophone Africa: a customer who does not pick up is treated as an exception to manage in a spreadsheet on the side. On Shafrik it is a first-class status, with its own filter. You isolate every unreachable order of the day in one click and follow up in a batch, instead of hunting them one by one in a mixed list of fifty rows. “Retry” works the same for missed deliveries: you know exactly which parcels must go out again, instead of discovering three days later that a rider came back empty-handed.
Fewer refused parcels
A parcel refused at the door is expensive: the rider’s trip, the packaging, the prep time, all gone. The best protection is upstream: confirm before you send (Confirmed), write a clear note for the rider (order-form Note field, for example “Call before delivery”), and use Scheduled when a customer explicitly asks for a later date instead of forcing a delivery they will refuse. The order form itself is covered on the order form page. For day-to-day follow-up (notifications, filtered table, sync), see order management.
MOLIA can change a status for you
You can also go through MOLIA, the intelligent collaborator in your dashboard: saying “schedule Kouassi’s order for Friday” or “mark these ten orders as confirmed” triggers the action, always with a confirm button before it runs, never a silent change. Full detail on the AI store page.
What Shafrik does not do
To stay honest: Shafrik does not run your delivery logistics for you. You stay responsible for your riders, their rounds, and collecting the money. Shafrik organises the information (orders, statuses, customer history) so that part is easier to run, not so it can replace it.
