Templates · Dev project invoicing

A milestone-based invoice tracker for web developers

A web build is rarely one invoice — you bill at discovery, design sign-off, build, and launch, plus the odd change request and a hosting or domain pass-through. When those invoices are scattered, it's easy to launch a site with a milestone still unpaid. Cash Workspace gives you one place to record each project's milestone invoices, their status, and the signed scope behind them.

The problem

Why milestone billing gets confusing

Each milestone is its own invoice with its own trigger — a sign-off, a launch date, an approved change request — and they don't always get billed in order. Without one place to track them, a milestone slips.

  • Design sign-off happens but the matching invoice never goes out.
  • Hosting and domain costs you fronted aren't billed back as a pass-through line.
  • Change requests pile up un-invoiced because they weren't in the original scope.
  • You can't tell whether a project is on a fixed fee or hourly when you go to bill.
  • A site launches while the launch-milestone invoice is still unpaid.

The workflow

Track invoices across the build

Create a project record, then record an invoice at each milestone with its status and the scope it ties to.

  1. 1

    Set up the project record

    Create a record per project, noting whether it's fixed-fee or hourly and attaching the signed SOW and proposal to the client.

  2. 2

    List the milestones

    Note the milestones you'll bill — discovery, design sign-off, build, launch — so each one has a place to land.

  3. 3

    Record each milestone invoice

    When a milestone is reached, record its invoice with amount, date, and due date, and set the status to sent.

  4. 4

    Add pass-throughs and changes

    Record hosting or domain pass-through invoices and any change-request invoices against the same project.

  5. 5

    Update status on payment

    Mark each milestone invoice paid as it settles so the project's outstanding balance is clear.

  6. 6

    Check before launch

    Before going live, review the project record so no milestone invoice is left unpaid.

Record structure

What to record for each milestone invoice

These fields keep a multi-invoice project readable from kickoff to launch.

Project
The build this invoice belongs to, kept as a consistent client/project tag.
Milestone
Discovery, design sign-off, build, launch, or a change request.
Billing basis
Fixed-fee or hourly, so you bill the milestone the right way.
Hours
For hourly milestones, the hours noted so the amount is traceable.
Pass-through line
Hosting, domain, or third-party costs re-billed to the client.
Amount
The invoice total and currency.
Due date
When the milestone invoice is due, so overdue ones surface.
Status
Draft, sent, partially paid, paid, or overdue.

Example setup

An example project setup

One way to organize a build inside your workspace.

Acme site rebuild

All milestone invoices — discovery, design, build, launch — with status, plus the SOW and proposal on the client record.

Pass-throughs

Hosting and domain invoices you fronted, recorded against each project to bill back.

Change requests

Out-of-scope work recorded as separate invoices tied to the originating project.

Signed scopes

The SOW and signed proposal attached per client so scope and invoices stay together.

Common mistakes

Mistakes to avoid

  • Launching a site before checking the launch-milestone invoice is paid.
  • Eating hosting and domain costs instead of recording them as pass-throughs.
  • Doing change-request work without recording a separate invoice for it.
  • Mixing fixed-fee and hourly milestones without noting the basis.
  • Tracking milestones in a project tool but billing from a disconnected list.

How it helps

How Cash Workspace helps

Milestones in one list

Record every milestone invoice for a project so you can see what's billed and what's outstanding.

Scope attached

Attach the SOW and signed proposal to the client so each invoice ties back to agreed scope.

Status you can trust

Mark each milestone invoice sent, paid, or overdue and update it as the build progresses.

FAQ

Web developer invoice tracking FAQ

How do I bill a project across milestones?
Create one project record and record a separate invoice at each milestone — discovery, design sign-off, build, launch — each with its own amount, due date, and status, so the whole build stays reconcilable.
How do I handle hosting or domain costs I paid for?
Record them as pass-through line invoices against the project. You enter the amounts yourself; Cash Workspace keeps the cost record beside the project's invoices.
Can I track change requests separately?
Yes. Record each out-of-scope change as its own invoice tied to the project, so extra work doesn't get lost against the original fixed fee.

Organizing help — not tax, accounting, or legal guidance

Cash Workspace is a free workspace for organizing invoices, expenses, receipts, clients, and documents. This page is organizing guidance only — not tax, accounting, legal, or bookkeeping guidance. Cash Workspace does not connect to your bank, does not scan or read your receipts for you, and does not move or collect payments. Whether an expense is deductible depends on your situation, so confirm it with a qualified accountant or tax professional.

Track every milestone in one place

Start a free workspace and record each build's milestone invoices, pass-throughs, and change requests so nothing ships unpaid.