Web developer invoice template
Web Developer Invoice Template
Development work can be difficult to describe on an invoice without either saying too little or giving the client your entire project history.
The useful middle ground is simple: describe the work in terms the client already recognises. A client can then connect each charge to part of the project without needing to understand your codebase.
No signup · Free PDF download.
Hourly or fixed price?
Bill the agreement you actually made. If you agreed to $80 an hour, showing the hours makes sense. If the client agreed to $4,000 for a completed milestone, you don't need to invent an hourly breakdown just to make the invoice look detailed.
Write “Checkout development — milestone 2” rather than reconstructing 37.4 hours after the fact. The invoice should match the commercial agreement, not create a new one.
Better descriptions
“Development services” doesn't tell the accounts team much. You don't need a paragraph for every line — just enough information that the charge makes sense six weeks later.
- Frontend development — September
- Stripe checkout integration
- User authentication API
- Mobile responsiveness fixes
- Production deployment
- Monthly website maintenance
- Additional revisions requested September 8
- Website redesign — final milestone
Hosting and other expenses
Keep pass-through costs separate. If you paid for a domain, hosting plan, stock asset or another project expense on the client's behalf, don't quietly bury it inside your development fee. A separate line makes the total easier to understand — “Development — final milestone, $2,500” and “Hosting — annual plan, $180”.
That also gives you a cleaner record of what was your fee and what was an expense. Tax and reimbursement treatment varies by jurisdiction, so check what applies to your transaction before you issue.
Payment terms
“Due soon” isn't a payment term. Use what you agreed and show the actual date: “Payment terms: Net 15” and “Due date: October 5, 2026”. The client shouldn't need a calendar to work out when you expect the money.
If scope grew — extra revisions, rush work, a feature nobody quoted — agree the charge with the client before the invoice goes out. Finding it on the bill is how a good project ends badly.
Before you send it
Look at the invoice once as if you worked in your client's accounts department rather than on their development team. If the answers are all there, the invoice is probably doing its job.
- What the project was.
- What period or milestone is being billed.
- Why each amount is there.
- When payment is expected.
- Where to send the money.
Using the generator
The example below opens in the editor with the line items already in place — change the client, work, rates and dates, then download the PDF. The Compact layout fits many short lines on one page, which suits ticket-level detail. Put the PO in its own field, and write payment instructions as “Bank: …”, “Account: …” and “SWIFT: …” on separate lines; they print as a table.
With a free account, numbering is handled for you: the number is assigned at issue time, one caller at a time, so a retry or a second tab cannot produce a duplicate.
A worked example
- From
- Kai Brenner, web development
- To
- Orbital Labs Inc.
- Number
- INV-0112
- PO reference
- OL-ENG-0092
- Issued
- 10 Sep 2026
- Due
- 10 Oct 2026 (Net 30)
| Description | Qty | Rate | Amount |
|---|---|---|---|
| Frontend development | 32 | $80.00 | $2,560.00 |
| API integration | 8 | $90.00 | $720.00 |
| Production deployment | 1 | $250.00 | $250.00 |
- Subtotal
- $3,530.00
- Total
- $3,530.00
The exact numbers aren't important — notice the descriptions. Fractional hours are fine too: 12.5 × 90 is 1,125, rounded to the currency's precision.
Questions
Should I invoice per sprint or per milestone?
Whatever the contract says. Sprint invoices are predictable and small; milestone invoices are larger and depend on acceptance. Do not mix both on one invoice.
Can I bill fractional hours?
Yes. Quantity accepts decimals; 12.5 hours at 95 is 1,187.50, rounded to the currency’s precision.
How do I pass through hosting or API costs?
Add them as their own lines at cost, with the period, and set Tax % to 0 if you do not tax them. Ask your accountant whether that is right for your case.
Can I generate invoices from an API?
Not today. Invoira is a form and a PDF. If you want to script invoices, a spreadsheet importer is on the roadmap.
Does the PDF have selectable text?
Yes. It is built on your device from the same document as the preview, so numbers and totals can be copied and machine-read.
Related
- Consulting invoice templateConsulting invoice template
- Agency invoice templateAn agency invoice for retainers, phases and pass-through costs
- Online invoice makerAn online invoice maker that does not ask you to sign up
- Open the generatorStart typing your invoice. No account, free PDF.
- Invoira homeThe three layouts, and what an account adds.
Your turn
Turn this example into your invoice.
The line items are already there. Change the client, work, rates and dates, then download the PDF.
Updated 2026-09-10. Invoira formats what you enter; it does not give tax or legal advice.