- SEOM was originally designed to recalculate taxes on all orders imported from a shopping cart because some older shopping carts allowed customers to place an order without applying the appropriate sales tax.
- Because of that practice, the default behavior of the program is to determine whether or not the correct amount of sales tax was applied based on the values the user enters into Tax Rates table (Main Menu>Settings>Order Functions>Sales Tax Rates). This function also allows the program to recalculate the order total in the event that a line item is added or subtracted, the quantity or price of an item changed, etc.
- Most shopping carts now add the correct tax amount to each order, making it unnecessary for most users to use the CheckTaxRates system parameter, enabling the internal tax calculation system based on the Tax Rates table.
- Instead, you can correct errors by modifying the calculated tax rate (only when CheckTaxRates is False) by clicking the Tax link on the Orders screen. A dialog box opens where you can mark the order as non-taxable (and enter a Tax ID number) OR modify the tax rate associated with the order. Once the tax rate has changed, SEOM recalculates the order using the new rate and applies the new tax amount (which still may not be correct based on the variables listed below).
- If the system parameter UseTaxableField in the Program group is False, the program assumes all line items on the order are taxable. If UseTaxableField is set to True, SEOM checks to see if the items are marked Taxable in their inventory records. If there are any non-taxable items in the order, the program excludes them from the tax calculation.
- If any changes are made to an order, i.e. a line item is added, the quantity or price of an item is revised, or an item is returned, SEOM recalculates the order total. If you do not use the internal tax calculation system, there must be another way for the program to recalculate the taxes and thus the order total. The program makes an educated guess of which tax rate to apply to the order, should it change by following the rules below:
Rule #1: Determining the Taxable Product Total.
- If a shopping cart reports whether a line item is taxable or not, the program uses this information to estimate the tax on the order. If it does not and the system parameter UseTaxableField in the Program group is False, the program assumes all line items on the order are taxable. If UseTaxableField is set to True, SEOM checks to see if the items are marked Taxable in the Inventoryscreen.
Rule #2: Determining whether or not the shipping cost was taxed.
- The program depends on the merchant to tell it how to handle this by setting the Program group system parameter CalcTaxRateIncludeShipping. By default, CalcTaxRateIncludeShipping is False which means the shipping charges are NOT included in the product total prior to calculating tax. Set this parameter to True if you know for sure your shopping cart DOES include the shipping charges in the tax calculation. (Note: This parameter is usable only if CheckTaxRates is False.)
Rule #3: Determining whether adjustments like discounts and coupons were applied to the product total before or after the tax was calculated.
- Most shopping carts do not tell SEOM whether discounts, coupons, surcharges or other “adjustments” were applied to the order (or a particular line item) before or after tax calculation. Therefore, coupons and discounts are assumed to be applied to the product total before tax calculation (pre-tax). Surcharges are assumed to be taxable.
- As of version 5.913, the user can control how the program calculates the tax when a discount or coupon is applied to an order that contains both taxable and non-taxable items. See system parameter, ProrateDiscountsForTaxes.
Rule #4: Determining the tax rate percentages used to calculate the total tax amount.
- Once the final Taxable Product Total is calculated, the program divides the total tax amount received from the shopping cart by the Taxable Product Total to arrive at an “estimated” tax percentage rate to use for future tax calculations against the order in the event that it changes.
As of Version 5.809 of SEOM, the sales tax rate that is in effect when an order is created will remain the same and the program will not attempt to recalculate it in the event of future tax rate changes.