{"id":11145,"date":"2025-01-21T06:35:29","date_gmt":"2025-01-21T06:35:29","guid":{"rendered":"https:\/\/www.trustedhosting.in\/blog\/?p=11145"},"modified":"2025-01-21T06:35:29","modified_gmt":"2025-01-21T06:35:29","slug":"how-troubleshoot-service-generation","status":"publish","type":"post","link":"https:\/\/www.webystrata.com\/blog\/how-troubleshoot-service-generation\/","title":{"rendered":"How to Troubleshoot Service Invoice Generation"},"content":{"rendered":"<h1><a href=\"https:\/\/www.trustedhosting.in\/master-reseller-hosting.html\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-11005 size-full\" title=\"How to Troubleshoot Service Invoice Generation\" src=\"https:\/\/www.trustedhosting.in\/blog\/wp-content\/uploads\/2025\/01\/2148252151.jpg\" alt=\"How to Troubleshoot Service Invoice Generation\" width=\"1500\" height=\"1001\" srcset=\"https:\/\/www.webystrata.com\/blog\/wp-content\/uploads\/2025\/01\/2148252151.jpg 1500w, https:\/\/www.webystrata.com\/blog\/wp-content\/uploads\/2025\/01\/2148252151-300x200.jpg 300w, https:\/\/www.webystrata.com\/blog\/wp-content\/uploads\/2025\/01\/2148252151-1024x683.jpg 1024w, https:\/\/www.webystrata.com\/blog\/wp-content\/uploads\/2025\/01\/2148252151-768x513.jpg 768w\" sizes=\"auto, (max-width: 1500px) 100vw, 1500px\" \/><\/a><\/h1>\n<h1>How to Troubleshoot Service Invoice Generation<\/h1>\n<div class=\"instructions screensteps-textblock\" tabindex=\"0\">\n<div id=\"text-content_C8D25451-3E15-40DD-B8C6-8AA03DC1304E\" class=\"text-block-content\">\n<p>You may encounter a problem in which the system does not generate an \u00a0invoice for a service renewal. This is generally due to one of several \u00a0common causes.<\/p>\n<p>For more information on how WHMCS generates invoices, see\u00a0Billing Logic.<\/p>\n<\/div>\n<\/div>\n<div class=\"step step-depth-1\" data-step-uuid=\"887E3C6E-522A-45BB-A247-6817048D6106\">\n<h2 id=\"status-not-active-or-pending\" tabindex=\"0\">Status Not Active or Pending<\/h2>\n<div class=\"instructions screensteps-textblock\" tabindex=\"0\">\n<div id=\"text-content_EE651C74-557A-4BA4-8137-25FFA7DEC2EE\" class=\"text-block-content\">\n<p>The system only generates renewal invoices if\u00a0<strong>Status<\/strong>\u00a0is\u00a0<em>Active\u00a0<\/em>or<em>\u00a0Pending.<\/em><strong><em>\u00a0<\/em><\/strong>Service records with other statuses will\u00a0<strong>not<\/strong>\u00a0generate renewal invoices.<\/p>\n<\/div>\n<\/div>\n<div class=\"instructions screensteps-textblock screensteps-wrapper--info screensteps-wrapper\" tabindex=\"0\" role=\"status\" aria-label=\"info\">\n<div id=\"text-content_F6114B86-0CAB-44F6-9C69-9E64A6C4F298\" class=\"text-block-content\">\n<p>If you have enabled\u00a0<strong>Continuous Invoice Generation<\/strong>, the system will only generate renewal invoices if\u00a0<strong>Status<\/strong>\u00a0is\u00a0<em>Active<\/em>.<\/p>\n<\/div>\n<\/div>\n<div class=\"instructions screensteps-textblock\" tabindex=\"0\">\n<div id=\"text-content_313F58BC-E21A-4C50-B9AD-A9BB33960C63\" class=\"text-block-content\">\n<p>To set this value:<\/p>\n<p>1. Go to\u00a0<strong>Clients &gt; Products\/Services<\/strong>.<\/p>\n<p>2. Search for and click on the service.<\/p>\n<p>3. Set\u00a0<strong>Status<\/strong>\u00a0to\u00a0<em>Active.<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-11146\" src=\"https:\/\/www.trustedhosting.in\/blog\/wp-content\/uploads\/2025\/01\/4d012c66-a10a-4f87-b551-adbb38b3233e.png\" alt=\"\" width=\"380\" height=\"95\" srcset=\"https:\/\/www.webystrata.com\/blog\/wp-content\/uploads\/2025\/01\/4d012c66-a10a-4f87-b551-adbb38b3233e.png 380w, https:\/\/www.webystrata.com\/blog\/wp-content\/uploads\/2025\/01\/4d012c66-a10a-4f87-b551-adbb38b3233e-300x75.png 300w\" sizes=\"auto, (max-width: 380px) 100vw, 380px\" \/><\/p>\n<div class=\"step step-depth-1\" data-step-uuid=\"887E3C6E-522A-45BB-A247-6817048D6106\">\n<div class=\"instructions screensteps-textblock\" tabindex=\"0\">\n<div id=\"text-content_2EBC67FE-4322-456A-86FA-A3B10109CF2B\" class=\"text-block-content\">\n<p>4. Click\u00a0<strong>Save Changes<\/strong>.<\/p>\n<p>The system will generate the renewal invoice the next time that the daily automation cron tasks run.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"step step-depth-1\" data-step-uuid=\"386D5223-E02E-43A3-A53B-CC1EDAF778EB\">\n<h2 id=\"cancellation-requested\" tabindex=\"0\">Cancellation Requested<\/h2>\n<div class=\"instructions screensteps-textblock\" tabindex=\"0\">\n<div id=\"text-content_AC42F9A9-E7F4-443C-AB96-0AE0058F5513\" class=\"text-block-content\">\n<p>The system will not generate new renewal invoices if there is a\u00a0cancellation request. If it had already generated a renewal invoice at the time of the cancellation request, the system may have cancelled it due to your\u00a0automation settings.<\/p>\n<p>To check for this:<\/p>\n<p>1. Go to\u00a0<strong>Clients &gt; Products\/Services.<\/strong><\/p>\n<p>2. Search for and click on the service.<\/p>\n<p>3. Look for a\u00a0<strong>Cancellation Request Notice<\/strong>\u00a0message:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-11148\" src=\"https:\/\/www.trustedhosting.in\/blog\/wp-content\/uploads\/2025\/01\/14782677-c84a-471b-bdbd-2c1024e7f77c.png\" alt=\"\" width=\"637\" height=\"287\" srcset=\"https:\/\/www.webystrata.com\/blog\/wp-content\/uploads\/2025\/01\/14782677-c84a-471b-bdbd-2c1024e7f77c.png 637w, https:\/\/www.webystrata.com\/blog\/wp-content\/uploads\/2025\/01\/14782677-c84a-471b-bdbd-2c1024e7f77c-300x135.png 300w\" sizes=\"auto, (max-width: 637px) 100vw, 637px\" \/><\/p>\n<div class=\"step step-depth-1\" data-step-uuid=\"386D5223-E02E-43A3-A53B-CC1EDAF778EB\">\n<div class=\"instructions screensteps-textblock screensteps-wrapper--info screensteps-wrapper\" tabindex=\"0\" role=\"status\" aria-label=\"info\">\n<div id=\"text-content_516DA5B0-BB8A-48B2-8D8B-6F44B76A2D33\" class=\"text-block-content\">\n<p>If you do not want to cancel the service, see\u00a0Voiding Cancellation Requests.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"step step-depth-1\" data-step-uuid=\"079683AE-5D32-4446-8B0F-5F10879FC001\">\n<h2 id=\"next-due-date-beyond-invoice-generation-days\" tabindex=\"0\">Next Due Date Beyond Invoice Generation Days<\/h2>\n<div class=\"instructions screensteps-textblock\" tabindex=\"0\">\n<div id=\"text-content_CA250C3B-919A-4EB9-AADE-6018BC71B7E6\" class=\"text-block-content\">\n<p>A service record will not automatically generate a renewal invoice if\u00a0<strong>Next Due Date<\/strong>\u00a0is further in the future than the number of days that you specified for\u00a0<strong>Invoice Generation<\/strong>.<\/p>\n<p>To check for this:<\/p>\n<p>1. Go to\u00a0<strong>Configuration &gt; System Settings &gt; Automation Settings.<\/strong><\/p>\n<p>2. Find\u00a0<strong>Invoice Generation\u00a0<\/strong>and note the current value:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-11149\" src=\"https:\/\/www.trustedhosting.in\/blog\/wp-content\/uploads\/2025\/01\/149ca8dc-1a3b-41b3-b8c6-bcd6f787790e.png\" alt=\"\" width=\"893\" height=\"165\" srcset=\"https:\/\/www.webystrata.com\/blog\/wp-content\/uploads\/2025\/01\/149ca8dc-1a3b-41b3-b8c6-bcd6f787790e.png 893w, https:\/\/www.webystrata.com\/blog\/wp-content\/uploads\/2025\/01\/149ca8dc-1a3b-41b3-b8c6-bcd6f787790e-300x55.png 300w, https:\/\/www.webystrata.com\/blog\/wp-content\/uploads\/2025\/01\/149ca8dc-1a3b-41b3-b8c6-bcd6f787790e-768x142.png 768w\" sizes=\"auto, (max-width: 893px) 100vw, 893px\" \/><\/p>\n<p>3. Go to\u00a0<strong>Clients &gt; Products\/Services.<\/strong><\/p>\n<p>4. Search for and click on the service.<\/p>\n<p>5. Find\u00a0<strong>Next Due Date<\/strong>\u00a0and check whether it is further in the future than\u00a0<strong>Invoice Generation<\/strong>\u00a0specifies.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-11150\" src=\"https:\/\/www.trustedhosting.in\/blog\/wp-content\/uploads\/2025\/01\/bc040545-f22d-404f-a15d-16f1956a313d.png\" alt=\"\" width=\"319\" height=\"138\" srcset=\"https:\/\/www.webystrata.com\/blog\/wp-content\/uploads\/2025\/01\/bc040545-f22d-404f-a15d-16f1956a313d.png 319w, https:\/\/www.webystrata.com\/blog\/wp-content\/uploads\/2025\/01\/bc040545-f22d-404f-a15d-16f1956a313d-300x130.png 300w\" sizes=\"auto, (max-width: 319px) 100vw, 319px\" \/><\/p>\n<div class=\"step step-depth-1\" data-step-uuid=\"079683AE-5D32-4446-8B0F-5F10879FC001\">\n<div class=\"instructions screensteps-textblock\" tabindex=\"0\">\n<div id=\"text-content_68930E32-168B-4AAA-B131-183B3165CE3D\" class=\"text-block-content\">\n<p>For example, if today&#8217;s date is January 1st, 2023:<\/p>\n<div class=\"code-block copy-clipboard--parent\">\n<pre id=\"code-content_6cb34528-891d-41df-ab10-3563e2cdc3d2\"><code>Next Due Date: 14th Jan 2023\r\nInvoice Generation: 14\r\n= Invoice <strong>will<\/strong> generate today.<\/code><\/pre>\n<div class=\"copy-clipboard copy-clipboard--tt-right\"><\/div>\n<\/div>\n<div class=\"code-block copy-clipboard--parent\">\n<pre id=\"code-content_2f2445c5-1974-4fc1-ba79-aafb7148023d\"><code>Next Due Date: 15th Jan 2023\r\nInvoice Generation: 14\r\n= Invoice <strong>not<\/strong> generated today.<\/code><\/pre>\n<div class=\"copy-clipboard copy-clipboard--tt-right\"><\/div>\n<\/div>\n<p>If the invoice is not yet due for automatic renewal, you can renew the service early via\u00a0the client&#8217;s profile&#8217;s\u00a0<strong>Summary<\/strong>\u00a0tab.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"step step-depth-1\" data-step-uuid=\"40BD4241-27FE-44AB-8FAE-B58D93159775\">\n<h2 id=\"previously-invoiced\" tabindex=\"0\">Previously Invoiced<\/h2>\n<div class=\"instructions screensteps-textblock\" tabindex=\"0\">\n<div id=\"text-content_25C1D70B-41CB-4AB1-B351-545C20696F70\" class=\"text-block-content\">\n<p>A service will not automatically generate a renewal invoice if the system has already generated a renewal invoice for the current\u00a0<strong>Next Due Date<\/strong>\u00a0value and an admin deleted it.<\/p>\n<p>To check for this issue:<\/p>\n<\/div>\n<\/div>\n<div class=\"instructions screensteps-textblock\" tabindex=\"0\">\n<div id=\"text-content_20E3F3D4-EB43-447E-B271-C61E39B11D57\" class=\"text-block-content\">\n<p>1. Access the WHMCS MySQL\u00ae database using your preferred method (for example, phpMyAdmin).<\/p>\n<p>2. Run the following query:<\/p>\n<div class=\"code-block copy-clipboard--parent\">\n<pre id=\"code-content_4bd96f02-c5da-4837-8209-8306b87918d0\"><code>SELECT * FROM tblinvoiceitems WHERE type='Hosting' AND relid='x' AND invoiceid NOT IN(SELECT id FROM tblinvoices)<\/code><\/pre>\n<div class=\"copy-clipboard copy-clipboard--tt-right\"><\/div>\n<\/div>\n<p>Replace\u00a0<code>x<\/code>\u00a0with the service ID, which you can find next to the service in the client&#8217;s\u00a0<strong>Summary<\/strong>\u00a0tab.<\/p>\n<p>The query should return an empty result:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-11151\" src=\"https:\/\/www.trustedhosting.in\/blog\/wp-content\/uploads\/2025\/01\/5c5055f9-571b-47d2-aa99-16d353941001.png\" alt=\"\" width=\"855\" height=\"73\" srcset=\"https:\/\/www.webystrata.com\/blog\/wp-content\/uploads\/2025\/01\/5c5055f9-571b-47d2-aa99-16d353941001.png 855w, https:\/\/www.webystrata.com\/blog\/wp-content\/uploads\/2025\/01\/5c5055f9-571b-47d2-aa99-16d353941001-300x26.png 300w, https:\/\/www.webystrata.com\/blog\/wp-content\/uploads\/2025\/01\/5c5055f9-571b-47d2-aa99-16d353941001-768x66.png 768w\" sizes=\"auto, (max-width: 855px) 100vw, 855px\" \/><\/p>\n<div class=\"step step-depth-1\" data-step-uuid=\"40BD4241-27FE-44AB-8FAE-B58D93159775\">\n<div class=\"instructions screensteps-textblock\" tabindex=\"0\">\n<div id=\"text-content_54395C5B-A9C9-45B0-A0EC-70554B4660E8\" class=\"text-block-content\">\n<p>If there are any results, this indicates a deleted renewal invoice.<\/p>\n<p>Review the client&#8217;s profile&#8217;s\u00a0<strong>Log<\/strong>\u00a0tab&#8217;s\u00a0<strong>Invoice Deleted<\/strong>\u00a0or\u00a0<strong>Order Deleted<\/strong>\u00a0entries. This will identify who deleted it and the time of deletion.<\/p>\n<p>To resolve this issue and generate a new invoice:<\/p>\n<p>1. Go to\u00a0<strong>Domains &gt; Products\/Services.<\/strong><\/p>\n<p>2. Search for and click on the service.<\/p>\n<p>3. Set the\u00a0<strong>Next Due Date<\/strong>\u00a0value to one day earlier.<\/p>\n<p>4. Click\u00a0<strong>Save Changes<\/strong>.<\/p>\n<p>The system will generate the renewal invoice the next time that the daily automation cron tasks run.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"step step-depth-1\" data-step-uuid=\"6CEF6ADD-A3BC-4C68-994C-C6251738D72D\">\n<h2 id=\"daily-automation-cron-issue\" tabindex=\"0\">Daily Automation Cron Issue<\/h2>\n<div class=\"instructions screensteps-textblock\" tabindex=\"0\">\n<div id=\"text-content_ABEB3B41-F285-441D-A1DB-3B04C56FCB0A\" class=\"text-block-content\">\n<p>The daily\u00a0cron job\u00a0handles invoice generation, payment reminders, and account suspensions and terminations according to your\u00a0automation settings. If some of these do not occur, the cron job may not be running successfully.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>How to Troubleshoot Service Invoice Generation You may encounter a problem in which the system does not generate an \u00a0invoice&hellip;<\/p>\n","protected":false},"author":1,"featured_media":11005,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-11145","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-whmcs"],"_links":{"self":[{"href":"https:\/\/www.webystrata.com\/blog\/wp-json\/wp\/v2\/posts\/11145","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webystrata.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webystrata.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webystrata.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webystrata.com\/blog\/wp-json\/wp\/v2\/comments?post=11145"}],"version-history":[{"count":1,"href":"https:\/\/www.webystrata.com\/blog\/wp-json\/wp\/v2\/posts\/11145\/revisions"}],"predecessor-version":[{"id":11152,"href":"https:\/\/www.webystrata.com\/blog\/wp-json\/wp\/v2\/posts\/11145\/revisions\/11152"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.webystrata.com\/blog\/wp-json\/wp\/v2\/media\/11005"}],"wp:attachment":[{"href":"https:\/\/www.webystrata.com\/blog\/wp-json\/wp\/v2\/media?parent=11145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webystrata.com\/blog\/wp-json\/wp\/v2\/categories?post=11145"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webystrata.com\/blog\/wp-json\/wp\/v2\/tags?post=11145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}