Freelance developers, small dev shops, and contract engineers send these invoices. They typically bill for hours spent building features, fixing bugs, integrating third-party APIs, and maintaining existing applications, along with fixed-price project milestones and monthly retainers for ongoing support.
Create an invoice for payment collection
Upload logo
PDF will be generated with filename:
Invoice_1001_Client_2026-10-14.pdf
Software work is priced in a few common ways. Hourly billing is the default for contract work, maintenance, and projects with unclear scope, usually tracked in 15 or 30 minute increments. Fixed-price quotes suit well-defined projects such as a marketing site, a mobile app MVP, or a specific integration, and are often split into milestone payments (for example 30% at start, 40% at midpoint, 30% at delivery). Monthly retainers cover a set number of hours or an on-call arrangement for bug fixes, updates, and hosting oversight. Some developers use day rates for embedded contract roles, usually 6 to 8 billable hours per day. Third-party costs such as hosting, domains, paid API usage, app store fees, and software licenses are typically passed through at cost or with a small handling markup, and listed separately from labor. Rates rise with specialization (security, machine learning, embedded systems) and with rush or after-hours work.
| 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.
| Description | Qty | Rate | Amount |
|---|---|---|---|
| Milestone 2: Customer dashboard and authentication (React front end, Node API) | 1 milestone | $4,500.00 | $4,500.00 |
| Stripe subscription billing integration, including webhook handling and test mode QA | 14 hours | $110.00 | $1,540.00 |
| Additional work outside scope: CSV export of reports (Change Request #3) | 6 hours | $110.00 | $660.00 |
| Production deployment and environment setup (AWS) | 4 hours | $110.00 | $440.00 |
| AWS hosting, March (billed at cost) | 1 month | $86.00 | $86.00 |
| Total | $7,226.00 | ||
Notes: Payment due within 15 days of invoice date. Late balances accrue 1.5% per month. Hours reflect work logged March 1-28. Source code and deployment credentials transfer upon payment in full per the services agreement dated January 12.
Ties the invoice to the agreed scope so the client's accounts payable team can match it to an approved engagement.
Shows what the payment covers and prevents disputes about whether a milestone was actually reached.
Clients often ask what the hours went to. Task-level lines such as 'API integration' and 'bug fixes' answer that before they ask.
Documents that the client approved extra work and keeps it separate from the fixed-price portion.
Pass-through expenses like cloud hosting, licenses, and app store fees should be visible and at cost, not buried in labor.
Larger companies often reject invoices without a PO number, which delays payment.
Many contracts hand over code only after full payment. Stating this on the invoice reminds the client of the condition.
Developers commonly require a deposit of 25% to 50% on fixed-price projects before any work begins, then bill by milestone. Hourly and retainer work is usually invoiced monthly, or every two weeks for larger engagements, with retainers billed in advance at the start of the month. Net 15 and net 30 are typical, and some freelancers use due on receipt for smaller clients. Late fees of 1% to 2% per month are common if stated in the contract. Payment methods are usually ACH, wire transfer, or card, and many developers add a processing fee for cards or encourage bank transfer on larger invoices. Some developers pause deployments or withhold credentials when invoices go unpaid, which should be written into the contract in advance.
Define milestones as deliverables the client can see and test, such as 'login and user accounts working on staging'. Avoid milestones tied to dates alone, since clients may argue the work wasn't finished.
Scope creep is the biggest billing problem in software. When a client asks for something new, send a short written change request with an hour estimate and get approval before starting, then invoice it as its own line.
Use a time tracker that exports task-level entries. If a client questions a 40-hour invoice, a log showing commits, tickets, and meetings resolves it quickly.
Meetings, code reviews, project management, deployment, and debugging in unfamiliar legacy code are real work. Set this expectation in your contract and include these on invoices, even if at the same hourly rate.
Retain ownership of the final code, or the production access, until the last invoice is paid. State this in the contract so it isn't a surprise.
Hourly works best when scope is unclear or likely to change. Fixed price works when requirements are written down and unlikely to shift. Many developers use fixed price for a defined first phase and hourly for later changes and maintenance.
That depends on your contract. Many developers include a warranty period, such as 30 days after delivery, where bugs in the delivered work are fixed free. After that, fixes are billed at the normal rate.
List them as separate lines from labor. Either bill them at cost with the vendor receipt available, or add a small handling markup if your contract allows it. If the client owns the accounts, have them pay the vendors directly instead.
In the US, a business client that pays you $600 or more in a year (the threshold may change) will usually ask for a W-9 and send a 1099-NEC if you are an independent contractor. Send your W-9 early to avoid delays, and check current IRS rules or ask an accountant.
Start with a written reminder citing the contract and invoice date, then a formal demand letter. If you haven't transferred ownership or credentials, you may still have leverage. For larger amounts, small claims court or a collections attorney is an option, depending on your state's limits.
Send a Software Development estimate for approval, then turn it into an invoice when the work is done.
Software Development estimate template