=== Easy Invoice – Invoice Generator, PDF Quotes & Payments === Contributors: MatrixAddons Tags: invoice, pdf invoice, quotes, billing, payment gateway Requires at least: 5.6 Tested up to: 7.0 Requires PHP: 7.4 Stable tag: 2.3.3 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html WordPress invoice plugin for freelancers & small businesses. Create unlimited invoices, PDF quotes & accept PayPal payments. == Description == 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. = Links = * [Live Demo](https://try.new/plugins/easy-invoice/) * [Documentation](https://easy-invoice.matrixaddons.com/docs/) * [Pro Version](https://matrixaddons.com/plugins/easy-invoice/#pricing) * [Support Forum](https://wordpress.org/support/plugin/easy-invoice/) = Video Demo = https://www.youtube.com/watch?v=a_0BnBpl0y0 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. = Key Features = **Invoicing & Quotes** * Unlimited invoices and quotes * Professional PDF generation * Auto-increment invoice numbering with custom prefixes * Convert quotes to invoices with one click * Clone existing invoices for faster creation * Custom invoice and quote terminology * Set default due dates and payment terms **Payment Processing** * PayPal payment gateway (free version) * Accept online payments with "Pay Now" button * Multiple payment gateways: Stripe, Square, Authorize.Net, Mollie, Paystack, Moneris, Bank Transfer, Cheque, Cash (Pro) * Manual payment recording (cash, check, bank transfer) * Partial payment support (Pro) * Payment status tracking and history **Client Management** * Unlimited client records * Store complete client information * Automated email notifications * Client portal with secure login (Pro) * Payment reminder emails (Pro) **Customization** * Professional invoice templates * Add your logo and business details * Customize templates using CSS * Flexible tax settings (global or per line item) * Discount calculations * Multi-currency support (150+ currencies) * Custom email templates * Translation ready **Automation & Reporting** * Recurring invoice automation (Pro) * CSV data export (Pro) * Invoice and quote reporting * Revenue tracking and analytics (Pro) * Bulk Send Email & Bulk Export Selected (Pro) **Compatibility** * Works with any WordPress theme * WooCommerce compatible * WordPress multisite support * Page builder compatible = Who Uses Easy Invoice? = * **Freelancers** - Quick invoice creation and payment collection * **Agencies** - Multi-client management and project billing * **Small Businesses** - Professional invoicing and recurring billing * **Consultants** - Quote management and payment tracking * **E-commerce** - Custom B2B invoicing alongside WooCommerce * **Service Providers** - Subscription billing and payment plans = Free Version Features = * [**Unlimited Invoices & Quotes**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): Create unlimited invoices and quotes with no restrictions. * [**PDF Generation**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): Generate professional PDF invoices and quotes with one click. * [**PayPal Payment Gateway**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): Accept online payments via PayPal with a built‑in “Pay Now” button. * [**Client Management**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): Store client details and send invoices/quotes via email. * [**Tax & Discounts**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): Add taxes and discounts with before/after‑tax calculation options. * [**Customization**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): Set custom invoice ID prefix, terms & conditions, and footer text. * [**Email Templates**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): Customize invoice and quote email notifications to clients. * [**Professional Templates**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): Use beautiful, printer‑friendly invoice and quote layouts. * [**Print Invoices & Quotes**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): Print documents or save to PDF directly from your browser. * [**Currency & Formatting**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): Control currency symbol, decimals, and separators to match your locale. * [**Custom Payment Links**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): Add an external “Pay Now” link for any payment provider. * [**Works With Any Theme**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): Compatible with all properly coded WordPress themes and page builders. * [**Translation Ready**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): Fully translatable for global use. = Pro Version Features (Addon-Based) = Easy Invoice Pro is **addon-driven**. After installing the Pro plugin, go to **Easy Invoice → Addons** and turn on only the features you actually need — disabled addons contribute zero PHP, zero database queries, zero hooks. The 19 addons are organised into three tiers. **Personal Tier — included free with the Pro plugin (no license key required). 12 addons:** * [**Recurring Invoices & Subscriptions**](https://easy-invoice.matrixaddons.com/docs/addons/recurring-invoices/): 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 — predictable revenue, zero admin. * [**Partial Payments & Deposits**](https://easy-invoice.matrixaddons.com/docs/addons/partial-payments/): 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 — no spreadsheets, no manual reconciliation. * [**Client Portal**](https://easy-invoice.matrixaddons.com/docs/addons/client-portal/): Clients log in to a branded portal to view invoices, download PDFs, see payment history, and accept or decline quotes — on their own time. Includes the **Easy Invoice Account** Gutenberg block. * [**PDF Toolkit**](https://easy-invoice.matrixaddons.com/docs/addons/pdf-toolkit/): Custom headers and footers, watermark stamps (PAID / DRAFT / OVERDUE / VOID), color and font controls, and per-document branding. Make every PDF look enterprise-grade. * [**Bulk Email & Export**](https://easy-invoice.matrixaddons.com/docs/addons/bulk-operations/): Bulk actions on every list screen — email batches of invoices in one click, or export selected rows to CSV. "Export All" downloads your entire history, perfect for year-end accounting. * [**Item Library**](https://easy-invoice.matrixaddons.com/docs/addons/item-library/): Save your common services and products with name, description, price, and SKU. Insert into any invoice or quote in one click — stop retyping and keep pricing consistent across every document. * [**Custom Invoice & Quote Templates**](https://easy-invoice.matrixaddons.com/docs/addons/custom-templates/): Build your own invoice and quote layouts with the visual editor — drag in logos, company info, item tables, totals, signatures, and footers. Save multiple templates and assign different layouts per client. * [**Additional Tax Lines**](https://easy-invoice.matrixaddons.com/docs/addons/additional-tax/): Add unlimited named tax lines per invoice — VAT + duty, GST + PST, federal + state — each with its own rate. Renders every tax as a separate line on the PDF. * [**Email Enhancements**](https://easy-invoice.matrixaddons.com/docs/addons/email-enhancements/): 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. * [**Secure Links for Invoices & Quotes**](https://easy-invoice.matrixaddons.com/docs/addons/secure-links/): Replace predictable invoice/quote permalinks with cryptographically signed, expiring URLs. Stops competitors and customers from incrementing IDs to view documents that aren't theirs. * [**Privacy & GDPR Tools**](https://easy-invoice.matrixaddons.com/docs/addons/privacy-tools/): 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. * [**Reports & Analytics**](https://easy-invoice.matrixaddons.com/docs/addons/reports/): Visual dashboard for invoice revenue, outstanding balances, payment status, and per-client performance. Filter by any date range and export for your accountant. **Pro Payment Gateways** — every one of these unlocks alongside the free PayPal & Manual gateways: * [**Stripe**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): Card, Apple Pay, Google Pay, Link — SCA / 3-D Secure built in. * [**Square**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): US / CA / UK / AU / JP card processing with webhook reconciliation. * [**Authorize.Net**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): Long-standing US gateway — credit cards + eChecks via AIM. * [**Mollie**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): Europe-friendly: SEPA, iDEAL, Bancontact, Sofort, Klarna, card. * [**Paystack**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): Africa-first (NGN / GHS / ZAR / KES / USD): card, bank transfer, USSD, mobile money & QR. HMAC-SHA512 signed webhooks. * [**Moneris**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): Canada's largest card processor — Visa, Mastercard, AMEX, Interac. * [**Bank Transfer**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): Show your IBAN / SWIFT on the invoice; mark paid on wire arrival. * [**Cheque**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): Display your mailing address; mark paid when the cheque clears. * [**Cash**](https://matrixaddons.com/plugins/easy-invoice/#free-vs-pro): In-person cash with custom collection instructions. **Professional Tier — unlocked with a Professional license. 3 addons:** * [**Time Tracking & Project Billing**](https://easy-invoice.matrixaddons.com/docs/addons/time-tracking/): 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 — replaces your standalone time-tracking tool. * [**Expense Tracking & Reimbursable Items**](https://easy-invoice.matrixaddons.com/docs/addons/expense-tracking/): Track project expenses (software, mileage, materials, contractor costs) with receipt uploads. Apply markup and roll selected expenses into invoice line items. * [**Smart Reminders & Late Fees**](https://easy-invoice.matrixaddons.com/docs/addons/smart-reminders/): Configure a multi-step reminder cadence with per-step templates that escalate in tone. Auto-apply late fees and offer early-payment discounts — typically recovers 30%+ of overdue invoices. **Agency Tier — unlocked with an Agency license. 4 addons:** * [**White-Label & Brand Override**](https://easy-invoice.matrixaddons.com/docs/addons/white-label/): Replace the plugin name, admin menu, dashboard icon, PDF footer, and email signature with your own brand. Hide every upgrade prompt — essential for agencies reselling Easy Invoice as a managed service. * [**Team Members & Audit Log**](https://easy-invoice.matrixaddons.com/docs/addons/team-roles/): Scoped roles (Manager / Accountant / Sales / Viewer) so staff can work without touching refunds or settings. Every action lands in a searchable audit log — required for compliance and accountant hand-offs. * [**Accounting Sync (QuickBooks / Xero / FreshBooks)**](https://easy-invoice.matrixaddons.com/docs/addons/accounting-sync/): 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. * [**Webhooks & Zapier Bridge**](https://easy-invoice.matrixaddons.com/docs/addons/webhooks/): Subscribe any URL to invoice events (paid, accepted, failed, recurring run). HMAC-SHA256 signed payloads, automatic retries. Drops into Zapier, Make, n8n, your CRM — connect to 5,000+ tools. [Upgrade to Easy Invoice Pro](https://matrixaddons.com/plugins/easy-invoice/#pricing) == Why Upgrade to Pro? == Easy Invoice Pro is **addon-based** — install once, then toggle individual features on or off from **Easy Invoice → Addons**. Three tiers, designed so you only pay for what you actually need: **Personal Tier (free with the Pro plugin — no license required):** Twelve addons covering the most-requested business needs: * **Recurring Invoices & Subscriptions** — automate retainer / membership billing * **Partial Payments & Deposits** — accept installment plans * **Client Portal** — branded self-service area for your clients (Gutenberg block + shortcode) * **PDF Toolkit** — custom watermarks, headers, footers, branding * **Bulk Email & Export** — send / export batches of invoices in one click * **Item Library** — reusable catalog of services and products * **Custom Invoice & Quote Templates** — drag-and-drop layout builder * **Additional Tax Lines** — multi-jurisdiction tax handling (VAT + duty, GST + PST) * **Email Enhancements** — branded HTML, CC / BCC, attached PDFs * **Secure Links for Invoices & Quotes** — unguessable signed URLs with expiry, owner restriction, and login gating * **Privacy & GDPR Tools** — one-click GDPR / CCPA compliance, data-retention policy, WP Personal Data Export/Erase wiring * **Reports & Analytics** — revenue, outstanding balances, client performance dashboard **Professional Tier (license required):** * **Time Tracking & Project Billing** — built-in timer, hourly rates, one-click to invoice * **Expense Tracking & Reimbursable Items** — track project costs with receipts; markup and bill through * **Smart Reminders & Late Fees** — multi-step automated payment chase **Agency Tier (license required):** * **White-Label & Brand Override** — rebrand the entire plugin as your own * **Team Members & Audit Log** — scoped roles + searchable audit trail * **Accounting Sync** — push invoices to QuickBooks, Xero, FreshBooks; pull payment status back * **Webhooks & Zapier Bridge** — push events to Zapier, Make, n8n, your CRM [View Pro Pricing](https://matrixaddons.com/plugins/easy-invoice/#pricing) = Privacy & Security = Easy Invoice respects your privacy and follows WordPress security best practices: * **No data collection** - We don't collect or store any data from your website * **GDPR compliant** - All invoice data stays in your WordPress database * **Secure payments** - Payment processing handled by PCI-compliant gateways * **No external dependencies** - Plugin works without external API calls * **Security audits** - Regularly monitored by Patchstack for vulnerabilities Payment processing is handled by your chosen gateway (PayPal, Stripe, etc.) according to their privacy policies. Easy Invoice never stores credit card information. = Translations & Internationalization = Easy Invoice is fully translation ready: * **Text Domain:** easy-invoice * **Translation Method:** Standard WordPress .po/.mo files or Loco Translate plugin * **RTL Support:** Full right-to-left language support * **Multi-Currency:** Support for 150+ currencies with custom symbols * **Date Formats:** Localized date formatting English is the default language. Community translations are available through WordPress.org. To contribute translations, visit [WordPress.org translation page](https://translate.wordpress.org/projects/wp-plugins/easy-invoice/) == Installation == **Automatic Installation:** 1. Go to Plugins → Add New in your WordPress admin 2. Search for "Easy Invoice" 3. Click Install Now → Activate 4. Follow the setup wizard **Manual Installation:** 1. Download the plugin ZIP file 2. Go to Plugins → Add New → Upload Plugin 3. Choose the ZIP file and click Install Now 4. Click Activate Plugin **Quick Setup:** 1. Configure business details: Easy Invoice → Settings → General 2. Customize email templates: Easy Invoice → Settings → Email 3. Enable PayPal payments: Easy Invoice → Settings → Payment 4. Create your first invoice: Easy Invoice → Invoices → Add New For detailed instructions, see our [documentation](https://easy-invoice.matrixaddons.com/docs/). == Frequently Asked Questions == = What are the minimum system requirements? = * WordPress 5.6 or newer * PHP version 7.4 or higher (PHP 8.0+ recommended) * MySQL 5.6 or higher = Does Easy Invoice work with any WordPress theme? = 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. = Can I use Easy Invoice with WooCommerce? = Yes. Easy Invoice works independently but can be used alongside WooCommerce for custom B2B invoicing and manual invoice generation. = Is Easy Invoice suitable for beginners? = Yes. Easy Invoice is designed for users of all skill levels with an intuitive interface. No coding knowledge required. = How do I accept online payments? = Free Version: Enable PayPal in Easy Invoice → Settings → Payment. A "Pay Now" button will appear on invoices, allowing clients to pay with PayPal or credit card. 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. For detailed setup instructions, see our [payment gateway documentation](https://easy-invoice.matrixaddons.com/docs/). = Are there any transaction fees? = Easy Invoice charges zero transaction fees. You keep 100% of your revenue. Payment gateway fees (PayPal, Stripe, etc.) apply based on their pricing. = Can clients pay invoices in installments? = Yes, with Easy Invoice Pro. The Partial Payments feature lets clients pay invoices in multiple installments. = How do I track payments? = Easy Invoice automatically tracks all payments. View payment status, history, and generate reports from the Payments dashboard. = Can I create PDF invoices and quotes? = Yes. One-click PDF generation is included in the free version. = How do I customize invoice templates? = Yes, you have full control over the look of invoices and quotes: 1. Go to Easy Invoice → Settings → Templates 2. Choose from professional pre-built templates 3. Customize colors and add your logo 4. Modify layout using custom CSS 5. Add your business details and branding Pro version offers advanced PDF customization including watermarks, custom layouts, and status badges. For detailed customization guides, visit our [documentation](https://easy-invoice.matrixaddons.com/docs/). = Can I convert quotes to invoices? = 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. = Is there a limit on invoices I can create? = No. Create unlimited invoices, quotes, and clients in both free and Pro versions. = I see a 404 error when viewing an invoice. How do I fix it? = Go to Settings → Permalinks and click Save Changes to flush rewrite rules. This resolves most 404 issues. If the problem persists: 1. Deactivate and reactivate the plugin 2. Check that your .htaccess file is writable 3. Contact support if the issue continues = Can I import data from other invoicing plugins? = If you're upgrading from Easy Invoice 1.x to 2.0+, the plugin will automatically prompt you to migrate your data. For importing from other invoicing plugins: * Pro version includes CSV import functionality * Bulk import of invoices and quotes * Import client data * Preserve invoice numbers and dates Contact support if you need assistance with data migration from specific plugins. = Does Easy Invoice work on multisite? = Yes. Easy Invoice is compatible with WordPress multisite installations. = What PHP version is required? = Easy Invoice requires PHP 7.4 or higher. We recommend PHP 8.0+ for optimal performance. = Do I need the Pro version? = The free version includes unlimited invoices, PDF generation, PayPal payments, and client management. Upgrade to Easy Invoice Pro to unlock the **addon system**: 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 — 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). [Get Easy Invoice Pro →](https://matrixaddons.com/plugins/easy-invoice/#pricing) = How does the Pro addon system work? = Easy Invoice Pro is **addon-driven**. After installing the Pro plugin, go to **Easy Invoice → Addons** and turn on only the features you actually need. Disabled addons contribute zero PHP, zero database queries, zero hooks — so a clean install is as fast as the free plugin. There are three plan tiers covering 19 addons in total: * **Personal tier** — included free when you install the Pro plugin (no license required). 12 addons: Recurring Invoices, Partial Payments, Client Portal, PDF Toolkit, Bulk Email & Export, Item Library, Custom Templates, Additional Tax, Email Enhancements, Secure Links, Privacy & GDPR Tools, and Reports. * **Professional tier** — requires a Professional license. 3 addons: Time Tracking, Expense Tracking, and Smart Reminders & Late Fees. * **Agency tier** — requires an Agency license. 4 addons: White-Label, Team Roles & Audit Log, Accounting Sync (QuickBooks / Xero / FreshBooks), and Webhooks & Zapier Bridge. Each plan includes everything in lower plans. See the [Free vs Pro page](https://easy-invoice.matrixaddons.com/docs/) inside the plugin for the full comparison. = Do Personal-tier addons really work without a license key? = 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 — no key to enter, no checkout step beyond the initial purchase. = Can I try Pro before buying? = Yes. We offer a 14-day money-back guarantee. [Get Easy Invoice Pro →](https://matrixaddons.com/plugins/easy-invoice/#pricing) = How do I upgrade from Free to Pro? = 1. Purchase Easy Invoice Pro 2. Install the Pro plugin alongside the free version 3. Activate the Pro plugin You're now on the Personal tier — go to **Easy Invoice → Addons** and turn on the features you want. If you bought a Professional or Agency license, also enter your license key under **Easy Invoice → License** to unlock the higher-tier addons. Existing data is fully preserved across the upgrade. = I was using Easy Invoice Pro before the addon system — will my features break? = 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 **Easy Invoice → Addons**. = Is Easy Invoice secure? = Yes. Easy Invoice follows WordPress security best practices: * Regular security audits by Patchstack * No credit card information stored * All payment processing through PCI-compliant gateways * Secure data encryption * Regular security updates We take security seriously and respond quickly to any reported vulnerabilities. = How can I report security vulnerabilities? = Report security bugs through the [Patchstack Vulnerability Disclosure Program](https://patchstack.com/database/vdp/8b8da081-d07d-4239-b795-0f0895d186dd). The Patchstack team validates and helps resolve all security issues. = Is Easy Invoice GDPR compliant? = Yes. Easy Invoice stores all data in your WordPress database. No data is collected or transmitted to external servers (except configured payment gateways). = Where can I get support? = For all support issues: * **Free Users:** Post in the [WordPress.org support forum](https://wordpress.org/support/plugin/easy-invoice/) * **Pro Users:** Submit a support ticket for priority assistance * **Documentation:** Visit our [complete documentation](https://easy-invoice.matrixaddons.com/docs/) * **Getting Started:** Check our [quick start guide](https://easy-invoice.matrixaddons.com/docs/) Our support team is responsive and helpful (check out our reviews!). = Do you offer customization services? = Yes. We offer custom development services for: * Custom invoice template design * Theme integration * Workflow automation * Custom feature development * Third-party integrations Contact us at [mantrabrain.com/contact](https://mantrabrain.com/contact/) to discuss your requirements. == 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 == Changelog == = 2.3.3 - June 06, 2026 = * Fixed - **Client role badge inconsistent across sites: "Client" on some, "Customer" on others.** Root cause was a four-year-old hook-timing bug in `ClientServiceProvider::register()` — it called `add_action('after_setup_theme', ...)` from inside a callback that itself only runs on `init:10`, so by the time the `add_action` ran, `after_setup_theme` had already fired and the registration silently never executed. On sites with WooCommerce, WC registered `customer` so the badge showed "Customer"; on sites without WC, the role was never registered, `WP_User::roles` filtered it out as unknown, and the Clients page fell back to a "Client" label. Hook moved to `init:1` so it actually runs. * Fixed - **New clients created from Easy Invoice no longer have backend access.** Previously, new clients were assigned WooCommerce's `customer` role (or our copy of it) which carries the `read` capability — letting them log in to wp-admin and see a stripped-down dashboard. New clients now receive a per-user `read => false` capability override on creation: they keep the `customer` role (so Pro Client Portal's role check still recognises them) but `WP_User::has_cap('read')` returns false, blocking wp-admin access. Login still works (auth is cap-free) so the Pro Client Portal frontend remains accessible. * Added - **`easy_invoice_can_edit_invoice` filter hook** in the invoice save AJAX handler and in `Invoice::saveItems()`. Defaults to `true` (no change for sites without addons listening). Pro's Partial Payments addon hooks into this to block edits on paid deposit invoices. * Added - **Locked-banner UI in the invoice editor.** When an invoice's `easy_invoice_can_edit_invoice` resolves to `false`, the editor renders an amber notice at the top: *"This deposit invoice is locked. A payment was recorded on [date]. To add new charges, open the linked balance invoice instead."* with a button that deep-links to the paired balance invoice. The hidden `