Web Development Invoice Template

Milestone, hourly, and retainer billing โ€” with scope changes and pass-through costs handled.

Start a Web Development Invoice โ†’

Opens with the web development lines already listed. Free, no sign-up, PDF download.

Web development invoices fail on scope, not on rate. A build quoted as a fixed price grows through a hundred small reasonable requests, none of which felt like a change at the time, and the developer either absorbs them or raises the issue at the end when the relationship is already strained. Milestone billing with a written scope is the structure that prevents this: bill on defined deliverables, and invoice anything outside them as a numbered scope-change line at the moment it is agreed, not at the end.

The other thing this trade routinely gets wrong is pass-through costs. Hosting, domains, premium plugins, fonts, stock imagery, API usage, and app-store fees are the client's operating costs, not yours, and a developer who quietly pays for them out of the project fee has given themselves an unfunded liability that renews annually. Put them on the invoice at cost, or better, put them in the client's own accounts from the start.

How web development work is priced

Fixed price against milestones with a deposit, hourly for open-ended or maintenance work, or monthly retainer for ongoing support with a stated hour allocation and overage rate. Third-party costs passed through at cost.

What belongs on a web development invoice

These are the lines this trade actually bills, the unit each is measured in, and what each one prevents. Every line below is optional โ€” use the ones that match the job.

Line itemBilled asWhy it belongs there
Milestone 2 of 4 โ€” design system and component libraryper milestoneNumbered against the agreed schedule. Deliverable-based, not time-based.
Deposit received 7/1 โ€” 30% (applied)credit (negative)Show it applied. Otherwise the final invoice looks like the whole project again.
Development โ€” 24 hrs @ hourly rate (see time log)per hourReference the time log. Hours nobody can inspect are hours that get questioned.
Scope change #3 โ€” multi-language support (approved 7/28)per approved changeNumbered, dated, approved. Invoice at agreement, not at project end.
Monthly retainer โ€” 10 hrs support includedper monthState the included hours and what happens to unused ones.
Retainer overage โ€” 3.5 hrs @ overage rateper hourA rate agreed in the contract makes overage arithmetic instead of a conversation.
Third-party costs โ€” hosting, domain, plugin licences (at cost)pass-throughThe client's operating costs. Pass them through or put them on the client's card.
Post-launch support window โ€” 30 days includedincluded / then hourlyDefine when 'fixing bugs' ends and 'billable work' begins, in writing.

How web development invoices get disputed

Nearly every unpaid or short-paid invoice in this trade comes down to one of these.

Skip the Word and Excel files

A downloadable template means fixing the layout, re-entering the formulas, and reformatting every time. This one fills in on screen, does the maths, and downloads a clean PDF โ€” with the web development lines already listed.

Open the Web Development Template โ†’

Go deeper

How to invoice for web development โ†’

The full guide โ€” rates, payment terms, deposits, and what to do when the invoice goes unpaid.

Web Development invoicing questions

What should a web development invoice include?

Your business name and contact details, the client, invoice number and date, the project name, the billing basis โ€” milestone, hourly, or retainer โ€” with the specific deliverable or period named, hours with a reference to a time log if billing hourly, any numbered scope changes with their approval dates, third-party costs passed through at cost, the deposit shown as an applied credit, subtotal, tax where applicable, total, and payment terms. For international clients, note the currency explicitly and who bears the wire fee.

Should I bill web development hourly or by milestone?

Milestone billing suits defined projects: it ties payment to visible deliverables, gives the client predictability, and gives you cash flow through a long build instead of one payment at the end. Hourly suits open-ended work, maintenance, and clients whose requirements genuinely are not settled โ€” but it caps your income at your available hours and rewards you for being slow. A common structure is milestones for the build with a deposit, then an hourly or retainer arrangement for everything after launch.

How do I invoice for scope creep?

As a numbered scope-change line, raised and agreed at the moment the request arrives rather than at the end of the project. The pattern that fails is silently absorbing a series of small requests and then presenting a large unexpected total, by which point the client has forgotten asking for most of them. Say plainly that the request sits outside the agreed scope, quote it, get written approval, and invoice it as 'Scope change #3 โ€” multi-language support (approved 7/28)'. Clients accept this readily in the moment.

How do retainer invoices work for ongoing development?

Bill a fixed monthly amount that includes a stated number of hours, with an overage rate for anything beyond it, and state explicitly whether unused hours roll over โ€” most agreements say they do not, because you reserved the capacity regardless. Invoice at the start of the month for the month ahead, which is what makes a retainer a retainer rather than a delayed hourly bill. Include the hours used against the allocation on the invoice so the client can see the value they consumed.

Invoice templates for other trades

Send your next web development invoice today

Free forever, no sign-up, professional PDF in under 60 seconds.

Create Free Invoice โ†’