Software Development Invoice Template (T&M, Fixed Bid)
Software development invoice template with examples for sprints, time and materials, fixed bid milestones, IP transfer on payment and hosting pass-throughs.
Quick answer: A software development invoice template bills a client for custom software work. It lists the project and statement of work, the billing method (time and materials, fixed-bid milestone or retainer), hours by role or milestone percentages, pass-through costs such as hosting and licenses, payment terms and a note on IP transfer on full payment.
Software projects are long, change often and involve many people, so the software development invoice is where scope disputes tend to surface. A clear invoice that matches the contract, shows what each sprint or milestone delivered and separates third-party costs gets approved faster. This guide covers billing models, what a dev invoice should include, how to handle sprints, IP transfer, hosting pass-throughs and maintenance, with a full example invoice and a worked comparison of time and materials and fixed bid.
Whether you are a freelance developer, a two-person studio or an agency, you can create the invoice in our free invoice generator in a few minutes.
What is a software development invoice?
A software development invoice is a request for payment for designing, building, testing, deploying or maintaining software. It is a service invoice, but it usually ties back to a master services agreement (MSA) and a statement of work that sets scope, rates and acceptance criteria. If you build mainly websites, the web development invoice template fits better; for mobile apps, see the app developer invoice.
Time and materials vs fixed bid: which billing model?
The billing model shapes everything on the invoice. Our full comparison of fixed price vs time and materials goes deeper; here is the summary for software:
| Model | How it is billed | Best for | Risk sits with |
|---|---|---|---|
| Time and materials (T&M) | Hours x role rate, plus expenses, billed per sprint or monthly | Evolving products, agile teams, unclear scope | Client (budget) |
| Fixed bid | Agreed price split into milestones | Well-defined scope, small builds, integrations | Developer (overruns) |
| Capped T&M | T&M up to a not-to-exceed amount | Clients who want flexibility and a ceiling | Shared |
| Dedicated team retainer | Fixed monthly fee for agreed capacity | Ongoing development | Shared |
| Maintenance retainer | Monthly fee for a block of support hours | Post-launch support, updates | Shared |
Billing per sprint
Agile teams often invoice at the end of each sprint, usually two weeks. The invoice references the sprint number and dates, lists hours by role and summarizes the stories or tickets completed. Story points are a planning tool, not a billing unit; bill hours or an agreed sprint fee, not points.
Fixed-bid milestones
A fixed bid is typically split into a deposit and milestone payments tied to acceptance, for example 30% at signing, 30% at beta, 30% at acceptance and 10% after the warranty period. Our guide to milestone payments explains how to define acceptance so invoices are not held up.
What should a software development invoice include?
- Your business details: legal name, address, tax ID if required (for example an EIN for US clients or a VAT number in the EU).
- Client details and the client's PO number. Enterprise accounts payable often rejects invoices without one.
- Contract references: MSA and SOW numbers, change order numbers.
- Billing period or milestone: sprint 14, October 13 to 24, or Milestone 2: beta release.
- Labor lines: hours by role (senior engineer, engineer, QA, project manager) and rate.
- Pass-through and reimbursable costs: hosting, domains, app store fees, API usage, licenses, travel.
- Credits: discounts, prepaid hours used, warranty work at no charge.
- Tax where applicable.
- Payment terms and methods.
- IP note: for example, "Ownership of deliverables listed transfers on receipt of full payment per section 9 of the MSA."
How to handle IP transfer on payment
In the US, software written by an independent contractor is generally not a "work made for hire" unless it falls within specific statutory categories and both sides sign a written agreement, as the US Copyright Office explains in Circular 30. Most standalone software does not fit those categories, so development contracts use a written assignment of copyright instead.
A common and fair structure:
- The client owns the custom code written for the project once the related invoices are paid in full.
- The developer keeps ownership of pre-existing code, frameworks and internal tools, and grants the client a perpetual license to use them as part of the deliverable.
- Open-source components stay under their own licenses.
- Until payment, the client has a license to test and evaluate, not to commercially deploy (or deployment is allowed but ownership is still pending).
The invoice should not try to create these rights; it should reference them. A one-line note is enough. If you are dealing with AI-assisted code, our article on copyright and AI-generated work covers why contracts should address it explicitly. This is general information, not legal advice; have a lawyer review your IP clauses.
Hosting, licenses and other pass-through costs
Developers often set up and pay for services on a client's behalf: cloud hosting (AWS, Google Cloud, Azure), databases, email delivery, error monitoring, domain names, SSL, app store developer accounts and paid APIs. Treat these carefully:
- Prefer client-owned accounts. Let the client pay vendors directly where possible. It avoids lock-in and cash-flow strain on you.
- If you pay, pass through at cost or with a stated fee. Show each service as its own line with the billing period. If your contract allows a handling fee, show it separately; see markup on materials and pass-throughs.
- Keep receipts. Attach the vendor invoices or a usage export. Our guide on reimbursable expenses shows the format.
- Watch currency. Many vendors bill in US dollars; if you invoice in another currency, state the exchange rate used.
Example software development invoice
A small studio bills a client for one two-week sprint under a time-and-materials SOW. Names and rates are fictional and for illustration only.
Harbor Code Studio LLC | 77 Pier Street, Portland, OR 97209
Invoice: HCS-2026-118 | Issued: October 27, 2026 | Due: November 26, 2026 (net 30)
Bill to: Fieldline Logistics Inc. | PO: FL-88213 | SOW: SOW-03 (Dispatch Platform v2) | Period: Sprint 14, Oct 13 to Oct 24, 2026
| Description | Qty | Rate | Amount |
|---|---|---|---|
| Senior software engineer (hours) | 72 | $150.00 | $10,800.00 |
| Software engineer (hours) | 78 | $115.00 | $8,970.00 |
| QA engineer (hours) | 30 | $85.00 | $2,550.00 |
| Project management (hours) | 12 | $95.00 | $1,140.00 |
| Warranty fix: route export bug (ticket DSP-412), no charge | 3 | $0.00 | $0.00 |
| Cloud hosting, staging environment, October (pass-through at cost, receipt attached) | 1 | $186.40 | $186.40 |
| Map API usage, October (pass-through at cost) | 1 | $92.15 | $92.15 |
| Subtotal | $23,738.55 | ||
| Sales tax (custom development services, not taxable in OR) | $0.00 | ||
| Total due | $23,738.55 | ||
Notes: Sprint 14 delivered driver assignment rules, bulk route import and the export bug fix. Sprint demo held October 24. Timesheet attached. Ownership of Sprint 14 deliverables transfers on receipt of full payment per section 9 of the MSA. Pay by ACH to the account on file.
Oregon has no general sales tax; in other states, check whether custom software or related services are taxable before sending.
Worked example: same project, T&M vs fixed bid
A client wants an internal inventory tool. The studio estimates 400 hours at a blended $120 per hour, or $48,000.
- T&M: Billed every two weeks. Actual hours come in at 440 because of an extra integration. Total billed: 440 x $120 = $52,800. The client pays for the overrun but also got the integration.
- Fixed bid: The studio adds a 15% contingency and quotes $55,200. Invoices: 30% deposit ($16,560), 30% at beta ($16,560), 30% at acceptance ($16,560), 10% after a 30-day warranty ($5,520). If the work takes 440 hours, the studio's effective rate is $55,200 / 440 = $125.45. If it takes 520 hours, it falls to about $106.15.
The lesson: fixed bids need contingency and tight change control. Anything outside the SOW should go through a written change order (see handling scope creep with change orders) and appear as its own line on the next invoice.
Billing maintenance and support after launch
Most software needs ongoing work after launch: security patches, dependency updates, operating system and browser changes, small enhancements and incident response. Agree on how this is billed before the warranty period ends, so the first post-launch invoice is not a surprise. Common structures:
| Model | What the client pays | What goes on the invoice |
|---|---|---|
| Hourly on demand | Hours actually used, no commitment | Tickets worked, hours, rate |
| Prepaid hour block | A block such as 20 hours, used over a set period | Hours used this period and hours remaining |
| Monthly support retainer | Fixed monthly fee for an agreed number of hours and response times | Retainer fee, hours used, overage billed at the agreed rate |
| Service level agreement (SLA) | Fixed fee for guaranteed response and uptime commitments | Monthly fee, any service credits |
For retainers, invoice in advance at the start of each month and bill overage in arrears on the next invoice. Our guide to retainer invoices shows the wording. Clearly state whether unused hours roll over; most retainers say they do not, or roll over for one month only.
Getting software invoices approved by enterprise clients
Larger clients often route invoices through procurement and accounts payable systems that check every field. To avoid delays:
- Get set up as a vendor early. Provide your W-9 (US) or tax forms, banking details and insurance certificates before the first invoice.
- Match the PO exactly. If the PO lists line items, mirror them. If the PO amount is nearly used up, ask for a new one before you exceed it.
- Use the billing contact in the contract, not only your day-to-day product owner.
- Send one invoice per PO unless the client asks otherwise.
- Know their cutoff. Many AP teams batch approvals monthly; missing the cutoff can add weeks.
For overseas clients, state the currency, who pays bank fees and any tax treatment such as reverse charge VAT. The guide to invoicing international clients covers the details.
How to create a software development invoice in 7 steps
- Confirm the billing model, rates and terms in the SOW.
- Export hours from your time tracker grouped by role and ticket.
- Open the invoice generator, add your logo and business details.
- Number the invoice consistently, for example by client and sequence; try the invoice number generator.
- Add labor lines, then pass-throughs and any credits.
- Add the PO, SOW reference, delivery summary and IP note.
- Download the PDF, attach the timesheet and receipts, and send it to the contact named in the contract.
Common software invoicing mistakes
- Missing PO or SOW numbers, which sends the invoice back from accounts payable.
- Billing out-of-scope work without a change order. Clients dispute surprises.
- Hiding hosting costs inside labor. It confuses budgets and makes transitions messy.
- Invoicing story points instead of hours or agreed fees.
- Transferring IP before payment. Tie it to full payment in the contract.
- Waiting until project end to bill. Bill per sprint or milestone and use a deposit invoice for fixed bids.
A strong software development invoice mirrors the contract, shows what each sprint or milestone delivered, separates pass-throughs and reminds the client that ownership follows payment. Our invoice generator is free, needs no sign-up and builds the PDF in your browser, so you can send professional development invoices without adding another tool to your stack.
Frequently asked questions
How do software developers bill clients?
Most bill in one of three ways: time and materials, where hours are multiplied by agreed rates; fixed bid, where a set price is split into milestone payments; or a monthly retainer for a dedicated team or ongoing maintenance. Many projects combine them, for example a fixed-price discovery phase followed by time-and-materials sprints. The invoice should match whatever the contract or statement of work says.
Should I invoice per sprint?
Invoicing at the end of each sprint works well for agile teams because it links payment to a demo or set of completed stories. For two-week sprints, that means roughly two invoices a month. Some clients prefer one monthly invoice listing each sprint. Either way, reference the sprint number and dates, summarize what was delivered and attach the timesheet for time-and-materials work.
When should IP ownership transfer to the client?
A common approach is that ownership of the custom code transfers to the client on full payment of the related invoices, while the developer keeps pre-existing tools and libraries and grants a license to use them. This protects the developer if the client does not pay. The transfer clause belongs in the contract; the invoice can reference it in a short note.
Can I mark up cloud hosting and third-party services?
Yes, if your contract allows it. Some developers pass through AWS, Google Cloud, Apple Developer or API costs at cost with receipts, others add a handling fee for managing accounts and billing. Be transparent: show pass-throughs as separate lines, state whether a markup applies and consider having clients own critical accounts so they are not locked in.
Do I charge sales tax on software development?
It depends on the state and on what you deliver. Many states treat custom software differently from prewritten (canned) software, and some tax SaaS or digital products while others do not. Development labor billed separately is often not taxable, but there are exceptions. Check the rules where your client is located, especially if you also resell licenses.
What payment terms are typical for software projects?
Net 15 and net 30 are common for small and mid-sized clients, and enterprises may insist on net 45 or longer. Fixed-bid projects often start with a deposit of 25% to 50% before work begins. Sprints billed in arrears are usually due within 15 to 30 days. Put the terms in the statement of work so accounts payable cannot change them later.
How do I handle bug fixes after launch on an invoice?
Most contracts include a warranty period, such as 30 or 60 days after acceptance, during which defects in delivered work are fixed at no charge. Show warranty fixes as zero-dollar lines or leave them off. New features, changes in scope and issues caused by third-party changes are normally billable, either hourly or under a maintenance retainer, and should be clearly labeled.
What should a software development invoice say about hours?
For time-and-materials work, show hours by role and rate and attach a timesheet or tracking export grouped by task or ticket. Clients rarely need minute-by-minute entries, but they do need enough detail to approve the bill. For fixed bids, hours are usually not shown; list the milestone and the percentage of the contract being billed.
Is software written by a contractor a work made for hire?
Usually not automatically. Under US copyright law, work by an independent contractor is a work made for hire only if it falls into specific categories and both parties sign a written agreement, and most standalone software does not fit. That is why development contracts normally include a written assignment of copyright, often effective on payment.
Invoice Creator Editorial Team
Guides on invoicing, cash flow and small-business finance from Invoice Creator, operated by Next Software Development Company. Content is reviewed for accuracy against the fields our own invoice generator produces.
Try the invoice generator