Skip to content
Pro · Agency planRequires Easy Invoice Pro with an Agency license.

White-Label & Brand Override

The single highest-value Agency addon. Lets you ship Easy Invoice to end-clients with your brand instead of MatrixAddons / Easy Invoice branding — admin menu name, logo, colors, PDFs, emails, support URL, and the version badges.

When to use it

  • You're a WordPress agency building billing systems for clients
  • You're a SaaS that bundles invoicing into a larger product
  • You don't want clients to know which third-party plugin powers your billing

If you're a single business using Easy Invoice for your own books, this addon is overkill — leave it off.

Enabling

  1. Easy Invoice → Addons → activate White-Label & Brand Override
  2. Open via the Settings → link on the card

Settings are stored in one wp_option: easy_invoice_white_label_settings. Disabling the addon stops all overrides instantly but keeps the settings, so re-enabling restores everything.

Settings reference

The settings page is organised in four sections.

1. Plugin Identity

FieldWhat it doesAffects
Plugin NameReplaces "Easy Invoice" in the Plugins listingwp-admin/plugins.php row title + filterable via all_plugins
Admin Menu LabelReplaces "Easy Invoice" in the wp-admin sidebarTop-level menu item
Menu IconDashicons class or image URLTop-level menu icon

The menu icon accepts:

  • A dashicons class, e.g. dashicons-portfolio (validated against ^dashicons-[a-z0-9_\-]+$)
  • A full URL to a 16×16-px image (http(s) only — javascript: / data: are rejected)

2. Admin UI Design

This is the design-focused section. Let's cover each control.

Primary Color

Replaces the indigo accent across every Easy Invoice admin screen. Pick via the color swatch or paste a #RRGGBB hex into the text input — they stay in sync. Reset clears the override so the default theme returns.

When set, the addon prints a scoped <style> block on every Easy Invoice admin page (only — never on the rest of wp-admin). The block overrides every Tailwind indigo utility the plugin uses:

bg-indigo-50 / 100 / 600
hover:bg-indigo-700
text-indigo-500 / 600 / 700 / 800
border-indigo-500 / 600
focus:ring-indigo-500
focus:border-indigo-500

A small palette is derived from your hex by mixing with white (for 50/100/500) and black (for 700/800). The palette is computed server-side at request time — no caching, so changes are instant.

Scoping

The recolor only applies on screens whose get_current_screen()->id contains easy-invoice. Your Posts, Plugins, Users, Settings pages are untouched.

Two halves:

  • Choose from media library — opens the WordPress media picker. Pick an image (PNG / SVG recommended) and its URL is written back.
  • Logo Height — 12–80 px. Width auto-scales. Default 32.

Once set, the addon hooks easy_invoice_admin_logo_html (a filter added to main-template.php) and replaces the default indigo SVG square with <img src="$logo_url" style="height:Xpx;width:auto;">. The label text next to the logo is kept unless you tick Hide logo text.

Common logo sizes

  • Wordmark logos (text-style): 32 × 120 px with Hide logo text ticked
  • Mark-only logos (square): 32 × 32 px with Hide logo text unticked
  • Tall logos: bump Logo Height to 40–48 px

Hide logo text

Removes the menu_label (or "Easy Invoice" default) text next to the logo in the sidebar. Useful when your logo image is a full wordmark.

Hide version badges

Removes the v2.x and Pro v2.x pills under the logo. End-clients don't need to know about plugin versions.

Hide "Back to WordPress"

Removes the ← Back to WordPress link under the logo. Keeps end-clients inside your branded experience — they exit via the WP admin bar at the very top if they need to.

3. Document Footers

FieldWhat it does
PDF Footer HTMLReplaces the default "Powered by Easy Invoice" footer on generated PDFs. Basic HTML allowed (sanitized via wp_kses_post).
Email Footer HTMLReplaces the default footer on emails sent from Easy Invoice.

These hook the filters easy_invoice_pdf_footer_html and easy_invoice_email_footer_html. The filters are declared by White-Label; core Easy Invoice surfaces them in its PDF / email rendering pipeline (rolling out gradually — see Roadmap).

4. Support & Visibility

FieldWhat it does
Support / Help URLReplaces the plugin's default support links (which point to MatrixAddons). HTTP(S) only.
Hide upgrade promptsHides every "Upgrade to Pro" banner, plugin-row "Upgrade" link, and the Free vs Pro menu item. End-clients never see them.

The "Hide upgrade prompts" toggle works by filtering easy_invoice_show_upgrade_prompts to false. The Free plugin's PromotionService::init() consults that filter at boot — if false, the entire promotion service skips its hooks and nothing renders.

Filter hooks added to core for White-Label

The addon publishes these expectations and Easy Invoice / Easy Invoice Pro honor them progressively as releases land:

FilterWhere it firesDefault
easy_invoice_admin_logo_html ($default_html)Sidebar in main-template.phpDefault indigo SVG square + label
easy_invoice_admin_show_back_to_wp (true)Sidebartrue
easy_invoice_admin_show_version_badges (true)Sidebartrue
easy_invoice_show_upgrade_prompts (true)PromotionService::init()true
easy_invoice_pdf_footer_html ($html, $document)PDF rendercore default
easy_invoice_email_footer_html ($html)Email rendercore default
easy_invoice_help_link_url ($url)Support / help URL generationmatrixaddons.com
easy_invoice_pro_show_promotions (true)Pro plugin promotion teaserstrue

Security

The addon's input gates are deliberately strict because some values render in the admin chrome:

  • Hex color validated via ^#[0-9a-fA-F]{6}$. Anything else stored as empty string ("use default theme").
  • Menu icon must be either dashicons-[a-z0-9_\-]+ or an http(s) URL. javascript: / data: / file: schemes are dropped.
  • Help URL must be http(s).
  • PDF / email footers sanitized via wp_kses_post — script tags and dangerous attributes stripped.
  • Plugin name / menu label sanitized via sanitize_text_field.

Permissions

Anyone with manage_options can change White-Label settings. Plan-tier check (Agency) is enforced at the addon-enable layer; once enabled, the settings page itself is open to administrators.

Common scenarios

"I want my agency's logo + purple primary"

  1. Activate the addon
  2. Primary Color: #7c3aed (purple-600)
  3. Sidebar Logo: upload your wordmark, set height to 32
  4. Hide logo text: ✓
  5. Plugin Name + Admin Menu Label: "Acme Billing"
  6. Hide upgrade prompts: ✓
  7. Save

End-clients now see "Acme Billing" everywhere, in your purple, with your logo.

"I want clients to see my support URL only"

  1. Activate the addon
  2. Support / Help URL: https://acme.com/support
  3. Hide upgrade prompts: ✓ (kills the "Upgrade to Pro" link that would otherwise route to MatrixAddons)
  4. PDF Footer: Powered by Acme Billing · acme.com/support
  5. Email Footer: Sent by Acme Billing — questions? [email protected]

"Clients see WordPress admin chrome — how do I hide it?"

White-Label customises Easy Invoice's pages, not WordPress's chrome itself. To get clients off the WP admin altogether:

  • Use a frontend client portal (Pro's Client Portal feature)
  • Or install an admin-bar hider plugin and restrict the WP admin via roles

The combination of Team Members & Audit Log addon + White-Label = give clients a "Sales" role and they only see the Easy Invoice screens with your branding.

Troubleshooting

Primary color doesn't apply

  1. Check the screen id contains easy-invoice — the recolor is intentionally scoped to Easy Invoice pages. View source and look for <style id="ei-white-label-design">.
  2. Some elements use inline style="…" instead of utility classes — those won't recolor. Report the specific element and we'll add explicit overrides.

Logo image too small / too big

Adjust Logo Height (12–80 px). Width auto-scales — there's no width control. If your logo is wider than the 64-px sidebar header allows, consider creating a square version.

These filters depend on Easy Invoice's PDF / email render code calling apply_filters('easy_invoice_pdf_footer_html', …) at the right point. That hook is rolling out across releases — until your version of Pro fires it, set the footer manually via your own template override.

Hard-refresh the admin. The menu is built per-request server-side, so changes apply immediately on the next page load (not the current one).

Roadmap

Coming in subsequent Pro releases:

  • Native easy_invoice_pdf_footer_html filter calls inside the PDF render pipeline (currently the filter is declared but core hasn't started calling it yet on all PDF templates)
  • Per-client portal branding (custom domain + per-client logo)
  • Sidebar background color + dashboard hero color controls
  • Login screen branding for the client portal

See also