Tax Processes

Tax Creation
Taxes are created from the Tax Maintenance screen in SUBS. Taxes can be created on various levels: Country, State, County, City and Zip. While all store addresses are defined at the zip code level a user can define a tax at a higher level to cover a group of stores. A Balance Type must also be selected to continue with entry. A Tax Item Type and Account Type can be selected. Tax Invoice Type and Account Type are the same as Invoice Item Type and Account Type found elsewhere in the system. The user can only then enter a new tax if the General Ledger Account Number for the combination of Country, Balance Type, Invoice Item Type and Invoice Account Type already exist in the system.

After selecting a Balance Type the user has the ability to edit an existing Tax by picking it from the grid at the bottom of the form.

The fields required to create a tax are the Tax Description, Tax Comments and the Tax Rate. The Tax Rate is the decimal representation of the tax percent. Therefore, the Tax Rate must be between -1 and 1 exclusive.

Tax Exceptions
I have no idea how this form works.

Tax Charges
There is one procedure that is responsible for creating the tax invoices for every balance type except for Equipment Leasing. The procedure proc_Subway_ARTaxInvoices_CreateCharges_Batch takes as its first parameter a balance id string. That is a comma separated value string of the balance Ids. '9,10,21,26' would represent Additional Funds, Advertising, Notes Receivable and Royalty, respectively.

The procedure proc_Subway_ARTaxInvoices_CreateCharges_Batch first gets all the invoices with an invoice account type that has an associated child tax account type. One invoice account type that is excluded is RE VAT Invoices. The parent-child relationship of invoice account types are defined in the table LU_InvoiceAccountTypes

Equipment Lease taxes are charge at the time of the Monthly Payment Charge. Each individual tax assigned to the lease is charged as a separate line item for the same invoice. The program only looks at the ELTaxAssigned table to determine which taxes to apply to the current lease. It relies on the SUBS application to ensure the correct taxes are assigned to each lease.