You are viewing this forum as a guest. Login to an existing account, or create a new account, to reply to topics and to create new topics.
How can I setup a group of members to be tax exempt?
And other members use the standard tax settings....
Thank You
Offline
There are no options in CCP that support that type of grouping.
Offline
Dave
Can I use Discount Codes to accomplish this task?
any other options?
Offline
Discount codes are not related to taxes. You can't predict what a customer might buy to establish a discount code for an amount of tax. You could open a second level support request for a quote to do something like this I suppose.
Offline
Don't know how you would do this in V7, but in V6 I tweaked the code to skip the tax calculation if the customer was in the "wholesale" user group.
This is for V6, not V7.
Last edited by Quizno (05-23-2010 15:51:22)
Offline
I was having this same problem... I have no idea how to code PHP but and I fiddled my way through all sorts of files and garbage for the last 2 days. I found a fix.
Go to your ecom_checkout.php file its located core-private / ECOM / ECOM_checkout / ECOM_checkout.php
find the statement that has this heading // +--
// | Get tax exemption information.
// +--
Make the entire statement look like this:
// +--
// | Get tax exemption information.
// +--
$taxexemptnum = ' ' ;
$taxexemptnum_valid = 1;
if ($this->globals('core_user.usergroup') != 'wholesale') {
$taxexemptnum = 1;
}
elseif (!(empty($this->cosess['custom_fields']['taxexemptnum']))) {
$this->cosess['custom_fields']['taxexemptnum'];
} // End of if statement.
Sorry I really dont know PHP except from what i learned over the past 2 days so i am sure this could be cleaned up a lot. however it did fix my site so that normal customers get taxed and wholesale customers do not. This is for CC7.
Last edited by karrasda103 (07-12-2010 20:06:06)
Offline
karrasda103
The original code is this
// +-- // | Get tax exemption information. // +-- $taxexemptnum = ''; $taxexemptnum_valid = 1; if (!(empty($this->cosess['custom_fields']['taxexemptnum']))) { $taxexemptnum = $this->cosess['custom_fields']['taxexemptnum']; } // End of if statement.
I would suggest that you revert back to the original code as you have assigned a tax number of 1 to everybody who isn't a wholesale account with the code you placed here
if ($this->globals('core_user.usergroup') != 'wholesale') { $taxexemptnum = 1; }
and broken the pulling of the tax number in the second part of the code here
elseif (!(empty($this->cosess['custom_fields']['taxexemptnum']))) { $this->cosess['custom_fields']['taxexemptnum']; } // End of if statement.
this section now is doing nothing as it not setting a variable any more. The variable taxexemptnum is not a true/false field but field to hold a valid tax number, and when populated will cause the system to not charge taxes. The site should only be charging taxes on sales to areas which you have set to collect taxes for. You set the tax rates at:
System Dashboard > System > Locations > Countries
System Dashboard > System > Locations > States and Provinces
and activate the ones you want to collect tax for at
System Dashboard > System > Component > Settings > Tax Settings
John
Last edited by dh783 (07-14-2010 12:54:26)
Offline
thanks for the reply dh783..
however, I have tested this
End goal was Wholesale Group = no taxes
Everyone else outside of cali = no taxes
Everyone else inside of cali = taxes
The system dashboard only allows me to change taxes based on location not on user group.
whatever I did in the code seemed to work correctly. like I said im no expert but the end result is what I was looking for.
Again I am not an expert by any stretch of the imagination on php, I do not know exactly why this works. Just that it does work to accomplish my end goal perfectly and that is really all that matters to me.
perhaps you could do some testing with that code and see if it works on a different site to the same end goal. that would be the ultimate test as to its functionality.
if you would like to look at my site it is http://www.aresarmor.com/install/
again thank you for your reply
Last edited by karrasda103 (07-20-2010 12:48:02)
Offline
With the original code you should have setup the tax amount for California at System Dashboard > System > Locations > States and Provinces, and then at System Dashboard > System > Component > Settings > Tax Settings in the field for "State and Province Tax: Taxable Locations" selected California, the rest of the fields on this page should have been left with there defaults. This setup would charge tax to anyone in California unless they supplied a tax number in the "Tax Exemption Information" field (if activated) and no tax for any one living outside California.
With the code != wholesale your giving every user account other than wholesale a tax number of 1 which populates the field thus activating it in the checkout so that no tax is charged. The original code is clearing the taxexamptnum, and if there is no session variable for this fields tries to pull the current information if the field has been activated, if the field is not activated then there will be no tax number and thus tax will be charged. There is nothing wrong with the original code as it has been working for quite some years now without problem, it currently calculates tax rates correctly on my site.
John
Offline
DH783
Please read the entire post to understand what it is I am trying to accomplish.
If I had to guess I would say the you do not sell to dealer's or other business for the purpose of resell. I keep records of my dealers' tax exempt info on hand and it is redundant for them to have to enter in a tax exempt number every time they try to buy something. My set up is very different from yours.
yes i understand how it calculates tax based on region. the point of what I did was to make it not calculate tax for any wholesale account regardless of region.
CCP does not have built in functionality to make particular user groups nontaxable if they did I would not have edited any code.
Like i said the code HAS BEEN TESTED and works perfectly to the end it was intended to on my site.
if your from california and you are not wholesale you get charged tax. if you are from anywhere else and are not wholesale no tax. if you are from anywhere including california and are wholesale you do not get charged tax.
wholesale = no tax regardless of region
regular acct from cali = tax
regular acct outside of cali = no tax
The regular ccp code for this does not allow wholesale accounts to be untaxable and is therefore not functional for users who do B2B dealer transactions unless modified.
again I am not an expert on PHP but the new CODE DOES WORK EXACTLY the way I wanted it to. End results are what matters to me.
Changing the code back to the original is not an option because the original code forces dealer accounts from cali have to enter in tax exempt info every time they purchase. That is an extra unneeded step because I have their tax exempt numbers on file. little things like that make the differences between loosing a B2B customer or not. Obviously losing one of these customers is a much bigger loss than losing an end consumer.
thank you for your reply, I appreciate the feedback and concern.
If you have a cleaner way of accomplishing the same tax modification (WHOLE SALE NEVER GETTING CHARGED TAX NO MATTER WHERE THEY ARE FROM) I would be interested in hearing about it for sure. REVERTING TO ORIGINAL CODE IS NOT AN OPTION because ccp has no built in functionality to make user groups nontaxable.
Again thank you for your time and if you can find a better way to modify the code I really want to know about it.
Offline
this no longer works thanks to the 7.1.1 update...
If anyone has a way of doing this it would be much appreciated!
Offline
I need tax to be based on both user group and location! this is very important and I am getting a lot of calls from dealers complaining that they are now being charged tax. Please help!
Offline
Added the following statement to the ecom_checkout.php file in the get tax information area
//statement added to filter out wholesale accounts
$user = $this->globals('core_user.usergroup');
if($user == 'wholesale')
{
if ($this->debug) {$this->debugger("cocalctaxes: Using STANDARD tax system and tax exemption number entered.");}
return 1;
} //End of if statement
Works like a charm
Offline