Courier Delivery Service: Profit Per Order, Not Per Turnover
«In a month my service closes about 3,200 deliveries, with a turnover of nearly ₴640,000. Yet at month-end there's around ₴38,000 left in the account. For half a year I couldn't work it out: more and more orders, couriers spinning like tops, the phone never stops — and no money» — that's how Dmytro, the owner of a courier service with 14 riders, opened our conversation.
Sound familiar? A mountain of orders, a dispatcher who can barely keep up with the calls, the courier chat pinging non-stop — «picked up,» «collected,» «delivered.» It looks like the business is booming. Yet at month-end you stare at the balance and can't see where it all went. And the first thought is always the same: «I need more orders, more clients, a couple more couriers.» Yet the trouble is almost never the number of orders.
The trouble is that delivery is counted as a single pot. Everything clients paid over the month goes into one cauldron. Everything that went to couriers, to fuel, to scooter repairs, to phones and the dispatcher comes out of that same cauldron. And while the numbers are blended together, you can't see one simple thing: one delivery earns you ₴80 net, while another loses ₴40. Both look equally «completed» in the report. You honestly count both as work. But only one of them feeds you.
This article is about breaking the courier service into small pieces: by order, by courier, by client, by district. So you can finally see what brings the money and what merely burns fuel and creates motion.
The Founder's Path: From One Scooter to 14 Couriers
Dmytro started five years ago with a single scooter and his own phone instead of a dispatch desk. He carried orders for two flower shops and a small pharmacy — took the calls himself, rode himself, invoiced himself at the end of the week. The money was easy to count: what he earned in a day minus fuel — whatever was left was his.
Then word of mouth kicked in. Restaurants joined, clothing web-stores, a pet shop, then a small chain of pizzerias. Dmytro hired a first courier, then a second, put a dispatcher on the phone, set up a work chat. Over four years the service grew to 14 couriers — some on scooters, some in their own cars, two on bicycles in the centre.
And somewhere around the eighth or ninth courier, the simple arithmetic of «earned minus fuel» stopped working. Orders multiplied tenfold, so did clients, and the clarity vanished. Dmytro had a shared Excel where the dispatcher typed in the delivery count each evening, and a banking app where he saw the balance. Between those two numbers lay a chasm — and that's where the profit got lost.
«While I was on the scooter myself, I felt every hryvnia. Once there were fourteen couriers, I stopped understanding which of them fed me and which just rode around on my fuel.»
How the Money Really Works in Delivery
Before showing what Dmytro changed, let's break down in plain terms what a courier service's profit is actually made of. Because this is exactly where all the money that «disappears somewhere» hides.
Profit Per Order, Not Per Turnover
A turnover of ₴640,000 sounds impressive. But turnover is not your money — it's money that passed through you. Yours is the margin: what's left after the direct costs of each delivery. And the direct costs of a delivery are the courier's pay for it, the fuel for that trip, and vehicle wear.
Let's count an average delivery honestly. A client pays ₴200 for it on average. You give the courier ₴110. Fuel and wear for that trip — another ₴30 or so. That leaves ₴60 — and that's before you pay the dispatcher, the phones, the rent on the little storeroom and yourself. So your real margin isn't ₴200, it's ₴60. And that's on average. On individual orders it swings from plus ₴90 to minus ₴40.
That's why turnover deceives. It grows with the number of orders — while profit can stand still or even fall, if more and more of the new orders are low-margin. This is unit economics: how much the business earns or loses on a single operation. If you want to dig deeper into exactly this logic, we've laid it out separately — how to calculate the unit economics of a small business. But the point is simple: until you know the margin of one delivery, you're steering blind.
How to Pay a Courier: Per Order or a Flat Rate
The two most common models are pay per order and a flat rate per shift. Each has its own trap.
Pay per order (say ₴110 per delivery) is fair when the flow is even: the courier earns exactly what they carry, and you don't pay for idle time. But it pushes couriers to grab easy nearby orders and refuse far ones — because a trip to the outskirts pays the same as a delivery across the road, while it eats three times the time and fuel.
A flat rate (say ₴1,300 per shift) works when the flow is dense and steady: you know your cost in advance, and every delivery above the «shift break-even point» is clean margin. But if a courier ran a shift with ten deliveries instead of twenty, you pay the wage anyway — and half of it went into thin air.
There's no «universal» right answer. There's an answer for your numbers. Dmytro eventually built a hybrid: a small rate for showing up plus pay per order, with a surcharge for far addresses. But he arrived at it not «by feel,» but by counting the margin for each model separately.
Fuel and Vehicle Wear — the Cost You Notice Too Late
Fuel is at least visible — you pay for it weekly. But vehicle wear is an invisible cost. A scooter doesn't break every day, but every few thousand kilometres it demands tyres, a chain, brakes, oil, and once a year — a serious repair. If you don't set money aside for it monthly, the repair arrives as an «unexpected» blow to the till — though in reality it was entirely predictable.
An honest cost per delivery accounts not only for the fuel you put in today, but also for that notional ten hryvnias from every order that settles toward future repairs and vehicle replacement. Otherwise you paint yourself a pretty margin that doesn't actually exist.
Route Density: the Main Lever of Profit
Here's where the biggest difference between a loss-making and a profitable delivery hides. Compare two trips.
- A dense route. A courier takes four orders in one district and delivers them within an hour, in a single trip. Clients paid 4×₴200 = ₴800. The courier got 4×₴110 = ₴440, fuel for the whole loop — about ₴50. That leaves ₴310, i.e. almost ₴80 per order.
- A single delivery to the outskirts. One order, 12 km one way. The client paid the same ₴200. The courier — ₴110, fuel — ₴70, and the trip ate a whole hour in which he could have delivered four nearby ones. Margin — ₴20, and once you count the time lost — effectively a minus.
Both deliveries are «one completed order» in the report. But the first feeds the service, and the second quietly eats it. That's why the key figure in delivery isn't the number of orders, but how many deliveries fall on one hour of a courier's work and on one trip. Route density. Lifting it by 20% is often more profitable than landing a new client.
Orders grew, and the money shrank. That's when I realised I was counting the wrong thing: not routes, not utilisation, but bare orders.
Peaks and Idle Time: You Pay for Empty Hours Too
Demand in delivery is uneven. Lunch (12:00–14:00) and evening (18:00–21:00) are the peaks — couriers run short, some work on the fly. In the morning and the sluggish hours of the day, part of the fleet simply waits for orders. If they're on a flat rate, every empty hour is money you pay for nothing. If they're on piece rate, they idle rather than you — but at peak you run short of hands and lose orders that go to a competitor.
The fix isn't «hire more couriers,» it's to match the roster to the peaks: more people at lunch and evening, fewer in the slow hours, part-time cover for the hottest windows. But to plan like that, you need to see when orders actually arrive and how much you pay for idle time. In the shared pot none of this is visible.
Client Post-Payment: the Receivables That Eat Your Cash
The most insidious one — post-payment. Corporate clients — pharmacies, shops, restaurants — almost always want to work «on account»: we carry all month, payment at the end. But you pay couriers weekly, some daily. So you end up financing your clients out of your own pocket: the money for deliveries has already gone to couriers and into the tank, while the client's payment arrives three weeks later.
While there are two clients, it's bearable. When there are twenty, and one or two also delay payment, you land in the classic trap: the profit is there on paper, but there's no cash in the account. Turnover grows, there are more couriers, and the cash gap runs deeper. Receivables aren't «the client will pay someday» — they're your frozen money that you can't use to pay wages right now.
Life Before Finmap
Before he put things in order, Dmytro lived roughly like this. He recognises these lines himself — and maybe you do too.
- «Turnover grows every month, and the account shows the same sum. Where it goes — I don't know.»
- «I don't understand which client is profitable for me. We carry for everyone the same way, and one of them, I suspect, is a solid loss.»
- «Couriers complain about far addresses, and I can't tell how much that address actually costs me.»
- «Twice a month I'm short for wages and have to borrow — even though clients supposedly owe me more.»
- «The dispatcher keeps an Excel, I look at the bank, the accountant has her own spreadsheet. Three sources, and I trust none of them.»
Behind each of these lines is the same thing: the service is counted by turnover and order count, not by margin per order, client and courier. The moment you break the numbers apart, the picture becomes almost uncomfortably clear.
How Dmytro Put Things in Order
The turning point was mundane: yet another cash gap, ₴12,000 in the account and ₴60,000 to pay couriers tomorrow. Meanwhile clients owed over ₴200,000 in post-payment. Dmytro sat down and understood: he wasn't bankrupt — he simply couldn't see his own money. What he needed wasn't «more orders,» but order in the finances, to see where the money goes every day.
That's how he came to Finmap. His goal was simple: to see the real profit per client and per line, keep receivables under control, and know in advance when a cash gap was coming. Setup took not a week but a couple of evenings.
- Bank integration and auto-import. Account statements pull in on their own, transactions don't need to be typed by hand. The dispatcher's evening Excel became unnecessary.
- Income by client and line. Every payment is tagged: which client, which delivery type (restaurants / pharmacies / web-stores / one-off private). Now the profitability of each line is visible, not just the «total turnover.»
- Direct costs kept separate. Courier pay, fuel, repairs and spare parts go into their own categories. The margin calculates itself, and the P&L comes together without an accountant.
- Receivables under control. Who owes how much and when the payment deadline is — all in plain view. Dmytro stopped «forgetting» to remind a client about an invoice.
- Payment calendar. Courier wages, fuel, taxes, rent — all laid out in advance. A cash gap is now visible two weeks before it happens, not on payday.
What Dmytro especially liked is that Finmap shows everything in an owner's language, not an accountant's: not «the account balance,» but «this client brings 18% margin, and that one — 3%.» And that the AI advisor flags odd things on its own: «fuel costs rose 22%, while the delivery count grew only 6%.»
I wasn't short of orders. I was short of one honest number — how much I earn on each delivery. The moment I saw it, half the decisions became obvious.
The Finances Now
Over three months with Finmap, Dmytro didn't add a single big new client — on the contrary, he dropped the two most loss-making ones. Yet net profit, at the same turnover, grew almost threefold. Here's what changed.
| Metric | Before Finmap | After 3 months |
|---|---|---|
| Profit per order | counted «by eye» | visible per client and district |
| Cash gaps | 2–3 times a month | seen in advance in the calendar |
| Receivables | over ₴200,000 «hanging» | cut almost in half |
| Net profit / month | ~₴38,000 | ~₴96,000 |
How did he do it? He dropped two lines that steadily ran a loss — far single deliveries beyond the city limits, and one client who kept squeezing an unrealistic discount. He moved couriers to a hybrid pay model with a surcharge for far addresses. He matched the roster to the peaks. And he started invoicing corporate clients right away, instead of «at month-end, when I remember» — receivables fell almost by half.
An insight for entrepreneurs. In delivery, profit hides not in the number of orders but in route density and in who you carry for and on what terms. Two services with the same turnover can differ threefold or fourfold in net profit — and the whole difference is that one sees its margin per order, while the other only looks at turnover.
A Few Parting Tips
- Assign every delivery a client, a type and a district — from day one, it takes seconds.
- Count the margin of one delivery, not the turnover. Turnover deceives you.
- Build vehicle wear into the cost, not just fuel.
- Watch route density — deliveries per hour and per trip, not the bare count.
- Track receivables separately and invoice right away, not «at month-end.»
- Once a month, look at profitability per client, not just total profit.
Money Doesn't Disappear — You Just Don't See It
Money in a courier service doesn't evaporate. It dissolves between orders, couriers, fuel and receivables while you stare at one total turnover and the account balance. The moment you break it apart by margin, it becomes clear what feeds the business and what merely burns fuel and creates the illusion of growth.
You don't need more orders. You need to see which delivery, which client and which courier actually bring the money — and to build order in your finances, where this is visible every day, not once a quarter by guesswork.
Try looking at your service in a new way — and within the first month you'll already see which orders feed you and which quietly eat you up.
Frequently Asked Questions
Take the price the client paid and subtract the direct costs of that specific delivery: the courier's pay, the fuel for the trip, and a share of vehicle wear. What's left is the delivery's margin. Then look at it not per single order but on average per client, district and delivery type — that shows what feeds you and what runs a loss.
There's no universal answer, only an answer for your numbers. Piece rate pays off with an uneven flow and pushes couriers to grab nearby orders; a flat rate suits a dense, even flow but hits the till on idle time. A hybrid often works best: a small rate for showing up plus pay per order and a surcharge for far addresses. Calculate the margin for each model separately before you choose.
Remember that post-payment is your frozen money, not «the client will pay someday.» Track receivables separately: who owes how much and when the deadline is. Invoice right away, not at month-end, and set realistic payment terms. Otherwise you land in the «profit is there, but there's no cash» situation.
Work out how much goes yearly on tyres, chain, brakes, oil and repairs, divide it by the number of deliveries a year — you get a notional wear amount per order. Build it into the cost per delivery and set it aside monthly. Then a repair stops being a «surprise,» and the margin becomes honest.
Basically a couple of evenings: connect the bank for auto-import, add clients, lines and expense categories (couriers, fuel, repairs). After that it's seconds on each transaction. By the very first month you'll see profit by client and line, and be able to decide on numbers rather than gut feeling.
