Refund Tax Calculation

A refund tax calculation is a request that sets the transaction type field in the Tax Detail Report to refunded and makes the reported amount negative. Tax amounts are returned as positive amounts in response messages, but they are saved in reports as negative amounts. The tax software enables you to accurately calculate the aggregate amounts.
You can also commit a refund tax calculation to include the refunded tax amount with a payment refund.

Tax Detail Report

The refund request will set the Transaction Type field to Refund in the Tax Detail Report and will make the value of the Tax Amount negative.

Fields specific to this Use Case

Include the following information with a standard refund tax calculation request when you want to include the refund request to your Tax Detail Report:
  • To commit a tax calculation refund request, set the
    taxService_refundIndicator
    field to
    true
    .
  • To apply the same rate from the day of the original transaction, set the
    invoiceHeader_invoiceDate
    field to the original transaction date.

Endpoint

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

Refund Tax Calculation Scenarios

You can report a refund tax calculation at different moments in a transaction.
Use these scenario examples to determine when you should report refund a tax calculation.
Possible scenarios:

Scenario 1: Full or Partial Refund

You can refund a tax calculation request before requesting an authorization if you have access to the original transaction data. For example:
  1. Refund the full or partial amount of the original transaction.
  2. If the refund is successful, request the tax calculation service for the refunded item(s) and include the refund indicator by using the
    taxService_refundIndicator
    field set to
    true
    .

Scenario 2: Stand-alone Credit

You can credit a transaction if you do not have access to the original transaction data. For example:
  1. Request the tax service with the
    taxService_refundIndicator
    field set to
    true
    .
  2. Credit the payment.
You can include the commit indicator by setting the field to to indicate the credit was successfully processed in the Tax Detail Report. The commit indicator can also be sent during the first tax service request, such as Scenario 1, or in subsequent tax service requests, such as Scenario 2. If the credit fails, void the previously committed tax service request. See Void Tax Calculation.

Required Fields for a Tax Refund Calculation Using the
SO
API

Use these fields to perform a tax refund calculation.
billTo_city
billTo_country
billTo_postalCode
billTo_state
invoiceHeader_invoiceDate
Set this field to original transaction date.
item_#_unitPrice
merchantReferenceCode
taxService_nexus
If you include this field, do not include the
taxService_noNexus
field.
taxService_noNexus
If you include this field, do not include the
taxService_nexus
field.
taxService_refundIndicator
Set the value of this field to
true
.

Example: Processing a Tax Refund Calculation Using the SO API

Request
purchaseTotals_currency=usd merchantID=infodev merchantReferenceCode=TAX_TC097 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-00657 taxService_refundIndicator=true
Response
taxReply_totalCountryTaxAmount=0.00 taxReply_reasonCode=100 taxReply_totalSpecialTaxAmount=0.00 taxReply_totalTaxableAmount=0.00 purchaseTotals_currency=usd taxReply_totalStateTaxAmount=0.00 taxReply_totalExemptAmount=2440.00 taxReply_refundIndicator=true taxReply_grandTotalAmount=2440.00 taxReply_totalCityTaxAmount=0.00 taxReply_totalTaxAmount=0.00 decision=ACCEPT taxReply_totalCountyTaxAmount=0.00 merchantReferenceCode=TAX_TC097 reasonCode=100 requestID=5244716855106000201086 taxReply_item_0_taxableAmount=0.00 taxReply_item_0_exemptAmount=1200.00 taxReply_item_0_specialTaxAmount=0.00 taxReply_item_0_cityTaxAmount=0.00 taxReply_item_0_countyTaxAmount=0.00 taxReply_item_0_stateTaxAmount=0.00 taxReply_item_0_countryTaxAmount=0.00 taxReply_item_0_totalTaxAmount=0.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=0.00 taxReply_item_0_jurisdiction_0_rate=0.060000 taxReply_item_0_jurisdiction_0_taxAmount=0.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=0.00 taxReply_item_0_jurisdiction_1_rate=0.002500 taxReply_item_0_jurisdiction_1_taxAmount=0.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=0.00 taxReply_item_0_jurisdiction_2_rate=0.020000 taxReply_item_0_jurisdiction_2_taxAmount=0.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=0.00 taxReply_item_0_jurisdiction_3_rate=0.010000 taxReply_item_0_jurisdiction_3_taxAmount=0.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=0.00 taxReply_item_1_exemptAmount=1240.00 taxReply_item_1_specialTaxAmount=0.00 taxReply_item_1_cityTaxAmount=0.00 taxReply_item_1_countyTaxAmount=0.00 taxReply_item_1_stateTaxAmount=0.00 taxReply_item_1_countryTaxAmount=0.00 taxReply_item_1_totalTaxAmount=0.00 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=0.00 taxReply_item_1_jurisdiction_0_rate=0.060000 taxReply_item_1_jurisdiction_0_taxAmount=0.00 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=0.00 taxReply_item_1_jurisdiction_1_rate=0.002500 taxReply_item_1_jurisdiction_1_taxAmount=0.00 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=0.00 taxReply_item_1_jurisdiction_2_rate=0.020000 taxReply_item_1_jurisdiction_2_taxAmount=0.00 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=0.00 taxReply_item_1_jurisdiction_3_rate=0.010000 taxReply_item_1_jurisdiction_3_taxAmount=0.00 taxReply_item_1_jurisdiction_3_name=ALAMEDA CO LOCAL TAX SL taxReply_item_1_jurisdiction_3_taxName=CA SPECIAL TAX