WaffleInvoice Blog
Practical invoicing tips for freelancers and service businesses.
Blog Post
Free Invoice Template for Web Developers and Freelance Coders
Free invoice template for freelance web developers. Covers hourly billing, project milestones, retainers, and late fees. Start free.
Invoicing as a Freelance Web Developer
Freelance developers often spend weeks building something complex, then send a one-line invoice that says "Website development - $4,500" and wonder why clients ask a thousand questions before paying. The invoice is the last thing standing between you and getting paid. It needs to be clear enough that an accounts payable person who has no idea what you built can process it without calling you.
Here's what a proper developer invoice looks like, how to handle the common billing structures, and what to do when clients are slow to pay.
What Every Developer Invoice Must Include
The basics apply to every invoice regardless of industry, but developers have some specific fields that matter.
Your Business Information
Your name or LLC name, email, phone, and address. If you work under a business name like "Redwood Dev Studio" rather than your personal name, use the business name consistently. Clients paying you $10,000+ projects expect you to look like a business, not a person with a side hustle.
Client and Project Details
Client company name, billing contact (not just a generic email), and the project name or identifier. For agencies or clients with multiple active projects, the project name on the invoice prevents "which project is this for?" confusion. Something like "Invoice #024 - Acme Corp E-commerce Redesign" does the job.
Invoice Number and Dates
Sequential invoice number, invoice date, and due date. For milestone billing, include the milestone name and number: "Milestone 2 of 4 - Back-end API Development."
Line Items That Actually Describe the Work
This is where most developer invoices fail. "Development work" is not a line item. Your client's accounting department doesn't know what that means, your client may not fully remember what they asked for three months ago, and it gives dispute-prone clients something to argue about.
Better approach:
- "Front-end development - product listing pages, cart, checkout (React) - 18 hours x $95/hr = $1,710"
- "Stripe payment integration - test and production environments - 4 hours x $95/hr = $380"
- "Mobile responsive layout and cross-browser testing - 6 hours x $95/hr = $570"
Specific line items make the invoice easier to approve because clients can match the work to what they asked for. They also protect you if a client later claims you didn't do something.
Common Billing Structures for Web Developers
Hourly Billing
Hourly is the most flexible billing model and the most common for ongoing work or projects with unclear scope. Rates for freelance web developers in the US range from $50/hour for newer developers to $200+/hour for specialized work (security, performance optimization, complex architecture).
For hourly billing, your invoice should show:
- Total hours worked in the billing period
- Your hourly rate
- A breakdown by task or project area (optional but appreciated)
- The date range covered
Some developers include a time log as an attachment. Others summarize at the task level. Either works - just make sure the total hours and rate are clearly visible.
Fixed-Price Project Billing
Fixed-price projects typically use milestone billing: you agree on total project cost, then split it into payments tied to deliverables. A common split for a $6,000 project:
- 25% ($1,500) at project kickoff
- 25% ($1,500) at design approval
- 25% ($1,500) at development completion (staging site ready)
- 25% ($1,500) at launch and final delivery
Invoice each milestone as you hit it, not all at the end. Waiting until project completion to send your first invoice is how you end up with 90-day payment cycles on work you finished months ago.
Monthly Retainer
Retainers are common for ongoing maintenance, updates, and support. You agree to be available for a set number of hours per month at a fixed rate - say, 10 hours/month at $100/hr for $1,000/month.
Invoice at the start of each month for that month's retainer. Note what's included: "Monthly retainer - 10 hours development, priority support response, hosting monitoring." Also state your policy on unused hours (most developers don't roll them over) and what happens if a client goes over their allotted hours.
Invoicing for Scope Changes
Scope creep is the developer's silent killer. A client asks for "one small change" that turns into three days of work. If you don't invoice for it, you've worked for free. If you invoice for it without warning, the client is surprised and often unhappy.
The solution: document scope changes as change orders before you do the work, then reference them on your invoice. "Change order #2 - Additional admin user permissions and reporting dashboard - 6 hours x $95/hr = $570. Approved by client on June 10."
The approval date matters. It shows the client agreed to this work and this rate before you did it. That kills most disputes before they start.
See our guide on invoices vs. estimates for how to handle change orders and quotes before starting new work.
Late Fees and Payment Terms
Freelance developers are routinely paid late. A 2022 survey found that 71% of freelancers reported clients paying late, and developers were among the most affected. You did the work. The code is deployed. The client is using it. And somehow payment is still 45 days out.
Standard payment terms for freelance developers are Net 15 for smaller invoices and Net 30 for larger projects. Net 30 is the max you should accept without a compelling reason. Net 60 and Net 90 are for big corporations with massive contracts - and even then, you can often negotiate shorter terms.
Put a late fee on every invoice: 1.5% per month on unpaid balances after the due date is common and legally enforceable in most states. More important than the fee amount is that you actually enforce it. Clients who know you'll charge a late fee tend to pay on time. Clients who know you won't say anything pay whenever they feel like it. Check out the detailed guide on how to charge a late fee for the exact process.
Getting Your First Invoice Payment Before Starting Work
For fixed-price projects, requiring a deposit is standard and expected. Clients who push back hard on a 25% deposit before you start are clients worth thinking twice about. The deposit serves two purposes: it funds your time upfront, and it filters out uncommitted clients who would have wasted your time anyway.
State your deposit requirement clearly: "Projects over $2,000 require a 25% deposit before work begins. Deposits are non-refundable if the project is cancelled after kickoff." This is not aggressive. It's normal business practice. Any professional developer or agency operates this way.
Invoicing for Hosting and Third-Party Services
If you're managing hosting, domain renewals, or third-party service subscriptions on behalf of clients, invoice for these separately and clearly. "Annual domain renewal - client.com via Namecheap - $18.99" should appear as its own line item, ideally at cost or with a small markup if you're managing it.
Don't absorb third-party costs into your hourly rate and don't forget to invoice for them. A $100/year hosting fee forgotten across 20 clients adds up to $2,000 you're leaving on the table annually.
Tools for Developer Invoicing
You can start with a template - download a free Word invoice template and customize it with your rates and branding. This works fine for a handful of clients.
For managing 10+ clients with a mix of hourly, milestone, and retainer billing, dedicated invoicing software saves significant time. WaffleInvoice is free for freelancers and handles all three billing structures. You can send a milestone invoice, track it as paid, and move to the next milestone without keeping a manual spreadsheet. The free tier includes unlimited invoices, client management, and payment tracking - no credit card needed to start.
Free invoice tools also handle the professional touches that matter for larger clients: branded PDFs, automatic late payment reminders, and payment links that let clients pay by card directly from the invoice. For most freelance developers, that's everything needed to run clean billing without an accountant. See the free invoice generator to create your first invoice in under two minutes.
Setting Up Payment Terms That Work
The best payment terms are the ones your clients actually follow. A few guidelines:
- State payment terms on every invoice and in your project contract
- Send invoices immediately when milestones are hit, not at the end of the month
- Follow up 3-5 days before the due date with a brief reminder
- Stop work if payment is 15+ days overdue - most contracts allow this
- Require a deposit for all new clients before starting any work
For the full framework, see our guide on payment terms for freelancers.
Frequently Asked Questions
Quick answers to the questions readers ask most about this topic.
What should a freelance web developer invoice include?
How do web developers invoice for project-based work?
What payment terms should freelance developers use?
How should I invoice for hourly web development work?
Can I invoice for scope changes a client requested?
Ready to improve your invoicing?
WaffleInvoice makes it easy to invoice faster, get paid on time, and manage your cash flow. Start free today.
Sign Up FreeMore from the blog
Free Invoice Template for Freelance Writers and Editors
A free invoice template built for freelance writers and editors. Covers per-word, per-hour, and project-based billing. Fill online or download. Start free.
Canva Invoice Template: How to Create an Invoice in Canva (Free)
Learn how to make a professional invoice in Canva using a free template. Step-by-step guide, plus a faster alternative for sending and getting paid.
How to Invoice as a Carpenter (Free Template Included)
Carpenter invoicing guide covering what to include, how to handle materials vs. labor, and deposit terms. Free template included. Start free.
Compare WaffleInvoice head-to-head
Honest side-by-side comparisons against the tools most often mentioned alongside WaffleInvoice.
Comparison
WaffleInvoice vs FreshBooks
Side-by-side feature breakdown, pricing, and honest pros and cons.
Comparison
WaffleInvoice vs QuickBooks
Side-by-side feature breakdown, pricing, and honest pros and cons.
Comparison
WaffleInvoice vs Wave
Side-by-side feature breakdown, pricing, and honest pros and cons.
