How to Create an Invoice in WordPress (Step by Step)
You don’t need accounting software or a SaaS subscription to send a professional invoice. If you already run a WordPress site, you can create, send, and get paid on invoices directly from wp-admin. Here’s the full workflow using the free DuePress plugin.
What you need
- A WordPress site (6.4 or newer) on PHP 8.2+
- The DuePress plugin (free)
- A Stripe or Square account if you want clients to pay online
Step 1 — Install DuePress
In wp-admin go to Plugins → Add New, search for DuePress, install and activate. No WooCommerce required — DuePress is standalone (though if you run WooCommerce, DuePress will reuse its country list and any existing Stripe or Square configuration).
Step 2 — Add your client
Create a client record with their name, email, and billing details. Every invoice you send them, and every payment they make, is tracked against this record — so you always know who owes what.
Step 3 — Build the invoice
Add line items with quantities and rates. If you want money up front, request a deposit — DuePress supports partial and deposit payments out of the box, and tracks the remaining balance automatically.
Step 4 — Send it
Send the invoice by email straight from WordPress. Your client gets a link, opens the invoice, and pays by card — Stripe and Square are both supported, including Apple Pay and Google Pay. The invoice status updates the moment payment lands.
Why do this in WordPress at all?
Two reasons: cost and ownership. SaaS invoicing tools charge monthly forever; a plugin on your own site doesn’t. And the invoice data — clients, amounts, history — lives in your database, on your server, not in someone else’s walled garden. For the full picture, see our guide to self-hosted invoicing.