Skip to main content
Industry Invoices

Web Development Invoice Template: Milestones, Hours and Fees

Free web development invoice template guide: bill fixed-price milestones, hourly work, change requests, hosting and licenses, with a worked invoice example.

By Invoice Creator Editorial Team 7 min read

Quick answer: A web development invoice template is a billing layout developers and agencies use to charge for building and maintaining websites and web apps. It should show the project name, the billing basis (milestone, hours or retainer), a clear description of what was delivered, any approved change requests, pass-through costs such as hosting or plugin licenses, tax where applicable, the total and payment terms. Linking each invoice to a milestone or approved estimate is what keeps payments on schedule.

This guide covers the common billing models for web development, what to include on the invoice, how to bill change requests and third-party costs, a worked milestone invoice, and tips for international clients. You can produce a professional developer invoice in minutes with our free invoice generator.

Web development billing models compared

ModelHow you invoiceBest forWatch out for
Fixed price with milestonesA percentage of the project fee at each agreed milestoneBrochure sites, e-commerce builds, well-defined projectsScope creep; needs a clear change request process
Hourly or daily rateHours logged × rate, usually weekly or monthlyOpen-ended development, bug fixing, legacy codeClients want visibility; send time logs
Monthly retainerA fixed fee each month for a block of hours or a service levelMaintenance, updates, security monitoring, small improvementsDefine what happens to unused or extra hours
Value or package pricingOne price per package, such as "Starter site"Productized servicesPackage contents must be explicit

Many projects combine models: a fixed-price build invoiced in milestones, hourly billing for anything outside scope, and a retainer after launch. Our guides to milestone payments and retainer invoices cover each model in depth.

What to include on a web development invoice template

  • Your details: name or business name, address, email, tax ID or VAT number if registered.
  • Client details: the legal entity that signed the contract, billing address and any PO or project code.
  • Invoice number, issue date and due date.
  • Project reference: project name, contract or proposal reference, milestone number.
  • Deliverables: what was completed, such as "Homepage and 6 inner page templates built in staging, approved 15 Oct 2026".
  • Hours and rate for time-based work, with a link to or attachment of the time log.
  • Change requests: each one listed separately with its reference.
  • Third-party costs: hosting, domain registration, premium themes or plugins, SaaS subscriptions, stock assets.
  • Tax: only if you are registered and it applies.
  • Payment terms and methods, plus how intellectual property or code ownership transfers on payment, if your contract says so.

Number invoices consistently across all clients and projects. Our invoice number generator can create a format such as WEB-2026-027.

Worked example: milestone invoice for a website build

A developer is building a small-business website for a fixed price of $12,000, billed in three milestones: 30% deposit, 40% on completion of design and front-end build, and 30% at launch. The deposit is paid. During the build, the client approved one change request for a booking form integration at six hours of work at $95 per hour, and the developer bought a premium plugin license and a domain on the client's behalf.

DescriptionQtyRateAmount
Milestone 2 of 3: design and front-end build complete (40% of $12,000 fixed fee)1$4,800.00$4,800.00
Change request CR-03: booking form integration (hours, approved 8 Oct 2026)6$95.00$570.00
Premium forms plugin license, 1 year, passed through at cost1$249.00$249.00
Domain registration, 1 year, registered in client's name, at cost1$18.00$18.00
Total due by 5 November 2026$5,637.00

The maths: 40% of $12,000 is $4,800.00; the change request is 6 × $95 = $570.00; pass-through costs are $249.00 + $18.00 = $267.00. Total: $4,800.00 + $570.00 + $267.00 = $5,637.00. The final milestone invoice at launch will be 30% of $12,000 = $3,600.00, plus any further approved changes. A short note on the invoice ("Paid to date: $3,600.00 deposit (INV WEB-2026-019). Remaining after this invoice: $3,600.00 at launch") helps the client follow the project budget. No tax is shown here; whether tax applies depends on your location and your client's (see below).

Billing change requests, hosting and licenses

Change requests

Scope creep is the biggest threat to profitability in web projects. Your contract should say how changes are requested, estimated and approved. Then, on the invoice, list each approved change as a separate line with its reference number, so the client sees the milestone price hasn't moved and the extras were agreed. Write the process into the contract before the project starts, not after the first dispute.

Third-party costs

Hosting, domains, premium plugins and SaaS tools are best registered in the client's name and paid by the client directly, so they own their assets if you part ways. Where you do pay on their behalf, invoice each cost with its term ("1 year, renews 8 Oct 2027") and be transparent about whether you add a handling fee.

Ongoing maintenance

After launch, a monthly maintenance retainer (updates, backups, security monitoring and a few hours of small changes) gives clients peace of mind and you predictable income. Invoice it on the same date each month and list what the retainer covered.

Writing line items clients approve quickly

Clients who aren't technical often can't judge a development invoice from code-level detail, and finance teams can't judge it at all. The goal is a description that connects each charge to something the client asked for and can recognize. Compare these examples:

VagueClear
Development workMilestone 2: responsive front-end build of homepage and 6 page templates, approved in staging 15 Oct 2026
FixesFixed checkout error on mobile Safari and broken image uploads in admin (tickets #41, #44): 3.5 hours
ExtrasChange request CR-03: booking form integrated with client's calendar tool: 6 hours, approved by email 8 Oct 2026
HostingManaged hosting, 12 months from 1 Nov 2026, passed through at cost

A few habits make this easier:

  • Use the client's language. Name pages and features the way the client does in meetings, not by component or repository names.
  • Reference approvals. A date and the name of the person who approved a milestone or change removes most questions before they arise.
  • Group hourly work by task. Summarize hours per feature or ticket on the invoice and attach the detailed time log rather than listing every 15-minute entry.
  • Show the project budget. On fixed-price work, a short "paid to date / this invoice / remaining" note lets the client see they are on track.

For more on presenting freelance work clearly, see our freelance invoice template guide.

Taxes and international clients

Web developers often work for clients in other states or countries, which makes tax more complicated:

  • US sales tax: most states don't tax custom web development services, but some tax certain digital products, software or data processing services. Rules vary by state, so check with an accountant.
  • UK and EU VAT: if you are VAT-registered, domestic business clients are usually charged VAT. For business clients in another country, the reverse charge often applies, and the invoice needs specific wording. See our reverse charge invoice guide.
  • Currency and payments: state the currency explicitly, agree who pays transfer fees, and include the correct bank details. Our guide to invoicing international clients covers the practicalities.

Tips to get paid on time for web projects

  1. Invoice the deposit before starting. Don't begin work until it's paid, and send it as its own invoice.
  2. Tie each milestone to client approval. Get sign-off in writing, then invoice the same day.
  3. Add a pay-now option. A card or bank payment link on the invoice removes friction for busy clients.
  4. Hold the launch until the final payment clears, if your contract allows it, or transfer code ownership only on full payment.
  5. Send time logs with hourly invoices so clients can see exactly where the hours went; our guide on how to invoice for hourly work shows how to present them.

Create your web development invoice now

A clear web development invoice template ties every payment to a milestone or approved piece of work, so clients pay without debate. Open the generator with UK presets or US presets, pick the clean, tech-friendly Startup template, add your milestone and extras, and download your PDF.

Frequently asked questions

How do web developers usually invoice clients?

Web developers commonly bill fixed-price projects in milestones, such as a deposit, design approval and launch, or bill hourly for open-ended work. Ongoing maintenance is often billed as a monthly retainer.

Should I charge a deposit for a website project?

Many developers ask for a deposit before starting a fixed-price project to secure the schedule and reduce risk. The amount and terms should be set in your contract and invoiced separately before work begins.

How do I bill a client for hosting, domains and plugin licenses?

List each third-party cost as its own line with the service, term and amount, and say whether it is passed through at cost or includes a handling fee. Where possible, register domains and licenses in the client's name.

How do I invoice for change requests or scope creep?

Agree on a change request process in your contract. Price each approved change in writing, then invoice it as a separate line or a separate invoice that references the change request, rather than folding it into a milestone.

Do I charge sales tax or VAT on web development?

It depends on where you and your client are. Some US states tax certain digital or software services, and VAT may apply in the UK and EU, with reverse charge rules for many business clients abroad. Check with an accountant.

How much should I charge for a website?

Website prices vary with scope, so estimate rather than picking a number. Break the project into tasks such as discovery, design, templates, content entry, integrations, testing and launch, estimate hours for each, multiply by your rate and add a buffer for unknowns. Price hosting and maintenance separately. Put the scope and assumptions in your proposal so change requests are easy to spot.

Who owns the website code after the client pays?

Your contract decides. Many developers assign ownership of custom code to the client once the final invoice is paid, while keeping rights to reusable libraries, frameworks and tools they built before the project. Third-party themes and plugins stay under their own licenses. Set out ownership in the contract and repeat in the invoice notes that the transfer takes effect on full payment.

Should I invoice weekly or monthly for hourly development work?

Weekly or every two weeks suits new clients and long hourly projects, because it limits how much unpaid work builds up and gives the client regular visibility. Monthly invoicing is simpler for established clients and retainers. Whichever cycle you choose, put it in the contract, attach the time log for the period and invoice on the same day each cycle.

What can I do if a client never pays the final website invoice?

Send polite reminders, then a formal final notice referencing the contract. If your contract allows, you can delay launch, withhold the ownership transfer or suspend services you host and manage, but avoid taking down or altering a live site without clear contractual rights, as that can expose you to legal claims. Small claims court or a collections agency are options for unpaid amounts.

Should I bill clients for my own software subscriptions?

Usually not. Your own tools, such as your code editor, design software or project management apps, are business overheads covered by your rate. Bill a subscription to the client only when it is bought specifically for their project and they will keep using it, such as a premium plugin or SaaS account in their name. Agree pass-through costs in the proposal before buying.

IC

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

Related reading