Leaderboard
Popular Content
Showing content with the highest reputation since 05/15/25 in all areas
-
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".5 points
-
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.4 points
-
4 points
-
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
-
3 points
-
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
-
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.zip3 points
-
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.txt3 points
-
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
-
Glad to see more customers speaking up about this… it’s a simple, fixable issue. All they need to do is keep allowing the switch: Add ($allow_adminarea_invoice_mutation = true;) in your WHMCS configuration.php . WHMCS choosing a one-size-fits-all strict model is what’s really causing the pain… let us decide if we need to deal with regional compliance and added accounting complexity, not force it on everyone.2 points
-
Request WHMCS to make it a confugurable option instead of removing it?2 points
-
The one question I have is "why"? Clearly there's a need and demand for it, why is it not even considered being made optional, with warnings about not doing it or what have you. Why is it simply removed, with no options and so on.2 points
-
Whats stupid is as a developer this is as simple as adding a checkbox to the config to allow us to choose ourselves. I've never in my life understood why software companies lock you in, instead of giving you the option. You keep increasing prices year after year and you want us to stay with you, but if you keep doing this crap most of your base is not gonna find value in your ever increasing prices.2 points
-
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.2 points
-
Are there still issues after the 9.0.3 release?2 points
-
add this line to your configuration.php it will go back to normal behavior $allow_adminarea_invoice_mutation = true;2 points
-
Thank you for the terrible WHMCS support. This is now the tenth client who has made a bulk payment and the late fee is simply not added to the invoice, and none of the outstanding invoices are automatically marked as paid. I’m not even going to mention the credit and debit issues anymore, because it seems the WHMCS developers themselves don’t even know what they’re doing. Does anyone have a suggestion for another system similar to this garbage?2 points
-
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
-
"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
-
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
-
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
-
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
-
@BENELUX, Today's the day!! https://blog.whmcs.com/133775/whmcs-90-release-candidate-out-now2 points
-
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
-
@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
-
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
-
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
-
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
-
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
-
Hello, Not at all and it's highly recommended, to change the admin path.2 points
-
Hello Everyone, We are currently using WHMCS version 9.0.1 and after upgrading, we have noticed two issues related to invoice management and staff permissions. We would appreciate clarification from the community. Unpaid Invoice Cannot Be Edited When trying to modify an unpaid invoice, the system shows: "This is an Unpaid Invoice. You cannot modify an Invoice that is Unpaid." Previously, we were able to edit unpaid invoices in cases of pricing corrections, tax adjustments, or client-requested changes. We are unable to find any setting that allows editing unpaid invoices in version 9.0.1. Is this now the intended behavior? Is there any supported method to allow editing unpaid invoices without marking them as paid first? Cancel Invoice Permission Requires Delete Permission We assign the "Cancel Invoice" permission to specific employees so they can cancel invoices when there are billing errors or mismatches. The cancel action keeps proper logs and maintains an audit trail, which is important for internal control. However, it appears that the Cancel Invoice permission now requires the Delete Invoice permission to function. This forces us to grant both Cancel and Delete permissions. This creates a concern because if Delete permission is given, staff may delete invoices instead of cancelling them. Deleted invoices do not provide the same level of audit visibility, and it becomes difficult to track what was removed and why. Our requirement is to allow invoice cancellation with proper logging, but not allow invoice deletion. Has anyone else faced this in 9.0.1? Is this expected behavior, or is there a way to separate Cancel and Delete permissions properly? Looking forward to feedback from the community. Thanks in advance.1 point
-
@WHMCS John Good news. Thanks. Are there any screenshots of the new client UI/Nexus/Search/Ordering etc.1 point
-
@WHMCS John @WHMCS @WHMCS Aimee @WHMCS Alex @WHMCS Andrew @WHMCS Anwar @WHMCS Areeb @WHMCS Arty @WHMCS Carlos @WHMCS Chance Are you guys listening, or is it time for us to migrate to another billing software? Is this how it’s going to be going forward? Please review all the complaints, it’s becoming too complicated to manage our business with WHMCS now. Are you reconsordring restore the previous features.1 point
-
Hi John. Is there any further news on the ETA for this release?1 point
-
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
-
I’m honestly not convinced by these repeated price increases, especially when they happen without clear prior notice. I’m a small provider managing around 10–20 clients only, and with the latest increase, the subscription is becoming financially unjustifiable. At this scale, the cost is no longer proportional to the value received and is starting to feel more like a burden than a business tool. I understand that businesses evolve, but constant yearly increases without meaningful added value for small users come across as exploitation rather than progress. If this pricing strategy continues, I’m seriously considering moving away from the entire WebPros ecosystem, including WHM and WHMCS. At the very least, there should be better transparency, advance notifications, and fair pricing options for low-usage customers.1 point
-
1 point
-
ETA: Estimated Time of Arrival. By definition, not exact. 😉1 point
-
Key Features List Our WhatsApp Gateway: Authentication and User Management: Login, registration, and logout using CodeIgniter Shield. User group system (admin & user). User profile management. User Dashboard: Subscription overview (active plan, remaining days, message/device limits). Usage statistics (messages sent, devices connected). Alerts for expired subscriptions or reached limits. API token management for external access. WhatsApp Integration: Multi-session device management (multiple WhatsApp accounts per user). Sending of text and media messages (images, etc.). QR code scanning to connect WhatsApp devices. Message logging (delivery status, WhatsApp message ID). Message limit checks based on subscription plans. Subscription and Plan System: Various plans with device and message limits. Usage tracking (messages sent, active devices). Subscription management (active, expired). Plan upgrade/downgrade. Admin Panel: User management (create, edit, delete users). Assign groups and plans to users. RESTful API: Endpoints for sending WhatsApp messages via token. Integration with Node.js backend for WhatsApp operations. Modules: Invoices, Orders, Payments. Multi-language support (English, Indonesian, Spanish, UAE/Arabic, Chinese). Node.js Backend (whatsapp-web.js): Node.js server for running WhatsApp clients. Multi-session support with LocalAuth. Handling of QR codes, connections, and message/media sending. Logging and error handling. Security and Logging: Input validation and CSRF protection. Message and user activity logging. Environment variables for sensitive configuration (NODE_URL, etc.).1 point
-
In the v9.0 release cycle we have focused efforts on updating our dependencies - which was quite a significant undertaking - ensuring that we carefully managed the Smarty update (as that is potentially an area of high user-impact). I anticipate this work will enable the testing and validation of future PHP versions to move much faster, and we expect to deliver PHP 8.4 support in v9.1. Please see the finalised list above. TCPDF will be updated to 6.10.1 point
-
Hello, I have a dedicated Hetzner server, WHMCS cannot connect to the server, it gives this message, but these ports are open on the host, and Hetzner also says that we did not close the port and it is open, but it still does not connect. FAILED: Could not connect to Virtualizor. Please make sure that all Ports from 4081 to 4085 are open on your WHMCS Server or please check the server details entered are as displayed on Admin Panel >> Configuration >> Server Info.1 point
-
You put them in widgets. Then you have to go into admin roles and enable display for them, checkboxes at the bottom.1 point
-
Hi @Sudipto Mahmud, Yes the auto-updater will update files with a customised admin and crons directories. For more information see: https://docs.whmcs.com/getting-started/configuring-whmcs/enhancing-security/#5-rename-the-whmcs-admin-area-directory1 point
-
Technically the other way round - opensrs bought enom and that’s when enom fell apart1 point
-
1 point
-
We're pleased to advise that the issue has now been resolved:1 point
-
The problem is, I *do* want clients to have access to it in Plesk in case they want to use it, but I do *not* want SiteJet to take over everything for them in WHMCS as it's far more confusing to have it there than in Plesk. The problem is, what if a customer uses WordPress and doesn't know it - they're going to be super confused as to what this is and think, oh great I can edit my site right from here! And then potentially wipe out the entirety of their WordPress website when they go to publish it, or be super confused about why their site content isn't there when they open SiteJet. You *really* need to have this option only appear *if* the primary domain is already using SiteJet or has no website at all yet. Not just blanket for every hosting plan. How do I access the hosting plan / services list on the Client Area dashboard with this? Is it considered a sidebar? Yes, I understood this from the documentation. And this is great for people who don't want SiteJet anywhere, ever. But why should it be all or nothing? If you truly want people to start using SiteJet, then don't only provide the option to force it everywhere or have it nowhere at all - allow us to choose where we want it to be displayed. And given that WHMCS doesn't have awareness of addon domains or subdomains within a hosting plan, having these options in WHMCS is kinda useless for anyone but the customer with a single domain, and a single website, who only wants a site builder and not other solutions like WordPress or Magento. Meanwhile having the SiteJet option in Plesk makes perfect sense because then the customer can choose on which domains or subdomains they wish to use it. Yet you're saying that to hide it in WHMCS I have to disable it in Plesk too, so customers can't use it at all...1 point
-
1 point
-
Please please do not use IP as a way to detect language, 1. it is not very reliable and 2. is actually quite offencive for people who don't speak the native language of the place they live. (e.g. I am English but happen to live in Italy but don't speak good Italian and I hate it if I am redirected to the italian site even though my browser language setting is english.) Much better and much simpler is to just use the browser language setting. Here is the PHP script we use to redirect customers to our specific language pages. <?php if(isset($_SERVER["HTTP_ACCEPT_LANGUAGE"])){ $langarray=explode(",", $_SERVER["HTTP_ACCEPT_LANGUAGE"]); $lang = strtolower($langarray[0]); //echo $lang . " / " . $_COOKIE["Lang"] . " / "; $stop=0; //change this to 1 to disable redirect if ($_GET["stop"]!=1&&$stop!=1){ if (isset($_COOKIE["Lang"])){ if ($_COOKIE["Lang"]=="italian"){ header("Location: " . $_SERVER["HOST"] . "it/"); } else { header("Location: " . $_SERVER["HOST"] . "en/"); } } else { switch ($lang){ case "en-au": case "en-bz": case "en-ca": case "en-029": case "en-gb": case "en-in": case "en-ie": case "en-jm": case "en-my": case "en-nz": case "en-ph": case "en-sg": case "en-za": case "en-tt": case "en-us": case "en-zw": case "en": case "gd": case "ga": case "ga-ie": case "cy-gb": case "cy": header("Location: " . $_SERVER["HOST"] . "en/"); break; case "it": case "it-ch": case "it-it": header("Location: " . $_SERVER["HOST"] . "it/"); break; case "es": case "es-es": case "es-ar": case "es-ve": case "es-bo": case "es-cl": case "es-co": case "es-cr": case "es-do": case "es-ec": case "es-sv": case "es-gt": case "es-hn": case "es-mx": case "es-ni": case "es-pa": case "es-py": case "es-pe": case "es-pr": case "es-us": case "es-uy": header("Location: " . $_SERVER["HOST"] . "es/"); break; } } } } ?> As you can see it checks to see if a "Lang" cookie is set and uses that as the clients language if it is, thus allowing the visitor to override the script on future visits if your site sets this cookie from a language choice in the site. Otherwise it looks at the browser language choice to picks the preferred language and defaults to english if it can't find a match.1 point
