====== TaxEngine tax calculation requirements ====== ====What properties must my application set in order for the KampData TaxEngine to calculate tax?==== The KampData TaxEngine was designed to behave similarly to Microsoft Dynamics GP in regard to order entry and tax calculation. The following steps detail the minimum requirements for tax calculation. - Create a document using the [[taxengine:api:Document method]]. - Create a line using the [[taxengine:api:LineAdd method]]. - Set the [[taxengine:api:LineTaxScheduleID property]]. - Set the [[taxengine:api:LineItemUnitPrice property]]. - Set the [[taxengine:api:LineItemQuantity property]]. - Calculate the tax using the [[taxengine:api:DocCalculateTax method]]. ===== Tax Schedule selection ===== The [[taxengine:api:LineTaxScheduleID property]] can be set manually, automatically retrieved from the [[dynamics:tables:Customer Master Address Table]] or selected by the KampData TaxEngine. * Setting the [[taxengine:api:LineTaxScheduleID property]] manually allows you to specify the [[dynamiczip:glossary:Tax Schedule ID]] that you would like to use. * Setting the [[taxengine:api:DocCustomerID property]] will automatically set the [[taxengine:api:LineTaxScheduleID property]] to the customer's default ship to address's [[dynamiczip:glossary:Tax Schedule ID]]. * This will also set the line's tax location (the [[taxengine:api:LineState property]], the [[taxengine:api:LineCity property]] and [[taxengine:api:LineZip property]]) to the values stored for the customer's default ship to address in the [[dynamics:tables:Customer Master Address Table]]. * Setting the [[taxengine:api:DocDefaultShipToAddressID property]] will automatically set the [[taxengine:api:LineTaxScheduleID property]] to this address's [[dynamiczip:glossary:Tax Schedule ID]]. * This will also set the line's tax location to the values stored for this address in the [[dynamics:tables:Customer Master Address Table]]. * Calling the [[taxengine:api:DocTaxScheduleSelect method]] will cause the KampData TaxEngine to set the [[taxengine:api:LineTaxScheduleID property]] using its [[taxengine:features:tax_schedule_selection|tax schedule selection feature]]. **NOTE:** When setting the [[taxengine:api:DocCustomerID property]], the [[taxengine:api:DocDefaultShipToAddressID property]] or when calling the [[taxengine:api:DocTaxScheduleSelect method]], the [[dynamiczip:glossary:Tax Schedule ID]] might not originate from the customer's address record. Please see [[dynamiczip:glossary:Tax Location]] for more information. ===== Customer and Item Taxability ===== **Handling Tax Exempt Customers or Item Taxability** - For the KampData TaxEngine to know if a customer is taxable or exempt, you must provide the customer ID. Please see [[taxengine:faq:Customer ID FAQ]] for more information. - To handle item taxabilty, you must provide the item number and tax location state. ---- [[taxengine:faq:Frequently Asked Questions]] \\ [[taxengine:kampdata_taxengine|KampData TaxEngine]]