How to Price Freelance Development Work: Rates, Fixed Bids and Retainers That Hold Up
This is general information, not legal, tax, financial, medical or security advice. Rules and prices change, so confirm details with the official sources linked below or a qualified professional.
Price freelance development work in two steps. First calculate a floor rate that covers your income goal, costs, taxes and unbilled time. Then choose the pricing model that fits the work: hourly for uncertain scope, fixed price for well-defined projects, retainers for ongoing support. Adjust upward for specialty and the value you deliver. Never quote below your floor because a client in a richer market expects a discount.
This is general information, not legal/tax/financial advice.
Key takeaways
- Work out your floor rate before you quote anything. It's a cost calculation, not a market guess.
- Billable hours are the biggest variable. Most freelancers bill far fewer hours than they work.
- Match the pricing model to the level of uncertainty: hourly, fixed, retainer or value-based.
- Price in payment fees, FX margins and taxes. In Pakistan, for example, section 154A deducts 0.25% (PSEB-registered IT) or 1% at receipt.
- Put scope, change process and rate review terms in the contract.
Step 1: Calculate your floor rate
Use this formula:
Floor hourly rate = (target annual take-home + annual business costs + tax and savings reserve) ÷ annual billable hours
Work through each part honestly.
Target annual take-home
What you need to live on, plus what you want to save, in the currency you spend.
Annual business costs
List them: laptop replacement spread over its life, software subscriptions, hosting and test devices, AI and API usage, internet and backup power, accounting help, platform fees and payment fees.
Tax and savings reserve
Include the tax you'll owe where you live and a contribution to your emergency fund (see how to build an emergency fund on irregular income). If you're in Pakistan, know your section 154A rate (0.25% PSEB-registered IT exporters, 1% otherwise, per FBR's rate card updated to June 30, 2026), but don't stop there. Your total tax position depends on your full return.
Annual billable hours
Start with your working weeks, subtract holidays and sick days, then subtract non-billable time: sales calls, proposals, admin, learning, and gaps between projects. Be conservative. If you overestimate billable hours, your floor rate comes out too low.
Illustrative calculation
Hypothetical numbers, for illustration only.
- Target take-home: USD 30,000
- Business costs: USD 4,000
- Tax and savings reserve: USD 6,000
- Total to cover: USD 40,000
Billable hours: 46 working weeks × 40 hours = 1,840 hours. If about half that time goes to sales, admin, learning and gaps, that leaves roughly 920 billable hours.
Floor rate ≈ USD 40,000 ÷ 920 ≈ USD 43.50 per hour.
If you assumed 1,840 billable hours instead, you'd get about USD 21.70, half the real floor. That's why the billable-hours estimate matters so much.
Step 2: Sense-check against the market
Your floor tells you the least you can charge. The market tells you how much room there is above it.
One useful reference point for US-facing work: the US Bureau of Labor Statistics reports a median annual wage of $135,980 for software developers in May 2025, with the lowest 10% earning under $82,460 and the highest 10% over $214,670. These figures are for employees, and BLS excludes the self-employed. They still tell you what US companies are used to paying in-house, before adding benefits and overheads. A freelancer who removes hiring effort and delivers outcomes can price accordingly.
Specialty matters more than geography. Shopify Plus, payments, AI/LLM integration, security and performance work usually command more than generic web builds, because mistakes are costly and fewer people do it well.
Step 3: Pick the right pricing model
| Model | Use when | Risk sits with | Protect yourself by |
|---|---|---|---|
| Hourly / daily | Scope unclear, maintenance, debugging | Client | Weekly time reports, caps that need approval to exceed |
| Fixed price | Scope, acceptance criteria and timeline are written down | You | Detailed spec, change-request process, milestone payments |
| Retainer | Ongoing support or a set capacity each month | Shared | Defined hours or outcomes, rollover rules, notice period |
| Value-based | You can tie the work to a measurable business result | You | Agreeing the metric upfront and limiting scope to what drives it |
| Paid discovery, then fixed build | New products, unclear requirements | Shared | Discovery deliverables (spec, estimate) the client owns |
Hourly or daily
This is the most transparent model. It works for uncertain or open-ended work. Daily rates reduce micro-tracking and fit focused sprints.
Fixed price
Clients like the certainty. It only works if you write down exactly what's included, what "done" means and how changes are priced. Split payment across milestones so you're never far ahead of what you've been paid.
Retainer
A monthly fee for a defined capacity or set of outcomes. It smooths your income and is often the best model for long-term clients, provided the contract says what happens to unused hours and how either side can end it.
Value-based
You price against the business result, for example a checkout rebuild expected to reduce abandonment. This requires trust, data and a clear link between your work and the result. It's best saved for clients you know well.
Step 4: Build the quote
- Restate the problem in the client's words.
- List deliverables with acceptance criteria.
- List exclusions: what you will not do.
- Show the price by milestone or period.
- State the payment terms: deposit, due dates, currency, who pays transfer fees, and late payment terms.
- Explain the change process: how new requests are estimated and approved.
- Set an expiry date for the quote.
Your contract should repeat these terms (see essential freelancer contract clauses).
Step 5: Price in the cost of getting paid
Payment costs are real and they vary by channel:
- Payoneer (fee page last updated April 1, 2025): client card payments up to 3.99%, US ACH debit 1%, receiving non-local currency a fixed fee or 1%.
- Bank wires: sender fees, possible intermediary deductions and your bank's FX spread.
- Wise: often cheap where available, but USD account details aren't offered to addresses in Pakistan or the UAE as of October 2026.
Either add the average cost to your rate or state in the contract that the client pays transfer charges. Compare channels with the test in Payoneer vs Wise vs bank transfer.
Pricing for different client markets
Clients in different countries compare you with different alternatives:
- US clients often compare freelancers with the cost of hiring in-house. The BLS median for software developers ($135,980 in May 2025) is a reminder of what that costs before benefits and overheads.
- UAE and Gulf clients often value speed, availability in their working week and senior oversight.
- Malaysian and Southeast Asian clients may be more price-sensitive on build work but value long-term support relationships.
These are general tendencies, not rules. Ask each client what they're comparing you with, and position your price against that alternative, not against other freelancers' lowest bids.
Quoting maintenance and support
For post-launch work, a monthly retainer with a defined number of hours or response-time commitment is usually better than ad-hoc hourly billing. State what's included (bug fixes, minor updates, monitoring), what's excluded (new features), response times, and what happens to unused hours.
Handling discount requests
- Trade, don't cut. Lower the price only by reducing scope, extending the timeline or getting a longer commitment.
- Offer a smaller first phase instead of a cheaper full project.
- Prepayment can justify a modest discount because it removes your collection risk.
- Walk away from work below your floor. It crowds out better clients.
From experience: Across Shopify Plus, Next.js and AI integration projects, the quotes that held up were the ones with a written list of exclusions. Clients rarely argue with a price they understood. They argue about scope they assumed was included.
Raising your rates
- Review at least once a year.
- Raise for new clients first. That's your market test.
- Give existing clients written notice and apply the new rate from a set date or at renewal.
- Include a rate-review clause in retainers.
Quick glossary
- Floor rate: the minimum rate that covers your income goal, costs and reserves.
- Billable hours: hours you can actually charge to clients.
- Retainer: a recurring monthly fee for defined capacity or outcomes.
- Change request: a written, priced request to alter agreed scope.
- Effective payment cost: fees plus FX margin, as a share of the invoice.
Checklist
- [ ] Floor rate calculated with conservative billable hours
- [ ] Market sense-check done for your specialty and client region
- [ ] Pricing model chosen to match scope uncertainty
- [ ] Quote lists deliverables, exclusions, milestones and change process
- [ ] Payment fees and FX handled in price or contract
- [ ] Rate-review date set
Next steps
- Turn your quote into an invoice that gets paid: invoicing best practices for freelancers.
- Lock the terms in with essential freelancer contract clauses.
- Know your tax position: freelancer tax guide for Pakistan.
- If you need senior technical leadership rather than hourly development, see fractional CTO.
Sources
- US Bureau of Labor Statistics, Occupational Outlook Handbook: Software Developers, Quality Assurance Analysts, and Testers: https://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm
- Payoneer, Fees: https://www.payoneer.com/fees/
- Wise Help Centre, Can I get USD account details?: https://wise.com/help/articles/2810318/can-i-get-usd-account-details
- FBR, Withholding Income Tax Rate Card (updated to June 30, 2026): https://download1.fbr.gov.pk/Docs/202681113864992WithholdingTaxRatesCard2027.pdf
Frequently asked questions
How do I calculate my freelance developer hourly rate?
Start with a floor: (target annual income + yearly business costs + tax and buffer savings) ÷ realistic billable hours. Billable hours are usually far fewer than working hours once you subtract sales, admin, learning and gaps between projects. Then adjust upward for your specialty, the client's market and the value of the outcome. Never quote below the floor.
Should freelance developers charge hourly or fixed price?
Charge hourly (or daily) when scope is unclear or likely to change, such as maintenance or discovery work. Use fixed price when scope, acceptance criteria and change process are written down. Retainers suit ongoing support. Many developers start with a paid discovery phase, then fix-price the build once requirements are clear.
What do US software developers earn, as a benchmark?
The US Bureau of Labor Statistics reports a median annual wage of $135,980 for software developers in May 2025, with the lowest 10% under $82,460 and the top 10% above $214,670. These are employee wages and exclude the self-employed, but they show what US buyers are used to paying for in-house development.
How do I account for payment fees and exchange rates in my price?
Calculate your effective cost of getting paid (fees plus FX margin) for each payment channel, then either add it to your rate or state in the contract that the client pays transfer charges. For example, if a client insists on card payment through Payoneer, card fees can reach 3.99%, which you should price in.
How often should I raise my freelance rates?
Review rates at least once a year and whenever your pipeline is full. Give existing clients notice in writing, apply new rates to new work or contract renewals, and raise in clear steps. Your contract should say how and when rates can change, so the conversation is routine rather than awkward.