Freelance and small-agency software developers bill clients for building, maintaining, and fixing web apps, mobile apps, APIs, integrations, and internal tools. Invoices usually cover hours worked, fixed-price milestones, monthly retainers for ongoing maintenance, and pass-through costs such as hosting or third-party licenses.
Create an invoice for payment collection
Upload logo
PDF will be generated with filename:
Invoice_1001_Client_2026-10-14.pdf
Most independent developers charge hourly for open-ended work, bug fixes, and consulting, and use fixed-price or milestone billing for projects with a clear scope. Retainers are common for maintenance and support, typically a set number of hours per month at a slightly discounted rate. Rates rise with specialization (cloud architecture, security, mobile, data engineering) and with urgency. Day rates are used for on-site or full-time contract engagements. Third-party costs like cloud hosting, app store fees, API subscriptions, and paid libraries are either billed at cost, marked up modestly, or put on the client's own accounts. Many developers add a separate rate for after-hours emergency work, often 1.5x to 2x the normal rate.
| 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.
| Description | Qty | Rate | Amount |
|---|---|---|---|
| Milestone 2: Customer portal - authentication, dashboard, and account settings | 1 milestone | $4,500.00 | $4,500.00 |
| Stripe subscription billing integration (webhooks, failed-payment handling) | 18 hours | $110.00 | $1,980.00 |
| Production bug fixes: report export timeout, email template rendering | 4.5 hours | $110.00 | $495.00 |
| Code review and deployment pipeline setup (CI, staging environment) | 6 hours | $110.00 | $660.00 |
| Cloud hosting, staging and production (billed at cost, March) | 1 month | $86.00 | $86.00 |
| Total | $7,721.00 | ||
Notes: Payment due within 15 days of invoice date. Hours are logged in the attached time report. Late balances accrue 1.5% per month. Accepted by ACH or card. Source code transfers to client on payment of final milestone per the signed agreement.
Ties the invoice to the agreed scope so the client's accounts payable team knows which budget it belongs to.
Hourly clients often ask what the time went toward. Specific entries like 'fixed checkout timeout' prevent disputes.
Fixed-price billing depends on a milestone being delivered. Referencing it shows you are billing per the agreement.
Pass-through costs should be visible and distinct from labor, and you may need to show receipts.
Larger companies often will not pay an invoice without a PO number.
Shows that extra work was requested and approved, and avoids arguments about what was included in the original price.
Clients in the US usually need a W-9 on file and may issue a 1099 at year end if you are paid over the IRS threshold.
Hourly and retainer work is commonly invoiced every two weeks or monthly, with net 15 or net 30 terms. Fixed-price projects usually take a deposit of 25-50% before work starts, with the remainder tied to milestones or delivery. Retainers are often billed at the start of the month. Many developers include a late fee of 1-1.5% per month and reserve the right to pause work or withhold deployment of code on unpaid invoices if the contract says so. ACH and bank transfer are common for larger amounts because they avoid card fees; card payments work for smaller invoices, and some developers pass the processing fee on to the client.
Reconstructing hours at the end of the month leads to undercounting. Log time per task with a short description, and attach the report to the invoice for hourly clients.
Scope creep is the most common source of unpaid hours. When a client asks for something outside the statement of work, send a short written estimate and get a reply before you start.
Structure milestones around things you can complete, such as a deployed staging build, rather than around client feedback or third-party approvals that can drag on. Add a clause that the milestone is billable after a set number of days without feedback.
Where possible, set up hosting, domains, and API accounts under the client's name and billing. This avoids fronting costs, chasing reimbursement, and awkward handover later.
If your contract allows it, keep the final handoff of source code, admin credentials, or production deployment conditional on payment of the final milestone.
Bill hourly when scope is unclear, the work is exploratory, or the client changes direction often. Use fixed price or milestones when requirements are written down and you can estimate with confidence. Many developers use a fixed price with a defined number of revision rounds and bill extra work hourly.
Yes, if you say so in your agreement. Many developers bill meetings, code review, and project communication at the normal rate. Some include a small amount of communication in fixed-price work, but long calls and frequent check-ins should be billable.
A monthly retainer is the usual approach. Define what it covers (for example, dependency updates, uptime monitoring, and up to five hours of fixes), what happens to unused hours, and the rate for work beyond the included amount.
It depends on the state and on what you deliver. Some states tax custom software, prewritten software, or SaaS access, while others do not tax services. Check your state's rules or ask an accountant, especially if you sell to clients in several states.
Send a reminder with the invoice and contract terms, then a firm written notice. If your agreement ties code ownership or license to payment, you can cite that. For larger amounts, a demand letter or small claims court may be options, depending on your state's limits.
Send a Software Developer estimate for approval, then turn it into an invoice when the work is done.
Software Developer estimate template