
How to Invoice as a Web Developer: Billing Models, Milestones & Tax
Invoicing Mastery Series
This guide is part of a comprehensive series. Explore all 33 topics:
Complete guide to web development invoicing — hourly vs fixed, milestone billing, hosting pass-throughs, and international tax compliance. This guide gives the answer first, then covers required invoice fields, workflow choices, compliance checks, common mistakes, and practical next steps so readers can act without comparing multiple sources.
Web Development Invoicing: Unique Challenges
Web development projects can range from a $500 WordPress site to a $500,000 enterprise platform. Your invoicing approach needs to scale with the project — and handle the unique aspects of software billing: milestone deliverables, ongoing maintenance, hosting pass-throughs, and international clients.
Web development projects can range from a $500 WordPress site to a $500,000 enterprise platform. Your invoicing approach needs to scale with the project — and handle the unique aspects of software billing: milestone deliverables, ongoing maintenance, hosting pass-throughs, and international clients.
Whether you build custom applications, Shopify stores, WordPress sites, or SaaS products, this guide covers every aspect of professional development invoicing.
Billing Models for Web Developers
Hourly Billing
Best for: maintenance work, bug fixes, consulting, and scope-uncertain projects. Track every minute with time tracking tools. Your invoice lists each task, date, hours, and rate. Group by project phase (front-end, back-end, DevOps) for clarity.
Fixed-Price / Project-Based
Best for: defined-scope projects (landing pages, portfolio sites, specific features). Define the scope carefully upfront. Your invoice references the project agreement and lists the total fee, broken into milestones if applicable.
Milestone Billing
The gold standard for larger web projects. Break the project into phases and invoice at each milestone:
- Discovery & planning (20-30%) — requirements, wireframes, architecture
- Design approval (20%) — UI/UX mockups approved
- Development complete (30-40%) — functional build on staging
- Launch & handover (10-20%) — deployment, training, documentation
Invoicemonk's milestone billing feature makes it easy to track and invoice each phase.
Retainer / Monthly Maintenance
For ongoing clients: a fixed monthly fee covering X hours of updates, security patches, and support. Set up recurring invoices and track hours against the allocation.
What to Include on a Development Invoice
Project name and milestone reference — "E-commerce Platform — Phase 2: Back-End Development" Detailed task breakdown — front-end, back-end, database, API integration, testing
- Project name and milestone reference — "E-commerce Platform — Phase 2: Back-End Development"
- Detailed task breakdown — front-end, back-end, database, API integration, testing
- Hours or deliverables — depending on billing model
- Technology stack — helps justify complexity and rates
- Pass-through costs — hosting, domain registration, premium plugins, API subscriptions
- IP and source code clause — confirm code ownership transfers on payment
- Warranty period — "30-day bug fix warranty included from launch date"
Handling Pass-Through Costs
Developers often purchase services on behalf of clients:
Developers often purchase services on behalf of clients:
- Hosting (AWS, Vercel, DigitalOcean) — invoice at cost or with a management markup
- Domain registration — invoice annually as a separate line item
- Premium themes/plugins — pass through at cost with the receipt attached
- API subscriptions (Stripe, SendGrid, etc.) — transfer accounts to client where possible
Label these clearly as "Pass-Through: [Service Name]" to distinguish from your fees.
International Tax for Web Developers
Web development is frequently cross-border, which creates tax complexity:
Web development is frequently cross-border, which creates tax complexity:
- EU to non-EU client — reverse charge mechanism applies; no VAT charged
- UK — 20% VAT on domestic sales; zero-rated for exports
- India — 18% GST on software services; export of services is zero-rated
- US — No federal sales tax on services, but some states are ambiguous on SaaS/digital services
- Nigeria — 7.5% VAT with FIRS compliance
Use Invoicemonk's multi-currency invoicing to bill international clients in their currency.
Common Mistakes Web Developers Make When Invoicing
Common Mistakes Web Developers Make When Invoicing includes: Not invoicing for scope changes — document every change request and invoice it Forgetting to invoice for meetings — discovery calls, status updates, and client training are billable time
- Not invoicing for scope changes — document every change request and invoice it
- Forgetting to invoice for meetings — discovery calls, status updates, and client training are billable time
- Not defining "done" — specify acceptance criteria for each milestone
- Giving away hosting management — charge for ongoing server management and updates
- Not using milestone billing — waiting until project end to invoice creates cash flow problems
Frequently Asked Questions
Should I charge for discovery and planning?
Yes. Discovery is valuable work.
Yes. Discovery is valuable work. Either charge a separate discovery phase fee or include it as the first milestone (20-30% of total project cost). Never do unpaid discovery — it devalues your expertise.
How do I handle clients who pay late on milestone invoices?
Include clear payment terms in your contract: "Work on the next phase begins upon receipt of payment for the current phase. " Use Invoicemonk's payment reminders to automate follow-ups.
Include clear payment terms in your contract: "Work on the next phase begins upon receipt of payment for the current phase." Use Invoicemonk's payment reminders to automate follow-ups.
Should I transfer source code before final payment?
No. Deploy to a staging environment for approval.
No. Deploy to a staging environment for approval. Transfer source code and production access only after full payment. Include this in your invoice terms.
How do I invoice for hosting I manage?
Two options: (1) Client pays hosting provider directly — you invoice for management time. (2) You pay hosting and invoice the client monthly with a management markup (typically 15-25%).
Two options: (1) Client pays hosting provider directly — you invoice for management time. (2) You pay hosting and invoice the client monthly with a management markup (typically 15-25%).
What rate should I charge?
Use the freelancer rate calculator to determine your ideal hourly or project rate based on your expenses, desired income, and utilization rate.
Use the freelancer rate calculator to determine your ideal hourly or project rate based on your expenses, desired income, and utilization rate.
More in this series (33 articles)
From this series
Master the art of professional invoicing to get paid faster and look more professional.
Related Topics
Digital Marketing, SEO Specialist, Content Creator & Product Professional
Olayinka is a digital marketer, content creator, growth and SEO specialist with 10+ years helping businesses in Nigeria, the UK, the US, Australia, and Dubai achieve their goals online.




