---
title: FAQs
description: Frequently asked questions about Easy Invoice — Free vs Pro, PDF generation, currencies, taxes, GDPR, multisite, billing models, and gateway specifics.
---
# Frequently asked questions
## Getting started
### Is Easy Invoice really free?
Yes. The core plugin is GPLv2-or-later, lives on [WordPress.org](https://wordpress.org/plugins/easy-invoice/), and ships unlimited invoices, quotes, clients, PayPal, and a manual payment method out of the box.
### Do I need Easy Invoice Pro?
Get [Easy Invoice Pro](https://matrixaddons.com/plugins/easy-invoice/#pricing) if you need any of:
- **Pro payment gateways** — Stripe, Square, Mollie, Authorize.Net, Paystack, Moneris, Bank Transfer, Cheque, Cash
- **Personal-tier addons** (free with the Pro plugin, no license required): Recurring Invoices, Partial Payments & Deposits, Client Portal, PDF Toolkit, Bulk Email & Export, Item Library, Custom Invoice & Quote Templates, Additional Tax Lines, Email Enhancements, Privacy & GDPR Tools, Reports & Analytics
- **Professional tier** (with license): Time Tracking & Project Billing, Smart Reminders & Late Fees, Priority Support
- **Agency tier** (with license): White-Label, Team Members & Audit Log, Webhooks & Zapier
Otherwise the free plugin handles unlimited basic invoicing with PayPal and Manual payment methods.
### Does Personal-tier really come free with the Pro plugin?
Yes. Once you install Easy Invoice Pro, all 12 Personal-tier addons unlock automatically — no license key required. A license key only unlocks the higher Professional and Agency tiers. This is a deliberate design choice so you can buy Pro once and get the most-requested addons (recurring billing, client portal, secure links, reports, etc.) without any extra steps.
### Does Pro work without Free?
No. Easy Invoice Pro **requires the free plugin to be active**. Activating Pro without Free auto-deactivates Pro and shows an admin error.
### How do I turn an addon on or off?
Go to **Easy Invoice → Addons** in your WordPress admin. Each addon has a card with an **Activate** / **Deactivate** button. Toggle changes take effect on the next page load.
Disabled addons contribute zero PHP, zero database queries, and zero hooks to your site — so leaving an addon off has zero performance cost. Only turn on what you actually use.
### Will my existing Pro features break after the addon-system upgrade?
No. A one-time migration runs automatically on the next admin page load after you upgrade to Easy Invoice 2.3.0+. It auto-enables every addon for features you were already using, so nothing stops working. You can then customize what's enabled from **Easy Invoice → Addons**.
## Versions & compatibility
### What WordPress / PHP versions are required?
- WordPress **5.6+**.
- PHP **7.4+** (the bundled Composer manifest is stricter at 7.2; we use the readme value for documentation).
### Does Easy Invoice support multisite?
Yes — install network-wide and activate per site. Each site has its own settings, invoices, and license activation.
### Block editor / Gutenberg compatible?
Yes for general WordPress pages. Easy Invoice itself doesn't ship Gutenberg blocks — use the [shortcodes](/shortcodes) inside any block that supports shortcodes.
## Money & numbers
### Can I bill in multiple currencies?
Yes. Set a **default currency** under Settings → Currency, and override it per invoice/quote in the builder.
### Decimal precision and rounding?
Configurable from `0`–`4` decimals (default `2`). All math uses standard PHP arithmetic — there's no banker's rounding or currency-specific handling.
### Can I auto-apply tax based on the client's country?
The free plugin supports global tax + per-line taxable. **Pro's Additional Tax** module adds rule-based stacking (e.g. State + Federal). For full automatic tax (TaxJar / Avalara), use a separate WordPress plugin alongside Easy Invoice — it'll write its result into the invoice tax field.
### Year-restart numbering (e.g. INV-2026-0001)?
Bake the year into the prefix manually each January and reset the next number to `1`. The free plugin doesn't auto-restart per year.
## PDFs
### Why is the PDF generated in the browser?
Easy Invoice uses **client-side jsPDF + html2canvas** (`includes/Helpers/PdfHelper.php:78–86`) instead of server-side libraries (Dompdf, mPDF). Pros: no shared-host PHP memory issues, no font shipping, immediate rendering. Cons: very-long invoices (50+ line items) can be slow on weak machines.
### Can I attach the PDF to the invoice email?
Pro Email Enhancements adds an "Attach invoice PDF" toggle per template. The free plugin sends the email with a link only.
### Can I add a watermark to the PDF?
Pro PDF Enhancements adds watermarks ("PAID" / "DRAFT" / custom text), font selection, and per-template options. Settings → PDF Options.
## Stripe / SCA / 3-D Secure
### Does Stripe support SCA / 3-D Secure?
Yes — Pro uses Stripe **Payment Intents**, which automatically trigger 3-D Secure when the issuer requires it. No extra config needed.
### What about Apple Pay / Google Pay?
Stripe Payment Element supports both. They appear automatically on supported devices.
### Stripe shows up but redirects don't return to my invoice
Check that your **site URL** matches across **WordPress** (Settings → General) and your **Stripe** dashboard. Mismatches send the redirect to the wrong host.
## Quotes
### Can the client e-sign the quote?
There's no built-in e-signature field. Use a separate plugin (DocuSign, WP eSignature) for legally-binding signatures — embed its shortcode under the quote line items via a custom template or hook.
### Can I require approval before generating the invoice?
The accepted-quote → invoice conversion is **manual** — the new invoice starts as draft so you can tweak before sending. There's no auto-conversion in the current build.
## Recurring billing
### Free vs Pro: which does what?
- **Free**: one-shot invoices only.
- **Pro**: recurring invoices (manual pay each cycle) **and** subscription invoices (auto-charge via Stripe / Mollie).
### Why do I sometimes see two invoices generated for the same template?
Pro defines **two recurring subsystems** (`RecurringInvoices` extension + `RecurringInvoiceController`). Both are usually wired in production. If you see duplicates, disable one via custom code or contact support.
## Client portal
### Where do I put the portal pages?
Create three regular WordPress pages and drop in the shortcodes:
- `/client-area/login` → `[easy_invoice_login]`
- `/client-area/profile` → `[easy_invoice_profile]`
- `/client-area/invoices` → list (auto-rendered when logged in via Pro)
See [Clients & portal](/clients).
### Can clients pay an invoice from the portal?
Yes — the invoice list shows a **Pay now** button on every unpaid invoice; it routes to the configured gateway.
## GDPR & privacy
### Does Easy Invoice store credit-card data?
No. All cards go through the gateway (Stripe / Square / etc.). Easy Invoice only stores the **transaction ID** and **last four digits** on the Payment record (when the gateway returns them).
### How do I export a client's data?
Pro Privacy & Access registers the WordPress GDPR exporter — open Tools → Export Personal Data and enter the client's email. You'll get a JSON of their invoices, quotes, payments.
### Can I delete a client's data?
Yes — the same Privacy & Access module registers the **eraser**. Tools → Erase Personal Data. **Note**: this removes personal fields but keeps invoice records (anonymised) for accounting compliance.
### Does Easy Invoice send anything to MatrixAddons / external servers?
Only:
- **License activation** to `https://store.mantrabrain.com/edd-sl-api/?` (license key + site URL only).
- **Update checks** via the same endpoint.
There is **no usage analytics or telemetry** beyond licensing.
## Gateways
### Can I use both PayPal and Stripe at once?
Yes. Each enabled gateway becomes a row on the public invoice page; the client picks one.
### A gateway shows in settings but not on the public invoice
Three causes:
1. The gateway is enabled but not configured (missing API key / credential).
2. The currency you chose isn't supported by that gateway.
3. The Pro license is expired (some gateways gate on active license).
See [Troubleshooting](/troubleshooting#gateway-not-showing-on-public-invoice).
### Can I refund through Easy Invoice?
Refunds are **two-step** by design: issue the refund in the gateway's own dashboard (Stripe / PayPal / etc.), then mark the matching Payment record as **Refunded** in Easy Invoice. The invoice's payment status recomputes automatically.
## Reports & exports
### How are reports generated?
`Easy Invoice → Reports` queries `easy_invoice_payment` and `easy_invoice` posts and renders Chart.js charts client-side. No data is sent off-site.
### Can I export to QuickBooks / Xero?
Pro CSV export creates a spreadsheet you can import into most accounting tools. There's no direct API integration; for that, write a custom hook against `easy_invoice_payment_completed`.
## Migrations
### Can I import from another invoicing plugin?
There's no general-purpose import wizard. Migration paths in active use:
- **From WP-Invoice / Sliced Invoices**: write a custom migration script using the source plugin's CPTs and Easy Invoice's `Invoice::save()` API.
- **From CSV**: use **WP All Import** with a custom field map.
The MatrixAddons team does paid migrations on the **Agency** plan.
### Can I move from Free → Pro without losing data?
Yes. Activating Pro doesn't touch the free plugin's data — every invoice, quote, payment, and client stays exactly as-is. Pro just adds new menus and tabs.
## Where to go next
- 🛠️ [Troubleshooting](/troubleshooting) — fixes for common issues.
- 💎 [Pro features](/features) — full Pro catalog.
- 💬 [Get support](/support) — how to reach us.