Invoicing Issues

From WHMCS Documentation

There may be occasions when the system doesn't generate invoices properly. The problem is usually a misconfiguration or human error.

Invoices/Payment Reminders not Generated

Make certain to deselect Overdue Notices in the client's Profile tab. This prevents the system from sending overdue notices to the client.

If the email templates do not exist, the system cannot send an email. Go to Configuration () > System Settings > Email Templates or, prior to WHMCS 8.0, Setup > Email Templates and ensure the Invoice Created and Overdue Notice email templates display.

Invoice generation, payment reminders, and account suspensions and terminations are some of the tasks that the daily cron job handles in accordance with your automation settings. If you find that some or none of the above are occurring, this could indicate the cron job is not running successfully.

Review Configuration () > System Logs (Utilities > Logs in WHMCS 7.x and earlier) and make sure that you see a number of entries beginning with Cron Job each day. The final entry every day should be Cron Job: Completed.

  • If you see no cron job entries, this means you have not configured your automation cron job correctly. You must do this per our installation instructions. For more information, see Crons.
  • If you see some cron job entries, but none after Cron Job: Running Usage Stats Update, your cron job is getting stuck at the Usage Stats Update stage. The most likely cause of this error is that you have an old server in Configuration () > System Settings > Servers or, prior to WHMCS 8.0, Setup > Products/Services > Servers that is no longer available.
    • To resolve this, update or remove any inactive or offline servers so that they can all connect successfully.
    • Alternatively, you can disable Update Usage Statistics under Configuration () > System Settings > Automation Settings or, prior to WHMCS 8.0, Setup > Automation Settings.
  • If you see some cron job entries but no Cron Job: Completed entry, your server may be prematurely terminating the cron job. Increase the memory_limit setting in your server's php.ini file to 64 MB or 128 MB. Then, check whether you start getting the cron job report again over the next few days.

If the cron job still doesn't complete with the increased memory limit, make sure that display_errors is enabled in the server's PHP configuration. Enable Display Errors in the Other tab at Configuration () > System Settings > General Settings or, prior to WHMCS 8.0, Setup > General Settings. Then, visit the cron.php file in your browser to run the cron manually. You should now see error output.

For more information about the most common errors and their causes, see:

Items Not Invoicing

There are a couple of reasons for invoices not generating. The most obvious reason is that there's a cancellation request for the service or it's in cancelled, terminated, fraud or expired status. For domains, selecting the Disable Auto Renew option stops the system from generating renewal invoices automatically. It could also be that the cron job is not running. For more information, see the section above.

The system only generates invoices when the service's Next Due Date is within the Invoice Generation setting at Configuration () > System Settings > Automation Settings or, prior to WHMCS 8.0, Setup > Automation Settings.

For example, if the Next Due Date is in the future, the system won't generate an invoice. If today's date is 01/01/2012:

Next Due Date: 07/01/2012
Invoice Generation: 7
= Invoice will generate.

Next Due Date: 08/01/2012
Invoice Generation: 7
= Invoice not generated.

If it's none of those, then it's possible that the system generated an invoice that was then deleted by a member of staff. Check the client's Log tab for any Invoice Deleted or Order Deleted entries. WHMCS never generates duplicate invoices for the same service on the same due date, so if you require a new invoice after deleting an invoice, you must manually move the Next Due Date forward or back by one day.

Double Invoices/Charges/Blank Invoices

There are several invoicing issues that a common misconfiguration can cause. The system may generate two invoices for the same service and due date, may double-charge a client for the same invoice, or may generate a completely blank invoice.

A cron job running twice at the same time can cause this. The cron job should only run once per day, and should never run simultaneously. To confirm this, review Configuration () > System Logs (Utilities > Logs in WHMCS 7.x and earlier). There should only be one Cron Job: Completed entry per day. If there is more than one, check the server's cron job configuration to ensure there is only one entry for the cron.php file in accordance with our our documentation.

Tax Not Applied to Invoices

If the system has not applied tax, WHMCS may be operating as though it is not eligible under your tax rules.

First, ensure that tax is enabled and that you have selected the relevant Apply Tax options at Configuration () > System Settings > Tax Configuration or, prior to WHMCS 8.0, Setup > Payments > Tax Configuration. If it's an invoice for a product, ensure this option is selected in the product configuration.

Secondly, ensure that Tax Exempt is deselected on the client's Profile tab. A member of staff or our EU VAT Invoicing addon module may have selected this.

Finally, the client might not match any of your tax rules. The state and country must be exact matches and are case sensitive. For example, if a tax rule exists for the state TX and the client's state is Texas, these do not match and the system would not apply tax. This scenario would require two tax rules, one for TX and another for Texas.

The system will apply any changes to subsequent invoices, but will not change existing invoices.

Multiple Invoices for the same Service

The system may generate multiple invoices for the same service with different due dates if the service has a due date in the past. This usually occurs with services that you import or a staff member manually added, in which the Next Due Date is 00/00/0000. As this due date is in the past, WHMCS generates all invoices between then and today to ensure the client has paid their balance in full.

To correct this, change the Next Due Date to the date of the client's next payment via their Products/Services tab. You can safely delete or cancel any erroneous invoices.