Difference between revisions of "Invoicing Issues"

From WHMCS Documentation

(Invoices/Payment Reminders not Generated)
(Double Invoices/Charges/Blank Invoices)
 
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
There may be occasions where invoices are not generated as expected by the system. The problem is usually a misconfiguration or human error, this page explains the symptoms, causes and resolutions to the most common invoicing problems.
+
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==
 
==Invoices/Payment Reminders not Generated==
First please ensure the '''Overdue Notices''' option in unticked on the client's Profile tab, ticking the option will prevent overdue notices being sent to the client.
 
  
If the '''Email Templates''' are not present then the system will be unable to send an email, so review Setup > Email Templates and ensure the ''Invoice Created'' and ''Overdue Notice'' emails templates are listed.
+
Make certain to deselect '''Overdue Notices''' in the client's '''[[Clients:Profile Tab|Profile]]''' tab. This prevents the system from sending overdue notices to the client.
  
Invoice generation, payment reminders and account suspension/termination are some of the tasks handled by the daily [[Crons|cron job]] in accordance with your [[Automation Settings]]. If you find that some or none of the above are occurring then this could indicate the cron job is not running successfully.
+
If the email templates do not exist, the system cannot send an email. Go to '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Email Templates]]''' or, prior to WHMCS 8.0, '''Setup > Email Templates''' and ensure the '''Invoice Created''' and '''Overdue Notice''' email templates display.
  
Begin by reviewing '''Utilities > Logs > Activity Log''' and ensure you see a number of entries beginning "Cron Job" each day. The final entry every day should be "Cron Job: Completed".
+
Invoice generation, payment reminders, and account suspensions and terminations are some of the tasks that the daily [[Crons|cron job]] handles in accordance with your [[Automation Settings|automation settings]]. If you find that some or none of the above are occurring, this could indicate the cron job is not running successfully.
  
* If you see no Cron Job entries at-all this means you have not configured your automation cron correctly, you must do this per our installation instructions. The relevant documentation can be found at [[Crons|cron job]].
+
Review '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > [[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 some Cron Job entries but none after "Cron Job: Running Usage Stats Update" your cron is getting stuck at the Usage Stats Update stage. The most likely cause of this error is that you have an old server in Setup > Servers that is no longer available.<br />To resolve this, you should update or remove any inactive or offline servers from Setup > Servers so that they can all be connected to successfully. Or alternatively Update Usage Statistics can be disabled under Setup > Automation Settings.
+
* 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|Crons]].
  
* Finally, if you see some Cron Job entries but no "Cron Job: Completed" entry this suggests the cron is being terminated prematurely by your server. Please increase the memory_limit setting in your server's php.ini to 64M or 128MB which should easily be sufficient. Then see if things improve and you start getting the cron job report again over the next few days.
+
* 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 (<i class="fa fa-wrench" aria-hidden="true"></i>) > 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 (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > [[Automation Settings]]''' or, prior to WHMCS 8.0, '''Setup > Automation Settings'''.
  
If the cron still doesn't complete with the increased memory limit please ensure display_errors is enabled in the server's PHP configuration and enable the '''Setup > General Settings > Other tab > Display Errors''' option, then run the cron manually by visiting the cron.php file in your browser. You should now see an error output to the screen. We have collected some of the most most common errors and their causes, refer to the appropriate page in the following sections:
+
* If you see some cron job entries but no ''Cron Job: Completed'' entry, your server may be prematurely terminating the cron job. Increase the <tt>memory_limit</tt> setting in your server's <tt>php.ini</tt> 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 <tt>display_errors</tt> is enabled in the server's PHP configuration. Enable '''Display Errors''' in the '''[[Other Tab|Other]]''' tab at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > General Settings''' or, prior to WHMCS 8.0, '''Setup > General Settings'''. Then, visit the <tt>cron.php</tt> 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:
  
 
*[[Server Modules]]
 
*[[Server Modules]]
Line 23: Line 28:
  
 
==Items Not Invoicing==
 
==Items Not Invoicing==
There are a couple of reasons for invoices not generating, the most obvious are that there's a '''cancellation request''' for the service or it's in cancelled, terminated, fraud or expired '''status'''. It could also be that the '''cron job''' is not being run, please refer to [[#Invoices/Payment Reminders not Generated|the above]] to check that.
 
  
Invoices are only generated once the service's Next Due Date is within the Setup > Automation Settings > Invoice Generation value, so if the '''Next Due Date''' is n the future no invoice will be generated. For example if today's date is 01/01/2012:
+
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 [[#Invoices/Payment Reminders not Generated|the section above]].
 +
 
 +
The system only generates invoices when the service's '''Next Due Date''' is within the '''Invoice Generation''' setting at '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > 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<br />
 
Next Due Date: 07/01/2012<br />
Line 35: Line 43:
 
= Invoice '''not''' generated.
 
= Invoice '''not''' generated.
  
If it's none of those then it's possible an invoice was generated but then '''deleted''' by a member of staff - you'd need to 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 a new invoice is required after deleting an invoice you would need to manually move the Next Due Date forward/back by 1 day. Doing this should get invoice generation going again.
+
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 '''[[Clients:Log Tab|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==
  
==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.
There are several invoicing issues all caused by a common misconfiguration, the symptoms are; two invoices being generated for the same service and due date, a client being double-charged for the same invoice or a completely blank invoice being generated.
 
  
This is caused by the cron job being run twice at the same time, the cron should only be run once per day and never simultaneously. To confirm this review '''Utilities > Logs > Activity Log''' 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 [[Crons|our documentation]].
+
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 (<i class="fa fa-wrench" aria-hidden="true"></i>) > [[System Logs]]''' ('''Utilities > Logs''' in WHMCS 7.x and earlier). There should only be one ''Cron Job: Starting Daily Automation Tasks'' and one ''Cron Job: Completed Daily Automation Tasks'' entry per day. If there is more than one of either of these entries, check the server's cron job configuration to ensure there is only one entry for the <tt>cron.php</tt> file.
  
 +
For more information, see our [[Crons]] documentation.
  
 
==Tax Not Applied to Invoices==
 
==Tax Not Applied to Invoices==
If tax is not applied to an invoice this means WHMCS believe it is not eligible under your tax rules. First ensure tax is enabled and the relevant '''Apply Tax''' options are ticked on the [[Tax/VAT|Tax Rules]] page, if it's an invoice for a product ensure this option is ticked in the product configuration.
 
  
Secondly ensure the '''Tax Exempt''' checkbox is unticked on the client's Profile tab. This may have been ticked by a member of staff or our [http://www.whmcs.com/members/communityaddons.php?action=viewmod&id=219|EU VAT Invoicing Addon Module] (if installed).
+
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 (<i class="fa fa-wrench" aria-hidden="true"></i>) > 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 '''[[Clients:Profile Tab|Profile]]''' tab. A member of staff or our [[EU_VAT_Addon|EU VAT Invoicing]] addon module may have selected this.
  
Finally the client might not match any of your tax rules, the state/country must be an '''exact match''' and is case sensitive. So for example if a tax rule exists for the state "TX" and the client's state is "Texas" these do not match and therefore tax would not be applied. Therefore two tax rules would be required, one for "TX" and another for "Texas".
+
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''.
Any changes will be applied to subsequent invoices, existing invoices will not be changed.
 
  
 +
The system will apply any changes to subsequent invoices, but will not change existing invoices.
  
 
==Multiple Invoices for the same Service==
 
==Multiple Invoices for the same Service==
Multiple invoices for the same service but with ''different'' due dates may be generated if the service has a due date in the past. This usually occurs with services imported using the WHM/cPanel importer or services added manually by a member of staff where the Next Due Date is left at 00/00/0000. As this due date is in the past WHMCS is generating all invoices between then and today to ensure the client is fully paid up.
 
  
To correct this change the Next Due Date to the date of the client's next payment via their Products/Services tab. Any erroneous invoices can safely be deleted/cancelled.
+
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 <tt>00/00/0000</tt>. 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 '''[[Clients:Products/Services Tab|Products/Services]]''' tab. You can safely delete or cancel any erroneous invoices.
  
 
{{troubleshooting}}
 
{{troubleshooting}}

Latest revision as of 16:03, 22 May 2024

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: Starting Daily Automation Tasks and one Cron Job: Completed Daily Automation Tasks entry per day. If there is more than one of either of these entries, check the server's cron job configuration to ensure there is only one entry for the cron.php file.

For more information, see our Crons 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.