Skip to content

Web development invoice template

Development invoices are usually disputed over two things: hours nobody agreed to, and “bugs” that are actually new features. This invoice bills milestones, shows overage against an agreed estimate, and states what the warranty covers before anyone needs to look it up.

Free · nothing reaches your client until you press Send

Turn this template into a draft invoice

Add your client's name. The line items are already filled in.

Nothing is sent yet. Next you create a free account, no card, and your draft invoice is waiting inside. Unused drafts expire in 7 days.

What happens when I press this
  1. The fields above go to PaloWorks as a draft. The page's text is not sent.
  2. You create a free account, no card, and name your workspace.
  3. That page shows the draft with a ticked box. Untick it and the workspace starts empty.
  4. It becomes your first client and project, with the draft invoice, marked ‘Started from a draft’. You edit, send or delete it from there.
Prefilled from this template — edit anything

Line items

Example amounts, in the currency you choose when you set up your workspace. Edit them here or on the draft.

Net 30, as this template suggests. Change it, or clear it to set it when you send.

Milestones beat monthly for fixed-scope work

Bill against completed, acceptance-tested milestones rather than the calendar. It ties your cash flow to progress the client can see, and it puts a natural checkpoint in the project every few weeks. For ongoing work, a monthly retainer with a stated hour bank works better — but say what happens to unused hours, because “they roll over forever” is how a retainer quietly turns into a liability.

Warranty is a fixed window covering defects only

Give [30] days after launch during which you fix, at no charge, anything that does not do what the accepted specification said it would. Anything outside that definition — a new requirement, a third-party API changing, content edits, a browser released after the agreed support matrix — is billable work. Writing this on the invoice means you are quoting a rule you already published rather than inventing one under pressure.

Pass-through costs go in the client's name

Hosting, domains, paid plugins, SSL, transactional email, error monitoring: buy them on the client's account wherever you can. When you cannot, bill them at cost with the receipt and say plainly that they renew annually. The worst version of this is a developer personally holding six subscriptions for a client who has stopped replying to emails.

The invoice template

Free to copy and use: nothing to download, no email required. Copy the whole thing, or select the parts you need. Replace anything in [SQUARE BRACKETS] with your own details; the numbers and dates are examples, so change them to yours before sending anything.

Web development invoice template

INVOICE

[YOUR NAME OR STUDIO NAME] — Web development
[Street address] · [City, State/Province, Postal code]
[you@yourstudio.com] · [+1 555 000 0000]
[Business number / Tax ID / VAT number]

BILL TO
[Client legal entity name]
Attn: [Approver name], [Job title]
[Billing address]
Accounts payable: [ap@clientcompany.com]

Invoice number: [INV-0003]
Purchase order / reference: [PO-0000]
Project: [Marketing site rebuild — milestone 2 of 3]
Scope reference: [SOW dated 2026-01-08, approved by [name]]
Issue date: [2026-03-02]
Payment due: [2026-04-01] — Net 30 from issue date

------------------------------------------------------------------
DESCRIPTION                             QTY      RATE      AMOUNT
------------------------------------------------------------------
Milestone 2 — [Templates and CMS:        1  $[6,000.00] $[6,000.00]
9 page templates built to the
approved designs, CMS models and
editor roles configured, content
migrated from [old CMS], staging
deployed and handed over for UAT.
Accepted by [name] on [2026-02-27].]

Approved change request CR-002 —        14    $[110.00] $[1,540.00]
[multi-language routing, not in the
original SOW. Estimated 12–16 hours,
approved in writing on [2026-02-11].]

Third-party services, billed at cost     1    $[214.00]   $[214.00]
[hosting [plan] 12 months $[144.00];
error monitoring 12 months $[70.00].
Purchased in [Client]'s name where
possible; receipts attached; renews
annually on [2027-02-20].]
------------------------------------------------------------------
                                     Subtotal        $[7,754.00]
                        [Sales tax / VAT @ 0%]           $[0.00]
------------------------------------------------------------------
                                   AMOUNT DUE        $[7,754.00]
------------------------------------------------------------------

MILESTONE SCHEDULE (for reference)
  M1  Discovery, architecture, environments   $[4,000.00]  PAID [2026-01-20]
  M2  Templates and CMS                       $[6,000.00]  THIS INVOICE
  M3  Launch, redirects, analytics, handover  $[5,000.00]  Due on acceptance

WARRANTY
For [30] days after production launch I will fix, at no charge, any
defect where the delivered software does not behave as the accepted
specification describes, on the supported browsers listed in the SOW.

Not covered by the warranty, and billable at $[110.00] per hour: new or
changed requirements; content and copy edits; breakage caused by changes
made by [Client] or another supplier; failures of third-party services
and APIs; browsers or devices outside the agreed support matrix; and
anything caused by declining a recommended update.

CODE AND CREDENTIALS
On receipt of payment in full, [Client] owns the custom application code
written for this project, and I will transfer the repository, the
production credentials, and the deployment configuration.

Open-source and third-party components remain under their own licences.
Any pre-existing tooling, libraries, or boilerplate of mine that is
included is licensed to [Client] perpetually, worldwide, and royalty
free for use in this project — but is not assigned.

PAYMENT TERMS
1. Payment is due in full by [2026-04-01], being 30 days from issue.

2. Estimates and overage. Hourly work is estimated in a written change
   request before it starts. If an estimate is going to be exceeded by
   more than [10]%, I stop and get written approval before continuing.

3. Late payment. Balances outstanding after the due date accrue interest
   at [1.5]% per month, or the maximum permitted by law in
   [jurisdiction] if lower. If an invoice passes [14] days overdue I may
   pause work and hold the next deployment until it is settled.

4. Client dependencies. Time spent waiting on content, access, or
   approvals moves the schedule. Where a delay of more than [10]
   business days requires me to re-familiarise with the codebase or
   re-book time, that is billed at the hourly rate above.

5. Disputes. Raise a disputed line in writing within [7] days of issue.
   All other lines remain payable on the original due date.

HOW TO PAY
Bank transfer: [Account name] · [Account number] · [Routing/IBAN]
Reference: [INV-0003]
Card or online payment: [payment link]

Thank you — [Your name]

This is a practical starting point rather than legal advice. Terms like late fees and payment periods are regulated differently depending on where you and your client are, so check anything you plan to enforce.

Send this invoice from PaloWorks, with a Pay button

Fill in the card at the top and what you typed becomes a numbered draft invoice with a PDF and a share link. Your client sees nothing until you press Send. Connect Stripe and the link carries a Pay button; reminders go out if it runs late.

Free for one client and three active projects. Pro is $19/mo for unlimited clients and projects.

Use this with