__('Unlimited Invoices & Quotes', 'easy-invoice'), 'desc' => __('Create as many invoices and quotes as you need — no row caps.', 'easy-invoice'), 'plans' => ['free','personal','professional','agency']],
['title' => __('PDF Generation', 'easy-invoice'), 'desc' => __('Generate clean, professional PDF invoices and quotes out of the box.', 'easy-invoice'), 'plans' => ['free','personal','professional','agency']],
['title' => __('Client Management', 'easy-invoice'), 'desc' => __('Store and manage every client with addresses, contact info, and history.', 'easy-invoice'), 'plans' => ['free','personal','professional','agency']],
['title' => __('Tax & Discount Options', 'easy-invoice'), 'desc' => __('Add basic taxes, discounts, and fees to any invoice or quote.', 'easy-invoice'), 'plans' => ['free','personal','professional','agency']],
['title' => __('Email Notifications', 'easy-invoice'), 'desc' => __('Automatically send invoices and quotes to clients via email.', 'easy-invoice'), 'plans' => ['free','personal','professional','agency']],
['title' => __('PayPal Gateway', 'easy-invoice'), 'desc' => __('Accept online payments via the built-in PayPal gateway.', 'easy-invoice'), 'plans' => ['free','personal','professional','agency']],
['title' => __('Email Support', 'easy-invoice'), 'desc' => __('Standard email support for product questions and bug reports.', 'easy-invoice'), 'plans' => ['free','personal','professional','agency']],
// ── Section: Personal tier (free with Pro plugin, no license required) ──
['title' => __('Multiple Payment Gateways', 'easy-invoice'), 'desc' => __('Stripe, Square, Mollie, Authorize.net, Paystack, Moneris — plus PayPal.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
['title' => __('Recurring Invoices & Subscriptions', 'easy-invoice'), 'desc' => __('Auto-bill on autopilot: weekly, monthly, or any custom schedule.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
['title' => __('Partial Payments & Deposits', 'easy-invoice'), 'desc' => __('Require deposits and let clients pay the balance in installments.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
['title' => __('Client Portal', 'easy-invoice'), 'desc' => __('Branded self-service area where clients view invoices and download PDFs.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
['title' => __('PDF Toolkit', 'easy-invoice'), 'desc' => __('Custom headers, footers, watermarks (PAID / DRAFT / OVERDUE), and styling.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
['title' => __('Bulk Email & Export', 'easy-invoice'), 'desc' => __('Bulk-email invoices and export selected rows to CSV / Excel / PDF.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
['title' => __('Item Library', 'easy-invoice'), 'desc' => __('Reusable catalog of services and products with one-click insert.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
['title' => __('Custom Invoice & Quote Templates','easy-invoice'), 'desc' => __('Drag-and-drop builder for pixel-perfect branded layouts.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
['title' => __('Additional Tax Lines', 'easy-invoice'), 'desc' => __('Multiple named tax lines per invoice — VAT + duty, GST + PST, federal + state.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
['title' => __('Email Enhancements', 'easy-invoice'), 'desc' => __('Branded HTML emails with CC / BCC, attached PDFs, and Reply-To.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
['title' => __('Privacy & GDPR Tools', 'easy-invoice'), 'desc' => __('Personal-data export and erasure for GDPR / CCPA compliance.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
['title' => __('Reports & Analytics', 'easy-invoice'), 'desc' => __('Visual dashboard for revenue, outstanding balances, and client performance.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
// ── Section: Professional tier ─────────────────────────────────────
['title' => __('Time Tracking & Project Billing', 'easy-invoice'), 'desc' => __('Built-in start/stop timer, hourly rates, one-click conversion to invoice lines.', 'easy-invoice'), 'plans' => ['professional','agency']],
['title' => __('Smart Reminders & Late Fees', 'easy-invoice'), 'desc' => __('Multi-step automated payment chase with auto-applied late fees.', 'easy-invoice'), 'plans' => ['professional','agency']],
['title' => __('Priority Support', 'easy-invoice'), 'desc' => __('Faster response times and direct line to the product team.', 'easy-invoice'), 'plans' => ['professional','agency']],
// ── Section: Agency tier ───────────────────────────────────────────
['title' => __('White-Label & Brand Override', 'easy-invoice'), 'desc' => __('Rebrand Easy Invoice end-to-end: plugin name, menu, PDFs, emails.', 'easy-invoice'), 'plans' => ['agency'], 'highlight' => true],
['title' => __('Team Members & Audit Log', 'easy-invoice'), 'desc' => __('Scoped roles for staff plus a searchable audit log of every action.', 'easy-invoice'), 'plans' => ['agency'], 'highlight' => true],
['title' => __('Webhooks & Zapier Bridge', 'easy-invoice'), 'desc' => __('Stream invoice events to any URL — Zapier, Make, n8n, your CRM, Slack.', 'easy-invoice'), 'plans' => ['agency'], 'highlight' => true],
];
/**
* Plan column metadata. Keeps the table header / CTA rows / checkout
* links in one place so they stay aligned with the data above.
*/
$ei_fvp_plans = [
'free' => [
'label' => __('Free', 'easy-invoice'),
'tagline' => __('For getting started', 'easy-invoice'),
'cta_text' => __('Already installed', 'easy-invoice'),
'cta_url' => '',
'accent' => 'text-gray-900',
],
'personal' => [
'label' => __('Personal', 'easy-invoice'),
'tagline' => __('Free with Pro plugin', 'easy-invoice'),
'cta_text' => __('Get Personal', 'easy-invoice'),
'cta_url' => 'https://store.mantrabrain.com/checkout/?edd_action=add_to_cart&download_id=37777&edd_options[price_id]=1',
'accent' => 'text-teal-600',
],
'professional' => [
'label' => __('Professional', 'easy-invoice'),
'tagline' => __('For growing businesses', 'easy-invoice'),
'cta_text' => __('Get Professional', 'easy-invoice'),
'cta_url' => 'https://store.mantrabrain.com/checkout/?edd_action=add_to_cart&download_id=37777&edd_options[price_id]=2',
'accent' => 'text-indigo-600',
],
'agency' => [
'label' => __('Agency', 'easy-invoice'),
'tagline' => __('For agencies & resellers', 'easy-invoice'),
'cta_text' => __('Get Agency', 'easy-invoice'),
'cta_url' => 'https://store.mantrabrain.com/checkout/?edd_action=add_to_cart&download_id=37777&edd_options[price_id]=3',
'accent' => 'text-purple-600',
],
];
/** Inline-renders a check (✓) or cross (✗) cell for a feature/plan pair. */
$ei_fvp_render_cell = function (array $feature, string $plan_key): void {
$included = in_array($plan_key, $feature['plans'], true);
if ($included): ?>