How to price freelance software work: hourly, fixed price or retainer
Most freelance developers undercharge because they price from what feels polite instead of from what they need. A simple way to find your floor rate, and when to quote by the hour, the project or the month.
4 min read

There is no correct rate for freelance software work. There is only a rate that keeps your business alive, and a rate the client will pay. Your job is to make sure the second is comfortably above the first.
Most developers do it backwards: they look at what others charge, pick something that feels polite, and find out at the end of the year that it did not cover their costs. Start from your own numbers instead.
Step 1: find your floor rate
Your floor rate is the least you can charge per hour and still run a healthy business. Work it out once a year.
- What you want to pay yourself for the year, before tax.
- Plus your business costs: hardware, software subscriptions, AI tools, hosting, insurance, accounting, a pension, and a buffer for quiet months.
- Divided by your billable hours.
The third number is where most people go wrong. You will not bill forty hours a week for fifty-two weeks. Take off holidays, public holidays and sick days. Then take off the time you spend on things you cannot bill: sales calls, proposals, invoicing, support, admin, learning. For many freelancers, half to two thirds of working time ends up billable. Use your own records if you have them; this is exactly what tracking your time tells you.
A worked example
These numbers are illustrative, not a recommendation:
| Amount | |
|---|---|
| Target pay | 80,000 |
| Business costs | 15,000 |
| Total to cover | 95,000 |
| Working weeks | 44 |
| Billable hours per week | 24 |
| Billable hours per year | 1,056 |
| Floor rate | about 90 per hour |
Anything below the floor loses money. Anything above it is margin.
Step 2: choose how to price
Hourly
You bill for the time you spend.
- Works well when the scope is unclear, the client keeps changing direction, or the work is maintenance and support.
- Downside: you are paid less for getting faster. The better you get, the less each task earns.
- Tip: send a weekly timesheet with the invoice. Clients worry less about hourly work when they can see where the hours went.
Fixed price
You quote a total for a defined piece of work.
- Works well when you can describe the result precisely and you have built something similar before.
- Downside: you carry the risk if it takes longer.
- Tip: estimate in hours, multiply by your rate, then add a contingency for the unknowns. Write down exactly what is included, and say that changes are quoted separately. Track your time anyway, so the next estimate is better.
Retainer
The client pays a fixed amount each month for a set amount of your time or a set kind of work.
- Works well when a client needs ongoing help: maintenance, small features, being on call.
- Upside: predictable income, and the best way to smooth out quiet months.
- Tip: be clear whether unused hours roll over (usually they do not), and what happens when a month needs more.
Step 3: quote with confidence
- Quote in writing, with what is included, what is not, the price and the payment terms.
- Ask for a deposit on fixed-price work before you start. Many freelancers ask for a share up front and the rest on delivery or by milestone.
- Use milestones on larger projects so you invoice as you go, not at the end.
- Do not discount to win. If the budget is lower, reduce the scope instead.
- Raise your rates for new clients first, then for existing ones with plenty of notice.
Step 4: protect the price after you quote it
Pricing does not end at the quote. Most lost margin comes from small things that never reach the invoice: the extra round of changes, the "quick call", the hosting you paid for.
- Turn accepted quotes into invoices so the numbers match exactly.
- Log billable expenses as you go so they land on the next invoice.
- Invoice promptly, with a Stripe payment link on every invoice.
In NabuOne, quotes become invoices in one step, tracked hours and billable expenses can be added straight to an invoice, and project budgets show you when fixed-price work is running over before it is too late to talk to the client.
The short version
Work out your floor rate from your real costs and billable hours. Use hourly pricing for fuzzy work, fixed price for well-defined work, and retainers for ongoing help. Quote in writing, take deposits, and track time on everything so each quote is better than the last. For the rest of the business side, see how to run a software business on your own.


