Wolters Kluwer CCH® SureTax®

    Show / Hide Table of Contents

    Appendixes

    Appendix A - Implementation Examples

    For development and testing, please use the following URL:

    https://testapi.taxrating.net/Services/V07/SureTax.asmx

    PHP

    Request using cURL

    // Web Request Header 
    $header["ClientNumber"] = "000000000"; 
    $header["BusinessUnit"] = "My Biz Unit"; 
    $header["ValidationKey"] = "13290031-F004-4F00-BMN3-E979D6749B88"; 
    $header["DataYear"] = "2011" 
    $header["DataMonth"] = "9"; 
    $header["TotalRevenue"] = 100.00; 
    $header["ReturnFileCode"] = "0"; 
    $header["ClientTracking"] = "1234"; 
    $header["ResponseGroup"] = "00"; 
    $header["ResponseType"] = "D"; 
     
    // Input Record 1 
    $datarecord["LineNumber"] = "1"; 
    $datarecord["InvoiceNumber"] = "112233"; 
    $datarecord["CustomerNumber"] = "000000001"; 
    $datarecord["OrigNumber"] = "2122102100"; 
    $datarecord["TermNumber"] = "2122102100"; 
    $datarecord["BillToNumber"]= "2122102100"; 
    $datarecord["Zipcode"] = ""; 
    $datarecord["Plus4"] = ""; 
    $datarecord["TransDate"] = "2011-09-01"; 
    $datarecord["Revenue"] = 100.00; 
    $datarecord["Units"] = 1; 
    $datarecord["UnitType"] = ""; 
    $datarecord["TaxIncludedCode"] = "0"; 
    $datarecord["TaxSitusRule"] = "01"; 
    $datarecord["TransTypeCode"] = "010101"; 
    $datarecord["SalesTypeCode"] = "R"; 
    $datarecord["RegulatoryCode"] = "01"; $datarecord["TaxExemptionCodeList"] = array( "00");  
     
    // $post_type determines what encoding type – either XML or JSON 
    if( $post_type == 'xml' ) { 
        $xmlclass = 'Request'; 
        $url1 = "http://www.w3.org/2001/XMLSchema-instance"; 
        $url2 = "http://www.w3.org/2001/XMLSchema"; 
     
        $xml = '<?xml version="1.0" encoding="utf-8"?>'; 
        $xml .= "<" . $xmlclass . ' xmlns:xsi="' .$url1 .'" '; 
        $xml .= ' xmlns:xsd="' .$url2 .'">'; 
     
        foreach( $header as $x => $y) { 
            $xml .= "<$x>".htmlentities( strval($y) ) . "</$x>"; 
        } 
     
        // Create the items (transactions) 
        $xml .= "<ItemList>"; 
     
        $xml .= "<Item>"; 
        foreach( $datarecord as $x => $y) { 
            $xml .= "<$x>".htmlentities( strval($y) ); 
     
            if ( $x == 'TaxExemptionCodeList' ) { 
                $xml .= "<string>00</string><string>00</string>"; 
            } 
    
            $xml .= "</$x>"; 
        } 
    
        $xml .= "</Item>"; 
        $xml .= "</ItemList>"; 
        $xml .= "</" . $xmlclass . ">"; 
     
        $my_data = $xml; 
    } else { 
        // JSON  
        $json = json_encode($header);         
        $json = substr($json,0,strlen($json)-1); 
        $json .= ',"ItemList": ['; 
        $json .= json_encode( $datarecord );  
        $json .= ']}'; 
     
        $my_data = $json; 
    } 
     
    // SureTax web request API URL 
    $suretax_url = "https://testapi.taxrating.net/Services/V07/SureTax.asmx/PostRequest" 
     
    // Initiate cURL request 
    $ch = curl_init(); 
     
    // Set Headers 
    curl_setopt($ch, CURLOPT_POSTFIELDS, "request=$my_data" ); 
    curl_setopt($ch, CURLOPT_POST, 1 ); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0 );                     
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0 ); 
    curl_setopt($ch, CURLOPT_URL, $suretax_url ); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 10 );   // 10 second timeout option  
    $response = curl_exec( $ch ); curl_close( $ch ); 
    

    Note

    No HTTP header should be provided (no need to supply the cURL CURLOPT_HTTPHEADER option).

    Response

    <?xml version="1.0" encoding="utf-8"?> 
    <string xmlns="http://tempuri.org/">JSON or XML string</string>
    

    Note

    For JSON implementation, the leading and trailing tags must be removed before calling the PHP json_decode() function. This can be accomplished via the following routine: $response = substr( substr( $response, 76 ), 0, -9);

    Alternate PHP with cURL implementation for JSON This alternate cURL implementation for JSON, enables the response to be returned wrapped in a “d” object. For more information on the specifics of this alternative approach, please see the following article: http://encosia.com/a-breaking-change-between-versions-of-aspnet-ajax/#comment-34045

    // Using the same initial assignment of the $json variable from the previous example above… 
     
    // Add request object to the JSON string  
    $my_data = '{"request":' ."'"; 
    $my_data.= $json . "'" ; 
    $my_data.= '}'; 
     
    // SureTax web request API URL 
    $suretax_url = " https://testapi.taxrating.net/Services/V07/SureTax.asmx?op=PostRequest"
    
    // Initiate cURL request 
    $ch = curl_init(); 
     
    // Set Headers for JSON curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-Length: ' . 
    strlen($my_data))); 
     
    curl_setopt($ch, CURLOPT_POSTFIELDS, $my_data ); 
    curl_setopt($ch, CURLOPT_POST, 1 ); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0 );                     
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0 ); 
    curl_setopt($ch, CURLOPT_URL, $suretax_url ); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 10 );   // 10 second timeout option 
     
    $response = curl_exec( $ch ); curl_close( $ch ); 
    

    SOAP request using cURL

    // Web Request Header 
    $header["ClientNumber"] = "000000000"; 
    $header["BusinessUnit"] = "My Biz Unit"; 
    $header["ValidationKey"] = "13290031-F004-4F00-BMN3-E979D6749B88"; 
    $header["DataYear"] = "2011" 
    $header["DataMonth"] = "9"; 
    $header["TotalRevenue"] = 100.00; 
    $header["ReturnFileCode"] = "0"; 
    $header["ClientTracking"] = "1234"; 
    $header["ResponseGroup"] = "00"; 
    $header["ResponseType"] = "D"; 
     
    // Input Record 1 
    $datarecord["LineNumber"] = "1"; 
    $datarecord["InvoiceNumber"] = "112233"; 
    $datarecord["CustomerNumber"] = "000000001"; 
    $datarecord["OrigNumber"] = "2122102100"; 
    $datarecord["TermNumber"] = "2122102100"; 
    $datarecord["BillToNumber"]= "2122102100"; 
    $datarecord["Zipcode"] = ""; 
    $datarecord["Plus4"] = ""; 
    $datarecord["TransDate"] = "2011-09-01"; 
    $datarecord["Revenue"] = 100.00; 
    $datarecord["Units"] = 1; 
    $datarecord["UnitType"] = ""; 
    $datarecord["TaxIncludedCode"] = "0"; 
    $datarecord["TaxSitusRule"] = "01"; 
    $datarecord["TransTypeCode"] = "010101"; 
    $datarecord["SalesTypeCode"] = "R"; 
    $datarecord["RegulatoryCode"] = "01"; 
    $datarecord["TaxExemptionCodeList"] = array( "00"); 
     
    $url1 = "http://www.w3.org/2001/XMLSchema-instance"; $url2 = "http://www.w3.org/2001/XMLSchema"; 
    $url3 = "http://schemas.xmlsoap.org/soap/envelope/"; 
     
    $xml = '<?xml version="1.0" encoding="utf-8"?>'; 
    $xml .= '<soap:Envelope' . ' xmlns:xsi="' .$url1 .'" '; 
    $xml .= ' xmlns:xsd="' .$url2 .'"'; 
    $xml .= ' xmlns:soap="' .$url3 .'">'; 
    $xml .= '<soap:Body>'; 
    $xml .= '<SoapRequest xmlns="http://tempuri.org/">'; 
    $xml .= '<request>'; 
     
    foreach( $header as $x => $y) { 
        $xml .= "<$x>".htmlentities( strval($y) ) . "</$x>"; 
    } 
     
    // Create the items (transactions) 
    $xml .= "<ItemList>"; 
    $xml .= "<Item>"; 
    
    foreach( $datarecord as $x => $y) { 
        $xml .= "<$x>".htmlentities( strval($y) ); 
     
        if( $x == 'TaxExemptionCodeList' ) { 
            $xml .= "<string>00</string><string>00</string>"; } 
     
        $xml .= "</$x>"; 
    } 
    
    $xml .= "</Item>"; 
    $xml .= "</ItemList>"; 
     
    foreach( $trailer as $x => $y) { 
        $xml .= "<$x>".htmlentities( strval($y) ) . "</$x>"; 
    } 
     
    $xml .= '</request></SoapRequest></soap:Body></soap:Envelope>'; 
     
    $my_data = $xml; 
     
    // SureTax web request API URL 
    $suretax_url = "https://testapi.taxrating.net/Services/V07/SureTax.asmx"  
    
    // Initiate cURL request 
    $ch = curl_init(); 
     
    // Set cURL Headers 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml; charset=utf-8', 'Content-Length: '.strlen($my_data), 'SOAPAction: "http://tempuri.org/SoapRequest"' ));                  
     
    curl_setopt($ch, CURLOPT_POSTFIELDS, $my_data ); 
    curl_setopt($ch, CURLOPT_POST, 1 ); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0 );                     
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0 ); 
    curl_setopt($ch, CURLOPT_URL, $suretax_url ); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 15 );    
     
    $response = curl_exec( $ch ); curl_close( $ch ); 
    

    Microsft .NET

    Follow these steps to configure the CCH SureTax web service:

    1. Browse to the documentation API and log in using your login credentials (available upon request). https://testapi.taxrating.net/Documentation/V07/SureTax.asmx ALT
    Note

    WSDL can also be found at: https://testapi.taxrating.net/Documentation/V07/SureTax.asmx?WSDL (requires valid login credentials).

    1. Click on the Service Description to display the WSDL ALT

    2. Right click on the WSDL and select view source. Save the source file as SureTax.wsdl

    3. In Visual Studio, select “Add Web Reference” and paste the path to the SureTax.wsdl you saved earlier in for the URL. Name the web reference SureTax. ALT

    4. The SureTax Web Service should now be available for use in the code ALT

    5. To run the web service, you must change the connection setting in the web.config file by updating entry from “Documentation” to “Services”

    From:

    <applicationSettings> 
        <WebRatingClient.Properties.Settings> 
            <setting name="WebRatingClient_SureTax_SureTax" serializeAs="String"> 
                <value>https://testapi.taxrating.net/Documentation/V07/SureTax.asmx</value>       
            </setting> 
        </WebRatingClient.Properties.Settings> 
    </applicationSettings> 
    


    To:
    <applicationSettings> 
        <WebRatingClient.Properties.Settings> 
            <setting name="WebRatingClient_SureTax_SureTax" serializeAs="String"> 
                <value>https://testapi.taxrating.net/Services/V07/SureTax.asmx</value>       
            </setting> 
        </WebRatingClient.Properties.Settings> 
    </applicationSettings>
    

    .NET Examples

    Request

    POST URL Services/V07/SureTax.asmx/PostRequest HTTP/1.1 
    Host: testapi.taxrating.net 
    Content-Type: application/x-www-form-urlencoded 
    Content-Length: length request=string  
    

    Response

    HTTP/1.1 200 OK 
    Content-Type: text/xml; charset=utf-8 
    Content-Length: length 
    
    <?xml version="1.0" encoding="utf-8"?> 
    <string xmlns="http://tempuri.org/">string</string> 
    
    SOAP format with sample data

    This sample assumes a web reference has been established.

    // Create and populate request 
    Request request = new Request();             
    request.BusinessUnit = "BizUnit";             
    request.ClientNumber = "0000000";             
    request.ClientTracking = "TrackThis";             
    request.DataMonth = "9";             
    request.DataYear = "2011";             
    request.IndustryExemption = "";             
    request.ResponseType = "S";             
    request.ResponseGroup = "00";             
    request.ReturnFileCode = "0";             
    request.TotalRevenue = 40.00M; 
    request.ValidationKey = "13290031-F004-4F00-BMN3-E979D6749B88"; 
    
    // Create and populate item 
    Item item = new Item();             
    item.BillToNumber = "8585260000";             
    item.CustomerNumber = "01";             
    item.InvoiceNumber = "1";             
    item.LineNumber = "1";             
    item.OrigNumber = "8585260000";             
    item.P2PPlus4 = string.Empty;             
    item.P2PZipcode = string.Empty;             
    item.Plus4 = string.Empty;             
    item.RegulatoryCode = "99";             
    item.Revenue = 40.00M;             
    item.SalesTypeCode = "R";             
    item.TaxExemptionCodeList = new string[0];             
    item.TaxIncludedCode = "0";             
    item.TaxSitusOverrideCode = "";             
    item.TaxSitusRule = "01";             
    item.TermNumber = "8585260000";             
    item.TransTypeCode = "010101";             
    item.TransDate = "1/1/2000";             
    item.Units = 1;             
    item.UnitType = "00";             
    item.Zipcode = string.Empty; 
    
    // Add item to request             
    request.ItemList = new Item[1];             
    request.ItemList[0] = item; 
    
    // Create service proxy and call Process method.  Capture call results 
    SureTax rateInvoice = new SureTax(); 
    Response response = rateInvoice.SoapRequest(request); 
    
    // Access response results             
    foreach (var group in response.GroupList)  
    {               
    	foreach (var tax in group.TaxList) 
    	{ 
    		string taxAmount = tax.TaxAmount;                     
    		string taxTypeCode = tax.TaxTypeCode;                     
    		string taxTypeDesc = tax.TaxTypeDesc; 
    	} 
    }
    

    Using GZIP Compression

    CCH SureTax supports GZIP compression for web requests and responses. For requests that have a large number of items (transactions), the use of GZIP compression can be very advantageous as it reduces the size of the payload being transmitted. The performance impact of the compression activities is negligible.

    To enable GZIP compression with CCH SureTax, the following header attribute must be submitted in the web request: "Accept-Encoding: gzipped"

    See Section 5.1 for detailed implementation examples.

    GZIP .NET Example

    var post = "request=< ADD XML HERE > "; 
      
    // gzip the POST data 
    var bigRequestStream = new MemoryStream(Encoding.UTF8.GetBytes(post)); 
    var tinyRequestStream = new System.IO.MemoryStream(); 
    using (var gzipStream = new GZipStream(tinyRequestStream, CompressionMode.Compress, true)) 
    { 
        bigRequestStream.CopyTo(gzipStream); 
    } 
    
    tinyRequestStream.Position = 0; 
      
    // create the request to SureTax 
    var request = (HttpWebRequest)WebRequest.Create("https://testapi.taxrating.net/Services/V07/SureTax.asmx/PostRequest"); 
    request.Method = "POST"; 
    request.ContentType = "application/x-www-form-urlencoded"; 
    request.ContentLength = tinyRequestStream.Length; 
    
    // Add gzip indicator  
    request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzipped"); 
      
    // add gzip POST data 
    Stream dataStream = request.GetRequestStream(); 
    tinyRequestStream.WriteTo(dataStream); 
    dataStream.Close(); 
      
    // submit, receive gzip response and decompress 
    var tinyResponseStream = ((HttpWebResponse)request.GetResponse()).GetResponseStream(); 
    var bigResponseStream = new System.IO.MemoryStream(); 
    using (var gzipStream = new GZipStream(tinyResponseStream, CompressionMode.Decompress, true)) 
    { 
        gzipStream.CopyTo(bigResponseStream); 
    } 
      
    // display decompressed response to validate 
    bigResponseStream.Position = 0; 
    Console.WriteLine(new StreamReader(bigResponseStream).ReadToEnd()); 
    

    GZIP PHP Example

    // SureTax web request API URL 
    $suretax_url = "https://testapi.taxrating.net/Services/V07/SureTax.asmx/PostRequest"  
    
    // Initiate cURL request 
    $ch = curl_init(); 
     
    $my_data = "*** JSON STRING ***"; 
     
    // Set Headers 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept-Encoding: gzipped') ); 
    curl_setopt($ch, CURLOPT_ENCODING , 'gzip'); 
    $post_string = gzencode("request=$my_data"); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string );   
     
    curl_setopt($ch, CURLOPT_POST, 1 ); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0 ); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
    curl_setopt($ch, CURLOPT_URL, $suretax_url ); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 10 );    
     
    $response = curl_exec( $ch ); curl_close( $ch ); 
     
    // Uncompress GZIP response 
    $response = gzinflate(substr($response, 10, -8));  // Note: Or use gzdecode() with PHP v5.4 or greater
    

    Appendix B - Transaction Type Codes

    The most current CCH SureTax Transaction Type Code list including their CCH ZipComm Group/Item corresponding values is available as an addendum to this API document. For additional information on these codes and their specific definitions, please see the Energy Mapping Guide.

    Appendix C - Provider Type (Regulatory) Codes

    The following table lists the Provider Type (Regulatory) codes used in the calculation process.

    Type Regulatory Code Description
    Default 99 Default value if Provider Type is unknown.
    Energy 50 Regulated Distributor
    Energy 52 Regulated Distributor/Supplier
    Energy 53 Non-Regulated Reseller
    Energy 54 Non-Regulated Suwither With a Regulated Distributor
    Energy 55 Custom - Utilities
    Energy 56 Regulated Pipeline Company
    Energy 57 Renewable Energy
    Retail 70 Retail

    Appendix D - Tax Exemption Record Indicators

    Exemption Indicator Exemption Description Tax Types Exempted Tax Authority Levels Exempted Detail Description
    00 No Exemptions None n/a No tax exemptions apply
    01 Federal Excise Tax Exempt 00 0 - Federal
    02 State Taxes Exempt All State 1- State
    03 Federal Excise Tax and State Taxes Exempt 00 All State 1 - State
    04 Local Taxes Exempt All 2 - County
    3 - City
    4 - Local
    5 - Reporting Agency
    All tax types are exempted for the "local" tax authority levels
    05 Federal Excise Tax and Local Taxes Exempt 00 All Local 2 - County
    3 - City
    4 - Local
    06 State and Local Taxes Exempt All 1 - State
    2 - County
    3 - City
    4 - Local
    5- Reporting Agency
    07 Federal Excise Tax and State and Local Taxes Exempt 00
    All State
    All Local
    1 - State
    2 - County
    3 - City
    4 - Local
    5- Reporting Agency
    09 All Federal Level Taxes Exempt 00
    35
    60
    0 - Federal
    10 All Unit Based Taxes Exempt See note See note All tax types are exempted for the "Federal" tax authority (i.e. FET, FUSF, FTRS)
    11 Unit based E911 Exempt 06
    33
    Any level Exempts state and local unit based E911 fees.
    12 Only apply Unit Based Fees See note See note This exemption type excludes all tax types at all tax authority levels that are not listed as a unit based fee.
    13 Local Right of Way Fees (ROW) Exempt 24 2 - County
    3 - City
    4 - Local
    14 All State and Local E911s Exempt 06
    33
    Any level Exempts state and local E911 fees - both unit based and percentage of revenue.
    20 All PUC Fees Exempt 08 Any level
    21 All State and Local Gross Receipts Tax (GRT) Exempt 28
    32
    Any level
    23 State Gross Receipts Tax and
    Universal Service Fund Exempt
    26
    28
    32
    Any level
    26 State Excise Tax Exempt (includes FL CST) 27 1 - State
    31 State Level Sales Tax Exempt 01 1 - State
    32 State and Local Sales Tax Exempt 01
    02
    03
    04
    05
    Any level
    36 Value Added Tax (VAT) 51 Any level This for any international VAT transaction (not including Canada as they have separate tax types).
    37 Canadian Provincial Service Taxes (PST) Exempt 42 Any level
    38 Canadian Harmonized Service Taxes (HST) Exempt 41 Any level
    39 Canadian Goods and Services Taxes (GST) Exempt 40 Any level
    41 Local Utility Users Tax Exempt 16 Any level
    42 State Excise Tax Exempt and Local Surcharge Exempt 17
    27
    1 - State
    4 - Local
    This is primarily used for exempting the NY State Excise and local MTA Surcharge on Excise tax.
    44 City Level Taxes Exempt All 3- City
    45 State Franchise Fee 23 1 - State
    46 Local Franchise Fee 36 2 - County
    3 - City
    4 - Local
    5 - Reporting Agency
    47 County Level Taxes Exempt All 2 - County
    97 Reserved
    98 Reserved
    99 All Taxes Exempt - Apply no tax or fees All All All tax types for all levels are exempted.

    Specialty Exemptions

    In addition to the Tax Exemptions provided above, CCH SureTax provides for specialty customer exemptions. These exemptions are provided from the CCH Customer Exemptions Smart Charts and will disable all taxes for customers belonging to one of these classifications. Like the Tax Exemption Record Indicators, these codes are submitted to CCH SureTax as part of the request in the TaxExemptionCodeList field. Please contact CCH SureTax for information about these codes.

    Appendix E - Exemption Reason Codes

    Exemption Reason Code Exemption Reason Description
    01 Federal government
    02 State or local governemnt
    03 Tribal government
    04 Foreign diplomat
    05 Charitable organization
    06 Religious or educational organization
    07 Resale
    08 Agricultural production
    09 Industrial production/manufacturing
    10 Direct pay permit
    11 Direct mail
    12 Other

    Appendix F - Unit Type Codes

    Type Unit Type Code Description
    Default 00 Default value services.
    Energy 03 kWh
    Energy 04 THERM
    Energy 06 Meter
    Energy 07 BCF (1 Billion Cubic Feet)
    Energy 08 dTh (dekatherm
    Energy 09 mWh (1000 kWh)
    Energy 10 kW (Kilowatts)
    Energy 11 mW (Megawatts)
    Energy 12 CCF (100 Cubic Feet)
    Energy 14 MCF (1000 Cubic Feet)
    Energy 18 Canadian THERMS
    Energy 21 Per Liter
    Energy 22 Per Gallon

    Apendix G - Tax Type Codes

    The following table lists the tax type codes used in the calculation processes. These codes will be displayed on the tax reports and outputs generated from the system. Please note the first digit actually refers to the tax "level" - fed, state, etc. See the list provided in Appendix H.

    Tax Type Code Tax Type Description Tax Authority
    000 Federal Excise Tax Federal
    040 Goods And Services Tax (GST) Federal
    051 Value Added Tax (VAT) Federal
    101 State Sales Tax State
    107 Poison Control State
    108 PUC Fee State
    110 State License Tax State
    111 State Consumption Tax State
    117 Misc. Surcharge 1 State
    118 Misc. Surcharge 2 State
    119 Misc. Surcharge 3 State
    120 Misc. Surcharge 4 State
    123 State Franchise Fee State
    124 Local Right-Of-Way Fee State
    126 Universal Service Fund State
    127 State Excise Tax State
    128 State Gross Receipts Tax State
    129 State Infrastructure Maintenance Fee State
    142 Provincial Sales Tax (PST) State
    144 State Lease/Rental Tax State
    149 State Utility Tax State
    150 State Business And Occupation Tax State
    202 County Sales Tax County
    203 County Local Sales Tax County
    204 City Sales Tax County
    216 Local Utility Users Tax County
    224 Local Right-Of-Way Fee County
    238 Local License Tax County
    245 County Lease/Rental Tax County
    302 County Sales Tax City
    304 City Sales Tax City
    305 City Local Sales Tax City
    316 Local Utility Users Tax City
    324 Local Right-Of-Way Fee City
    331 Local Business And Occupation Tax City
    332 Local Gross Receipts Tax City
    336 Local Franchise Fee City
    338 Local License Tax City
    343 Local Franchise Agreement City
    347 City Lease/Rental Tax City
    348 City Local Lease/Rental Tax City
    403 County Local Sales Tax Local
    404 City Sales Tax Local
    405 City Local Sales Tax Local
    416 Local Utility Users Tax Local
    417 Misc. Surcharge 1 Local
    418 Misc. Surcharge 2 Local
    5C2 User defined Pass-through Tax Reporting Agency

    Appendix H - Tax Authority Level Codes

    The following table lists the tax type authority codes used in the calculation processes. These codes will be displayed on the tax reports and outputs generated from the system. These values are the same as the first character of the Tax Type Codes listed in Appendix C.

    Tax Authority Code Tax Authority Description
    0 Federal
    1 State
    2 County
    3 City
    4 Local
    5 Reporting Agency

    Appendix I - Response Code and Messages

    The following table lists the message codes used when a Web Request fails. Web Requests with header failures will fail on first failure detected and will return the associated message. For Item Level failures, SureTax will process all items, successful and unsuccessful, returning applicable response codes for erroneous items.

    Note

    Before specific data elements of a web request are validated, the CCH SureTax serializer checks for proper formatting/encoding across the entire request. Should an error occur in this process, an 1101 error code will be retruned with a header message such as "Failure - There was an error deserializing the object of type...".

    Header Level Response Codes

    Message Code Message Code Description
    1000 Failure - STAN already processed
    1100 Failure - General Failure
    1101 Failure - There is a format error in the web request - Input string was not in a correct format.
    1110 Failure - Data Month Required
    1120 Failure - Data Year Required
    1121 Failure - Invalid Data Year/Month - Must be a published Data Year/Month
    1130 Failure - Client Number Required
    1131 Failure - Invalid Client Number
    1141 Failure - Invalid Business Unit
    1150 Failure - Validation Key Required
    1151 Failure - Invalid Validation Key
    1171 Failure - Invalid Client Tracking Code
    1190 Failure - Response Group Code Required
    1191 Failure - Invalid Response Group Code
    1200 Failure - Response Type Required
    1201 Failure - Invalid Response Type
    1210 Failure - Return File Code Required
    1211 Failure - Invalid Return File Code
    1220 Failure - Item List Required
    1510 Failure - Transaction is more than 60 days old (generated from Cancel Request method)
    9001 Success with Item Errors (see table 9.2)
    9999 Success

    Item Level Response Codes

    Message Code Message Code Description
    9100 Invalid Invoice Number - Must be Alphanumeric
    9101 Invalid Invoice Number - Exceeds Character Limit (20)
    9110 Invalid Customer Number - Must be Numeric
    9111 Invalid Customer Number - Exceeds Character Limit (10)
    9151 Invalid ShipTo Zip Code = Zip Code not found
    9153 Invalid Country Code - Must be 2 characters
    9155 Invalid Geocode - cannot be null
    9160 Invalid Billing Zip Code Extension - Must be a 4 digit number
    9170 Invalid Secondary Zip Code - cannot be null
    9171 Invalid Secondary Zip Code = CAN - Must be a 6 character Alpha-Numeric
    9172 Invalid Secondary Zip Code = Zip Code not found
    9180 Invalid Secondary Zip Code Extension - Must be a 4 digit number
    9190 Invalid BillingPeriodEndDate or BillingPeriodStartDate - cannot be null
    9200 Invalid Line Number - Exceeds Character Limit (20)
    9220 Invalid Unit Type - cannot be null
    9240 Invalid Tax Included Code - cannot be null
    9250 Invalid Tax Situs Rule Code
    9260 Invalid Transaction Type Code
    9270 Invalid Sales Type Code - cannot be null
    9280 Invalid Regulatory Code - cannot be null
    9290 AuxRevenueType Required
    9410 Transaction is already cancelled (generated from Cancel Request method)
    Wolters Kluwer Product Name - Page anchor links toWolters Kluwer Product Name - Page anchor links to
    © Wolters Kluwer and/or its affiliates. All rights reserved.