The SimpleUSTax component, which appears in the Tax stage of an order processing pipeline, applies a given rate to any order sent to a specified state in the United States.
The SimpleUSTax component is a simple tool for you to use to calculate tax rates. Microsoft strongly recommends that you have an independent tax professional verify all applicable tax rates and data generated by this component before you use such information for personal or business purposes.
The combination of the Key, Apply when, and Country fields determine whether tax should be applied, but only if the state to which the order is being shipped is listed in the State Rate List.
The SimpleUSTax component first checks the Apply when value. If it is set to Always, the tax is always applied to the order. If Apply when is set to Has any value, the tax is applied to the order whenever the order form contains any value for ship_to_country
. If Apply when is set to Equal to Country, the component does a comparison between the value of ship_to_country
on the order form and the text string in the Country field on this property page. If there is a match, the component applies the tax.
If the component determines that tax should be applied, it then compares the value of ship_to_state
on the order form to the list of states specified in State Rate List. If there is a match, indicating that the order is being shipped to a state where tax should be collected, the component applies the tax rate specified for that state, and sets the values for item._tax_total
, item._tax_included
, order._tax_total
, order._tax_included
.
SimpleUSTax always sets _tax_included
name/value pairs to zero (0) for both the item and the order. The component does not handle fractions of base currency units; all calculations are rounded to the nearest whole unit.
If the customer types a country or state in the OrderForm that is not specified in the SimpleUSTax component configuration, the values of the _tax_total
and _tax_included
name/value pairs on the order and on the items will not be set.