FAQ
Does the plugin require Composer or any command-line setup?
No. mPDF (the PDF library) is bundled inside the plugin. Upload and activate — no server configuration needed.
What PHP version do I need?
PHP 8.0 or later. PHP 8.1+ is recommended. The plugin will not activate on PHP 7.x.
What happens if two clients have the same send day?
Both invoices are processed in the same daily cron run. Each client gets their own invoice and email. There is no conflict.
What if the server goes down on the send day?
WordPress cron is triggered by site visits. If there are no visitors on the scheduled day, the cron fires on the next visit. The plugin checks whether an invoice was already sent this month before sending, so there is no risk of duplicate sends once it does run.
For more reliable cron execution, use a real cron job that pings your site at a set time, or a plugin like WP Crontrol to monitor cron health.
Can I use this for one-time invoices, not just recurring?
Yes. Set the client’s billing type to “One-time”. You can also set the client to Inactive after sending to prevent future automatic sends.
The invoice PDF is blank or broken. What do I do?
This is usually a PHP memory limit issue. mPDF requires at least 128MB. Add the following to your php.ini or .htaccess:
php_value memory_limit 256M
If the problem persists, check your server’s PHP error log for the specific error.
My emails are going to spam.
This is almost always a sending infrastructure issue, not a plugin issue. See the Email delivery page for setup instructions.
Can I customise the invoice PDF design?
The PDF template is at wp-content/plugins/handshake-invoicing/templates/invoice-template.php. You can edit the HTML and CSS there directly. Note that mPDF does not support Flexbox or CSS Grid — use HTML tables for any side-by-side layouts.
If you modify the template file, your changes will be lost when you update the plugin. Copy the file to a custom plugin or child theme and load it from there if you want changes to survive updates.
Will my data be deleted if I deactivate the plugin?
No. Deactivating keeps all your data intact. Only uninstalling (Plugins → Delete) removes the database tables and settings.
I upgraded to Pro but the features aren’t showing.
Go to HS Invoicing → License and confirm your license shows as active. If you activated recently, try deactivating and reactivating the plugin to flush the license cache.