Developers send an estimate or proposal before a project starts, usually after a discovery call or after reading a written brief. Clients compare total cost, timeline, what is included, and how risk is handled if the work takes longer than expected.
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 vague description like 'build an app' leaves room for disagreement. List screens, user roles, integrations, and reports that are included.
Naming things like native mobile apps, data migration, content entry, or SEO prevents clients from assuming they are included.
Delays often come from missing API keys, design files, or content. State what the client must provide and by when.
Shows when work is delivered and how long the client has to give feedback before the schedule slips.
Sets a limit on rework and gives a clear hourly rate for anything beyond it.
Clients are often surprised by monthly cloud, email, or API fees. Say who pays and whether you bill them at cost.
Clarify when the client receives the code, whether a warranty period covers bugs, and what ongoing support costs.
| Service | Priced | Typical range |
|---|---|---|
| Web or backend development (general contract work) | per hour | $65-150 |
| Senior or specialized work (cloud, security, ML, mobile architecture) | per hour | $120-220 |
| Bug fixes and small changes | per hour (1-hour minimum) | $75-150 |
| Monthly maintenance retainer (updates, monitoring, small fixes) | per month | $500-3,000 |
| Marketing site or small business web app | flat fee | $3,000-15,000 |
| Custom web app or MVP | flat fee / milestones | $15,000-80,000 |
| Third-party API integration (payments, CRM, shipping) | flat fee | $1,500-8,000 |
| Code review, technical audit, or consulting | per hour | $100-250 |
Typical US ranges. Rates vary by region, experience, and job size.
Break the project into tasks, estimate each, and add 15-30% for unknowns, testing, and communication. Quoting only the best-case hours is the most common reason projects lose money.
For larger projects, offer a paid discovery or scoping phase of a few days to a couple of weeks that produces a spec and a firmer quote. It protects you from pricing a project you do not yet understand.
Presenting a core version and an expanded version helps clients choose by budget and makes it easier to cut scope without cutting your rate.
If requirements are still loose, give a range and state that a fixed price will follow once the scope is confirmed. Make clear whether the number is an estimate or a binding quote.
Short quotes for small jobs are usually free. For larger or complex projects, many developers charge for a discovery phase, and may credit the fee toward the project if the client continues.
Thirty days is common. Your availability and the client's requirements can change, and tool or API costs may shift, so put an expiration date on the quote.
On a fixed-price quote you absorb the overrun unless the client changed the scope. Protect yourself with a clear scope, a change-request process, and a buffer in the price. On hourly work with an estimate, tell the client early when you expect to exceed it.
Yes. A deposit of 25-50% is common for fixed-price projects. Put the amount and due date in the quote so that the start date is tied to receiving payment.
Use the Software Developer invoice template to bill the client, or convert this estimate once it's approved.
Software Developer invoice template