Jump to content

How Does Cubecart Decide if Sales Tax is Due?


Guest webwiz

Recommended Posts

Guest webwiz

My client is using Cubecart v3.0.18 (yeah, old, I know..haven't had time to upgrade yet!). He got an order yesterday from in-state that should have had sales tax added, but didn't. My client is based in New Jersey (USA) and I've got the "apply tax only to the following area" set up correctly. I uncovered some interesting things in my research:

> The dropdown for "apply tax only..." thing, when you select United States, has the states spelled out (e.g. New Jersey, rather than NJ).

> The form for new customer sign up seems to allow any combination of letters and number in the County/State field

> Cubecart seems to understand that "NJ" and "New Jersey" are the same thing and applies tax appropriately.

> The customer in question entered "sussex/nj" (understandably, since the field asks for "county / state" - I'll have to see if I can fix that)

> Cubecart apparently decided that was *not* in NJ and didn't apply the tax.

So, my question is how exactly is CC deciding if the state (or whatever) is or is not in the region that needs to be taxed? Does it simply do a string compare, looking for "NJ" or "New Jersey"? Since the address entry screen seems to do no spell-checking, what happens if a customer enters "New Jrsey" by mistake? Is there a way to force a dropbox on the address entry field for State so I can constrain the entries to known strings? Does CC have some kind of ZIP code to state lookup? Is it basing the taxation on ZIP?

Thanks in advance for any advice!

Link to comment
Share on other sites

  • 3 weeks later...

Guest cartpauj

CC seems pretty basic and it wouldn't surprise me if it is just a basic string compare. If you figure out how to do a dropdown box please post here, I've been wanting to do something similar on my site. I'll do likewise.

Link to comment
Share on other sites

Guest cartpauj

I played around with it and I browsed to the skins/MYTHEME/styleTemplates/content/... I edited files reg.tpl, profile.tpl and cart.tpl

NOTE: I'm using CC 3.0.18 with the ArwenBlue theme but it should still work with other versions just check to make sure your country ID is correct (226=United States). You can find the country ID's using phpMyAdmin.

reg.tpl:

Changed:

		<td>{LANG_COUNTY}</td>

		<td><input name="county" type="text" class="textbox" id="county" size="16" value="{VAL_COUNTY}" tabindex="10" />

*</td>

	  </tr>

	  <tr>

		<td>{LANG_TELEPHONE}</td>

		<td><input name="phone" type="text" class="textbox" id="phone" size="16" value="{VAL_PHONE}" tabindex="5" /> 

		  * </td>

		<td>{LANG_COUNTRY}</td>

		<td nowrap='nowrap'><select name="country" class="textbox" tabindex="11">

		  <!-- BEGIN: repeat_countries -->

		  <option value="{VAL_COUNTRY_ID}" {VAL_COUNTRY_SELECTED}>{VAL_COUNTRY_NAME}</option>

		  <!-- END: repeat_countries -->

		</select>

		  *</td>

	  </tr>


To:


		<td>State:</td>

		<td nowrap='nowrap'><select name="county" class="textbox" id="county">

				  <option value="Alabama" selected="selected">Alabama</option>

				  <option value="Alaska">Alaska</option>

				  <option value="Arizona">Arizona</option>

				  <option value="Arkansas">Arkansas</option>

				  <option value="California">California</option>

				  <option value="Colorado">Colorado</option>

				  <option value="Connecticut">Connecticut</option>

				  <option value="Delaware">Delaware</option>

				  <option value="District of Columbia">District of Columbia</option>

				  <option value="Florida">Florida</option>

				  <option value="Georgia">Georgia</option>

				  <option value="Hawaii">Hawaii</option>

				  <option value="Idaho">Idaho</option>

				  <option value="Illinois">Illinois</option>

				  <option value="Indiana">Indiana</option>

				  <option value="Iowa">Iowa</option>

				  <option value="Kansas">Kansas</option>

				  <option value="Kentucky">Kentucky</option>

				  <option value="Louisiana">Louisiana</option>

				  <option value="Maine">Maine</option>

				  <option value="Maryland">Maryland</option>

				  <option value="Massachusetts">Massachusetts</option>

				  <option value="Michigan">Michigan</option>

				  <option value="Minnesota">Minnesota</option>

				  <option value="Mississippi">Mississippi</option>

				  <option value="Missouri">Missouri</option>

				  <option value="Montana">Montana</option>

				  <option value="Nebraska">Nebraska</option>

				  <option value="Nevada">Nevada</option>

				  <option value="New Hampshire">New Hampshire</option>

				  <option value="New Jersey">New Jersey</option>

				  <option value="New Mexico">New Mexico</option>

				  <option value="New York">New York</option>

				  <option value="North Carolina">North Carolina</option>

				  <option value="North Dakota">North Dakota</option>

				  <option value="Ohio">Ohio</option>

				  <option value="Oklahoma">Oklahoma</option>

				  <option value="Oregon">Oregon</option>

				  <option value="Pennsylvania">Pennsylvania</option>

				  <option value="Rhode Island">Rhode Island</option>

				  <option value="South Carolina">South Carolina</option>

				  <option value="South Dakota">South Dakota</option>

				  <option value="Tennessee">Tennessee</option>

				  <option value="Texas">Texas</option>

				  <option value="Utah">Utah</option>

				  <option value="Vermont">Vermont</option>

				  <option value="Virginia">Virginia</option>

				  <option value="Washington">Washington</option>

				  <option value="West Virginia">West Virginia</option>

				  <option value="Wisconsin">Wisconsin</option>

				  <option value="Wyoming">Wyoming</option>

								  </select>

								  *</td>

	  </tr>

	  <tr>

		<td>{LANG_TELEPHONE}</td>

		<td><input name="phone" type="text" class="textbox" id="phone" size="16" value="{VAL_PHONE}" tabindex="5" /> 

		  * </td>

		<td>{LANG_COUNTRY}</td>

		<td nowrap='nowrap'><select name="country" class="textbox" tabindex="11">

		  <option value="226" selected="selected">United States</option>

		</select>

		  *</td>

	  </tr>




profile.tpl:

Changed:


				  <td valign="top"><strong>{TXT_COUNTY}</strong></td>

				  <td><input name="county" type="text" class="textbox" id="county" value="{VAL_COUNTY}" maxlength="100" /></td>

				  </tr>

				<tr>

				  <td valign="top"><strong>{TXT_POSTCODE}</strong></td>

				  <td><input name="postcode" type="text" class="textbox" id="postcode" value="{VAL_POSTCODE}" maxlength="100" /></td>

				  </tr>

				<tr>

				  <td valign="top"><strong>{TXT_COUNTRY}</strong></td>

				  <td>

					  <select name="country" id="country" class="textbox">

						  <!-- BEGIN: country_opts -->

						<option value="{VAL_COUNTRY_ID}" {COUNTRY_SELECTED}>{VAL_COUNTRY_NAME}</option>

						<!-- END: country_opts -->

					</select>				  </td>

				  </tr>


To:


				  <td valign="top"><strong>State:</strong></td>

				  <td><select name="county" class="textbox" id="county">

				  <option value="{VAL_COUNTY}" selected="selected">{VAL_COUNTY}</option>

				  <option value="Alabama">Alabama</option>

				  <option value="Alaska">Alaska</option>

				  <option value="Arizona">Arizona</option>

				  <option value="Arkansas">Arkansas</option>

				  <option value="California">California</option>

				  <option value="Colorado">Colorado</option>

				  <option value="Connecticut">Connecticut</option>

				  <option value="Delaware">Delaware</option>

				  <option value="District of Columbia">District of Columbia</option>

				  <option value="Florida">Florida</option>

				  <option value="Georgia">Georgia</option>

				  <option value="Hawaii">Hawaii</option>

				  <option value="Idaho">Idaho</option>

				  <option value="Illinois">Illinois</option>

				  <option value="Indiana">Indiana</option>

				  <option value="Iowa">Iowa</option>

				  <option value="Kansas">Kansas</option>

				  <option value="Kentucky">Kentucky</option>

				  <option value="Louisiana">Louisiana</option>

				  <option value="Maine">Maine</option>

				  <option value="Maryland">Maryland</option>

				  <option value="Massachusetts">Massachusetts</option>

				  <option value="Michigan">Michigan</option>

				  <option value="Minnesota">Minnesota</option>

				  <option value="Mississippi">Mississippi</option>

				  <option value="Missouri">Missouri</option>

				  <option value="Montana">Montana</option>

				  <option value="Nebraska">Nebraska</option>

				  <option value="Nevada">Nevada</option>

				  <option value="New Hampshire">New Hampshire</option>

				  <option value="New Jersey">New Jersey</option>

				  <option value="New Mexico">New Mexico</option>

				  <option value="New York">New York</option>

				  <option value="North Carolina">North Carolina</option>

				  <option value="North Dakota">North Dakota</option>

				  <option value="Ohio">Ohio</option>

				  <option value="Oklahoma">Oklahoma</option>

				  <option value="Oregon">Oregon</option>

				  <option value="Pennsylvania">Pennsylvania</option>

				  <option value="Rhode Island">Rhode Island</option>

				  <option value="South Carolina">South Carolina</option>

				  <option value="South Dakota">South Dakota</option>

				  <option value="Tennessee">Tennessee</option>

				  <option value="Texas">Texas</option>

				  <option value="Utah">Utah</option>

				  <option value="Vermont">Vermont</option>

				  <option value="Virginia">Virginia</option>

				  <option value="Washington">Washington</option>

				  <option value="West Virginia">West Virginia</option>

				  <option value="Wisconsin">Wisconsin</option>

				  <option value="Wyoming">Wyoming</option>

								  </select>

								  </td>

				  </tr>

				<tr>

				  <td valign="top"><strong>{TXT_POSTCODE}</strong></td>

				  <td><input name="postcode" type="text" class="textbox" id="postcode" value="{VAL_POSTCODE}" maxlength="100" /></td>

				  </tr>

				<tr>

				  <td valign="top"><strong>{TXT_COUNTRY}</strong></td>

				  <td>

					  <select name="country" id="country" class="textbox">

						<option value="226" selected="selected">United States</option>

					</select>				  </td>

				  </tr>


cart.tpl:

Changed:


				<td><strong>{TXT_COUNTY}</strong></td>

				<td><input name="delInf[county]" type="text" class="textbox" id="county" value="{VAL_DEL_COUNTY}" maxlength="100" /></td>

			  </tr>

			  <tr>

				<td><strong>{TXT_POSTCODE}</strong></td>

				<td><input name="delInf[postcode]" type="text" class="textbox" id="postcode" value="{VAL_DEL_POSTCODE}" maxlength="100" /></td>

			  </tr>

			  <tr>

				<td><strong>{TXT_COUNTRY}</strong></td>

				<td><select name="delInf[country]" id="country" class="textbox">

				  <!-- BEGIN: country_opts -->

				  <option value="{VAL_DEL_COUNTRY_ID}" {COUNTRY_SELECTED}>{VAL_DEL_COUNTRY_NAME}</option>

				  <!-- END: country_opts -->

				</select></td>

			  </tr>


To:


				<td><strong>State:</strong></td>

				<td><select name="delInf[county]" class="textbox" id="county">

				  <option value="{VAL_DEL_COUNTY}" selected="selected">{VAL_DEL_COUNTY}</option>

				  <option value="Alabama">Alabama</option>

				  <option value="Alaska">Alaska</option>

				  <option value="Arizona">Arizona</option>

				  <option value="Arkansas">Arkansas</option>

				  <option value="California">California</option>

				  <option value="Colorado">Colorado</option>

				  <option value="Connecticut">Connecticut</option>

				  <option value="Delaware">Delaware</option>

				  <option value="District of Columbia">District of Columbia</option>

				  <option value="Florida">Florida</option>

				  <option value="Georgia">Georgia</option>

				  <option value="Hawaii">Hawaii</option>

				  <option value="Idaho">Idaho</option>

				  <option value="Illinois">Illinois</option>

				  <option value="Indiana">Indiana</option>

				  <option value="Iowa">Iowa</option>

				  <option value="Kansas">Kansas</option>

				  <option value="Kentucky">Kentucky</option>

				  <option value="Louisiana">Louisiana</option>

				  <option value="Maine">Maine</option>

				  <option value="Maryland">Maryland</option>

				  <option value="Massachusetts">Massachusetts</option>

				  <option value="Michigan">Michigan</option>

				  <option value="Minnesota">Minnesota</option>

				  <option value="Mississippi">Mississippi</option>

				  <option value="Missouri">Missouri</option>

				  <option value="Montana">Montana</option>

				  <option value="Nebraska">Nebraska</option>

				  <option value="Nevada">Nevada</option>

				  <option value="New Hampshire">New Hampshire</option>

				  <option value="New Jersey">New Jersey</option>

				  <option value="New Mexico">New Mexico</option>

				  <option value="New York">New York</option>

				  <option value="North Carolina">North Carolina</option>

				  <option value="North Dakota">North Dakota</option>

				  <option value="Ohio">Ohio</option>

				  <option value="Oklahoma">Oklahoma</option>

				  <option value="Oregon">Oregon</option>

				  <option value="Pennsylvania">Pennsylvania</option>

				  <option value="Rhode Island">Rhode Island</option>

				  <option value="South Carolina">South Carolina</option>

				  <option value="South Dakota">South Dakota</option>

				  <option value="Tennessee">Tennessee</option>

				  <option value="Texas">Texas</option>

				  <option value="Utah">Utah</option>

				  <option value="Vermont">Vermont</option>

				  <option value="Virginia">Virginia</option>

				  <option value="Washington">Washington</option>

				  <option value="West Virginia">West Virginia</option>

				  <option value="Wisconsin">Wisconsin</option>

				  <option value="Wyoming">Wyoming</option>

								  </select>

								  </td>

				  </tr>

			  <tr>

				<td><strong>{TXT_POSTCODE}</strong></td>

				<td><input name="delInf[postcode]" type="text" class="textbox" id="postcode" value="{VAL_DEL_POSTCODE}" maxlength="100" /></td>

			  </tr>

			  <tr>

				<td><strong>{TXT_COUNTRY}</strong></td>

				<td><select name="delInf[country]" id="country" class="textbox">

				  <option value="226" selected="selected">United States</option>

				</select></td>

			  </tr>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...