cenourinha Posted January 22, 2019 Share Posted January 22, 2019 Dear WHMCS Team, I think for most of us, it doesn't make sense to have a Tax Field for Contacts. We invoice customers using the main account details, not sub-contacts details, as contacts are only used to notifications. Having Tax Field in the Contacts, will make customers confused and create billing issues. It will be better if you could create an option to enable/disable that field for contacts. 0 Quote Link to comment Share on other sites More sharing options...
WHMCS Support Manager WHMCS John Posted January 22, 2019 WHMCS Support Manager Share Posted January 22, 2019 Hi @cenourinha, We welcome feature requests online at http://requests.whmcs.com Feel free to suggest this as a new idea for comment and voting upon by other WHMCS users. The more votes an idea receives, the more likely it is to be considered by our development team for potential inclusion in a future feature update. 0 Quote Link to comment Share on other sites More sharing options...
stormy Posted January 22, 2019 Share Posted January 22, 2019 3 hours ago, cenourinha said: Dear WHMCS Team, I think for most of us, it doesn't make sense to have a Tax Field for Contacts. We invoice customers using the main account details, not sub-contacts details, as contacts are only used to notifications. Having Tax Field in the Contacts, will make customers confused and create billing issues. It will be better if you could create an option to enable/disable that field for contacts. That's funny, we've been asking for years to have a tax field for Contacts so customers can solve their billing problems using contacts. What problems do you think it could cause? 0 Quote Link to comment Share on other sites More sharing options...
cenourinha Posted January 22, 2019 Author Share Posted January 22, 2019 How do you select the Billing Account for a specific service? How do you know if Invoice #123 is to be issued with the details of the main account, or with the details of the sub-account x? Last time i checked, Contacts modifications (create/edit/delete) aren't logged in WHMCS Logs, what happens when a customer creates a Contact "Jon Doe", you issue the invoice and in the next day he changes the name to "Mary Fox" or just completely delete the Contact? Why would you have a client account with multiple billing details in the same account? Doesn't it make sense to have separated accounts in this case? Today you have a Contract with "Jon Snow", next day he changes the contract to "Khal Drogo", and a week later to "Tyrion Lannister". A month after that, the subcontacts are deleted and Jon Snow asks why did you invoiced domain "winterfell.com" to Tyrion Lannister... and guess what, next day he changes the name to Kit Harington. If you're ok with that, thats great. But most of the companies will need to keep things simple, and a checkbox to enable/disable Tax Field for sub-contacts solves that problem. 0 Quote Link to comment Share on other sites More sharing options...
stormy Posted January 22, 2019 Share Posted January 22, 2019 Well, I think I have bad news for you then. All that you mentioned is already happenning in WHMCS. Customers can already select a contact as the billing contact and use any name and contact data that they please. The invoices will still keep the tax number of the main account, but that doesn't make those invoices with different names less wrong. 0 Quote Link to comment Share on other sites More sharing options...
stormy Posted January 22, 2019 Share Posted January 22, 2019 (edited) (sorry for the double post!) Also - the contract is always with the main account holder, not with the Contacts. I'll also add that if you allow the modification of the main account details, that changes invoices too, and the only record of the changes, as you know, is the one email that WHMCS will send you about it. I see a lot more potential for good than for bad with this. I know our customers have been asking for this feature! Edited January 22, 2019 by stormy 0 Quote Link to comment Share on other sites More sharing options...
cenourinha Posted January 22, 2019 Author Share Posted January 22, 2019 You have the options to disable field edition for Client Accounts, so you can avoid customers to change their billing details, unless is there a valid reason (Company Name change, Legal Name change, etc). I don't see a way for customers to have the invoice issued with different details other than the main account at this moment, even if they select a different Billing Contact, but i may be wrong. When a customer change his account details, this is logged in the "Logs" tab of his account. You can check the change there. 0 Quote Link to comment Share on other sites More sharing options...
Kian Posted January 22, 2019 Share Posted January 22, 2019 I agree with @cenourinha It doesn't make any sense. In normal countries where invoicing is a serious matter, it's even illegal. I mean how can you invoice a contact based on the payment received by another person? It is wrong on so many levels that I don't even want to continue. 0 Quote Link to comment Share on other sites More sharing options...
Kian Posted January 22, 2019 Share Posted January 22, 2019 3 hours ago, stormy said: I know our customers have been asking for this feature! I know hundreds of people that asked for this for years but this doesn't change the fact that it's illegal. 0 Quote Link to comment Share on other sites More sharing options...
cenourinha Posted January 23, 2019 Author Share Posted January 23, 2019 Sub-Contacts should have Tax-ID Fields and other Custom Fields only for Domain Registration, not for tax situations. If WHMCS wants to allow multiple billing entities management within the same Account Login, it must do things in another way so it can be made correctly and following another management model. 0 Quote Link to comment Share on other sites More sharing options...
brian! Posted January 23, 2019 Share Posted January 23, 2019 On 22/01/2019 at 13:29, cenourinha said: Having Tax Field in the Contacts, will make customers confused and create billing issues. It will be better if you could create an option to enable/disable that field for contacts. rather than waiting for a feature request to be created, considered and implemented, if you all you want to do is hide that field in the client area contacts page, then you should only need to add some CSS to your custom.css file... input[id="inputTaxId"], label[for="inputTaxId"] {display: none;} you could hide the field conditionally if not a sub-account, but that would require a hook to do the checking and adding the css. also, you could even hide the field in the admin area client's profile - though because the admin area templates don't have a custom.css (still?), you'd have to write a hook to either add a custom.css and use that, or just use the hook to directly add the specific css to the header.... 0 Quote Link to comment Share on other sites More sharing options...
stormy Posted January 23, 2019 Share Posted January 23, 2019 (edited) 16 hours ago, Kian said: I agree with @cenourinha It doesn't make any sense. In normal countries where invoicing is a serious matter, it's even illegal. I mean how can you invoice a contact based on the payment received by another person? It is wrong on so many levels that I don't even want to continue. I live in a "normal" country called Spain, I think it's as "normal" as Italy and Portugal, although I envy many things from both countries! We are subject to the same stringent tax rules as the rest of the Euro Zone, and I take invoicing very seriously. I know it's unfortunate that WHMCS is in the UK where the system allows for a lot more leeway. As everyone else, I've done all the necessary workarounds to make sure my WHMCS invoicing is legal, with consecutive invoices, fixed invoice data, no zero amount invoices, not using the credit system, etc. I'm sure you all have done the same. WHMCS billing contacts have been a part of WHMCS forever: https://docs.whmcs.com/Clients:Contacts_Tab#Billing_Contact All they were missing was the Tax ID field. Now, if you think they are a bad idea, you can choose not to implement them. But the Tax ID field is not the problem. In fact, it's a bigger problem to have wildly different invoice details with the same Tax ID, which is what's been happening until now. Edited January 23, 2019 by stormy 0 Quote Link to comment Share on other sites More sharing options...
Kian Posted January 23, 2019 Share Posted January 23, 2019 (edited) @stormy I was basing my reasoning on this message. 21 hours ago, cenourinha said: How do you select the Billing Account for a specific service? How do you know if Invoice #123 is to be issued with the details of the main account, or with the details of the sub-account x? Last time i checked, Contacts modifications (create/edit/delete) aren't logged in WHMCS Logs, what happens when a customer creates a Contact "Jon Doe", you issue the invoice and in the next day he changes the name to "Mary Fox" or just completely delete the Contact? Why would you have a client account with multiple billing details in the same account? Doesn't it make sense to have separated accounts in this case? Today you have a Contract with "Jon Snow", next day he changes the contract to "Khal Drogo", and a week later to "Tyrion Lannister". A month after that, the subcontacts are deleted and Jon Snow asks why did you invoiced domain "winterfell.com" to Tyrion Lannister... and guess what, next day he changes the name to Kit Harington. If you're ok with that, thats great. But most of the companies will need to keep things simple, and a checkbox to enable/disable Tax Field for sub-contacts solves that problem. This would have been a billing nightmare. Guy X pays and guy Y to receives the invoice. You're basically letting people to fraud Revenue Agency BUT I tested it myself installing 7.7 and it doesn't happen. Probably @cenourinha misunderstood this part therefore it's fine for me. They can do whatever they want with sub-accounts. Edited January 23, 2019 by Kian 0 Quote Link to comment Share on other sites More sharing options...
cenourinha Posted January 23, 2019 Author Share Posted January 23, 2019 2 hours ago, stormy said: I live in a "normal" country called Spain, I think it's as "normal" as Italy and Portugal, although I envy many things from both countries! We are subject to the same stringent tax rules as the rest of the Euro Zone, and I take invoicing very seriously. I know it's unfortunate that WHMCS is in the UK where the system allows for a lot more leeway. As everyone else, I've done all the necessary workarounds to make sure my WHMCS invoicing is legal, with consecutive invoices, fixed invoice data, no zero amount invoices, not using the credit system, etc. I'm sure you all have done the same. WHMCS billing contacts have been a part of WHMCS forever: https://docs.whmcs.com/Clients:Contacts_Tab#Billing_Contact All they were missing was the Tax ID field. Now, if you think they are a bad idea, you can choose not to implement them. But the Tax ID field is not the problem. In fact, it's a bigger problem to have wildly different invoice details with the same Tax ID, which is what's been happening until now. In Portugal, WHMCS Invoices don't have any legal value and they can't even be called "Invoices" or "Faturas" (Faturas means "Invoice" in Portuguese). We need to issue them in an external software certified by the AT (Autoridade Tributária). 0 Quote Link to comment Share on other sites More sharing options...
brian! Posted January 23, 2019 Share Posted January 23, 2019 2 hours ago, stormy said: I know it's unfortunate that WHMCS is in the UK where the system allows for a lot more leeway. I think, from a development point of view, that most of them are based in the USA, hence why EU law is an afterthought to them (or perhaps not even that)... they may get some input from their UK-based devs, but generally they will be ignorant of EU invoicing rules (not a criticism because i'd probably be as equally ignorant too!). 0 Quote Link to comment Share on other sites More sharing options...
cenourinha Posted February 12, 2019 Author Share Posted February 12, 2019 The tax field for contacts is being displayed even if the "Customer Tax IDs/VAT Numbers" option is disabled. This doesn't make any sense and i think you should address this issue. 0 Quote Link to comment Share on other sites More sharing options...
Kian Posted February 12, 2019 Share Posted February 12, 2019 It should be perfectly fine. As far as I know that field isn't used for billing purposes. I think that it's used to register specific TLDs for sub-accounts. For example .it domains require Tax ID and this new field could be used in place of an additional domain field. 1 Quote Link to comment Share on other sites More sharing options...
cenourinha Posted February 12, 2019 Author Share Posted February 12, 2019 2 minutes ago, Kian said: It should be perfectly fine. As far as I know that field isn't used for billing purposes. I think that it's used to register specific TLDs for sub-accounts. For example .it domains require Tax ID and this new field could be used in place of an additional domain field. @WHMCS John can you confirm this is the case? Or the field is used for billing purposes? 0 Quote Link to comment Share on other sites More sharing options...
brian! Posted February 12, 2019 Share Posted February 12, 2019 2 hours ago, cenourinha said: The tax field for contacts is being displayed even if the "Customer Tax IDs/VAT Numbers" option is disabled. the hook below should hide the field depending upon whether the above option is disabled... <?php # Hide VAT ID Fields For Contacts Hook # Written by brian! function hide_contacts_vat_fields_hook($vars) { global $CONFIG; $templatefile = $vars['templatefile']; $contactspages = array('clientareacontacts', 'clientareaaddcontact'); if (in_array($templatefile,$contactspages) AND $CONFIG['TaxIDDisabled'] == '1') { return <<<HTML <style>input[id="inputTaxId"],label[for="inputTaxId"]{display: none;}</style> HTML; } } add_hook("ClientAreaHeadOutput", 1, "hide_contacts_vat_fields_hook"); it's basically just my previously posted css made conditional upon that configuration setting - it could be expanded to only work for subaccounts etc if required. 1 Quote Link to comment Share on other sites More sharing options...
WHMCS Chance Posted February 12, 2019 Share Posted February 12, 2019 Hey @brian!, Might I suggest instead of using the global $CONFIG You use the WHMCS class to pull the settings as documented here: https://docs.whmcs.com/classes/7.6/WHMCS/Config/Setting.html So something like; <?php if (!defined('WHMCS')) { die('This Hook should not be run directly...'); } use WHMCS\Config\Setting; # Hide VAT ID Fields For Contacts Hook # Written by brian! add_hook('ClientAreaFooterOutput', 1, function ($vars) { $templateFile = $vars['templatefile']; $contactPages = ['clientareacontacts', 'clientareaaddcontact']; if (in_array($templateFile, $contactPages) && Setting::getValue('TaxIDDisabled') == '1') { $removeTaxIdField = "<script> $(function() { $('label[for=inputTaxId]').remove(); $('#inputTaxId').remove(); }); </script>"; return $removeTaxIdField; } }); Also, I would add that using the ClientAreaFooterOutput hook point over the ClientAreaHeadOutput would be more beneficial as if there were an error it wouldnt stop the rest of the page from loading where as if you add custom jQuery/HTML in the footer, it wont break the entire page from loading...Just kinda a safe guard that I moved over too awhile back when coming up with hooks for clients while in Support. 🙂 Otherwise it looks good, btw I did make a few small formatting changes to your original implementation from a syntax point of view 😛 I did test this on 7.7.1 and works as intended so there is that! Thanks! 1 Quote Link to comment Share on other sites More sharing options...
brian! Posted February 12, 2019 Share Posted February 12, 2019 6 minutes ago, WHMCS Chance said: You use the WHMCS class to pull the settings as documented here: https://docs.whmcs.com/classes/7.6/WHMCS/Config/Setting.html i'm old-skool lol - it's good to have working examples from the class docs though - much appreciated @WHMCS Chance 🙂 I assume there are no changes to the class docs for v7.7 ? 1 Quote Link to comment Share on other sites More sharing options...
WHMCS Chance Posted February 12, 2019 Share Posted February 12, 2019 Just now, brian! said: I assume there are no changes to the class docs for v7.7 ? Assumption correct 🙂 And no worries at all, keeping it old skewl has its advantages as well! 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.