Invoicing Issues

From WHMCS Documentation

Revision as of 14:12, 4 August 2020 by SarahK (talk | contribs)

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 sure that you have deselected the Overdue Notices option on the client's Profile tab. Selecting the option will prevent the system from sending overdue notices to the client.

If the Email Templates are not present, the system will be unable to send an email. Review Configuration () > System Settings > Email Templates and ensure the Invoice Created and Overdue Notice emails templates are present.

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 > Activity Log 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 that is no longer available.
    To resolve this, update or remove any inactive or offline servers from Configuration () > System Settings > Servers so that they can all connect successfully. Alternatively, you can disable Update Usage Statistics under Configuration () > System Settings > Automation Settings.
  • If you see some cron job entries, but no Cron Job: Completed entry, this suggests that your server is prematurely terminating the cron job. Increase the memory_limit setting in your server's php.ini to 64 MB or 128 MB, which is usually sufficient. 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 the Setup > General Settings > Other > Display Errors option, and 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 Configuration () > System Settings > Automation Settings > Invoice Generation setting.

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 > Activity Log 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 on the Tax Rules page. If it's an invoice for a product, ensure this option is selected in the product configuration.

Secondly, ensure the Tax Exempt checkbox is deselected on the client's Profile tab. A member of staff or our EU VAT Invoicing Addon Module (if activated) 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 using the WHM/cPanel importer, or services a staff member manually added, in which the Next Due Date is left at 00/00/0000. As this due date is in the past, WHMCS generates all invoices between then and today to ensure the client is 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.