Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 04/18/25 in all areas

  1. Yes, I agree they should be an option
    4 points
  2. This new "feature" is terrible and is a fundamental change. This feature does not conform to most businesses and should be an option if there are other regulatory purposes in other countries. It severely limits the flexibility of the system and limits its function. I highly recommend a switch to disable this new "feature".
    4 points
  3. While I understand that bugs are part of any Release Candidate cycle, it's concerning that we are still discussing basic optimization issues like proper OPcache support. And let's not even get started on the fact that we still don't have 100% native Nginx support. This becomes particularly ironic with the introduction of the new WHMCS Cloud Solution. With cloud hosting, the resource costs are on their side, so you'd think they'd be rushing to support Nginx to reduce their own infrastructure expenses. It's like being sold a high-performance engine but being told you have to power it with hamster wheels. Maybe once their bills start rolling in, Nginx support will suddenly become a priority. This all points to the bigger issue: the development velocity. Core development feels like it's just about "keeping the lights on" (PHP/ionCube updates) rather than actual innovation. This stagnation has allowed third-party developers like ModulesGarden to build entire businesses by selling us functionality that should have been in the core a decade ago. When you look at the "Total Cost of Ownership" license fees + necessary third-party modules, the value proposition is slipping. Newer platforms like Upmind are entering the market with an API-first architecture and modern features built-in from day one. If WHMCS continues to outsource innovation to the community while raising prices for maintenance updates, that competitive threat is going to become an exodus very quickly. We need core features that match the modern hosting landscape, not just compatibility patches.
    4 points
  4. A system should be designed to be functional for its paying customers, rather than being dictated by external regulations that may or may not be applicable to all users. Implementing such a feature without a proper disable option is impractical and appears to be an oversight. The current suggested workarounds are ineffective for the majority of standard web design and hosting businesses. Remember, most projects start off with two 50% (published) invoices (deposit and final) from the quote when converted and the final invoice typically gets tweaked for various reasons. This change would prevent that quick 10 second update to it. WHMCS should focus on developing efficient software that delivers value to its users, allowing us to manage legal compliance independently, rather than introducing features that hinder usability.
    3 points
  5. This is what one WHMCS Staff tell me You have the option to make the change to your WHMCS configuration.php file and add the line $allow_adminarea_invoice_mutation = true;, but it is your decision whether to do so. When this line is present in your configuration.php file, the system will permit most of the changes to invoices that existed before WHMCS version 9.0, notably: Line items can be changed for invoices in any status (when in the "Manage" mode and with the correct admin user permissions set). All attributes are available in the Options tab regardless of the invoice status (when in the "Manage" mode and with the correct admin user permissions set). Payments can be applied in the Add Payment tab regardless of the invoice status (with correct admin user permissions set). Please note that using this configuration line ($allow_adminarea_invoice_mutation = true;) in your WHMCS configuration.php The file is highly discouraged, as it may permit changes that are not compliant with regional/country business regulations and complicate accounting. To bring awareness of this, a Warning health check will appear in the System Health Check summary when the value is present in your WHMCS configuration.php file. Additionally, all “full administrators” will see an Admin Warning banner (which can be dismissed up to every fortnight). You may want to add it temporarily if you do need to make the changes listed above, which were changed in WHMCS version 9.0 to improve invoice management and ensure tax compliance by keeping invoice records consistent. If you do not see any warnings or have issues with editing invoices or changing their status when this line is added, please let us know. Starting with WHMCS version 9.0, non-Draft invoices are immutable. This means you cannot edit transactions (now listed under the Ledger section on the invoice), add or remove items, or modify descriptions on an invoice once it’s no longer in the "Draft" status. This change is intended to improve invoice management and ensure tax compliance by keeping invoice records consistent. For more information on invoice management in WHMCS version 9.0, please refer to the following documentation: https://docs.whmcs.com/9-0/billing-and-invoicing/invoice-management/
    3 points
  6. I never imagined that a simple update could introduce so many problems — and even worse, apparently without proper testing. It is absolutely ridiculous for a financial management system to have its own financial logic broken. In the last 24 hours, I finally received a response on the open support ticket, along with a so-called “patch” (attached). In practice, this patch only fixes the reports by hiding the incorrect ledger entries. However, in several other areas of the system, the incorrect postings are still happening. For example, the “Transactions” tab inside the client profile continues to show wrong values and misleading entries. So, in short, this patch does not actually fix the root problem — it only masks it in specific reports. For now, apply it if you want to slightly reduce the visible impact, but be aware that the financial logic is still broken in multiple parts of the system. At this point, we are seriously considering rolling back to a previous version — or even migrating away from WHMCS entirely. Year after year, the pricing increases exponentially, while the quality of support continues to decline and critical issues like this keep happening. The current level of instability and support simply does not justify the price they are charging anymore. whmcs_v9.0.0-supporthotfix.1_750a0b77ff.321_WHMCS-24949.zip
    3 points
  7. Hi WHMCS ecosystem developers! I am excited to share an early heads-up about the upcoming WHMCS 9.0 release by the end of 2025 - a major update that brings important changes to the platform’s technical requirements. As part of this release, several core dependencies will be updated, and minimum system requirements will be increased. These changes are designed to improve performance, security, and compatibility with modern PHP standards. Key Updates in WHMCS 9.0: Minimum PHP version: 8.2 Recommended PHP version: 8.3 Minimum ionCube Loader version: 13.0.2 or higher Recommended ionCube Loader version: 14.4.0 or higher Updated dependencies: A number of underlying libraries and components have been upgraded. Some notable changes include: Smarty v3.1.48 —> v4.3.4 Legacy Smarty Tags are being deprecated and will no longer function in 9.0. Smarty Template Objects (including their use in plugins) will no longer be supported. guzzlehttp v7.4 —> v7.4.5 illuminate v7.x —> v9.0 I have attached a provisional list of dependency changes to this post. Please also use this thread to provide your feedback and ask questions of the Development Team regarding these requirement and dependency changes. These changes will require action from module developers to ensure continued compatibility. We recommend reviewing your module code and preparing for updates ahead of the release. We’ll be sharing more details, including a release window, definitive changelog and developer guidance, between now and the end of 2025 to help you get ready. Thank you for being a valued part of the WHMCS ecosystem. We appreciate your continued support and look forward to working together to make WHMCS 9.0 a successful release. whmcsv90_composerlock_provisional.txt
    3 points
  8. Okay, maybe I was too quick about credit notes. It seems a lot of the features are "coming soon™️". This is not a Release Candidate lol. This is not even alpha. This is internal development. Nothing can convince me that this release didn't just happen because WHMCS promised us a release in December.
    3 points
  9. 2 points
  10. add this line to your configuration.php it will go back to normal behavior $allow_adminarea_invoice_mutation = true;
    2 points
  11. 2 points
  12. I think you guys may be dramatically underestimating what AI is capable of, but I suppose we shall see. As for the post being suitable or not, Webpros has done everything in their power to alienate their client base - this type of post is the inevitable consequence of that.
    2 points
  13. "Luck" isn't really a component here. If you haven't played around with agentic coding I can see why this would seem like a stretch for you, but it's quite trivial to get a fairly simple billing system up and running quite rapidly. And like I said this is with current-level tools, in a year or two, replicating the entirety of WHMCS would likely be very doable.
    2 points
  14. Yeah, except for adding AI to domain search, this release doesn't really provide on any of the other promises. Credit notes doesn't work either. When you cancel an invoice, WHMCS just adds a transaction to the invoice. If the invoice has a total of $100, WHMCS just adds a transaction of $100 and cancels the invoice. There's no credit note or anything.
    2 points
  15. How WHMCS have set this as a RC instead of a Beta is insane. It's a huge upgrade in terms of it's impact on themes/modules. No beta, no reply from WHMCS, no forums specific to v9.
    2 points
  16. Your process sounds good apart from WHMCS. I would never recommend trying to import tables to new files. You need to update your existing install as normal. You can update from your version but you may have more luck doing a manual update. Backup everything, upload the new v8.13 files, adjust your hosting/server settings to meet the requirements (e.g you may need to update PHP) then run the installation script.
    2 points
  17. @BENELUX, Today's the day!! https://blog.whmcs.com/133775/whmcs-90-release-candidate-out-now
    2 points
  18. This week or next! It sure would be nice to double the size of the engineering team temporarily for one release every few years!
    2 points
  19. @stormy, I'm glad to hear the e-invoicing feature will be a real value add for you. We are working with expert solution-providers in this space, so we're confident about delivering an easy to use and compliant solution with the broadest coverage. @andp97, Yes, by the end of the year in a pre-release version of WHMCS you will have access to this new feature. This bullet point actually describes two significant features which we're very excited about: 1. A RESTful API which provides access to the product catalogue and shopping cart logic. This will provide a suite of new endpoints to get product catalogue information, add, manipulate and get information about items in the cart (including price breakdowns and totals) and much more, all without touching the cart.php file or PHP session data. This means that power users could create their own highly-bespoke frontends whilst WHMCS handles the maths in the background, before seamlessly passing visitors to the checkout page to complete payment. 2. A brand new thin client powered by the aforementioned new API capabilities, providing a thoroughly modern purchase experience based on Vue.js. I've attached a sneak peak below. The new BuyFlow is a compiled Single-page application, meaning the layout isn't manipulated through templates, but you will be able to customise the colours to match your theme through a custom.css overrides file. The shopping cart as it exists today (cart.php and order form templates) isn't going away and will still be available if you'd like to stay with the familiar experience. Stay tuned to our blog and socials over the coming weeks for more information!
    2 points
  20. Hi @venkat.j, The current latest version is 8.13. This behaviour suggests the dates were set to 00/00/0000, either by an admin (in which case there should be an entry in the client's Log tab) or by a rogue after-market module (in which case there probably wouldn't). You can edit the date fields to set the actual dates and click Save Changes. The correct dates will be stored.
    2 points
  21. Hi all, In 8.13 a small improvement was made to the accounting of refunded mass-pay invoices. Prior to this the totals of mass-pay invoices were included in the overall income statistics, but now they are excluded as it's already accounted for by the original invoices.
    2 points
  22. But you did ask them, and not by just posting here? EDIT: This is a bit old now, but a fast search on this board found:
    2 points
  23. Hello @ThemeMetro This is a known issue, and we have published a HotFix. For more details, please review the following. Apologies for any inconvenience. Kind regards, Stephen.
    2 points
  24. Hello, Not at all and it's highly recommended, to change the admin path.
    2 points
  25. Welcome to the common sense reasons why were frustrated about WHMCS enforcement of preventing us from editing our OWN invoices we created in the first place. Credit / debit is useless in real world standard practice. If they want to provide a switch to disable editing published invoices or changing status fine, but dont force it on the customer base. That's dumb.
    1 point
  26. Try this: @media (max-width: 768px) { .sidebar { display: none; } }
    1 point
  27. And it was...?
    1 point
  28. Another year another price increase for all WHMCS licenses. The question is has there been any updates to the software that justify the rising costs? The only change I've seen this year that was actually welcome was ironically a feature that existed but was removed. That being the ability to directly change client passwords. I can't think of anything else from memory. Anyone else?
    1 point
  29. Thanks a lot for the kind words! Based on our testing so far, the bigger challenges in WHMCS 9.0 aren't so much about the new checkout UI, but about changes deeper in the core. WHMCS updated core libraries and parts of their API, which means existing integrations often need to be adjusted. There are also changes in how late fees and credit payments work, and those can affect billing, including recurring charges. These are some of the areas where modules, both off the shelf and custom ones, may not behave as expected if not updated. We shared a more practical take on this here, based on our ongoing work with WHMCS 9.0. If you're running custom functionality and want to be sure everything works the way it should, feel free to contact our team. We'll gladly talk it through and help you understand what, if anything, needs adjusting.
    1 point
  30. Personally I wouldn't recommend using it for production. There's a few reports of issues since upgrading which is common with new versions. Better to wait a few weeks for any bugs to get fixed.
    1 point
  31. Hi @BENELUX, Work to implement our e-invoicing solution with direct integration with the Peppol network (BIS Billing 3.0) is in progress. We are currently in the final stages of polishing the integration and conducting rigorous testing. Given the critical importance of financial compliance, we are prioritising stability to ensure the solution is robust upon release in Q1 2026.
    1 point
  32. WeWe is a project-focused WHMCS service provider supporting hosting companies and digital businesses with structured, reliable WHMCS implementations. Our team has multi-year hands-on experience with WHMCS, backed by solid technical resources through our sister company, WebNIC, which has been operating in this industry for over a decade. This allows us to deliver not only development, but also proper project coordination, quality control, and long-term maintainability. Our WHMCS Services: • WHMCS Custom Module & Addon Development • WHMCS System Setup, Migration, and Optimization • Payment Gateway & Third-Party Integrations • Domain Registrar & API Integrations • Server Integrations (cPanel, Plesk, DirectAdmin) • Custom Hooks & Workflow Automation • WHMCS Upgrade, Refactoring, and Performance Improvement • Client Area & Template Customization • Ongoing WHMCS Maintenance & Support Why Work With WeWe: • Strong focus on project management and delivery quality • Practical WHMCS experience across real production systems • Reliable resources with long-term industry background • Clear communication and structured execution • Suitable for both one-off projects and ongoing support If you are planning a WHMCS upgrade, custom integration, or need a reliable partner to manage your WHMCS project end-to-end, feel free to reach out to us at muhammad.m@wewe.cc.
    1 point
  33. It's at https://whmcs.test/admin/index.php?rp=/admin/billing/billingnote/credit/1 Also, the view invoice page in the client area is completely broken. Trying to load stuff that doesn't exist. (This is a fresh install btw)
    1 point
  34. ETA: Estimated Time of Arrival. By definition, not exact. 😉
    1 point
  35. Its solved and the login issue due to the PHP session storage location was incorrect:
    1 point
  36. As you might know, whmcs has a problem with stripe: when the payment is not immediately confirmed by stripe (but requires to clic "capture" on stripe dashboard), whmcs does not record the order and the customer details and does not even send any notification to whmcs admin or to the customer. We solved with a hook that sends us an email with the order details, so that: - we know that there was a order attempt - we know that there might be a payment in stripe that requires manual "capture" - if necessary, we have all the client and order details in order to recreate the both client account and order. Here is the hook. <?php if (!defined("WHMCS")) { die("This file cannot be accessed directly"); } /** * Save all checkout data to a TXT file * AND email it to admin * Runs BEFORE order/invoice creation, and before redirect to Stripe. */ add_hook('ShoppingCartValidateCheckout', 1, function ($vars) { // --- 1. Clone and sanitise incoming data ------------------------------- $data = $vars; // Mask any possible card data (good practice even if Stripe never posts it) $sensitiveFields = [ 'ccnumber', 'cccvv', 'ccexpirymonth', 'ccexpiryyear', 'password', 'password2', ]; foreach ($sensitiveFields as $field) { if (!empty($data[$field])) { $data[$field] = '***masked***'; } } // --- 2. Attach cart contents from session (products, domains, etc.) --- $cart = isset($_SESSION['cart']) ? $_SESSION['cart'] : []; $payload = [ 'timestamp' => date('Y-m-d H:i:s'), 'ip' => $_SERVER['REMOTE_ADDR'] ?? null, 'user_agent' => $_SERVER['HTTP_USER_AGENT'] ?? null, 'checkoutFields' => $data, 'cart' => $cart, ]; // --- 3. Build a text representation (for file & email) ---------------- $entry = "==============================\n"; $entry .= "Checkout submitted: " . $payload['timestamp'] . "\n"; $entry .= "IP: " . ($payload['ip'] ?? 'N/A') . "\n"; $entry .= "User-Agent: " . ($payload['user_agent'] ?? 'N/A') . "\n\n"; $entry .= "DATA:\n" . print_r($payload, true) . "\n\n"; // --- 4. Save to TXT file ---------------------------------------------- $logDir = __DIR__ . '/../../logs'; $logFile = $logDir . '/pre_stripe_checkout.txt'; if (!is_dir($logDir)) { @mkdir($logDir, 0700, true); } @file_put_contents($logFile, $entry, FILE_APPEND); // --- 5. Send email to admin ------------------------------------------- // This uses WHMCS' built-in admin notification helper. // The "system" type means it goes to the system email / admin notifications. if (function_exists('sendAdminNotification')) { $subject = 'Pre-Stripe Checkout Captured'; // Use <pre> so the print_r formatting is readable in HTML email $message = nl2br(htmlspecialchars($entry)); sendAdminNotification('system', $subject, '<pre>' . $message . '</pre>'); } // IMPORTANT: Do NOT return an error. Just let checkout continue. return; }); I suggest to implement it. It would be great if it would offer some sort of customization in the admin area.
    1 point
  37. John didn't say that 😉 He said the feature list is under wrap (eg not yet announced).
    1 point
  38. Will need to take your word for it, since there's no way for us to substantiate that. I've personally never heard anyone state they'd like to hand over control of billing in WHMCS, but my circle is smaller. A further note, up 63% is a relative term. If no one wanted it, but x number of users now do, the vague starting point allows for some "fudge room" in gauging increase of interest.
    1 point
  39. Go to /path/to/whmcs/lang folder and check which language files you have. Go to Admin > General Settings > Localisation and check your Default Language Documentation: https://docs.whmcs.com/8-13/system/localization/localization/
    1 point
  40. @DristiTechnologies Thank you so much for the analysis. This was more than I anticipated so it is very VERY much appreciated. 👍
    1 point
  41. You can remove the Edit with Sitejet Builder link from the left sidebar menu under the Actions sidebar when logged in as a client and looking at the Product Details page using this hook code: <?php use WHMCS\View\Menu\Item as MenuItem; add_hook('ClientAreaPrimarySidebar', 1, function (MenuItem $primarySidebar) { $actionsMenu = $primarySidebar->getChild('Service Details Actions'); if ($actionsMenu instanceof MenuItem) { foreach ($actionsMenu->getChildren() as $child) { if (strpos($child->getLabel(), 'Sitejet') !== false) { $actionsMenu->removeChild($child->getName()); } } } }); See the attached screenshots showing this custom hook file in place in the /includes/hooks/ directory. The screenshots show that this link is no longer there after this hook code is added. You would create a file named "remove_sitjet_link.php" and add the above code into it, and upload it to your /includes/hooks/ directory. I tested this with WHMCS version 8.13.1. I hope that this helps someone.
    1 point
  42. Hi @donostiarra, I would suggest checking the admin role has permission for the scheduled ticket actions. Please visit "Configuration (wrench icon) > System Settings > Admin Roles & Permissions", edit the role and ensure the following permission are present: View Scheduled Ticket Actions Create Scheduled Ticket Actions Edit Scheduled Ticket Actions Cancel Scheduled Ticket Actions
    1 point
  43. Hi @zomex, Following on from this. We now have this article available about the issue mentioned. https://help.whmcs.com/m/v813/l/1943753-captcha-tpl-template-error-when-clicking-login-as-owner
    1 point
  44. You can create a product email template and then include the product details of the new product using merge fields. Assign this template using the option under the "Upgrades" tab of the product configuration.
    1 point
  45. Powerful set of modules. These are very useful to improve the WHMCS platform interms of productivity, security and billing. Thanks!
    1 point
  46. We're pleased to announce the release of WHMCS 8.13 Release Candidate. This marks the end of feature development for the 8.13 series and is the final stage before version 8.13 is promoted to General Availability status. WHMCS 8.13 includes the following new functionality and enhancements: Manual User Password ResetsOne of our most requested admin features is here. With over 250 community upvotes, WHMCS 8.13 introduces the ability to reset a user's password directly from the Admin Area. This...View the full blog post
    1 point
  47. 8.2.1, and this is the final version for me, if I upgrade I have to pay WHMCS for new license, and it aint gonna happen.
    1 point
  48. Ok, managed to find a solution using a hook: <?php use Illuminate\Database\Capsule\Manager as Capsule; if (!defined("WHMCS")) die("This file cannot be accessed directly"); function StripEmailTicket($vars) { $str = $vars['message']; $pattern = "/On.*(\t|\n|\r|\b).*wrote:/"; $message = preg_replace($pattern, "", $str); Capsule::connection()->statement("UPDATE tblticketreplies SET message = '" . mysql_real_escape_string($message) . "' WHERE id = '" . intval($vars['replyid']) . "'"); } add_hook('TicketUserReply', 0, 'StripEmailTicket'); ?>
    1 point
  49. With GSuite announcing that they will be discontinuing password-based access in the near future, will WHMCS be updated to support OAuth connections for POP Importing and SMTP in future versions?
    1 point
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated