On This Page
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 thetaxService_refundIndicatorfield to.true
- To apply the same rate from the day of the original transaction, set theinvoiceHeader_invoiceDatefield 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:
- Refund the full or partial amount of the original transaction.
- If the refund is successful, request the tax calculation service for the refunded item(s) and include the refund indicator by using thetaxService_refundIndicatorfield 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:
- Request the tax service with thetaxService_refundIndicatorfield set to.true
- 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
SO
APIUse 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 thetaxService_noNexusfield.
- taxService_noNexus
- If you include this field, do not include thetaxService_nexusfield.
- taxService_refundIndicator
- Set the value of this field totrue.
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