Skip to content

Invoice template

Web development invoice template

Milestones, change requests and maintenance retainers for developers and agencies.

Software projects change shape while they are being built, and the invoice is where that change becomes visible. A web development invoice should make three things obvious: which milestone is being billed, which items were outside the original scope, and which costs are passed through from third parties such as domains, licences or hosting.

Milestone billing works well because it ties money to something the client can open in a browser. Name the milestone after the deliverable, for example "Checkout flow live on staging", rather than a date. When the client asks for something new mid-project, add it as a change-request line with its own hours or fixed fee, so the original quote stays intact and the extra work is documented. Pass-through costs should be listed at cost or with your stated handling fee, never hidden in your hourly rate. If you keep the site running afterwards, bill maintenance as a recurring line that names the month and what it covers, such as updates, backups and a number of support hours, so a later dispute about what was included has a written answer.

What to include

  • Milestone or deliverable nameConnects the amount to something the client can inspect and approve.
  • Change-request referenceShows that extra work was agreed outside the original quote.
  • Hours or fixed fee per lineMakes the net amount reproducible for the client's reviewer.
  • Third-party costs listed separatelyDomains, licences and hosting are often reclaimed or approved separately.
  • Client legal entity and billing addressNeeded so the invoice can be booked to the right company.
  • Your tax identifier (if registered)Expected on invoices from registered businesses in most tax systems.
  • Due date and payment instructionsAgencies and startups both need a clear date and a payment reference.

Common mistakes

  • Invoicing "Website development" in full on delivery instead of agreeing milestones up front.
  • Absorbing small change requests without a line, which makes the next scope discussion harder.
  • Reselling licences or hosting with no itemisation, so the client cannot see what they are paying for.
  • Forgetting to say what the monthly maintenance retainer does and does not include.
  • Using a client brand name instead of the legal entity name on the invoice.

VAT and sales tax

How to create it in Fiscalane

  1. Open the editor with this template to prefill the lines, payment terms and note. Replace the sample values with your own.
  2. Add your details and your client's legal name and address, then choose the tax category that matches your situation.
  3. Watch the compliance panel and fix anything it flags, then download the PDF or, on Pro, export the UBL e-invoice.

Frequently asked questions

How should I bill a fixed-price website project?

Split it into milestones that map to visible deliverables and invoice each one when it is approved. Include the quote reference so the client can see the total adds up to the agreed price.

What goes on a maintenance retainer invoice?

Name the month, list what is covered (updates, backups, monitoring, included support hours) and bill additional hours on a separate line. This is also the cleanest way to show a recurring charge.

Can agencies and developers use the same template?

Yes. Agencies can add one line per team member or role if the client wants that detail, while freelancers can keep one line per deliverable. The structured e-invoice export works the same way either way.