Description
ezy E Invoice makes creating and sending professional e-invoices effortless. Build your client list, link your products (with optional WooCommerce sync), and fire off a branded PDF invoice by email in just a few clicks.
Key Features
- Client Management – Store unlimited clients with name, company, email, phone, address and notes. Quick-search autocomplete when creating invoices.
- Product/Service Catalogue – Maintain a product list with price and description. One-click WooCommerce sync imports your existing store products.
- Smart Invoice Builder – Select a client, add line items with quantity and unit price, and watch the totals update live. Supports discount, tax and service charge.
- PDF Generation – Every invoice is rendered as a professionally styled PDF using FPDF – no third-party SaaS required.
- Automatic Email Delivery – The moment you click Create & Send, the client receives a branded HTML email with the PDF attached.
- Invoice Management – List, filter, resend, mark as paid, download or delete invoices from a clean admin table.
- Flexible Settings – Configure company branding, invoice prefix & numbering, payment terms, bank/payment details, tax label & rate, service charge, discount toggle, currency, email sender details, CC/BCC and custom footer notes.
- WooCommerce Integration – Optionally sync WooCommerce products into the ezy E Invoice product catalogue with a single button.
Use Cases
- Freelancers billing clients for services
- Small businesses issuing recurring invoices
- WooCommerce store owners needing a simple invoicing module outside of orders
Languages
Ready for translation (.pot file included). All strings are wrapped in __() / esc_html__() with the ezy-e-invoice text domain.
Screenshots








Installation
Automatic (recommended)
- Go to Plugins Add New in your WordPress admin.
- Search for ezy E Invoice.
- Click Install Now then Activate.
Manual
- Download the ZIP file.
- Go to Plugins Add New Upload Plugin.
- Upload the ZIP and click Install Now, then Activate.
First-Time Setup
- Navigate to ezy E Invoice Settings.
- Fill in your Company Details (name, logo, address, registration numbers).
- Configure Invoice Settings (prefix, starting number, currency, payment terms).
- Set Tax & Charges (GST/VAT/SST rate, service charge, discount options).
- Configure Email Settings (from name, from address, subject, body template).
- Save, then add your clients and products — you’re ready to invoice!
FAQ
-
Does this plugin work without WooCommerce?
-
Yes. WooCommerce is completely optional. You can manually add products/services to the ezy E Invoice catalogue without WooCommerce installed.
-
How are PDFs generated?
-
PDFs are generated server-side using the FPDF library (bundled). No external service is required.
-
What email service does the plugin use?
-
It uses WordPress’s built-in
wp_mail()function, so it works with any SMTP plugin (e.g. WP Mail SMTP, FluentSMTP). -
Can I customise the invoice PDF design?
-
The PDF template is in
templates/invoice-pdf-html.phpand the generator class is inincludes/class-ezy-pdf.php. Developers can override these to suit their brand. -
Where are invoices stored?
-
Invoices are stored in custom database tables created on activation. No post types are used, keeping your WordPress database clean.
-
Can I resend an invoice?
-
Yes. From ezy E Invoice Invoices, click Resend on any invoice row to re-email the PDF to the client.
-
Is there a bulk delete option?
-
Bulk actions are on the roadmap for v2.2. For now, individual delete is available on each invoice row.
-
What happens if I uninstall the plugin?
-
The
uninstall.phpfile removes all plugin options. Database tables are retained by default to protect your data. You can manually drop them if needed.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“ezy E Invoice” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “ezy E Invoice” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.2.4
- Maintenance: Version bump to 2.2.4.
- Confirmed: All previous review fixes from v2.2.3 retained — ABSPATH guard, clean phpcs:ignore on PDF style block, and smart FPDF loader.
2.2.3
- Fix: Removed rogue
<style>tag caused by a broken phpcs:ignore comment embedded inside the PHP docblock — the embedded<?php ?>tag unintentionally closed PHP mode, making<style> is requiredoutput as literal HTML. Docblock is now plain text. - Fix: Replaced the broken inline phpcs:ignore with a clean
<?php // phpcs:ignore ... ?>line placed immediately before the<style>block, correctly suppressing the WPCS enqueue warning for this PDF-only template. - Fix: Confirmed
if ( ! defined( 'ABSPATH' ) ) exit;guard remains at line 2 oftemplates/invoice-pdf-html.php.
2.2.2
- Fix: FPDF smart-load — if another plugin has already loaded FPDF, EZYEIN_FPDF now extends it instead of loading the library again, avoiding duplicate code in memory.
- Fix: FPDF class wrapped with class_exists( ‘EZYEIN_FPDF’ ) guard in both fpdf.php and class-ezy-pdf.php to prevent duplicate class definition errors.
- Fix: Inline tag in invoice-pdf-html.php annotated with phpcs:ignore — template is PDF-only (ob_start capture), never served to browser.
2.2.1
- Fix: Added phpcs:ignore with justification on read-only GET parameter — no nonce needed on display-only admin pages.
- Fix: Invoice view page now accessible via direct URL or bookmark (no nonce expiry issue).
2.2.0
- Security: Replaced deprecated utf8_decode() with mb_convert_encoding() in PDF generator.
- Security: Explicit sanitization of all $_POST fields in client and product save handlers.
- Security: Added wp_unslash() to json_decode() item fields in invoice handler.
- Security: Nonce verification added to filter/pagination links on invoices list page.
- Improvement: Plugin URI updated to GitHub repository.
2.1.9
- Fix: Added ABSPATH guard and phpcs:disable to all FPDF font PHP files (third-party library).
- Fix: Replaced readfile() with WP_Filesystem()->get_contents() for PDF delivery.
- Fix: Removed all error_log() debug calls from PDF class.
2.1.8
- Fix: PDF is always regenerated fresh on download — no more stale cached layout served.
2.1.7
- Fix: Items table no longer overlaps Bill To section when client has many address lines.
2.1.6
- Fix: FPDF font path now uses DIRECTORY_SEPARATOR — fixes font loading on Windows (Laragon/WAMP/XAMPP).
2.1.5
- Fix: All strings converted via iconv() before passing to FPDF — resolves UTF-8 encoding errors.
- Fix: Logo image load wrapped in try/catch — skipped gracefully on failure.
2.1.4
- Fix: PDF download now uses secure admin_init handler with nonce — forces browser download instead of opening in tab.
2.1.3
- Fix: Moved phpcs:disable to line 2 in all view/template files for guaranteed PHPCS coverage.
2.1.2
- Refactor: All class/constant/option/menu prefixes updated to EZYEIN_ for WordPress.org compliance.
- Fix: Replaced fragile ABSPATH path detection with wp_upload_dir().
