You quoted £450 for "a sales dashboard." It felt fair — a day's work, maybe a bit more. Then the client's file turned out to be a swamp of text dates, merged cells, and duplicate orders, and you spent six hours cleaning before you built a single chart. The dashboard itself took two. You delivered something you're proud of, the client is happy, and your effective rate for the week quietly dropped to £56 an hour on a day you meant to bill at £120. The dashboard wasn't underpriced. The six hours of cleaning were priced at zero.
The math you're not doing
Put the real numbers next to each other and the leak is obvious:
Quoted (dashboard): £450 Time spent: 8 hours (6 cleaning + 2 building) Effective rate: £56 / hr If cleaning were billed: Cleaning: 6 hrs @ £90 = £540 Dashboard: £450 Total: £990 (£124 / hr)
Same work, same week. The only difference is that one invoice names the cleaning and one hides it. You didn't do £450 of work; you did close to £1,000 of work and gave more than half of it away, because "cleaning" never appeared on the quote and so never appeared in the client's idea of what they were buying.
Why cleaning becomes invisible
Cleaning gets underpriced for a specific reason: the client never sees it. They see the messy file go in and the polished dashboard come out, and the six hours in between are a black box they have no way to value. Worse, you're often faster at cleaning than you think you should be, so it feels like it "shouldn't count" — but the speed is your expertise, not a discount you owe. Add the deadline pressure that makes it easier to absorb the hours than to renegotiate, and the cleaning silently defaults to free on nearly every job.
Four ways to start charging for it
- Name it as a line item. Split every quote into "Data preparation and validation" and "Dashboard build." The moment cleaning has its own line, it has its own price, and the client stops assuming it was free.
- Show the work. Deliver a short change log — "converted 2,300 text dates, removed 14 duplicate orders, reconciled to your finance total." Once the client can read what you did, they can see why it cost something.
- Quote a data-condition assumption. Write "priced for data supplied as one clean CSV per source; files needing extra cleaning billed at £90/hr" into the scope. Now messy data has a pre-agreed price instead of a silent one.
- Charge for reliability, not hours. As you get faster, don't drop the price — you're selling numbers the client can trust, and that's worth the same whether it took you six hours or one.
Speed is not a reason to charge less
The instinct that keeps rates low is the belief that a task you can do quickly isn't worth much. It's backwards. The client isn't paying for your hours; they're paying for a dataset they can build decisions on without checking your work. If a tool or a saved process lets you clean in one hour what used to take six, the right move is to keep the price and win back five hours — not to hand the client a discount for getting better at your job. Undercharging for cleaning isn't generosity; it's a habit of pricing the visible half of the work and forgetting the half that made it possible.
Try it once on your next quote: add a "Data preparation and validation" line at a real number, and say nothing else about it. Most clients don't blink — they assumed someone had to do that work anyway, and they'd rather it be you than their own overloaded team. The only person on the call who ever believed cleaning was free was you, and that belief has been quietly funding your clients' projects out of your own week.
Dotwave turns your cleaning into a logged, repeatable step you can put a line-item price on — so the work that used to disappear inside a dashboard quote becomes something the client can see and pay for.
Get early access →