Tax codes

A tax calculation code indicates the tax calculation for order items. A store typically collects two type of taxes: sales or use tax, and shipping tax. The tax codes are unique within each tax type for a store. Only one tax calculation code of each tax type is applied to a particular order item.

Tax calculation codes can be classified for convenience. A tax code scheme consists of a group of tax code classifications. A store typically uses a single tax code scheme.

TaxCategory objects correspond to the different kinds of tax that a store might be required to collect, such as federal, state or provincial, and municipal. Taxes for each TaxCategory object are calculated in ascending sequence by their sequence attributes.

The tax CalculationCodes are unique within each TaxType in a StoreEntity. No more than one tax CalculationCode of each TaxType can apply to any particular order item. Typically, sales or use tax is levied on the net price, and shipping tax is levied on the net shipping charge which equals the shipping charge plus the shipping promotions and other shipping adjustments. However, it is possible to calculate sales or use tax on the net price plus the shipping charges, by using the appropriate CalculationScaleLookupMethod. If you do this, you should either establish a default shipping tax calculation code that calculates zero shipping tax, or disable the shipping tax TaxType entirely by setting its USAGEFLAGS attribute to zero in the STENCALUSG database table.

You can attach a tax code to online catalog entries or to a catalog group. A tax code that is attached to a catalog group has the same effect as a tax code that is attached to all the catalog entries directly in that catalog group. However, if an entry has more than one tax calculation code of a particular TaxType object attached, only the code with the highest sequence attribute is used.

A particular tax calculation code can have several CalculationRules, one for each combination of TaxCategory object, TaxJurisdictionGroup object, and FulfillmentCenter object, identified in the TAXJCRULE database table. When a shipping address matches more than one TaxJurisdictionGroup, the CalculationRule object with the highest associated TAXJCRULE.PRECEDENCE column value is used.