During Sales Order Entry, or Invoicing, the user may use the default Shipto address for the customer, select an address from the list of Shipto addresses set up for the customer, or they may let the Shipto address default to the billing (customer) address if no default Shipto is defined. If the user selects a Shipto record the tax information from the record (Taxtype and Taxcode) is used. If the customer billing address is used for the shipment, the tax information from the customer record is used. Based on configuration settings, both the TAXTYPE and TAXCODE fields in the order header may be edited during order entry to allow the line items to default to different values (each line item is defaulted based on the header settings).
Note: As the line items are entered the tax type and tax code are defaulted based on the information in the order header. If the tax type, or tax code, in the header are changed AFTER the line items are entered the line items are not updated.
As each line item is entered for an order or invoice, the system looks up the tax rate in the TAXCODE file, based on the TAXCODE in the shipping information. This information is displayed in the item locator panel in Sales Order Entry. The user may edit the TAXTYPE and TAXCODE for each line item to handle situations where an item is being sold under unique circumstances requiring a Taxtype or Taxcode (rate) different from that normally charged on the order or invoice. The system also records the Taxable flag from the selected inventory item in the order or invoice line. The determination of whether the line is taxable and the relevant rate is then made by the system as described in the next section. As each line is saved the following information is stored:
Order/Invoice Header: Default TAXTYPE
Order/Invoice Line: TAXTYPE
The actual amount of sales tax to be collected is determined by the following logic at invoicing time.
1. Check the TAXTYPE to determine if it is a taxable sale, if so,
2. Check the TAXABLE flag for the inventory item to determine if the item is taxable, if so.
3. Check to see if there is any information in the Tax Category field of the inventory item. If so, then the system checks the exception table records to determine if a record has been set up for the state to which the shipment is being sent and the tax category being processed. If so (this item has exception records because its taxability depends on state), then the system updates the tax flag in the sales order or invoice line based on the table entry for the state (sets the field to N or Y based on information in the exception record). This information overrides the Tax flag in the inventory item. If there is no exception record for the state to which the goods are being sent, the taxable flag from the inventory item is used.
4. Look up the current TAXRATE in the TAXCODE file to determine the rate to be used for the line item. Once the rate is determined, the system uses the rate and the line item price and quantity to calculate the tax amount. The tax amount is then stored in the invoice line item record (TAX_AMOUNT field). The tax rate is re-verified at invoicing in case the rate has changed since the order was entered. If the rate has changed, the new rate is applied to the invoice and the amount is recalculated to make sure that the correct amount is being collected.
5. If shipping is charged on the invoice, the system checks the Tax Shipping flag for the Taxcode record stored in the order header. If the flag is set to Y, the system then applies the rate in the Taxcode record to the shipping amount. If the Tax shipping flag for the Taxcode record is set to blank or is missing, the system does not calculate or charge tax on the shipping amount.
6. The system also totals the amount of sales tax in the invoice lines and for any header amounts such as shipping and stores this total in the sales tax field in the invoice header.