On this page

Blog

Invoicing for WordPress Developers: How to Bill for Themes, Plugins & Maintenance

WordPress development spans an enormous range of work: custom theme builds, plugin development, WooCommerce store setup, page builder customization (Elementor, […]

WordPress development spans an enormous range of work: custom theme builds, plugin development, WooCommerce store setup, page builder customization (Elementor, Bricks, Divi), performance optimization, security hardening, server migration, and ongoing maintenance. Each type of work has different billing dynamics, and your invoicing for WordPress developers needs to handle all of them cleanly.

This guide covers how to invoice for every common WordPress project type, the billing models that work best for WP developers, and the specific line items and structures that keep your invoices clear and your clients happy.

WordPress Development Billing Models

Fixed-Price Projects

The standard for defined-scope WordPress work: a new theme build, a WooCommerce store, a landing page, or a site migration. You agree on a total price upfront, and the scope document defines exactly what’s included.

Common fixed-price WordPress projects and typical ranges:

  • Custom theme development: $3,000–$15,000+
  • WooCommerce store setup: $2,000–$10,000+
  • Landing page (Elementor/Bricks): $500–$2,500
  • Site migration (host to host): $300–$1,500
  • Performance optimization: $500–$2,000
  • Security audit + hardening: $500–$2,000

Use milestone billing for projects over $2,000. See our payment terms guide for milestone structures.

Hourly Billing

Best for ongoing support, bug fixes, feature additions, and work where scope is fluid. WordPress hourly rates typically range from $50–$150/hr depending on specialization and experience. Track time per task and invoice bi-weekly or monthly.

Use your PM tool (Asana, Trello) to track tasks. With DevInvoice’s Asana integration, completed tasks convert directly to invoice line items.

Monthly Maintenance Retainers

The most profitable and predictable billing model for WordPress developers. A fixed monthly fee covers a defined scope of maintenance: updates, security monitoring, backups, uptime checks, and a set number of development hours.

Typical WordPress maintenance retainer tiers:

Tier Monthly Fee Included Hours Scope
Basic $150–$300 2–3 hrs Core/plugin/theme updates, weekly backups, uptime monitoring
Standard $400–$800 5–10 hrs Above + security scanning, performance monitoring, minor fixes
Premium $1,000–$2,000 15–20 hrs Above + priority support, content updates, monthly reporting

Automate retainer billing with recurring invoices — generate and send the invoice automatically on the 1st of each month.

Hosting Management Fee

If you manage hosting for clients (server setup, DNS, SSL, CDN configuration, performance tuning), bill this as a separate monthly line item or bundle it into the maintenance retainer. Typical range: $25–$100/month on top of the hosting cost.

How to Structure WordPress Development Invoices

Building on the general invoice creation guide, here’s how to structure invoices for common WordPress scenarios:

Custom Theme Build Invoice

Break the project into clear phases:

Description Qty Unit Rate Amount
Discovery & Requirements Workshop 4 hours $95 $380
UI/UX Design — Homepage + 3 Inner Pages 1 project $2,200 $2,200
Theme Development — Custom PHP/HTML/CSS 32 hours $95 $3,040
WooCommerce Integration (10 products) 8 hours $95 $760
Responsive Testing — Mobile/Tablet/Desktop 4 hours $85 $340
Performance Optimization (PageSpeed) 3 hours $95 $285
Content Migration — 15 Pages 5 hours $75 $375
Deployment + DNS + SSL Configuration 2 hours $95 $190
[CHANGE ORDER] Additional Contact Form 2 hours $110 $220
Less: 40% Deposit Received (1/15/2026) -$3,236

Monthly Maintenance Invoice

Show the retainer fee plus an hours breakdown for transparency:

  • Monthly Maintenance Retainer — Standard Tier: $600
  • Hours Breakdown: WordPress core update (0.5 hr), Plugin updates × 12 (1.5 hr), Security scan + report (0.5 hr), Backup verification (0.5 hr), Speed check + image optimization (1 hr), Client-requested text updates (1.5 hr)
  • Overage: Homepage banner redesign (out of scope) — 2 hrs @ $110/hr = $220

WordPress-Specific Line Items to Include

These line items are unique to WordPress development and should appear on your invoices when applicable:

  • Plugin license costs: If you purchase premium plugins for the client (ACF Pro, WP Rocket, Elementor Pro), pass through at cost or include in the project fee. List separately for transparency.
  • Theme license: If using a premium theme as a base (Astra Pro, GeneratePress Premium), include the license cost as a line item.
  • Hosting setup/migration: Server provisioning, cPanel configuration, DNS propagation, and SSL setup are billable tasks.
  • Staging environment: Setting up and managing a staging site for testing before deployment.
  • Performance baseline: Before/after PageSpeed scores documenting the optimization work performed.
  • Security hardening: Wordfence/Sucuri configuration, file permissions, wp-config hardening, login protection.
  • Content migration: Moving content from old CMS (Joomla, Wix, Squarespace) to WordPress. Bill per page or per hour.

Handling Plugin Conflicts and Emergency Fixes

WordPress plugin conflicts and emergency fixes are some of the most urgent (and profitable) work you’ll do. Here’s how to bill for them:

  • Emergency rate: Charge 1.5–2x your standard rate for after-hours or emergency work. “Emergency site recovery (after-hours): 3 hrs @ $190/hr = $570.”
  • Plugin conflict debugging: Bill as hourly work. Document the conflict, the diagnostic steps, and the resolution in your line item description.
  • Hacked site recovery: Bill as a fixed-fee emergency service ($500–$2,000) or hourly. Include malware removal, file cleanup, security hardening, and Google Search Console resubmission.

For managing out-of-scope requests that arise during WordPress projects, see our scope creep guide.

Converting WordPress Clients from Projects to Retainers

Every completed WordPress project is an opportunity to sell a maintenance retainer. Here’s the transition approach:

  1. Plant the seed during the project. Mention ongoing maintenance needs naturally: “WordPress plugins need monthly updates to stay secure. After launch, I offer maintenance packages that handle this automatically.”
  2. Present the retainer proposal at project delivery. When you deliver the site, include a one-page retainer proposal alongside the final invoice. The client is excited about their new site and receptive to protecting the investment.
  3. Start with Basic, upgrade over time. A $200/month Basic retainer is an easy yes. As the client sees the value (and requests more work), you upgrade to Standard or Premium.
  4. Automate the billing. Set up a recurring invoice that generates on the 1st of each month. Zero manual effort for predictable recurring revenue.

10 Invoicing Tips for WordPress Developers

  1. Itemize by project phase, not by task. “Frontend Development” as a phase is clearer than 30 individual task line items.
  2. Include hosting and plugin costs as pass-through. List third-party costs separately so the client sees what goes to you vs. vendors.
  3. Document PageSpeed improvements. In the invoice notes, include before/after scores: “PageSpeed Mobile: 34 → 89.” This justifies the optimization fee.
  4. Reference the staging site URL. For review milestones, include the staging URL in the invoice notes so the client can verify what they’re approving.
  5. Bill maintenance in advance. Retainers should be invoiced at the start of the month for the upcoming period, not at the end for work already done.
  6. Show overage hours clearly. If retainer hours are exceeded, label overage work distinctly with the premium rate.
  7. Offer annual retainer discounts. 12-month prepaid retainers at a 10–15% discount lock in revenue and reduce client churn.
  8. Use proper invoice numbering. Format: CLIENTNAME-WP-001 for easy project reference.
  9. Embed Stripe payment links. WordPress clients range from tech-savvy to complete beginners. One-click payment works for everyone.
  10. Send the retainer proposal with the final invoice. The best time to sell maintenance is when the client is thrilled with their new site.

Frequently Asked Questions

How much should I charge for WordPress maintenance?

$150–$300/month for basic (updates, backups, monitoring), $400–$800/month for standard (above + security, performance, minor fixes), $1,000–$2,000/month for premium (above + priority support, content updates, reporting). Price based on the scope and value to the client, not just hours.

Should I invoice for plugin updates?

Plugin updates should be included in your maintenance retainer, not billed separately. The retainer covers the ongoing health of the site, and updates are a core part of that. Only bill updates separately if the client doesn’t have a maintenance agreement.

How do I handle a client who wants unlimited changes on their retainer?

Define the retainer scope clearly: “Up to 5 hours of development support per month.” Anything beyond that is overage at your premium rate. Show the hours breakdown on each monthly invoice so the client sees how the time is allocated.

Should I charge separately for hosting management?

Yes, unless it’s bundled into a premium retainer. Hosting management (server maintenance, DNS, SSL, CDN, performance tuning) is distinct work from WordPress development. $25–$100/month on top of the hosting cost is standard.

What’s the best invoicing tool for WordPress developers?

DevInvoice is purpose-built for developers with Asana integration for task-to-invoice conversion, Stripe payments, recurring invoices for retainers, and multi-currency support for international clients. Free to start.

Invoice Like a Professional WordPress Developer

Create your free WordPress development invoice with DevInvoice

Frequently Asked Questions

DevInvoice Team

Full stack developer and founder of DevInvoice. Building tools that help freelancers spend less time on admin and more time on the work they love.

Related articles

Scroll to Top