Calculating US and Canadian Tax

To receive the most accurate tax calculation, you will need specific information for the field values. Follow these steps to determine the values for the fields.
One tax service request should not include more than 50 line items. When you send a request with more than 50 line items, the request could time out.
The Tax Calculation Service uses line-level rounding.  Tax amounts for each jurisdictional detail will be rounded and then aggregated to the line. For example, 8.5% total tax that includes 1.25% city tax, 1.25% county tax, and 6% state tax, levied on a 10.00 item would result in a total tax of 0.86 based on amounts of 0.13 city tax, 0.13 county tax, and 0.60 state tax. 

Step 1: Nexus

Identify the location of your company’s nexus. Products are taxable only when the customer’s 
shipTo_state
 field value matches a state or province in which your company has nexus. If the ship to fields are not included in the request, the service will use the bill to fields to determine the tax amount. Use the 
taxService_nexus
 field to list the states or provinces in which your company has nexus. Alternatively, you can use the 
taxService_noNexus
 field to list states that should not be taxed.
You cannot combine the 
taxService_nexus
and 
taxService_noNexus
 fields in the same request.
When you do not specify your nexus locations, the tax calculation service processes your request as if every state or province is taxable.
  • When you do not specify your nexus locations, or when a value of the nexus field matches the value for the 
    shipTo_state
     field, the service calculates the applicable tax for the product.
  • When the value for the 
    shipTo_state
     field does not match any state or province where you have nexus, the service assigns zero tax.
For more information, see Tax Nexus.

Step 2: Product Codes

If the product has special tax considerations, you can provide the appropriate tax product code in the 
item_#_productCode
 field in the request.
For more information, see Product Codes.

Step 3: Addresses

To receive the most accurate tax calculation possible, include the following address information in the request:
  • Ship-to address, in fields in the 
    shipTo
    fields group. When multiple cities are within a postal code area, the optional request field 
    shipTo_city
     value improves the accuracy of the calculated tax. 
  • Product code, in the 
    item_#_productCode
     field.
  • Nexus, in the 
    taxService_nexus
     field—or if it is easier, you can use the 
    taxService_noNexus
     field to provide a list of states in which you do not have nexus. 
When the tax calculation service succeeds, the response includes the 
taxReply_grandTotalAmount
 field.
For more address-related information, see Address Requirement.

Step 4: When to Calculate Tax

Determine when you will provide tax calculations during the customer transaction. Tax calculation can occur before or after determining the final order total. See Tax Reporting to know how this service can impact when you would want to request the tax service.
For more information, see When to Calculate Taxes.

Endpoint

Set the
taxService
field to
true
.
Send the request to
https://ics2ws.ic3.com/commerce/1.x/transactionProcessor
.

Required Fields for a Tax Calculation Using the
Simple Order API

Use these fields to perform a tax calculation.
billTo_city
billTo_country
billTo_postalCode
billTo_state
item_#_unitPrice
merchantReferenceCode
taxService_nexus
If you include this field, do not include the
taxInformation.noNexus
field.
taxService_noNexus
If you include this field, do not include the
taxInformation.Nexus
field.
taxService
Set to
true
.

Optional Fields for a Tax Calculation Using the
SO
API

Use these optional fields to perform a tax calculation.
item_#_taxAmount

Example: Processing a Tax Calculation Using the SO API

Request
taxService_run=true billTo_street1=123 Main Street billTo_city=Small Town billTo_country=US billTo_state=CA billTo_postalCode=98765 purchaseTotals_currency=USD merchantID=infodev merchantReferenceCode=482046C3A7E94F5 item_0_unitPrice=1200 item_0_quantity=1 item_0_productCode=50161815 item_0_productName=Chewing Gum item_0_productSKU=07-12-00657 item_1_unitPrice=1240 item_1_quantity=1 item_1_productCode=50181905 item_1_productName=Sugar Cookies item_1_productSKU=07-12-00659
Response
merchantReferenceCode=482046C3A7E94F5 requestID=4817605701820004775333 decision=ACCEPT reasonCode=100 purchaseTotals_currency=USD taxReply_totalCountryTaxAmount=0.00 taxReply_reasonCode=100 taxReply_totalSpecialTaxAmount=73.20 taxReply_totalTaxableAmount=2440.00 taxReply_totalStateTaxAmount=152.50 taxReply_totalExemptAmount=0.00 taxReply_grandTotalAmount=2671.80 taxReply_totalCityTaxAmount=0.00 taxReply_totalTaxAmount=231.80 taxReply_item_0_taxableAmount=1200.00 taxReply_item_0_exemptAmount=0.00 taxReply_item_0_specialTaxAmount=36.00 taxReply_item_0_cityTaxAmount=0.00 taxReply_item_0_countyTaxAmount=3.00 taxReply_item_0_stateTaxAmount=75.00 taxReply_item_0_countryTaxAmount=0.00 taxReply_item_0_totalTaxAmount=114.00 taxReply_item_0_jurisdiction_0_country=US taxReply_item_0_jurisdiction_0_region=CA taxReply_item_0_jurisdiction_0_type=State taxReply_item_0_jurisdiction_0_code=06 taxReply_item_0_jurisdiction_0_taxable=1200.00 taxReply_item_0_jurisdiction_0_rate=0.062500 taxReply_item_0_jurisdiction_0_taxAmount=75.00 taxReply_item_0_jurisdiction_0_name=CALIFORNIA taxReply_item_0_jurisdiction_0_taxName=CA STATE TAX taxReply_item_0_jurisdiction_1_country=US taxReply_item_0_jurisdiction_1_region=CA taxReply_item_0_jurisdiction_1_type=County taxReply_item_0_jurisdiction_1_code=001 taxReply_item_0_jurisdiction_1_taxable=1200.00 taxReply_item_0_jurisdiction_1_rate=0.002500 taxReply_item_0_jurisdiction_1_taxAmount=3.00 taxReply_item_0_jurisdiction_1_name=ALAMEDA taxReply_item_0_jurisdiction_1_taxName=CA COUNTY TAX taxReply_item_0_jurisdiction_2_country=US taxReply_item_0_jurisdiction_2_region=CA taxReply_item_0_jurisdiction_2_type=Special taxReply_item_0_jurisdiction_2_code=EMAK0 taxReply_item_0_jurisdiction_2_taxable=1200.00 taxReply_item_0_jurisdiction_2_rate=0.020000 taxReply_item_0_jurisdiction_2_taxAmount=24.00 taxReply_item_0_jurisdiction_2_name=ALAMEDA COUNTY DISTRICT TAX SP taxReply_item_0_jurisdiction_2_taxName=CA SPECIAL TAX taxReply_item_0_jurisdiction_3_country=US taxReply_item_0_jurisdiction_3_region=CA taxReply_item_0_jurisdiction_3_type=Special taxReply_item_0_jurisdiction_3_code=EMSJ0 taxReply_item_0_jurisdiction_3_taxable=1200.00 taxReply_item_0_jurisdiction_3_rate=0.010000 taxReply_item_0_jurisdiction_3_taxAmount=12.00 taxReply_item_0_jurisdiction_3_name=ALAMEDA CO LOCAL TAX SL taxReply_item_0_jurisdiction_3_taxName=CA SPECIAL TAX taxReply_item_1_taxableAmount=1240.00 taxReply_item_1_exemptAmount=0.00 taxReply_item_1_specialTaxAmount=37.20 taxReply_item_1_cityTaxAmount=0.00 taxReply_item_1_countyTaxAmount=3.10 taxReply_item_1_stateTaxAmount=77.50 taxReply_item_1_countryTaxAmount=0.00 taxReply_item_1_totalTaxAmount=117.80 taxReply_item_1_jurisdiction_0_country=US taxReply_item_1_jurisdiction_0_region=CA taxReply_item_1_jurisdiction_0_type=State taxReply_item_1_jurisdiction_0_code=06 taxReply_item_1_jurisdiction_0_taxable=1240.00 taxReply_item_1_jurisdiction_0_rate=0.062500 taxReply_item_1_jurisdiction_0_taxAmount=77.50 taxReply_item_1_jurisdiction_0_name=CALIFORNIA taxReply_item_1_jurisdiction_0_taxName=CA STATE TAX taxReply_item_1_jurisdiction_1_country=US taxReply_item_1_jurisdiction_1_region=CA taxReply_item_1_jurisdiction_1_type=County taxReply_item_1_jurisdiction_1_code=001 taxReply_item_1_jurisdiction_1_taxable=1240.00 taxReply_item_1_jurisdiction_1_rate=0.002500 taxReply_item_1_jurisdiction_1_taxAmount=3.10 taxReply_item_1_jurisdiction_1_name=ALAMEDA taxReply_item_1_jurisdiction_1_taxName=CA COUNTY TAX taxReply_item_1_jurisdiction_2_country=US taxReply_item_1_jurisdiction_2_region=CA taxReply_item_1_jurisdiction_2_type=Special taxReply_item_1_jurisdiction_2_code=EMAK0 taxReply_item_1_jurisdiction_2_taxable=1240.00 taxReply_item_1_jurisdiction_2_rate=0.020000 taxReply_item_1_jurisdiction_2_taxAmount=24.80 taxReply_item_1_jurisdiction_2_name=ALAMEDA COUNTY DISTRICT TAX SP taxReply_item_1_jurisdiction_2_taxName=CA SPECIAL TAX taxReply_item_1_jurisdiction_3_country=US taxReply_item_1_jurisdiction_3_region=CA taxReply_item_1_jurisdiction_3_type=Special taxReply_item_1_jurisdiction_3_code=EMSJ0 taxReply_item_1_jurisdiction_3_taxable=1240.00 taxReply_item_1_jurisdiction_3_rate=0.010000 taxReply_item_1_jurisdiction_3_taxAmount=12.40 taxReply_item_1_jurisdiction_3_name=ALAMEDA CO LOCAL TAX SL taxReply_item_1_jurisdiction_3_taxName=CA SPECIAL TAX