DemandPay.co

How Web Developers Can Use a Demand Letter to Get Paid

Quick Answer: When a client refuses to pay for web development work, your demand letter carries serious weight because you likely control the code, hosting access, and domain configuration. Include the development agreement, a detailed list of deliverables, and state that ownership of code transfers only upon full payment. Most web development disputes of $3,000-$20,000 resolve within 14-21 days.

Why Web Developers Face Payment Disputes

Web development projects are notorious for scope creep, miscommunication about deliverables, and clients who underestimate the complexity of the work. The disconnect between what a client sees (a website) and what was built (thousands of lines of code, database architecture, integrations) leads to frequent disputes about value and pricing.

The average unpaid web development invoice ranges from $3,000 for simple sites to $20,000 or more for complex applications. Developers who work as freelancers or small agencies face the highest risk because they often lack the legal resources of larger firms.

Common Payment Disputes for Web Developers

  • Scope creep without additional payment: The project grew significantly beyond the original specification, and the client refuses to pay for the additional features.
  • Launch delay blame: The project took longer than expected (often due to client delays in providing content or feedback), and the client uses this as a reason to withhold payment.
  • Competitor comparison: The client found a cheaper developer or template solution and wants to abandon the project without paying for completed work.
  • Functionality disputes: The client claims features do not work as expected, even when they match the agreed specification.
  • Ongoing maintenance nonpayment: The client stops paying monthly retainer fees but continues to expect support and updates.

What to Include in a Web Development Demand Letter

Project Agreement and Specification

Reference your development contract, proposal, or statement of work. Include the original scope, agreed-upon features, technology stack, and payment terms. If there were change orders or scope modifications, list each one with the date approved and the additional cost.

Development Work Completed

Detail what you built:

  • Front-end development (pages, responsive design, UI components)
  • Back-end development (server-side code, API integrations, database design)
  • CMS setup and configuration
  • E-commerce functionality
  • Third-party integrations (payment processors, email services, analytics)
  • Testing and quality assurance
  • Deployment and server configuration

Include approximate hours spent on each phase if you track time.

Code Ownership and Access

This is your primary leverage. State clearly:

  • You retain ownership of all source code until full payment
  • The client's license to use the code is contingent on payment
  • You control the hosting environment, deployment pipeline, or domain DNS if applicable
  • You will not transfer code repositories, hosting credentials, or domain management until the account is settled

Financial Summary

Break down the amount owed:

  • Original contract amount and payment schedule
  • Payments received to date
  • Additional work beyond the original scope
  • Late fees or interest per contract terms
  • Total outstanding balance

Deadline and Consequences

Set a 14-day deadline. State that you will:

  • Withhold code transfer and hosting access
  • Potentially take down the development or staging site
  • File in small claims court for the outstanding balance
  • Report to relevant freelance platforms if the engagement originated there

Timeline Expectations

  • Day 1: Send demand letter via email and certified mail
  • Days 3-7: Client typically responds, especially if their website is hosted on your infrastructure
  • Day 14: Payment deadline
  • Days 14-21: Final notice period
  • Day 30: File small claims court claim

When to Escalate

Hosting and Access Leverage

If you host the client's website or control their deployment, you have significant leverage. Your contract should specify what happens to hosting if the account is delinquent. Many development contracts include a clause allowing the developer to suspend hosting for nonpayment after written notice.

Small Claims Court

Web development disputes often fall within small claims limits. Bring your contract, time logs, deliverables documentation, communication records, and a demonstration of the completed work.

Freelance Platform Disputes

If the project originated on a platform like Upwork, Toptal, or similar, file a dispute through the platform's resolution process. Many platforms offer payment protection for milestone-based contracts.

Preventing Future Issues

  • Use milestone-based payments: Break the project into phases with payment due at each milestone before proceeding
  • Require 30-50% upfront before writing any code
  • Document scope changes in writing: No verbal change orders
  • Host on your infrastructure until final payment, then migrate
  • Keep detailed time logs: Tools like Harvest, Toggl, or even simple spreadsheets provide evidence
  • Include an IP assignment clause: Explicitly state that intellectual property transfers only upon full payment

Put It in Writing Today

DemandPay generates a letter specific to your case and mails it for you. Takes about 5 minutes.

From $39. Preview before you pay.

Frequently Asked Questions

Can I take down a website I built if the client does not pay?

This depends on your contract and the hosting arrangement. If the site is hosted on your server or your hosting account, most contracts allow you to suspend service for nonpayment after providing written notice (your demand letter serves this purpose). If the site is hosted on the client's own hosting account, taking it down could create legal liability for you. The safer approach is to withhold further updates, support, and code transfer while pursuing the debt through legal channels.

What if the client says the website does not work as specified?

Your demand letter should differentiate between bugs (your responsibility to fix under the contract) and scope disputes (the client wanting features not included in the agreement). Address any specific complaints, offer to fix documented bugs within a reasonable timeframe, but maintain that payment is due for the agreed scope of work. If the client approved staging or development versions before the dispute arose, reference those approvals as evidence of acceptance.

Does the client own the code if they paid a deposit but not the final balance?

No. Unless your contract explicitly states otherwise, a partial payment does not transfer code ownership. Standard practice in web development is that intellectual property rights transfer to the client only upon receipt of full payment. Your demand letter should state this clearly. The deposit secured your availability and covered initial development costs, but the code remains your property until the contract is fulfilled.