Fixed-Price vs Hourly: How Freelance Developers Should Bill
Fixed-Price vs Hourly: How Freelance Developers Should Bill
The pricing model question comes up in every freelance developer community, and the answers are always the same: "it depends." Which is true but useless. Here's the actual framework for deciding, with real numbers.
The Four Models (Not Two)
Most developers think the choice is hourly or fixed-price. In practice, there are four models worth considering:
- Hourly (T&M) — Bill for actual hours at an agreed rate
- Fixed-price — Agreed total for a defined scope
- Day rate — Fixed daily fee, flexible scope within the day
- T&M with a cap — Hourly billing up to a maximum budget
Each has a sweet spot. None is universally better.
When Hourly Works Best
Hourly is the right choice when scope is uncertain. That covers most ongoing development work: feature additions to an existing product, maintenance and support, early-stage startup work where requirements change weekly.
The advantage is simple: you get paid for the work you do. If the client changes direction mid-sprint, you don't eat the cost. If debugging a third-party API takes 6 hours instead of 1, you're covered.
Current hourly rates for freelance developers (US, 2025-2026):
| Experience | Rate Range | |---|---| | Junior (1-3 years) | $50–$85/hr | | Mid-level (3-6 years) | $85–$140/hr | | Senior (6-10 years) | $140–$200/hr | | Specialist/Architect (10+) | $200–$350/hr |
These are for direct clients. Platform rates (Upwork, Toptal) trend 15-30% lower because the platform handles lead generation.
The hourly trap is real, though: the faster you get, the less you earn per project. A senior React developer who builds a dashboard in 20 hours at $150/hr earns $3,000. A mid-level developer who takes 40 hours at $100/hr earns $4,000 for the same deliverable. This is the main argument against hourly — it punishes efficiency.
The counter-argument: efficient developers take on more clients. If you're billing 30 hours/week at $150/hr across three clients, that's $234,000/year. The efficiency penalty only matters if you can't fill the freed-up hours.
When Fixed-Price Works Best
Fixed-price works when scope is genuinely defined and you have estimation data. A brochure site with 5 pages. A Shopify theme customization. A REST API with a clear spec. An app feature you've built three times before.
The key phrase is estimation data. If you've built similar things before and know roughly how long they take, you can price with confidence. If you're estimating from scratch, you're gambling.
The estimation trap: Most developers underestimate by 30-50%. You quote $8,000 for a feature, it takes 80 hours instead of 50, and your effective rate drops from $160/hr to $100/hr. Multiply that across a few projects per year and you've quietly given yourself a massive pay cut.
To survive fixed-price:
- Add a 30% buffer to your honest estimate. Always. This isn't padding — it's accounting for the unknowns you can't see yet.
- Define scope ruthlessly. The proposal should list what's included AND what's not. "Authentication" is not a scope item. "Email/password login with forgot-password flow, no social auth, no 2FA" is.
- Include a change order clause. Any work outside the defined scope is billed hourly at your standard rate. This is non-negotiable.
Day Rates: The Underrated Option
Day rates are common in the UK and Europe but underused in the US. You charge a flat fee per day ($800–$2,000+ depending on seniority), and the client gets your focused attention for that day.
Why developers like day rates:
- No time tracking granularity debates ("was that Slack message billable?")
- Clients think in days, not hours — easier budgeting conversation
- You're incentivized to be efficient (finish early, day's still yours)
- Eliminates the awkwardness of billing for a 7-minute context switch
Day rates work best for: On-site or embedded work, consulting engagements, sprint-based development, and any arrangement where you're dedicating full days to one client.
A $1,200 day rate for a senior developer works out to $150/hr assuming 8 billable hours — but most developers find they're more productive and less stressed than tracking every 15-minute increment.
T&M with a Cap: The Hybrid That Clients Love
This is the model that solves the trust problem. You bill hourly, but with a maximum budget per period (week, sprint, or month). The client gets cost predictability. You get paid for actual work.
Example: "$150/hr, capped at 30 hours/week ($4,500/week max)."
If you work 25 hours, you bill $3,750. If you work 35 hours because of an emergency deploy, you bill $4,500. The cap protects the client; the hourly rate protects you.
This model is especially good for:
- New client relationships where trust is still building
- Clients burned by a previous freelancer's uncapped invoices
- Ongoing work with variable weekly effort
Value-Based Pricing: When It Actually Makes Sense
Value-based pricing means charging based on the business impact, not time spent. A checkout optimization that increases conversion by 2% on a $5M/year e-commerce site is worth $50,000+, even if it takes you 40 hours.
This sounds great in theory. In practice, it requires:
- A client who shares revenue or business metrics with you
- A clear, measurable outcome tied to your work
- Enough trust that the client won't dispute the value after delivery
Most freelance developers don't have these conditions. Value-based pricing works for consultants with established reputations selling to businesses that understand ROI. If you're billing a startup founder for building their MVP, stick to T&M.
The Decision Framework
| Situation | Best Model | |---|---| | New client, unclear scope | Hourly or T&M with cap | | Ongoing maintenance/support | Retainer (monthly fixed) | | Well-defined project you've done before | Fixed-price | | Embedded/on-site work | Day rate | | Early-stage startup | Hourly (scope WILL change) | | Specific deliverable with clear ROI | Value-based (if you can measure it) | | Client wants budget certainty | T&M with cap |
One Last Thing: Don't Compete on Price
Whatever model you choose, resist the urge to undercut. A $75/hr developer who delivers clean, documented code and communicates proactively is a better deal than a $50/hr developer who ghosts for three days and ships spaghetti. Clients who choose solely on rate are clients who'll grind you on every invoice. Let them go.
Proposals, time tracking, expenses, invoicing, and payments — all in one place.
Clearmargin is the financial stack for freelancers and small teams. Know what you're making on every client — without the accounting degree.