Developers send estimates before a project starts, usually after a discovery call or after reviewing a written spec. Clients often compare quotes from multiple freelancers or agencies, so they look at total cost, timeline, what is included, and who owns the code at the end.
When to use estimates: Use estimates to provide project quotes and get client approval before starting work. Once approved, convert your estimate to an invoice with one click to collect payment.
Create an invoice for payment collection
Upload logo
PDF will be generated with filename:
Invoice_1001_Client_2026-10-14.pdf
A list of specific features, screens, or endpoints sets the boundary of the quote. 'User accounts' can mean a login form or a full role-based permissions system, so be explicit.
Supporting older browsers, iOS and Android, or tablets changes the work considerably. State exactly what will be tested.
Hosting, payment processors, email services, maps APIs, and app store accounts have recurring costs. Say whether the client or you pays and whether they are in the quote.
Clarify whether the client supplies designs, copy, images, and data, and what happens to the timeline if they are late.
Without limits, feedback can continue forever. Specify how many rounds are included and how long the client has to give feedback.
State whether QA, production setup, documentation, and training are included, and whether you provide a warranty period for bugs.
Clients may assume they own everything. State when ownership transfers and whether you retain rights to reusable components.
| Service | Priced | Typical range |
|---|---|---|
| General web or app development (contract) | per hour | $65-150 |
| Senior or specialized engineering (cloud, security, data) | per hour | $120-220 |
| Bug fixes and maintenance retainer | per month | $500-3,000 |
| Small business website (custom build) | flat fee | $2,500-10,000 |
| Mobile app MVP (iOS or Android) | flat fee | $15,000-60,000 |
| Third-party API integration (payments, CRM, shipping) | flat fee | $1,000-5,000 |
| Code review or technical audit | per hour | $100-200 |
| Embedded contract engineer | per day | $600-1,400 |
Typical US ranges. Rates vary by region, experience, and job size.
Break the work into tasks, estimate hours for each, and add 20% to 30% for unknowns, testing, and communication. Present a fixed price or a not-to-exceed cap rather than a vague range.
For complex projects, charge for a short paid discovery or scoping phase that produces a spec and a firm estimate. This protects you from quoting blind on unclear requirements.
Present a basic version, a standard version, and a full version with different features. Clients can pick what fits their budget instead of negotiating your rate down.
Say in the quote that anything not listed is out of scope and will be estimated separately, so the client knows how extra requests will be handled.
Most developers set 14 to 30 days. Rates, availability, and third-party pricing can change, and a long-open quote can lock you into a price while the project's requirements drift.
Quick estimates for small jobs are usually free. For larger projects requiring architecture planning or technical research, many developers charge for a discovery phase and credit that fee toward the project if the client proceeds.
On a fixed-price quote, you absorb overruns caused by your own estimating errors, but you can bill for client-driven changes through change orders. On hourly work, give the client a warning when you reach about 75% of the estimated hours.
A signed estimate can be binding in many places, but it is usually too thin for software work. Pair it with a services agreement covering IP, payment terms, termination, and liability, or reference the estimate in the contract as the statement of work.
Use the Software Development invoice template to bill the client, or convert this estimate once it's approved.
Software Development invoice template