How do I collect an unpaid invoice from a web design or development client?

How to collect an unpaid web design or development invoice

Short answer

Web designers and developers have a technical leverage point: access to the codebase, hosting, and domain configuration. Withholding access to a website before final payment is legal and common. Once the site goes live, that leverage disappears — which is why milestone billing and payment-before-launch clauses are standard in professional web contracts.

The standard protection in a web contract is straightforward: the client doesn't get access to the production environment, domain credentials, or final code repository until payment is in full (or per the milestone schedule). Building on your own hosting before transfer makes the leverage clear. Building directly on the client's hosting account is messier, since they may already have access.

A payment-before-launch clause is the simplest protection: "Final payment is due before the website is transferred to the client's server or made publicly accessible." Enforceable, accepted by professional clients, and a useful yellow flag if a client specifically pushes back on it.

If a client takes a site live before paying (for example, pointing DNS themselves after you set up the staging environment) you're in a gray area. The legal claim for the unpaid work is intact. Technical remedies like taking the site offline or revoking API keys carry real legal risk if they harm the client's business. A formal demand letter followed by small claims court is the better path. Copyright may also apply to original code you wrote, though software copyright in web work is genuinely complex territory. Not legal advice.

After an invoice goes overdue: call at day 3, written demand at day 14, small claims court or a collections agency at day 30 for unresponsive clients. If the client disputes scope or quality, document the original agreement, any change orders, and your delivery against that agreement in writing. A client who accepted a working site and then stopped paying has a weak dispute position if the contract clearly defined the deliverables.

Stop chasing invoices manually

Connect QuickBooks, Xero, FreshBooks, Square, Zoho Books, or Jobber once. Syntharra calls every overdue invoice on day 3, compliantly, and you pay 10% only on what gets recovered.

Connect your books