Web projects overrun. That is not a failure of planning, it is the nature of building something nobody has fully specified. The question is whether the overrun is visible and billed, or absorbed silently until you are working for half your rate.

This template makes development work legible to whoever approves the payment — including the small requests that quietly doubled the build.

Bill your build in one minute

Milestones, hourly work, hosting pass-throughs and tax — download a clean PDF invoice free.

Generate a free invoice →

Key takeaways

Structure a development invoice by cost type

Clients budget development work in three separate buckets, and your invoice should mirror them:

  1. Build / labour — your time, billed by milestone or by hour
  2. Third-party costs — hosting, domains, plugin and theme licences, API subscriptions, SSL
  3. Ongoing — maintenance retainer, support hours

Mixing them produces an invoice that has to be manually decomposed by the client’s finance team, which means delay.

Example: project build

Description Qty Rate Amount
Milestone 2 — front-end build, 6 templates (SOW 3 Jun 2026) 1 $6,800 $6,800
Additional requests outside SOW — see schedule A 9.5 hrs $95 $902.50
WP plugin licences (ACF Pro, WP Rocket) — at cost 2 $158
Managed hosting, 12 months — at cost 1 $420 $420
Less: deposit received 3 Jun 2026 -$3,400

Schedule A is the trick worth stealing. Rather than nine awkward invoice lines for nine small requests, attach a dated list: “11 Jul — add newsletter signup to footer (1.5h); 14 Jul — swap hero video for slider (2h); 18 Jul — add cookie banner (1h)…” One invoice line, full evidence behind it.

Stop hand-building invoices in Google Docs

Line items, tax, deposits deducted, sequential numbering — free, in your browser.

Create your invoice free →

Maintenance retainers

Recurring maintenance is the most valuable revenue a web developer has, and the most commonly under-specified. Your invoice should restate the boundary every month:

“Maintenance retainer — Oct 2026. Includes: core/plugin updates, daily backups, uptime monitoring, up to 2 hours of content or minor fixes. Excludes: new features, design changes, third-party integration work (billed at $95/hr).”

That paragraph, repeated on twelve invoices a year, prevents the slow drift where a retainer becomes unlimited support. Set it up as a recurring invoice so it goes out on the same date every month.

Payment terms for developers

Handling third-party costs cleanly

Where possible, have the client buy hosting and licences in their own name with their own card. It removes the cash-flow burden from you, removes the awkwardness of chasing reimbursement, and — importantly — means the client owns their infrastructure, which is a selling point rather than a concession. Where you must front the cost, bill it at cost, on its own line, with the vendor named.

Frequently asked questions

Should web developers charge hourly or per project?

Per project with a clearly defined scope, plus an hourly rate for anything outside it. Pure hourly punishes you for being fast; pure fixed-fee punishes you for a vague brief. The hybrid handles both.

Can I hold a website hostage for non-payment?

Withholding launch or credential handover until final payment is normal and defensible if it is in your contract. Taking down a site that is already live and paid for is a different matter and can expose you to liability. Get the terms in writing before the project starts.

How do I bill for a project the client keeps changing?

Stop absorbing it. Log every change with a date, group them into a single ‘out of scope’ line with an attached schedule, and raise it at the next milestone rather than at the end. Surprises at the end are what cause disputes.

What should a web maintenance retainer cost?

Commonly 10–20% of the original build cost annually, billed monthly. Price on what is included, not on a percentage rule — a site with e-commerce and three integrations is not the same maintenance burden as a brochure site.

Create your developer invoice

Free, professional PDF invoices in your browser. No signup, no watermark.

Start your invoice now →

Related guides