{"id":163722,"date":"2022-10-20T04:36:24","date_gmt":"2022-10-20T04:36:24","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/easy-invoice\/"},"modified":"2026-05-24T14:33:31","modified_gmt":"2026-05-24T14:33:31","slug":"easy-invoice","status":"publish","type":"plugin","link":"https:\/\/arg.wordpress.org\/plugins\/easy-invoice\/","author":20328202,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.3.2","stable_tag":"2.3.2","tested":"7.0","requires":"5.6","requires_php":"7.4","requires_plugins":null,"header_name":"Easy Invoice","header_author":"MatrixAddons","header_description":"WordPress Invoice Plugin","assets_banners_color":"004aad","last_updated":"2026-05-24 14:33:31","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/matrixaddons.com\/plugins\/easy-invoice","header_author_uri":"https:\/\/matrixaddons.com","rating":4.4,"author_block_rating":0,"active_installs":500,"downloads":17947,"num_ratings":7,"support_threads":6,"support_threads_resolved":6,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"matrixaddons","date":"2022-10-20 05:07:12"},"1.0.2":{"tag":"1.0.2","author":"matrixaddons","date":"2022-10-20 05:07:12"},"1.0.3":{"tag":"1.0.3","author":"matrixaddons","date":"2022-10-21 08:07:41"},"1.0.4":{"tag":"1.0.4","author":"matrixaddons","date":"2022-10-29 16:39:39"},"1.0.5":{"tag":"1.0.5","author":"matrixaddons","date":"2023-01-08 09:33:23"},"1.0.6":{"tag":"1.0.6","author":"matrixaddons","date":"2023-04-29 12:06:47"},"1.0.7":{"tag":"1.0.7","author":"matrixaddons","date":"2023-09-13 02:19:10"},"1.0.8":{"tag":"1.0.8","author":"matrixaddons","date":"2023-09-17 13:49:20"},"1.0.9":{"tag":"1.0.9","author":"matrixaddons","date":"2023-12-17 03:50:29"},"1.1":{"tag":"1.1","author":"matrixaddons","date":"2024-01-19 11:26:01"},"1.1.1":{"tag":"1.1.1","author":"matrixaddons","date":"2024-02-17 08:14:33"},"1.1.2":{"tag":"1.1.2","author":"matrixaddons","date":"2024-02-19 14:48:06"},"1.1.3":{"tag":"1.1.3","author":"matrixaddons","date":"2024-10-31 08:11:03"},"1.1.4":{"tag":"1.1.4","author":"matrixaddons","date":"2025-08-04 09:00:24"},"2.0":{"tag":"2.0","author":"matrixaddons","date":"2025-08-14 09:51:16"},"2.0.1":{"tag":"2.0.1","author":"matrixaddons","date":"2025-08-16 13:51:26"},"2.0.2":{"tag":"2.0.2","author":"matrixaddons","date":"2025-08-19 12:00:35"},"2.0.3":{"tag":"2.0.3","author":"matrixaddons","date":"2025-08-19 15:19:02"},"2.0.4":{"tag":"2.0.4","author":"matrixaddons","date":"2025-08-21 13:32:50"},"2.0.5":{"tag":"2.0.5","author":"matrixaddons","date":"2025-08-24 10:24:47"},"2.0.6":{"tag":"2.0.6","author":"matrixaddons","date":"2025-08-27 11:31:41"},"2.0.7":{"tag":"2.0.7","author":"matrixaddons","date":"2025-09-17 11:27:10"},"2.0.8":{"tag":"2.0.8","author":"matrixaddons","date":"2025-09-30 04:01:54"},"2.0.9":{"tag":"2.0.9","author":"matrixaddons","date":"2025-10-05 13:12:29"},"2.1.0":{"tag":"2.1.0","author":"matrixaddons","date":"2025-10-13 12:23:02"},"2.1.1":{"tag":"2.1.1","author":"matrixaddons","date":"2025-10-30 12:14:17"},"2.1.10":{"tag":"2.1.10","author":"matrixaddons","date":"2026-02-22 10:07:34"},"2.1.11":{"tag":"2.1.11","author":"matrixaddons","date":"2026-02-22 10:14:19"},"2.1.12":{"tag":"2.1.12","author":"matrixaddons","date":"2026-03-13 13:11:13"},"2.1.13":{"tag":"2.1.13","author":"matrixaddons","date":"2026-03-22 13:29:40"},"2.1.14":{"tag":"2.1.14","author":"matrixaddons","date":"2026-03-31 13:40:00"},"2.1.15":{"tag":"2.1.15","author":"matrixaddons","date":"2026-04-11 13:58:13"},"2.1.16":{"tag":"2.1.16","author":"matrixaddons","date":"2026-04-16 03:03:29"},"2.1.18":{"tag":"2.1.18","author":"matrixaddons","date":"2026-04-21 13:07:39"},"2.1.19":{"tag":"2.1.19","author":"matrixaddons","date":"2026-04-27 11:14:24"},"2.1.2":{"tag":"2.1.2","author":"matrixaddons","date":"2025-10-30 12:31:54"},"2.1.20":{"tag":"2.1.20","author":"matrixaddons","date":"2026-04-29 02:55:07"},"2.1.21":{"tag":"2.1.21","author":"matrixaddons","date":"2026-05-11 10:12:30"},"2.1.3":{"tag":"2.1.3","author":"matrixaddons","date":"2025-11-03 03:42:47"},"2.1.4":{"tag":"2.1.4","author":"matrixaddons","date":"2025-11-11 04:55:44"},"2.1.5":{"tag":"2.1.5","author":"matrixaddons","date":"2025-11-20 03:38:02"},"2.1.6":{"tag":"2.1.6","author":"matrixaddons","date":"2025-12-11 08:51:40"},"2.1.7":{"tag":"2.1.7","author":"matrixaddons","date":"2025-12-15 11:27:02"},"2.1.8":{"tag":"2.1.8","author":"matrixaddons","date":"2026-02-15 10:35:10"},"2.1.9":{"tag":"2.1.9","author":"matrixaddons","date":"2026-02-15 10:53:39"},"2.2.0":{"tag":"2.2.0","author":"matrixaddons","date":"2026-05-13 03:45:55"},"2.3.1":{"tag":"2.3.1","author":"matrixaddons","date":"2026-05-21 08:29:24"},"2.3.2":{"tag":"2.3.2","author":"matrixaddons","date":"2026-05-24 14:33:31"}},"upgrade_notice":{"2.1.9":"<p>Important update fixing vendor dependencies. Recommended for all users.<\/p>","2.0.0":"<p>Major version update with significant improvements. If upgrading from 1.x, please backup your site and run the migration tool when prompted.<\/p>"},"ratings":{"1":1,"2":0,"3":0,"4":0,"5":6},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2801615,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":2801615,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8","1.0.9","1.1","1.1.1","1.1.2","1.1.3","1.1.4","2.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.0.9","2.1.0","2.1.1","2.1.10","2.1.11","2.1.12","2.1.13","2.1.14","2.1.15","2.1.16","2.1.18","2.1.19","2.1.2","2.1.20","2.1.21","2.1.3","2.1.4","2.1.5","2.1.6","2.1.7","2.1.8","2.1.9","2.2.0","2.3.1","2.3.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3344524,"resolution":"1","location":"assets","locale":"","width":1920,"height":1015},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3344524,"resolution":"2","location":"assets","locale":"","width":1920,"height":919},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3344524,"resolution":"3","location":"assets","locale":"","width":1920,"height":1832},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3344524,"resolution":"4","location":"assets","locale":"","width":1920,"height":1200},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3344524,"resolution":"5","location":"assets","locale":"","width":1920,"height":919},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3344524,"resolution":"6","location":"assets","locale":"","width":1920,"height":1454},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3344524,"resolution":"7","location":"assets","locale":"","width":1920,"height":919},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3344524,"resolution":"8","location":"assets","locale":"","width":1920,"height":919},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3344524,"resolution":"9","location":"assets","locale":"","width":1920,"height":919}},"screenshots":{"1":"Dashboard overview showing invoices, quotes, payments, and revenue","2":"Invoice listing page with filters, bulk actions, and status management","3":"Invoice editor with line items, taxes, and discounts","4":"Invoice preview with \"Pay Now\" button","5":"Quote management and listing page","6":"Quote editor with real-time calculations","7":"Payment tracking with status and history","8":"Client management with contact information","9":"Settings panel for business details and email templates","10":"PDF generation with custom branding"}},"plugin_section":[],"plugin_tags":[15149,12480,6593,57399,354],"plugin_category":[45],"plugin_contributors":[209276],"plugin_business_model":[],"class_list":["post-163722","plugin","type-plugin","status-publish","hentry","plugin_tags-billing","plugin_tags-invoice","plugin_tags-payment-gateway","plugin_tags-pdf-invoice","plugin_tags-quotes","plugin_category-ecommerce","plugin_contributors-matrixaddons","plugin_committers-mantrabrain","plugin_committers-matrixaddons","plugin_committers-ughimire1","plugin_support_reps-mantrabrain","plugin_support_reps-ughimire1"],"banners":{"banner":"https:\/\/ps.w.org\/easy-invoice\/assets\/banner-772x250.png?rev=2801615","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/easy-invoice\/assets\/icon-128x128.png?rev=2801615","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/easy-invoice\/assets\/screenshot-1.png?rev=3344524","caption":"Dashboard overview showing invoices, quotes, payments, and revenue"},{"src":"https:\/\/ps.w.org\/easy-invoice\/assets\/screenshot-2.png?rev=3344524","caption":"Invoice listing page with filters, bulk actions, and status management"},{"src":"https:\/\/ps.w.org\/easy-invoice\/assets\/screenshot-3.png?rev=3344524","caption":"Invoice editor with line items, taxes, and discounts"},{"src":"https:\/\/ps.w.org\/easy-invoice\/assets\/screenshot-4.png?rev=3344524","caption":"Invoice preview with \"Pay Now\" button"},{"src":"https:\/\/ps.w.org\/easy-invoice\/assets\/screenshot-5.png?rev=3344524","caption":"Quote management and listing page"},{"src":"https:\/\/ps.w.org\/easy-invoice\/assets\/screenshot-6.png?rev=3344524","caption":"Quote editor with real-time calculations"},{"src":"https:\/\/ps.w.org\/easy-invoice\/assets\/screenshot-7.png?rev=3344524","caption":"Payment tracking with status and history"},{"src":"https:\/\/ps.w.org\/easy-invoice\/assets\/screenshot-8.png?rev=3344524","caption":"Client management with contact information"},{"src":"https:\/\/ps.w.org\/easy-invoice\/assets\/screenshot-9.png?rev=3344524","caption":"Settings panel for business details and email templates"}],"raw_content":"<!--section=description-->\n<p>Easy Invoice is a comprehensive WordPress invoicing plugin for freelancers, agencies, consultants, and small businesses. Create unlimited invoices and quotes, generate PDF documents, accept online payments through PayPal, and manage client information directly from your WordPress dashboard.<\/p>\n\n<h4>Links<\/h4>\n\n<ul>\n<li><a href=\"https:\/\/try.new\/plugins\/easy-invoice\/\">Live Demo<\/a><\/li>\n<li><a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/\">Documentation<\/a><\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#pricing\">Pro Version<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.org\/support\/plugin\/easy-invoice\/\">Support Forum<\/a><\/li>\n<\/ul>\n\n<h4>Video Demo<\/h4>\n\n<p>https:\/\/www.youtube.com\/watch?v=a_0BnBpl0y0<\/p>\n\n<p>Watch our comprehensive video demo to see Easy Invoice in action! Learn how to create professional invoices, customize designs, manage clients, and accept payments - all in just a few minutes.<\/p>\n\n<h4>Key Features<\/h4>\n\n<p><strong>Invoicing &amp; Quotes<\/strong>\n* Unlimited invoices and quotes\n* Professional PDF generation\n* Auto-increment invoice numbering with custom prefixes\n* Convert quotes to invoices with one click\n* Clone existing invoices for faster creation\n* Custom invoice and quote terminology\n* Set default due dates and payment terms<\/p>\n\n<p><strong>Payment Processing<\/strong>\n* PayPal payment gateway (free version)\n* Accept online payments with \"Pay Now\" button\n* Multiple payment gateways: Stripe, Square, Authorize.Net, Mollie, Paystack, Moneris, Bank Transfer, Cheque, Cash (Pro)\n* Manual payment recording (cash, check, bank transfer)\n* Partial payment support (Pro)\n* Payment status tracking and history<\/p>\n\n<p><strong>Client Management<\/strong>\n* Unlimited client records\n* Store complete client information\n* Automated email notifications\n* Client portal with secure login (Pro)\n* Payment reminder emails (Pro)<\/p>\n\n<p><strong>Customization<\/strong>\n* Professional invoice templates\n* Add your logo and business details\n* Customize templates using CSS\n* Flexible tax settings (global or per line item)\n* Discount calculations\n* Multi-currency support (150+ currencies)\n* Custom email templates\n* Translation ready<\/p>\n\n<p><strong>Automation &amp; Reporting<\/strong>\n* Recurring invoice automation (Pro)\n* CSV data export (Pro)\n* Invoice and quote reporting\n* Revenue tracking and analytics (Pro)\n* Bulk Send Email &amp; Bulk Export Selected (Pro)<\/p>\n\n<p><strong>Compatibility<\/strong>\n* Works with any WordPress theme\n* WooCommerce compatible\n* WordPress multisite support\n* Page builder compatible<\/p>\n\n<h4>Who Uses Easy Invoice?<\/h4>\n\n<ul>\n<li><strong>Freelancers<\/strong> - Quick invoice creation and payment collection<\/li>\n<li><strong>Agencies<\/strong> - Multi-client management and project billing<\/li>\n<li><strong>Small Businesses<\/strong> - Professional invoicing and recurring billing<\/li>\n<li><strong>Consultants<\/strong> - Quote management and payment tracking<\/li>\n<li><strong>E-commerce<\/strong> - Custom B2B invoicing alongside WooCommerce<\/li>\n<li><strong>Service Providers<\/strong> - Subscription billing and payment plans<\/li>\n<\/ul>\n\n<h4>Free Version Features<\/h4>\n\n<ul>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>Unlimited Invoices &amp; Quotes<\/strong><\/a>: Create unlimited invoices and quotes with no restrictions.<\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>PDF Generation<\/strong><\/a>: Generate professional PDF invoices and quotes with one click.<\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>PayPal Payment Gateway<\/strong><\/a>: Accept online payments via PayPal with a built\u2011in \u201cPay Now\u201d button.<\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>Client Management<\/strong><\/a>: Store client details and send invoices\/quotes via email.<\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>Tax &amp; Discounts<\/strong><\/a>: Add taxes and discounts with before\/after\u2011tax calculation options.<\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>Customization<\/strong><\/a>: Set custom invoice ID prefix, terms &amp; conditions, and footer text.<\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>Email Templates<\/strong><\/a>: Customize invoice and quote email notifications to clients.<\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>Professional Templates<\/strong><\/a>: Use beautiful, printer\u2011friendly invoice and quote layouts.<\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>Print Invoices &amp; Quotes<\/strong><\/a>: Print documents or save to PDF directly from your browser.<\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>Currency &amp; Formatting<\/strong><\/a>: Control currency symbol, decimals, and separators to match your locale.<\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>Custom Payment Links<\/strong><\/a>: Add an external \u201cPay Now\u201d link for any payment provider.<\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>Works With Any Theme<\/strong><\/a>: Compatible with all properly coded WordPress themes and page builders.<\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>Translation Ready<\/strong><\/a>: Fully translatable for global use.<\/li>\n<\/ul>\n\n<h4>Pro Version Features (Addon-Based)<\/h4>\n\n<p>Easy Invoice Pro is <strong>addon-driven<\/strong>. After installing the Pro plugin, go to <strong>Easy Invoice \u2192 Addons<\/strong> and turn on only the features you actually need \u2014 disabled addons contribute zero PHP, zero database queries, zero hooks. The 19 addons are organised into three tiers.<\/p>\n\n<p><strong>Personal Tier \u2014 included free with the Pro plugin (no license key required). 12 addons:<\/strong><\/p>\n\n<ul>\n<li><a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/addons\/recurring-invoices\/\"><strong>Recurring Invoices &amp; Subscriptions<\/strong><\/a>: Set the frequency, end date, and payment method once; Easy Invoice generates and sends each invoice on schedule. Optional auto-charge through your gateway closes the loop \u2014 predictable revenue, zero admin.<\/li>\n<li><a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/addons\/partial-payments\/\"><strong>Partial Payments &amp; Deposits<\/strong><\/a>: Require a deposit (% or flat) before work begins, then let clients pay the balance in installments. Tracks every part-payment and shows the running balance \u2014 no spreadsheets, no manual reconciliation.<\/li>\n<li><a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/addons\/client-portal\/\"><strong>Client Portal<\/strong><\/a>: Clients log in to a branded portal to view invoices, download PDFs, see payment history, and accept or decline quotes \u2014 on their own time. Includes the <strong>Easy Invoice Account<\/strong> Gutenberg block.<\/li>\n<li><a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/addons\/pdf-toolkit\/\"><strong>PDF Toolkit<\/strong><\/a>: Custom headers and footers, watermark stamps (PAID \/ DRAFT \/ OVERDUE \/ VOID), color and font controls, and per-document branding. Make every PDF look enterprise-grade.<\/li>\n<li><a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/addons\/bulk-operations\/\"><strong>Bulk Email &amp; Export<\/strong><\/a>: Bulk actions on every list screen \u2014 email batches of invoices in one click, or export selected rows to CSV. \"Export All\" downloads your entire history, perfect for year-end accounting.<\/li>\n<li><a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/addons\/item-library\/\"><strong>Item Library<\/strong><\/a>: Save your common services and products with name, description, price, and SKU. Insert into any invoice or quote in one click \u2014 stop retyping and keep pricing consistent across every document.<\/li>\n<li><a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/addons\/custom-templates\/\"><strong>Custom Invoice &amp; Quote Templates<\/strong><\/a>: Build your own invoice and quote layouts with the visual editor \u2014 drag in logos, company info, item tables, totals, signatures, and footers. Save multiple templates and assign different layouts per client.<\/li>\n<li><a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/addons\/additional-tax\/\"><strong>Additional Tax Lines<\/strong><\/a>: Add unlimited named tax lines per invoice \u2014 VAT + duty, GST + PST, federal + state \u2014 each with its own rate. Renders every tax as a separate line on the PDF.<\/li>\n<li><a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/addons\/email-enhancements\/\"><strong>Email Enhancements<\/strong><\/a>: Branded HTML emails with your colors and logo. CC \/ BCC, auto-attach the PDF, customise the subject and body per invoice, and set a Reply-To so client replies reach the right inbox.<\/li>\n<li><a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/addons\/secure-links\/\"><strong>Secure Links for Invoices &amp; Quotes<\/strong><\/a>: Replace predictable invoice\/quote permalinks with cryptographically signed, expiring URLs. Stops competitors and customers from incrementing IDs to view documents that aren't theirs.<\/li>\n<li><a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/addons\/privacy-tools\/\"><strong>Privacy &amp; GDPR Tools<\/strong><\/a>: Wires Easy Invoice into WordPress's Personal Data Export and Erase tools. Sets an invoice data-retention policy and populates the privacy-policy boilerplate. Required for EU GDPR and California CCPA compliance.<\/li>\n<li><a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/addons\/reports\/\"><strong>Reports &amp; Analytics<\/strong><\/a>: Visual dashboard for invoice revenue, outstanding balances, payment status, and per-client performance. Filter by any date range and export for your accountant.<\/li>\n<\/ul>\n\n<p><strong>Pro Payment Gateways<\/strong> \u2014 every one of these unlocks alongside the free PayPal &amp; Manual gateways:<\/p>\n\n<ul>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>Stripe<\/strong><\/a>: Card, Apple Pay, Google Pay, Link \u2014 SCA \/ 3-D Secure built in.<\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>Square<\/strong><\/a>: US \/ CA \/ UK \/ AU \/ JP card processing with webhook reconciliation.<\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>Authorize.Net<\/strong><\/a>: Long-standing US gateway \u2014 credit cards + eChecks via AIM.<\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>Mollie<\/strong><\/a>: Europe-friendly: SEPA, iDEAL, Bancontact, Sofort, Klarna, card.<\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>Paystack<\/strong><\/a>: Africa-first (NGN \/ GHS \/ ZAR \/ KES \/ USD): card, bank transfer, USSD, mobile money &amp; QR. HMAC-SHA512 signed webhooks.<\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>Moneris<\/strong><\/a>: Canada's largest card processor \u2014 Visa, Mastercard, AMEX, Interac.<\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>Bank Transfer<\/strong><\/a>: Show your IBAN \/ SWIFT on the invoice; mark paid on wire arrival.<\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>Cheque<\/strong><\/a>: Display your mailing address; mark paid when the cheque clears.<\/li>\n<li><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#free-vs-pro\"><strong>Cash<\/strong><\/a>: In-person cash with custom collection instructions.<\/li>\n<\/ul>\n\n<p><strong>Professional Tier \u2014 unlocked with a Professional license. 3 addons:<\/strong><\/p>\n\n<ul>\n<li><a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/addons\/time-tracking\/\"><strong>Time Tracking &amp; Project Billing<\/strong><\/a>: Built-in start\/stop timer with per-project and per-client entries. Convert any block of tracked time into invoice line items in one click \u2014 replaces your standalone time-tracking tool.<\/li>\n<li><a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/addons\/expense-tracking\/\"><strong>Expense Tracking &amp; Reimbursable Items<\/strong><\/a>: Track project expenses (software, mileage, materials, contractor costs) with receipt uploads. Apply markup and roll selected expenses into invoice line items.<\/li>\n<li><a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/addons\/smart-reminders\/\"><strong>Smart Reminders &amp; Late Fees<\/strong><\/a>: Configure a multi-step reminder cadence with per-step templates that escalate in tone. Auto-apply late fees and offer early-payment discounts \u2014 typically recovers 30%+ of overdue invoices.<\/li>\n<\/ul>\n\n<p><strong>Agency Tier \u2014 unlocked with an Agency license. 4 addons:<\/strong><\/p>\n\n<ul>\n<li><a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/addons\/white-label\/\"><strong>White-Label &amp; Brand Override<\/strong><\/a>: Replace the plugin name, admin menu, dashboard icon, PDF footer, and email signature with your own brand. Hide every upgrade prompt \u2014 essential for agencies reselling Easy Invoice as a managed service.<\/li>\n<li><a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/addons\/team-roles\/\"><strong>Team Members &amp; Audit Log<\/strong><\/a>: Scoped roles (Manager \/ Accountant \/ Sales \/ Viewer) so staff can work without touching refunds or settings. Every action lands in a searchable audit log \u2014 required for compliance and accountant hand-offs.<\/li>\n<li><a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/addons\/accounting-sync\/\"><strong>Accounting Sync (QuickBooks \/ Xero \/ FreshBooks)<\/strong><\/a>: Push invoices to your accounting tool when created; pull payment status back when reconciled there. Chart-of-accounts mapping, customer mirroring, and bank-rec friendly.<\/li>\n<li><a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/addons\/webhooks\/\"><strong>Webhooks &amp; Zapier Bridge<\/strong><\/a>: Subscribe any URL to invoice events (paid, accepted, failed, recurring run). HMAC-SHA256 signed payloads, automatic retries. Drops into Zapier, Make, n8n, your CRM \u2014 connect to 5,000+ tools.<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#pricing\">Upgrade to Easy Invoice Pro<\/a><\/p>\n\n<h3>Why Upgrade to Pro?<\/h3>\n\n<p>Easy Invoice Pro is <strong>addon-based<\/strong> \u2014 install once, then toggle individual features on or off from <strong>Easy Invoice \u2192 Addons<\/strong>. Three tiers, designed so you only pay for what you actually need:<\/p>\n\n<p><strong>Personal Tier (free with the Pro plugin \u2014 no license required):<\/strong><\/p>\n\n<p>Twelve addons covering the most-requested business needs:<\/p>\n\n<ul>\n<li><strong>Recurring Invoices &amp; Subscriptions<\/strong> \u2014 automate retainer \/ membership billing<\/li>\n<li><strong>Partial Payments &amp; Deposits<\/strong> \u2014 accept installment plans<\/li>\n<li><strong>Client Portal<\/strong> \u2014 branded self-service area for your clients (Gutenberg block + shortcode)<\/li>\n<li><strong>PDF Toolkit<\/strong> \u2014 custom watermarks, headers, footers, branding<\/li>\n<li><strong>Bulk Email &amp; Export<\/strong> \u2014 send \/ export batches of invoices in one click<\/li>\n<li><strong>Item Library<\/strong> \u2014 reusable catalog of services and products<\/li>\n<li><strong>Custom Invoice &amp; Quote Templates<\/strong> \u2014 drag-and-drop layout builder<\/li>\n<li><strong>Additional Tax Lines<\/strong> \u2014 multi-jurisdiction tax handling (VAT + duty, GST + PST)<\/li>\n<li><strong>Email Enhancements<\/strong> \u2014 branded HTML, CC \/ BCC, attached PDFs<\/li>\n<li><strong>Secure Links for Invoices &amp; Quotes<\/strong> \u2014 unguessable signed URLs with expiry, owner restriction, and login gating<\/li>\n<li><strong>Privacy &amp; GDPR Tools<\/strong> \u2014 one-click GDPR \/ CCPA compliance, data-retention policy, WP Personal Data Export\/Erase wiring<\/li>\n<li><strong>Reports &amp; Analytics<\/strong> \u2014 revenue, outstanding balances, client performance dashboard<\/li>\n<\/ul>\n\n<p><strong>Professional Tier (license required):<\/strong><\/p>\n\n<ul>\n<li><strong>Time Tracking &amp; Project Billing<\/strong> \u2014 built-in timer, hourly rates, one-click to invoice<\/li>\n<li><strong>Expense Tracking &amp; Reimbursable Items<\/strong> \u2014 track project costs with receipts; markup and bill through<\/li>\n<li><strong>Smart Reminders &amp; Late Fees<\/strong> \u2014 multi-step automated payment chase<\/li>\n<\/ul>\n\n<p><strong>Agency Tier (license required):<\/strong><\/p>\n\n<ul>\n<li><strong>White-Label &amp; Brand Override<\/strong> \u2014 rebrand the entire plugin as your own<\/li>\n<li><strong>Team Members &amp; Audit Log<\/strong> \u2014 scoped roles + searchable audit trail<\/li>\n<li><strong>Accounting Sync<\/strong> \u2014 push invoices to QuickBooks, Xero, FreshBooks; pull payment status back<\/li>\n<li><strong>Webhooks &amp; Zapier Bridge<\/strong> \u2014 push events to Zapier, Make, n8n, your CRM<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#pricing\">View Pro Pricing<\/a><\/p>\n\n<h4>Privacy &amp; Security<\/h4>\n\n<p>Easy Invoice respects your privacy and follows WordPress security best practices:<\/p>\n\n<ul>\n<li><strong>No data collection<\/strong> - We don't collect or store any data from your website<\/li>\n<li><strong>GDPR compliant<\/strong> - All invoice data stays in your WordPress database<\/li>\n<li><strong>Secure payments<\/strong> - Payment processing handled by PCI-compliant gateways<\/li>\n<li><strong>No external dependencies<\/strong> - Plugin works without external API calls<\/li>\n<li><strong>Security audits<\/strong> - Regularly monitored by Patchstack for vulnerabilities<\/li>\n<\/ul>\n\n<p>Payment processing is handled by your chosen gateway (PayPal, Stripe, etc.) according to their privacy policies. Easy Invoice never stores credit card information.<\/p>\n\n<h4>Translations &amp; Internationalization<\/h4>\n\n<p>Easy Invoice is fully translation ready:<\/p>\n\n<ul>\n<li><strong>Text Domain:<\/strong> easy-invoice<\/li>\n<li><strong>Translation Method:<\/strong> Standard WordPress .po\/.mo files or Loco Translate plugin<\/li>\n<li><strong>RTL Support:<\/strong> Full right-to-left language support<\/li>\n<li><strong>Multi-Currency:<\/strong> Support for 150+ currencies with custom symbols<\/li>\n<li><strong>Date Formats:<\/strong> Localized date formatting<\/li>\n<\/ul>\n\n<p>English is the default language. Community translations are available through WordPress.org.<\/p>\n\n<p>To contribute translations, visit <a href=\"https:\/\/translate.wordpress.org\/projects\/wp-plugins\/easy-invoice\/\">WordPress.org translation page<\/a><\/p>\n\n<!--section=installation-->\n<p><strong>Automatic Installation:<\/strong><\/p>\n\n<ol>\n<li>Go to Plugins \u2192 Add New in your WordPress admin<\/li>\n<li>Search for \"Easy Invoice\"<\/li>\n<li>Click Install Now \u2192 Activate<\/li>\n<li>Follow the setup wizard<\/li>\n<\/ol>\n\n<p><strong>Manual Installation:<\/strong><\/p>\n\n<ol>\n<li>Download the plugin ZIP file<\/li>\n<li>Go to Plugins \u2192 Add New \u2192 Upload Plugin<\/li>\n<li>Choose the ZIP file and click Install Now<\/li>\n<li>Click Activate Plugin<\/li>\n<\/ol>\n\n<p><strong>Quick Setup:<\/strong><\/p>\n\n<ol>\n<li>Configure business details: Easy Invoice \u2192 Settings \u2192 General<\/li>\n<li>Customize email templates: Easy Invoice \u2192 Settings \u2192 Email<\/li>\n<li>Enable PayPal payments: Easy Invoice \u2192 Settings \u2192 Payment<\/li>\n<li>Create your first invoice: Easy Invoice \u2192 Invoices \u2192 Add New<\/li>\n<\/ol>\n\n<p>For detailed instructions, see our <a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/\">documentation<\/a>.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20are%20the%20minimum%20system%20requirements%3F\"><h3>What are the minimum system requirements?<\/h3><\/dt>\n<dd><ul>\n<li>WordPress 5.6 or newer<\/li>\n<li>PHP version 7.4 or higher (PHP 8.0+ recommended)<\/li>\n<li>MySQL 5.6 or higher<\/li>\n<\/ul><\/dd>\n<dt id=\"does%20easy%20invoice%20work%20with%20any%20wordpress%20theme%3F\"><h3>Does Easy Invoice work with any WordPress theme?<\/h3><\/dt>\n<dd><p>Yes. Easy Invoice is theme-agnostic and works with properly coded WordPress themes. It's compatible with popular themes like Astra, Divi, GeneratePress, and all major page builders.<\/p><\/dd>\n<dt id=\"can%20i%20use%20easy%20invoice%20with%20woocommerce%3F\"><h3>Can I use Easy Invoice with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. Easy Invoice works independently but can be used alongside WooCommerce for custom B2B invoicing and manual invoice generation.<\/p><\/dd>\n<dt id=\"is%20easy%20invoice%20suitable%20for%20beginners%3F\"><h3>Is Easy Invoice suitable for beginners?<\/h3><\/dt>\n<dd><p>Yes. Easy Invoice is designed for users of all skill levels with an intuitive interface. No coding knowledge required.<\/p><\/dd>\n<dt id=\"how%20do%20i%20accept%20online%20payments%3F\"><h3>How do I accept online payments?<\/h3><\/dt>\n<dd><p>Free Version: Enable PayPal in Easy Invoice \u2192 Settings \u2192 Payment. A \"Pay Now\" button will appear on invoices, allowing clients to pay with PayPal or credit card.<\/p>\n\n<p>Pro Version: Connect additional payment gateways including Stripe, Square, Authorize.Net, or Mollie for direct credit card processing. You can also add custom external payment links for other payment providers.<\/p>\n\n<p>For detailed setup instructions, see our <a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/\">payment gateway documentation<\/a>.<\/p><\/dd>\n<dt id=\"are%20there%20any%20transaction%20fees%3F\"><h3>Are there any transaction fees?<\/h3><\/dt>\n<dd><p>Easy Invoice charges zero transaction fees. You keep 100% of your revenue. Payment gateway fees (PayPal, Stripe, etc.) apply based on their pricing.<\/p><\/dd>\n<dt id=\"can%20clients%20pay%20invoices%20in%20installments%3F\"><h3>Can clients pay invoices in installments?<\/h3><\/dt>\n<dd><p>Yes, with Easy Invoice Pro. The Partial Payments feature lets clients pay invoices in multiple installments.<\/p><\/dd>\n<dt id=\"how%20do%20i%20track%20payments%3F\"><h3>How do I track payments?<\/h3><\/dt>\n<dd><p>Easy Invoice automatically tracks all payments. View payment status, history, and generate reports from the Payments dashboard.<\/p><\/dd>\n<dt id=\"can%20i%20create%20pdf%20invoices%20and%20quotes%3F\"><h3>Can I create PDF invoices and quotes?<\/h3><\/dt>\n<dd><p>Yes. One-click PDF generation is included in the free version.<\/p><\/dd>\n<dt id=\"how%20do%20i%20customize%20invoice%20templates%3F\"><h3>How do I customize invoice templates?<\/h3><\/dt>\n<dd><p>Yes, you have full control over the look of invoices and quotes:<\/p>\n\n<ol>\n<li>Go to Easy Invoice \u2192 Settings \u2192 Templates<\/li>\n<li>Choose from professional pre-built templates<\/li>\n<li>Customize colors and add your logo<\/li>\n<li>Modify layout using custom CSS<\/li>\n<li>Add your business details and branding<\/li>\n<\/ol>\n\n<p>Pro version offers advanced PDF customization including watermarks, custom layouts, and status badges. For detailed customization guides, visit our <a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/\">documentation<\/a>.<\/p><\/dd>\n<dt id=\"can%20i%20convert%20quotes%20to%20invoices%3F\"><h3>Can I convert quotes to invoices?<\/h3><\/dt>\n<dd><p>Yes. When a client accepts a quote, you can instantly convert it to an invoice with one click. This streamlines your workflow and ensures consistency between quotes and invoices. All quote data (line items, client details, taxes) is automatically transferred to the new invoice.<\/p><\/dd>\n<dt id=\"is%20there%20a%20limit%20on%20invoices%20i%20can%20create%3F\"><h3>Is there a limit on invoices I can create?<\/h3><\/dt>\n<dd><p>No. Create unlimited invoices, quotes, and clients in both free and Pro versions.<\/p><\/dd>\n<dt id=\"i%20see%20a%20404%20error%20when%20viewing%20an%20invoice.%20how%20do%20i%20fix%20it%3F\"><h3>I see a 404 error when viewing an invoice. How do I fix it?<\/h3><\/dt>\n<dd><p>Go to Settings \u2192 Permalinks and click Save Changes to flush rewrite rules. This resolves most 404 issues.<\/p>\n\n<p>If the problem persists:\n1. Deactivate and reactivate the plugin\n2. Check that your .htaccess file is writable\n3. Contact support if the issue continues<\/p><\/dd>\n<dt id=\"can%20i%20import%20data%20from%20other%20invoicing%20plugins%3F\"><h3>Can I import data from other invoicing plugins?<\/h3><\/dt>\n<dd><p>If you're upgrading from Easy Invoice 1.x to 2.0+, the plugin will automatically prompt you to migrate your data.<\/p>\n\n<p>For importing from other invoicing plugins:\n* Pro version includes CSV import functionality\n* Bulk import of invoices and quotes\n* Import client data\n* Preserve invoice numbers and dates<\/p>\n\n<p>Contact support if you need assistance with data migration from specific plugins.<\/p><\/dd>\n<dt id=\"does%20easy%20invoice%20work%20on%20multisite%3F\"><h3>Does Easy Invoice work on multisite?<\/h3><\/dt>\n<dd><p>Yes. Easy Invoice is compatible with WordPress multisite installations.<\/p><\/dd>\n<dt id=\"what%20php%20version%20is%20required%3F\"><h3>What PHP version is required?<\/h3><\/dt>\n<dd><p>Easy Invoice requires PHP 7.4 or higher. We recommend PHP 8.0+ for optimal performance.<\/p><\/dd>\n<dt id=\"do%20i%20need%20the%20pro%20version%3F\"><h3>Do I need the Pro version?<\/h3><\/dt>\n<dd><p>The free version includes unlimited invoices, PDF generation, PayPal payments, and client management. Upgrade to Easy Invoice Pro to unlock the <strong>addon system<\/strong>: 12 Personal-tier addons (recurring billing, client portal, partial payments, secure links, item library, custom templates, reports, and more) come included free with the Pro plugin \u2014 no license key required. A license key adds the Professional and Agency tiers (time tracking, expense tracking, smart reminders, white-label, team roles, accounting sync, webhooks).<\/p>\n\n<p><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#pricing\">Get Easy Invoice Pro \u2192<\/a><\/p><\/dd>\n<dt id=\"how%20does%20the%20pro%20addon%20system%20work%3F\"><h3>How does the Pro addon system work?<\/h3><\/dt>\n<dd><p>Easy Invoice Pro is <strong>addon-driven<\/strong>. After installing the Pro plugin, go to <strong>Easy Invoice \u2192 Addons<\/strong> and turn on only the features you actually need. Disabled addons contribute zero PHP, zero database queries, zero hooks \u2014 so a clean install is as fast as the free plugin.<\/p>\n\n<p>There are three plan tiers covering 19 addons in total:\n* <strong>Personal tier<\/strong> \u2014 included free when you install the Pro plugin (no license required). 12 addons: Recurring Invoices, Partial Payments, Client Portal, PDF Toolkit, Bulk Email &amp; Export, Item Library, Custom Templates, Additional Tax, Email Enhancements, Secure Links, Privacy &amp; GDPR Tools, and Reports.\n* <strong>Professional tier<\/strong> \u2014 requires a Professional license. 3 addons: Time Tracking, Expense Tracking, and Smart Reminders &amp; Late Fees.\n* <strong>Agency tier<\/strong> \u2014 requires an Agency license. 4 addons: White-Label, Team Roles &amp; Audit Log, Accounting Sync (QuickBooks \/ Xero \/ FreshBooks), and Webhooks &amp; Zapier Bridge.<\/p>\n\n<p>Each plan includes everything in lower plans. See the <a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/\">Free vs Pro page<\/a> inside the plugin for the full comparison.<\/p><\/dd>\n<dt id=\"do%20personal-tier%20addons%20really%20work%20without%20a%20license%20key%3F\"><h3>Do Personal-tier addons really work without a license key?<\/h3><\/dt>\n<dd><p>Yes. The Pro plugin grants Personal-tier access automatically on installation. A license key only unlocks Professional and Agency tiers. This means installing the Pro plugin alone gives you recurring billing, client portal, partial payments, secure links, reports, item library, custom templates, and the rest of the 12 Personal-tier addons \u2014 no key to enter, no checkout step beyond the initial purchase.<\/p><\/dd>\n<dt id=\"can%20i%20try%20pro%20before%20buying%3F\"><h3>Can I try Pro before buying?<\/h3><\/dt>\n<dd><p>Yes. We offer a 14-day money-back guarantee. <a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#pricing\">Get Easy Invoice Pro \u2192<\/a><\/p><\/dd>\n<dt id=\"how%20do%20i%20upgrade%20from%20free%20to%20pro%3F\"><h3>How do I upgrade from Free to Pro?<\/h3><\/dt>\n<dd><ol>\n<li>Purchase Easy Invoice Pro<\/li>\n<li>Install the Pro plugin alongside the free version<\/li>\n<li>Activate the Pro plugin<\/li>\n<\/ol>\n\n<p>You're now on the Personal tier \u2014 go to <strong>Easy Invoice \u2192 Addons<\/strong> and turn on the features you want.<\/p>\n\n<p>If you bought a Professional or Agency license, also enter your license key under <strong>Easy Invoice \u2192 License<\/strong> to unlock the higher-tier addons. Existing data is fully preserved across the upgrade.<\/p><\/dd>\n<dt id=\"i%20was%20using%20easy%20invoice%20pro%20before%20the%20addon%20system%20%E2%80%94%20will%20my%20features%20break%3F\"><h3>I was using Easy Invoice Pro before the addon system \u2014 will my features break?<\/h3><\/dt>\n<dd><p>No. A one-time migration runs automatically on the next admin page load after you upgrade. It detects which features you were already using and auto-enables the matching addons, so nothing stops working. You can customize what's enabled afterwards from <strong>Easy Invoice \u2192 Addons<\/strong>.<\/p><\/dd>\n<dt id=\"is%20easy%20invoice%20secure%3F\"><h3>Is Easy Invoice secure?<\/h3><\/dt>\n<dd><p>Yes. Easy Invoice follows WordPress security best practices:<\/p>\n\n<ul>\n<li>Regular security audits by Patchstack<\/li>\n<li>No credit card information stored<\/li>\n<li>All payment processing through PCI-compliant gateways<\/li>\n<li>Secure data encryption<\/li>\n<li>Regular security updates<\/li>\n<\/ul>\n\n<p>We take security seriously and respond quickly to any reported vulnerabilities.<\/p><\/dd>\n<dt id=\"how%20can%20i%20report%20security%20vulnerabilities%3F\"><h3>How can I report security vulnerabilities?<\/h3><\/dt>\n<dd><p>Report security bugs through the <a href=\"https:\/\/patchstack.com\/database\/vdp\/8b8da081-d07d-4239-b795-0f0895d186dd\">Patchstack Vulnerability Disclosure Program<\/a>. The Patchstack team validates and helps resolve all security issues.<\/p><\/dd>\n<dt id=\"is%20easy%20invoice%20gdpr%20compliant%3F\"><h3>Is Easy Invoice GDPR compliant?<\/h3><\/dt>\n<dd><p>Yes. Easy Invoice stores all data in your WordPress database. No data is collected or transmitted to external servers (except configured payment gateways).<\/p><\/dd>\n<dt id=\"where%20can%20i%20get%20support%3F\"><h3>Where can I get support?<\/h3><\/dt>\n<dd><p>For all support issues:<\/p>\n\n<ul>\n<li><strong>Free Users:<\/strong> Post in the <a href=\"https:\/\/wordpress.org\/support\/plugin\/easy-invoice\/\">WordPress.org support forum<\/a><\/li>\n<li><strong>Pro Users:<\/strong> Submit a support ticket for priority assistance<\/li>\n<li><strong>Documentation:<\/strong> Visit our <a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/\">complete documentation<\/a><\/li>\n<li><strong>Getting Started:<\/strong> Check our <a href=\"https:\/\/easy-invoice.matrixaddons.com\/docs\/\">quick start guide<\/a><\/li>\n<\/ul>\n\n<p>Our support team is responsive and helpful (check out our reviews!).<\/p><\/dd>\n<dt id=\"do%20you%20offer%20customization%20services%3F\"><h3>Do you offer customization services?<\/h3><\/dt>\n<dd><p>Yes. We offer custom development services for:<\/p>\n\n<ul>\n<li>Custom invoice template design<\/li>\n<li>Theme integration<\/li>\n<li>Workflow automation<\/li>\n<li>Custom feature development<\/li>\n<li>Third-party integrations<\/li>\n<\/ul>\n\n<p>Contact us at <a href=\"https:\/\/mantrabrain.com\/contact\/\">mantrabrain.com\/contact<\/a> to discuss your requirements.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.3.2 - May 24, 2026<\/h4>\n\n<ul>\n<li>Fixed - <strong>Client search now reliably finds WooCommerce customers.<\/strong> Three compounding bugs were producing intermittent \/ empty search results in the invoice and quote client-search dropdown:\n\n<ul>\n<li>Three handlers were registered for the same <code>wp_ajax_easy_invoice_search_clients<\/code> action (in <code>EasyInvoiceAjax<\/code>, <code>InvoiceController<\/code>, and <code>QuoteController<\/code>). WordPress fires hooks in registration order; the first to call <code>wp_send_json_success()<\/code> died the request, and which one won shifted between requests based on bootstrap order. Removed the two duplicate registrations \u2014 <code>EasyInvoiceAjax::searchClients<\/code> is now the sole owner.<\/li>\n<li><code>EasyInvoiceAjax::sendSuccess()<\/code> was injecting a <code>toast<\/code> key into the response data unconditionally. For the search endpoint that returns a numeric-indexed array of clients, adding a string key mutated the array shape so <code>json_encode<\/code> emitted a JSON object instead of an array. The frontend check <code>response.data.length &gt; 0<\/code> then evaluated <code>undefined &gt; 0<\/code> and silently rendered the empty state. <code>sendSuccess<\/code> now only injects the toast key when <code>$data<\/code> is associative or empty \u2014 list responses pass through unchanged.<\/li>\n<li><code>searchClients<\/code> itself now bypasses <code>sendSuccess<\/code> entirely (via <code>wp_send_json_success<\/code> direct) so the \"Operation completed successfully\" toast no longer appears on every keystroke.<\/li>\n<\/ul><\/li>\n<li>Fixed - <strong>WooCommerce customers display with their real name everywhere.<\/strong> The <code>Client<\/code> model loaded only Easy-Invoice-specific meta keys, so WooCommerce-imported customers rendered as their bare <code>user_login<\/code> in the Clients listing, the invoice\/quote search dropdown, and the invoice header \u2014 even though their real name sits in <code>billing_first_name<\/code> \/ <code>billing_last_name<\/code>. Extended <code>Client::loadFromUserMeta()<\/code> with a unified fallback chain: EI meta -&gt; WP standard meta -&gt; WooCommerce <code>billing_*<\/code> meta. Covers <code>first_name<\/code>, <code>last_name<\/code>, <code>email<\/code>, <code>phone<\/code>, and <code>business_client_name<\/code> (from <code>billing_company<\/code>). Single change propagates to every display point through the model's magic getters.<\/li>\n<li>Improved - <strong>Client search now covers phone numbers across both client pools.<\/strong> <code>ClientRepository::search()<\/code> already searched <code>billing_phone<\/code> so WooCommerce customers were searchable by phone, but it was missing the Easy-Invoice-native phone meta key. Added <code>ClientFields::PHONE<\/code> so EI-native clients are searchable by phone on equal footing with first name, last name, email, and business name.<\/li>\n<li>Fixed - <strong>Item Library buttons hidden on invoice\/quote forms after addon migration.<\/strong> The invoice and quote item rows render \"Select from Item Library\" and \"Save to Item Library\" icon buttons gated on the Item Library service being available. The gate was a stale <code>class_exists('EasyInvoicePro\\\\Services\\\\ItemLibraryService')<\/code> check left over from before the addon-system migration \u2014 the class moved to <code>EasyInvoicePro\\Addons\\ItemLibrary\\Services\\ItemLibraryService<\/code> so the old check always returned false, hiding the buttons even when the addon was active. Replaced with the canonical <code>\\EasyInvoice\\Addons\\AddonManager::shouldLoad('item_library')<\/code> check used everywhere else in the codebase.<\/li>\n<li>Fixed - <strong>Clients table row alignment after Add New Client.<\/strong> The table has 8 columns (ID, Business Name, Client Name, Email, Phone, Username, Role, Actions) but the JS row template only rendered 6 cells, so every column from \"Client Name\" onward landed one position to the left of where it should \u2014 email landed in the Client Name column, role badge landed in the Phone column, action buttons landed in the Username column. Restored the missing Business Name and Phone cells and aligned the <code>colspan<\/code> for the \"No clients found\" placeholder across PHP (was 7) and JS (was 6) to the correct 8.<\/li>\n<li>Fixed - <strong>No success toast after Add Client.<\/strong> The success branch was calling a non-existent <code>showToast()<\/code> function behind a <code>typeof showToast === 'function'<\/code> guard, so the toast never fired. Switched to <code>EasyInvoiceToast.success<\/code> \/ <code>.error<\/code> (the same API used by every other handler in the file). Kept the <code>suppress_global_toast<\/code> flag so we don't get a duplicate toast now that the manual one works.<\/li>\n<li>Fixed - <strong>Role badge flickered \"Client\" -&gt; \"Customer\" after refresh.<\/strong> New clients are created with the WP <code>customer<\/code> role, but the JS new-row template hardcoded \"Client\" \u2014 producing a one-shot mismatch the user saw on the next page load. The <code>addClient<\/code> AJAX response now returns the actual assigned role (<code>role<\/code> + <code>role_label<\/code>) and the JS template renders from that. Single source of truth in PHP, no more flicker.<\/li>\n<li>Improved - <strong>Short description shortened to fit the WordPress.org 150-char limit<\/strong> (was 157 chars and got truncated by the importer with a warning visible to plugin authors). New version keeps the \"WordPress invoice plugin\" keyword up front and packs the four primary capabilities into a clean two-sentence snippet.<\/li>\n<\/ul>\n\n<h4>2.3.1 - May 21, 2026<\/h4>\n\n<ul>\n<li>Compatibility - <strong>Tested and confirmed compatible with WordPress 7.0.<\/strong> \"Tested up to\" bumped from 6.9.<\/li>\n<li>Fixed - <strong>Client search excluded WooCommerce customers.<\/strong> <code>ClientRepository::search()<\/code> gated all results on an EXISTS check against Easy Invoice's own meta keys, so users who exist in WordPress (or were imported by WooCommerce) but had no prior Easy Invoice activity were filtered out of every client autocomplete and selector. Replaced with a two-pass query: a user-table search across <code>user_login<\/code>, <code>user_email<\/code>, <code>display_name<\/code>, plus a meta search across <code>first_name<\/code>, <code>last_name<\/code>, <code>nickname<\/code>, <code>billing_first_name<\/code>, <code>billing_last_name<\/code>, <code>billing_email<\/code>, <code>billing_company<\/code> and Easy Invoice's own meta keys. Result limit raised from 10 to 50.<\/li>\n<li>Fixed - <strong>License Plan Resolver: Personal license showed as Professional.<\/strong> <code>PRICE_ID_MAP<\/code> mis-mapped EDD <code>price_id<\/code> 1 to Professional. Corrected mapping to: 1=Personal, 2=Professional, 3=Agency, 4=Personal Lifetime, 5=Personal Lifetime (Unlimited). Also fixed the name-based fallback that was matching \"Easy Invoice <strong>Pro<\/strong>\" against \"Professional\" via <code>strpos<\/code> \u2014 order is now agency \u2192 professional \u2192 personal so the parent name no longer poisons the match.<\/li>\n<li>Added - <strong>Plan variant labels.<\/strong> Personal Lifetime and Personal Lifetime (Unlimited) now surface as \"Personal Lifetime\" on the License page chip instead of generic \"Personal\".<\/li>\n<li>Fixed - <strong>License page activation count<\/strong> showed \"1 \/ 0\" for unlimited-activation keys (EDD returns <code>license_limit: 0<\/code> for unlimited). Now renders \"1 \/ Unlimited\" when limit is <code>0<\/code> \/ empty \/ the string \"unlimited\".<\/li>\n<li>Improved - <strong>License page UI<\/strong>: variant badge inline with the Plan chip, \"12 months\" expiry shown inline, container widened and centered on the page, removed full-screen gray background that bled across all admin pages (<code>.easy-invoice-admin<\/code> now uses <code>bg-white<\/code>).<\/li>\n<li>Added - <strong>\"Docs\" link on every Addons-page card state.<\/strong> Previously only Locked \/ Available cards linked to docs; the Active state now also exposes the Docs link so users can find documentation for addons they're already using.<\/li>\n<li>Improved - <strong>Privacy &amp; GDPR settings section<\/strong> renamed from \"Account Settings\" \u2014 clearer naming that matches the addon that owns the surface. Section is hidden entirely when the Privacy &amp; GDPR Tools addon is not active.<\/li>\n<li>Internal - One-time cleanup script removed 4,315 duplicate Client Portal pages created by a regression in the page-existence check. New code defers portal-page setup to a manual admin notice rather than auto-creating on every request.<\/li>\n<\/ul>\n\n<h4>2.3.0 - May 17, 2026<\/h4>\n\n<ul>\n<li>Added - <strong>Addon system for Easy Invoice Pro<\/strong>. Every Pro feature is now an independently-toggleable addon under <strong>Easy Invoice \u2192 Addons<\/strong>. Disabled addons contribute zero PHP, zero database queries, zero hooks.<\/li>\n<li>Added - <strong>Personal tier is now free with the Pro plugin<\/strong> (no license key required). Eleven addons unlock automatically when you install Easy Invoice Pro: Recurring Invoices, Partial Payments &amp; Deposits, Client Portal, PDF Toolkit, Bulk Email &amp; Export, Item Library, Custom Invoice &amp; Quote Templates, Additional Tax Lines, Email Enhancements, Privacy &amp; GDPR Tools, and Reports &amp; Analytics. A license key now only unlocks Professional and Agency tiers.<\/li>\n<li>Added - <strong>Reports addon<\/strong> (Personal tier) \u2014 gating the Reports page on the new addon flag so users can disable it if not needed.<\/li>\n<li>Added - <strong>Per-addon sidebar navigation<\/strong> below the Addons menu in the Easy Invoice in-app sidebar \u2014 every enabled addon with a primary page gets its own sidebar entry automatically.<\/li>\n<li>Added - <strong>WP admin notice suppression<\/strong> now extended to every addon page (dynamic \u2014 picks up new addons automatically from the registry).<\/li>\n<li>Added - <strong>One-time migration<\/strong> (<code>MIGRATION_VERSION = '2'<\/code>) auto-enables every Personal-tier addon for existing Pro installs based on detected feature usage, so nothing breaks on upgrade. New installs get addons disabled by default \u2014 opt-in only.<\/li>\n<li>Improved - <strong>Free vs Pro page<\/strong> rewritten as a data-driven layout (680 lines \u2192 200 lines) with the new four-tier plan model (Free \/ Personal \/ Professional \/ Agency) and concrete addon names per row.<\/li>\n<li>Improved - <strong>Addons page UI<\/strong>: every card shows the addon's full description (line-clamped to 3 lines), tier-color rail removed in favour of plan pills, addon categories regrouped into 8 meaningful buckets (billing, branding, productivity, clients, team, integrations, compliance, analytics).<\/li>\n<li>Improved - <strong>Addon card descriptions<\/strong> rewritten for every addon \u2014 benefit-led, concrete, complete sentences with no ellipsis truncation.<\/li>\n<li>Improved - <strong>License banner<\/strong> on the Addons page now correctly reflects the new Personal-tier-is-free model: free users see \"Get Easy Invoice Pro\", Pro-installed-without-license users see \"Activate License to unlock Professional \/ Agency\".<\/li>\n<li>Improved - <strong>Item Library<\/strong> + <strong>Template Builder<\/strong> pages now appear only in the in-app sidebar (under the Addons menu) \u2014 the duplicate WordPress admin submenu entries were hidden so users don't see the same link twice.<\/li>\n<li>Improved - <strong>Export All<\/strong> buttons on invoice, quote, payment, and client list screens are now gated on the <code>bulk_operations<\/code> addon. Free users still see the upsell button; Pro-without-addon hides it cleanly.<\/li>\n<li>Improved - <strong>Templates moved<\/strong> into per-addon folders (<code>addons\/{slug}\/templates\/<\/code>) so each addon owns its UI alongside its logic.<\/li>\n<li>Internal - Five settings controllers had bottom-of-file <code>register()<\/code> calls that fired on autoload regardless of addon state. Removed; registration now happens only inside the addon wrapper.<\/li>\n<li>Internal - <strong>AddonRegistry<\/strong> is now the single source of truth for all 16 addons; the Free vs Pro page, addons grid, sidebar, and notice-suppression list all derive from it.<\/li>\n<\/ul>\n\n<h4>2.2.1 - May 15, 2026<\/h4>\n\n<ul>\n<li>Fixed - <strong>PDF download quality<\/strong>. Invoice \/ quote PDFs now render with crisp text and sharp table borders instead of soft, slightly-blurry output. Specifically:\n\n<ul>\n<li>html2canvas capture scale bumped from 1.5x to 2x (matches retina pixel density).<\/li>\n<li>Switched the embedded bitmap from JPEG @ 0.92 to lossless PNG so text edges and table grid lines no longer suffer JPEG colour-fringe artefacts.<\/li>\n<li>Locked the capture viewport to the document's own layout width so responsive CSS can't shrink columns mid-capture.<\/li>\n<li>Enabled jsPDF FlateDecode compression and the slow \/ higher-quality addImage compression flag \u2014 file sizes stay reasonable despite the higher resolution.<\/li>\n<\/ul><\/li>\n<li>Internal - JS cache buster bumped so browsers pick up the new <code>document-pdf.js<\/code> on first reload after upgrade.<\/li>\n<\/ul>\n\n<h4>2.2.0 - May 13, 2026<\/h4>\n\n<ul>\n<li>Added - <strong>Export Selected (Pro)<\/strong> option in the Bulk Actions dropdown on both Invoice and Quote listings \u2014 visible to all users so the feature is discoverable. Pairs with the existing <strong>Send Email (Pro)<\/strong> option.<\/li>\n<li>Added - When Easy Invoice Pro is inactive, picking either Pro-gated bulk action now opens the project's existing Upgrade-to-Pro dialog with feature-specific copy (handled by the new <code>bulk-send-email-teaser.js<\/code>). When Pro is active, Pro's own handlers take over and actually run the action behind a Confirm dialog.<\/li>\n<li>Improved - All Pro-gated submit interceptors moved to native <strong>capture-phase<\/strong> event listeners so they win against the listing template's own inline jQuery submit handlers (which previously raced our handlers and showed a generic \"Confirm Action\" prompt on the Quote listing).<\/li>\n<li>Improved - Settings \u2192 Payment now shows a clean \"Unlock more payment gateways\" teaser block when Pro is inactive, listing every Pro gateway with one-click upgrade links.<\/li>\n<li>Fixed - Quote listing search form posted to a non-existent page slug (<code>easy-invoice-quotes-all<\/code>); now correctly posts to <code>easy-quote-all<\/code>, so picking a value from the client filter no longer redirects to \"you are not allowed\".<\/li>\n<li>Fixed - Default Invoice \/ Quote email body shipped a leftover <code>&lt;strong&gt;Shortcode:&lt;\/strong&gt;<\/code>[easy_(invoice|quote)_url \u2026]`` reference line that got emailed to clients as raw text. The line is removed from the defaults, and a one-time migration strips it from already-saved options.<\/li>\n<\/ul>\n\n<h4>2.1.22 - May 13, 2026<\/h4>\n\n<ul>\n<li>Added - <strong>Filter by Client<\/strong> dropdown on both <strong>All Invoices<\/strong> and <strong>All Quotes<\/strong> listing pages. Persists through view-tab switches, search, pagination, and status-filter chips so you can drill into a single client's history in two clicks.<\/li>\n<li>Improved - Listing controllers now emit the available clients list and the selected <code>client_id<\/code> to the template, exposing a clean extension point for Pro modules.<\/li>\n<\/ul>\n\n<h4>2.1.21 - May 11, 2026<\/h4>\n\n<ul>\n<li>Added - \"Documentation\" link in the Easy Invoice plugin sidebar (under Join Community) that opens the new official documentation site at https:\/\/easy-invoice.matrixaddons.com\/docs\/<\/li>\n<li>Updated - All in-plugin documentation references now point to the new dedicated docs site (https:\/\/easy-invoice.matrixaddons.com\/docs\/) instead of the legacy URL<\/li>\n<li>Updated - readme.txt documentation links refreshed across Description, Installation, FAQs and Support sections<\/li>\n<\/ul>\n\n<h4>2.1.20 - April 29, 2026<\/h4>\n\n<ul>\n<li>Security: Manual payment proof uploads now validate file contents with WordPress APIs (<code>wp_check_filetype_and_ext<\/code>) and store only a safe extension; client-supplied multipart MIME types and filenames are not trusted.<\/li>\n<li>Security: Quote accept and decline (AJAX and POST forms) use a per-quote nonce and load published quotes for non-administrators, preventing cross-quote reuse of a nonce and blocking actions on non-published quotes for guests.<\/li>\n<li>Security: Unauthenticated payment-instructions AJAX only applies to published invoices.<\/li>\n<li>Security: Send invoice and send quote email AJAX use a single handler with published-document checks for guests; removed duplicate AJAX registration that could double-send or bypass publication checks.<\/li>\n<\/ul>\n\n<h4>2.1.19 - April 27, 2026<\/h4>\n\n<ul>\n<li>Minor UI issue fixed<\/li>\n<li>Minor bug fixed on both plugins<\/li>\n<\/ul>\n\n<h4>2.1.18 - April 21, 2026<\/h4>\n\n<ul>\n<li>Maintenance - Version bump release<\/li>\n<\/ul>\n\n<h4>2.1.17 - April 17, 2026<\/h4>\n\n<ul>\n<li>Fixed - Client PDF download: long invoice\/quote HTML no longer produces blank or truncated PDFs (JPEG\/PNG mismatch fixed; browser canvas limits handled; tall content captured in slices and split across A4 pages)<\/li>\n<li>Fixed - PDF page breaks align to table row and summary block boundaries so line items are not cut in half across pages (row-aware cropping)<\/li>\n<\/ul>\n\n<h4>2.1.16 - April 16, 2026<\/h4>\n\n<ul>\n<li>Fixed - Quote builder item total now correctly applies Adjust (%) in real-time calculation<\/li>\n<li>Fixed - Tax now only applies to items with the Taxable checkbox checked (both Invoice and Quote builders)<\/li>\n<li>Fixed - Discount Calculation Method (Before Tax \/ After Tax) now works correctly in both builders<\/li>\n<li>Fixed - Price Includes Tax setting is now respected in all tax calculations<\/li>\n<li>Fixed - Calculation Method field correctly reads discount_calculation_method instead of incorrect radio selector<\/li>\n<li>Fixed - Invoice builder payment manager fallback now correctly finds quote items (.quote-item class)<\/li>\n<li>Fixed - Invoice discount type None now correctly returns zero discount<\/li>\n<li>Fixed - Division by zero guard added in tax discount ratio calculation<\/li>\n<li>Fixed - InvoiceRepository now correctly saves discount_calculation_method from form submission<\/li>\n<li>Improved - Quote form event listeners now respond to Taxable checkbox, Calculation Method, and Price Includes Tax changes<\/li>\n<li>Fixed - Invoice adjust field setting now properly controls the adjust field display in Invoice Builder<\/li>\n<li>Fixed - Corrected method calls to use shouldShowInvoiceAdjustField() instead of shouldShowQuoteAdjustField()<\/li>\n<li>Improved - Invoice Builder now correctly responds to Show\/Hide Adjust Field setting<\/li>\n<li>Fixed - Adjust field calculations now completely ignored when Show\/Hide Adjust Field setting is disabled<\/li>\n<li>Fixed - JavaScript calculations now respect adjust field setting via localized showAdjustField property<\/li>\n<li>Fixed - Invoice and Quote models now check adjust field setting before applying adjustment calculations<\/li>\n<li>Fixed - QuoteItem::getAmount() now respects shouldShowQuoteAdjustField() setting for real-time live preview<\/li>\n<li>Fixed - InvoiceItem::getAmount() now respects shouldShowInvoiceAdjustField() setting for real-time live preview<\/li>\n<\/ul>\n\n<h4>2.1.15 - April 16, 2026<\/h4>\n\n<ul>\n<li>Fixed - Invoice adjust field setting now properly controls the adjust field display in Invoice Builder<\/li>\n<li>Fixed - Corrected method calls to use shouldShowInvoiceAdjustField() instead of shouldShowQuoteAdjustField()<\/li>\n<li>Improved - Invoice Builder now correctly responds to Show\/Hide Adjust Field setting<\/li>\n<\/ul>\n\n<h4>2.1.14 - March 31, 2026<\/h4>\n\n<ul>\n<li>Improved - Invoice and quote builder experience: Editor\/Preview shell tabs, localized send-email confirmation, header title aligned with the document title field, dismissible mobile hint, and unsaved-changes warning when leaving the page<\/li>\n<li><p>Added - Accessible labels on invoice and quote form section navigation<\/p><\/li>\n<li><p>Improved - Table sorting functionality to handle new column structure<\/p><\/li>\n<li>Fixed - Client name display logic for better clarity and organization<\/li>\n<\/ul>\n\n<h4>2.1.13 - March 22, 2026<\/h4>\n\n<ul>\n<li>Improved - User experience with better visual hierarchy<\/li>\n<li>Fixed - Minor styling issues in pricing display<\/li>\n<\/ul>\n\n<h4>2.1.12 - March 13, 2026<\/h4>\n\n<ul>\n<li>Fixed - Minor issues fixed<\/li>\n<li>Added - Promotional notice<\/li>\n<\/ul>\n\n<h4>2.1.11 - February 22, 2026<\/h4>\n\n<ul>\n<li>Fixed - Minor issues fixed<\/li>\n<\/ul>\n\n<h4>2.1.9 - February 15, 2026<\/h4>\n\n<ul>\n<li>Fixed vendor dependency issue affecting plugin initialization<\/li>\n<li>Improved compatibility with latest WordPress version<\/li>\n<\/ul>\n\n<h4>2.1.8 - February 15, 2026<\/h4>\n\n<ul>\n<li>Added custom CSS section for each template<\/li>\n<li>Enhanced template flexibility for developers<\/li>\n<\/ul>\n\n<h4>2.1.7 - December 15, 2025<\/h4>\n\n<ul>\n<li>Fixed quote accept and decline functionality<\/li>\n<li>Improved quote workflow reliability<\/li>\n<\/ul>\n\n<h4>2.1.6 - December 11, 2025<\/h4>\n\n<ul>\n<li>Tested and confirmed compatibility with WordPress 6.9<\/li>\n<li>Performance optimizations<\/li>\n<\/ul>\n\n<h4>2.1.5 - November 20, 2025<\/h4>\n\n<ul>\n<li>Fixed template loading issue<\/li>\n<li>Improved template rendering performance<\/li>\n<\/ul>\n\n<h4>2.1.4 - November 11, 2025<\/h4>\n\n<ul>\n<li>Fixed email sending issues with SMTP configurations<\/li>\n<li>Improved HTML tag support in textarea fields<\/li>\n<li>Fixed empty data saving issue in description fields<\/li>\n<\/ul>\n\n<h4>2.1.3 - November 3, 2025<\/h4>\n\n<ul>\n<li>Added review notice<\/li>\n<li>Added community link for support<\/li>\n<\/ul>\n\n<h4>2.1.2 - October 30, 2025<\/h4>\n\n<ul>\n<li>Fixed phone number formatting and validation<\/li>\n<li>Fixed shortcode rendering issues<\/li>\n<li>Fixed fatal error during email sending<\/li>\n<\/ul>\n\n<h4>2.1.0 - October 13, 2025<\/h4>\n\n<ul>\n<li>Enhanced data escaping for security<\/li>\n<li>Strengthened input sanitization<\/li>\n<\/ul>\n\n<h4>2.0.9 - August 30, 2025<\/h4>\n\n<ul>\n<li>Fixed quote and invoice auto-increment number generation<\/li>\n<li>Added regeneration feature for quote and invoice numbers<\/li>\n<\/ul>\n\n<h4>2.0.8 - August 30, 2025<\/h4>\n\n<ul>\n<li>Updated checkout link for improved payment flow<\/li>\n<\/ul>\n\n<h4>2.0.7 - August 17, 2025<\/h4>\n\n<ul>\n<li>Fixed minor UI and functionality issues<\/li>\n<li>Fixed trash button behavior<\/li>\n<\/ul>\n\n<h4>2.0.6 - August 27, 2025<\/h4>\n\n<ul>\n<li>Fixed quote acceptance workflow<\/li>\n<\/ul>\n\n<h4>2.0.5 - August 24, 2025<\/h4>\n\n<ul>\n<li>Fixed date format display issues<\/li>\n<li>Fixed various minor bugs<\/li>\n<\/ul>\n\n<h4>2.0.4 - August 21, 2025<\/h4>\n\n<ul>\n<li>Fixed currency symbol display issues<\/li>\n<li>Fixed quote line items calculation<\/li>\n<\/ul>\n\n<h4>2.0.3 - August 19, 2025<\/h4>\n\n<ul>\n<li>Fixed data migration from version 1.x to 2.0<\/li>\n<\/ul>\n\n<h4>2.0.2 - August 19, 2025<\/h4>\n\n<ul>\n<li>Various bug fixes<\/li>\n<li>Added legacy template support<\/li>\n<\/ul>\n\n<h4>2.0.1 - August 16, 2025<\/h4>\n\n<ul>\n<li>Fixed currency formatting and display<\/li>\n<li>Fixed PDF size and rendering<\/li>\n<li>Fixed email sending functionality<\/li>\n<li>Added {{quote_url}} and {{invoice_url}} smart tags<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/matrixaddons.com\/plugins\/easy-invoice\/#changelog\">View complete changelog<\/a><\/p>","raw_excerpt":"WordPress invoice plugin for freelancers &amp; small businesses. Create unlimited invoices, PDF quotes &amp; accept PayPal payments.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/163722","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=163722"}],"author":[{"embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/matrixaddons"}],"wp:attachment":[{"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=163722"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=163722"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=163722"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=163722"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=163722"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=163722"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}