This article provides the basics for how sales taxes are handled when orders are placed on the CIMcloud platform. By default CIMcloud will sync over the tax set-up from the ERP and replicate that for orders in CIMcloud. Customers may choose to use a tax service such as Avalara to calculate taxes using a third party. The CIMcloud platform does have a standard integration with Avalara for calculating taxes for an order and just requires some additional set-up to connect to your Avalara instance. If you are wanting to integrate with a different tax service please contact CIMcloud customer service for more information. The purchase and set-up of these third party tax services is outside of CIMcloud.
If charging taxes then the base tax structure, the tax schedules and codes, must come from the ERP or through a third party service (Avalara). Specific tax rates are not managed in the CIMcloud platform. How a particular tax schedule, synced from the ERP, is applied can be configured in the CIMcloud platform.
Information Synced From the ERP
Tax Schedules – Tax schedules are applied to orders and determine the overall structure for how a particular order is taxed. A tax schedule is made up of tax codes which in conjunction with a product’s tax class will determine the rates the particular product is taxed at.
Tax Codes – Theses are particular tax entities applied to the tax schedule for a particular tax class. These are typically associated to a city, county, or state and how they tax particular product types and freight.
Tax Classes – these are product groupings that are applied to products that control how the product may be taxed. For example a particular municipality may tax food at a different rate than other type products.
Tax Rates – The percentage rate that something is taxed based on the tax class and tax code.
Exemption by Tax Code (Sage100 only) – In Sage100 at the shipping address and/or customer level you can set up exemption records by tax code. These can be synced to CIMcloud so that if a particular schedule is applied to an order where the tax codes from the schedule are exempt then the order will not be taxed for the tax codes where there is an exemption.
Tax Schedules to Zip Codes (Sage100 only) – This brings over the tax schedule by zip code data from Sage100. See below for how this is used.
How Tax Schedules are Applied
When an order is being processed CIMcloud the system will look for a tax schedule associated with the following and if a tax schedule is present the system uses this schedule for the order.
- Shipping Address – If a tax schedule is applied to the shipping address in the ERP this is synced over to CIMcloud and if this shipping address is used on the order this is the tax schedule applied to the order.
- Account – If it is a new shipping address or does not have a tax schedule then system looks at the account to see if it has a tax schedule. Accounts typically do not have a tax schedule synced from Sage since applying tax schedules based on the account is not typically desired.
- Anonymous Tax Set-up. If not tax schedule exists on the address or account then the system looks to see if any anonymous tax set-up exists. This is does require configuration. If anonymous rules are set up then a tax schedule will be applied based on the shipping address being used on the order and the anonymous tax set-up. This set-up requires the tax schedules synced from the ERP to be set to apply based on address fields. So if you collect tax in North Carolina at just the state level and have a tax schedule NC for North Carolinas State tax, you set this tax schedule to apply to addresses where the state = NC. The following fields can be used to apply anonymous tax schedules:
- County (you will want to enable the capture of county on addresses for the particular states this applies to)
- City (this is not typically recommended since this is a free text field and the value entered by the user on the site would need to match the value applied to the tax schedule exactly. Instead it is recommend for municipalities to use the next option – Zip Code)
- Zip Code – zip codes can be entered to apply tax schedules based on a single zip code, a list of zip codes, and/or “zip codes starting with”. For Sage100 this can be synced from Sage, but does require the tax schedules to by set to anonymous in the worker portal. Also, CIMcloud does not support Zip Code by range so if using range values these will not sync to CIMcloud.
- Site Default. When orders are imported into the ERP most ERPs (including Sage100) require a tax schedule on the order. During set-up a default tax schedule is defined to be applied if no other tax schedule is found. If not tax schedule has been defined on the order no taxes are charged for the order so the default is typically the NONTAX tax schedule.
Depending on the ERP the order import may or may not directly populate the tax amount. For Sage100 the actual tax amount is not directly populated, instead the tax schedule used in CIMcloud is populated on the order so that the order populates taxing matching the tax calculated in CIMcloud.