Troubleshooting Invoices
If you encounter errors or issues while working with or customizing invoices, see the sections below to start troubleshooting and resolve the issue.
- For more information, see Billing Logic.
- For general steps to troubleshoot problems in WHMCS, see Start Troubleshooting.
Generating and Using Invoices
For more information, see Invoice Configuration and Invoice Management.
You may encounter the following common issues:
Error or Issue | Cause | Next Steps |
The system is unexpectedly setting domain renewal invoices to the Cancelled status. | The domain expired and domain grace and redemption fees are disabled or the client placed a domain renewal order. | Cancelled Domain Renewal Invoices |
The system is generating multiple invoices for the same service on different due dates. | This issue may be due to a service due date that is in the past. | Duplicate Invoices (Different Dates) |
The system automation tasks are generating two invoices for each client for the same services and due date. | Multiple cron jobs are attempting to run the system cron at the same time. | Duplicate Invoices (Same Dates) |
PDOException: SQLSTATE: Integrity constraint violation: 1062 Duplicate entry '2147483647' for key 'tblinvoices.PRIMARY' in /path/to/whmcs/vendor/illuminate/database/Connection.php:464 | The Invoice Starting # setting is higher than MySQL® can accommodate. | Duplicate tblinvoices Errors |
The system captures payment for an invoice multiple times in separate transactions. | Multiple cron jobs that are attempting to run the system cron at the same time. | Duplicate Transactions |
The invoice has generated one or more invoices that do not include the taxes that you configured in WHMCS. | There is a problem in your tax configuration settings or due to a setting in the client’s profile. | Invoices Are Missing Tax |
The system does not generate an invoice for a domain renewal. | There is an issue in the domain’s configuration, a previous invoice, or a problem with the system cron. | Missing Domain Renewal Invoices |
The system does not generate an invoice. | This issue may be due to the service’s status or your invoice generation settings. | Missing Service Invoices |
Error: Module Not Found | You have activated and configured the payment gateway, but a corresponding PHP file is missing from the /modules/gateways/ directory. | Oops! Module Not Found Errors |
Invoices display unexpected client details. | This issue may be due to your invoice settings or the presence of a billing contact. | Unexpected Invoice Details |
A service’s Next Due Date value may move to a date several months or years in the future. This results in missing invoices that the system does not generate. | This issue could occur because an admin marked a paid invoice as unpaid and the client paid it again. | Unexpected Next Due Date |
PDF Invoices
You may encounter the following common issues when attempting to view or download a PDF invoice:
Error or Issue | Cause | Next Steps |
When a user downloads a PDF invoice in the Client Area, the system logs them out. | pdo_mysql clients in your server configuration caused unexpected behavior in PHP. | Logout During Invoice Download |
When you create a PDF quote or invoice, letters render as question marks. | Your PDF Font Friendly setting does not support the displayed characters. | Question Marks in PDF Invoices |
TCPDF ERROR: [Image] Unable to get the size of the image: https://www.example.com/images/image-name.png | Your server cannot use the cURL library function to load the logo image for inclusion in the PDF invoice. | TCPDF Image Size Errors |
Maximum execution time of 300 seconds exceeded in /path/to/whmcs/vendor/tecnickcom/tcpdf/tcpdf.php | This error may be due to a high-resolution logo image in the PDF file. | TCPDF Timeouts |
Sending Payment Reminders
For more information, see Configure Payment Reminders.
You may encounter the following common issues:
Error or Issue | Cause | Next Steps |
The domain renewal link in domain renewal reminder emails is broken. | The system generated the URL incorrectly. | Broken Renewal Links in Emails |
Message Body Empty | A syntax error occurred, preventing the email from sending. | Message Body Empty Errors |
The system does not send payment reminder emails. | There is an issue with your reminder settings or a missing email template. | Missing Payment Reminders |
Last modified: 2025 February 6