Setting Up Taxes with Zip Code Mapping

From Opentaps Wiki
Revision as of 19:57, 24 August 2009 by Claudefeistel2 (talk | contribs)
Jump to navigationJump to search

In many countries including the United States, each state or province can determine a sales tax rate, and a different sales tax rate can be collected for each smaller county uniit, or the cities, or other local tax authorities. Thus, business operators may need to specify quite a few different tax rates which depend upon the local taxing jurisdictions of the buyer, or the seller.

In some cases, the local postal address codes (such as U.S. zip codes) will conform to the tax jurisdiction boundaries making it possible to create a mapping of such postal codes to tax authority boundaries and thus to the sales tax rates. (In some cases they do not map in a simple way.)

If you have such a mapping, or can create one, opentaps allows you to charge different sales tax rates for each county of residence by using the zip code of the shipping address to determine the county. To do this in opentaps you can import your mapping into two special database entities found in release 1.4, and then use a spedial data import service supplied in the system files. The following information describes how to do this.

Prerequisites (Before You Start)

 * This procedure requires that you have already defined your stores so that their identity can
now be associated with the appropriate sales tax rates.  Define your stores if you have not done
so.  You can go back to configuration of all the other store details later, but the initial
definition needs to be done now. 
* This procedure requires skills in administration of the database you are using with
opentaps, specifically its data import function using standardized file formats.  It also
requires skills with your operating system's file system so that you can locate and execute the
script which imports data from the special database entities into the main database entities.
In other words you need TECH admin skills or support to use this procedure.

The following is the general outline of the procedure:

1.  Obtain your local tax authority tax rate and geographic boundary information.
2.  Review the two special data import entities in opentaps to see what data and format you
need to use.  
These entities are DataImportUSZipCodes and DataImportCountyTaxRate. To view them:
* From the main navigation (splash) screen click: Webtools > Webtools [Entity Data Maintenance] [D]
* Select one of the entities from the name list, and click: [All]
* This opens the edit screen and displays the empty entity contents that you will populate 
from your list prepared using local tax authority data you have obtained.
3.  Prepare two files in your operating system file system which contain the tax info in the standard 
format you can use to import into your opentaps database -- into the special entities provided.
*  For DataImportUSCountyTaxRate you will assemble the following data items for each line,
   county  	stateCode  	taxRate  	inheritExemptions
*  For the DataImportUSZipCodes you will assemble the following data items for each line,
   zipCode  	county  	stateCode
*  The import service will populate these items in each case:  
   importStatusId  processedTimestamp  importError  	
4.  Locate and run the special service (importUsTaxRates) which imports from the special
entities into the main database entities for your store(s).

Notice the status messages provided to make sure you have imported all the lines of your data successfully. You must run the script for each of the stores you will be using because the tax rate table entries are associated with the specified stores you define.

For more information about the operation, behavior, and messages of the import script refer to this section, Importing Data with Dataimport. To use the procedure described here it is not necessary to modify the data import components described in the article.

Note, about how to structure your tax data items:

Some tax authorities, such as the State of California's Board of Equalization, require that you report the base tax for the state plus a differing percentage for each county. Others, like the state of New York's Department of Taxation and Finance, simply want you to report the sales in each county at the total rate adding up all the taxing units.

Thus, you should set up a county sales tax rate according to the way it must be reported.

* If your state wants to see a state-level tax, plus a county level attacks, then set up a
state-level tax, and then use DataImportUSZipCodes to set up the additional tax in your county.
* If your state wants to see a county level rate that includes all state and local taxes, then
do not set up a separate rate for the state only. Set up the entire rate including county and
local jurisdictions.

Regarding tax exemption and inheritance of exemptions, in all cases that we know of, if a customer is exempt from state sales tax, they would be exempt from county sales tax as well. This is how opentaps makes this tax calculation.

Once your orders have been shipped and invoiced, you can use the Sales Tax Statement report in opentaps financials to see a breakdown of your sales tax by state and county.

* Click from the main navigation screen: FINANCIALS
* Select your organization unit from the drop down and Click: [Select]
* Click: [Reports]and choose a report under "Tax"