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.
I am building a store for a company that charges sales tax depending upon a customer's COUNTY within California. Outside states do not get taxed. Is there any way to have the user define their county and add tax depending upon that selection?
I was thinking in state/provience, remove CA from the list and add states like "California - County" listed at the bottom. However, i cannot a) remove california b) rename the field to say "State/Province (California at bottom)". Please let me know. Thanks.
I am pretty sure you could do this, but Nick will probably hop in here at some point to verify it all just in case...
The stateprov.csv table contains your tax info. Nick does not have this updated as of yet because CA's base tax rate is now 7.25% effective Jan 1, 2002 (CCP5 has it as 6.25%). What you have to be careful about is that CA really does not have a true county tax - it is established by districts. Currently most districts follow county borders, but when a district does not have the supplementary tax from .125-.5% and a city needs the money, it can add the tax even when the district may not - which can complicate matters even further!
In short, you have a state sales tax, maybe a district tax, and possibly a local sales tax even if there is no district tax! (Yet California's drug laws are among the strictest in the US - go figure!) This is the rub with CA taxes - soon to be joined by KY and NY!
Here is the structure of the CCP5 Tax File:
stateprov_id,stateprov_abb,stateprov_taxrate,stateprov_taxship,stateprov_chargetax
Here is a typical record:
Alaska,AK,0.000,N,N
When CA comes up, change from:
California,CA,6.250,N,N
...to something like
California - Fresno,CA072,7.257,N,Y
Note that the state code (CA to CA072) has been extended to include the local/district tax code for CA. I do not believe that this would impact the *.csv file, but if you are using SQL - it may. Nick can tell you whether or not this is practical. You need the jurisdiction code (typically 3 chars) to separate your counties out here.)
Also the rate of 7.257 (really should be is based on the 7.25625 - but remember to round UP) base sales tax for CA PLUS the .00625 tax for Fresno. I do not know if Nick has set the precision of CCP5 to 3, 4 or 5 places if needed as in CA. There is another consideration with CA tax. Ideally it would be set to 5 places. Nick can tell you that.
I think this would be the simplest and least invasive method, but there are surely other ways to accomplish it as well including special coding by Nick. Now call your client and raise your billing rate!
KevinW
That would have been my suggestion as well, Kevin. If it needs to be more intuitive than that, I can custom code something.
___________________________
Nick Hendler
Webmaster, Kryptronic, Inc.
Offline
So how would this appear when the user makes a purchase. They'll enter their city (ie Fresno) but will they have to choose it from a pull down list? Or will CCP associate Fresno with the California-Fresno in the .csv file?
Thanks,
Pat
Offline
This topic is also an issue with my company in Pennsylvania. Our taxes are divided by zip code. What I’m going to do is setup tax zones. This will reduce the occasional 1% - 1.25% loss due to insufficient taxes collected. The information on this post was very helpful.
Thank you!
Offline
... and if you want to assure the customer that they are being charged the correct tax rate, you can display the rate at checkout by modifying \data\elements\ste_cart_stateprovtax.txt
for example:
<TD VALIGN="TOP" WIDTH="75%"><FONT FACE="(CGIVAR)html_small_font_face(/CGIVAR)" SIZE="(CGIVAR)html_small_font_size(/CGIVAR)" COLOR="(CGIVAR)html_small_font_color(/CGIVAR)">Sales Tax: State/Province </FONT></TD>
Offline
Can someone please advise me how to fix the display of the billing/shipping state when this strategy is used?
I want the state to show up as California, not California-Fresno (on the invoices, order confirmation/shipping emails, etc.)
Offline
Utah is also requiring us to bill taxes based on zip codes. The ability to do a tax lookup based on a zip code is rapidly becomming reality in most states. Can this be added to Zuma please?
Offline
Spent a bunch of time figuring out how to strip off the county from the state (e.g., "Georgia - Lee" -> "Georgia"), here it is.
Note: this only fixes the various emails that get generated, I did not bother fixing what gets displayed to the customer during checkout.
I chose to translate the state variables into new truncated ones and use them instead when constructing the various billing/shipping address strngs.
In ste_order.pl:
- change (two places)
$billing_address_disp = "$billing_toheader<BR><BR>$tracking_addressone<BR>$tracking_city, $tracking_stateprov $tracking_zip<BR>$tracking_country";
to
# tracking_stateprov_stripped removes the counties from Georgia addresses
$tracking_stateprov_stripped = "$tracking_stateprov";
$tracking_stateprov_stripped =~ s/(Georgia).*/$1/;
$billing_address_disp = "$billing_toheader<BR><BR>$tracking_addressone<BR>$tracking_city, $tracking_stateprov_stripped $tracking_zip<BR>$tracking_country";
(and of course change Georgia to your state in each of these)
- change (two places)
$shipping_address_disp = "$shipping_toheader\n\n$trackitem_shipaddressone\n$trackitem_shipcity, $tracking_shipstateprov $trackitem_shipzip\n$trackitem_shipcountry";
to
# tracking_stateprov_stripped removes the counties from Georgia addresses
$tracking_shipstateprov_stripped = "$trackitem_shipstateprov";
$tracking_shipstateprov_stripped =~ s/(Georgia).*/$1/;
$shipping_address_disp = "$shipping_toheader\n\n$trackitem_shipaddressone\n$trackitem_shipcity, $tracking_shipstateprov_stripped $trackitem_shipzip\n$trackitem_shipcountry";
In ste_chkout.pl:
- change
$billing_address_disp = "$billing_toheader<BR><BR>$tracking_addressone<BR>$tracking_city, $tracking_stateprov $tracking_zip<BR>$tracking_country";
to
# tracking_stateprov_stripped removes the counties from Georgia addresses
$tracking_stateprov_stripped = "$tracking_stateprov";
$tracking_stateprov_stripped =~ s/(Georgia).*/$1/;
$billing_address_disp = "$billing_toheader<BR><BR>$tracking_addressone<BR>$tracking_city, $tracking_stateprov_stripped $tracking_zip<BR>$tracking_country";
Offline