CCH® SureTax® for Acumatica User Guide
Updated: June 7, 2024
Introduction and Pre-Requisites
Welcome to CCH SureTax for Acumatica
CCH SureTax for Acumatica helps you accurately calculate sales tax. This solution integrates directly as an Acumatica Tax Provider plug-in. Customized forms, events, and UI are included with this solution.
- CCH SureTax packages:
- CCH SureTax Base package (zip file)
- This package is a pre-requisite for all below packages.
- Contains Tax Provider Plug-In
- CCH SureTax Sales package (zip file)
- This package is a pre-requisite for CCH SureTax Projects, Service and Construction
- CCH SureTax Purchasing package (zip file)
- This package is a pre-requisite for CCH SureTax Projects, Service and Construction
- CCH SureTax Service package (zip file)
- CCH SureTax Projects package (zip file)
- This package is a pre-requisite for all bellow packages.
- CCH SureTax Construction package (zip file)
- CCH SureTax Base package (zip file)
- Supported industries: General Sales
- Installation and Configuration is done at the Tenant level in Acumatica.
- IMPORTANT: Look at the Known Issues section for any workarounds needed to perform and limitations.
Pre-requisites and Configuration
For this plug-in to function correctly, you must have the following:
- Valid client number and validation key for CCH SureTax V07 (Calculation) and CCH SureTax Data API enabled for your account.
- Endpoint URLs for CCH SureTax V07 and Data API.
- The URL for CCH SureTax will typically look like the following:
- https://<hostname>/Services/V07/SureTax.asmx
- The URL for CCH SureTax Data API will typically look like the following:
- https://<hostname>/v01/
- The URL for CCH SureTax will typically look like the following:
- Your CCH SureTax Client Number and Validation key are typically identical for both of the above.
- Please contact your CCH SureTax representative for any questions.
- Endpoint URLs for CCH SureTax V07 and Data API.
- From the CCH SureTax portal (you can get your login and URL from your CCH SureTax representative), you must do the following:
- Nexus Configuration
- SKU/Product mapping setup
- At a minimum (for testing), we recommend that you create a SKU mapping to act as your default SKU mapping, which allows you to use unmapped SKUs:
- E.g.
- SKU / Product Value = -1
- Customer Type = 99 – Default
- Regulatory Code = 99 – Default
- Transaction Type Code can be set to the default product you want to use (for example, 990101 - General Sales)
- Acumatica's ShipVia (Code or name) is sent for freight amounts, so all Ship via Codes should be mapped as SKUs in SureTax.
- Recommendation: map Tax Categories from Acumatica to SKUs in SureTax, as that would require less SKU mapping management.
- At a minimum (for testing), we recommend that you create a SKU mapping to act as your default SKU mapping, which allows you to use unmapped SKUs:
Supported Forms in Acumatica
Package Name | Supported Forms |
---|---|
CCH SureTax Sales | Sales Order, Sales Invoice, Sales Quote, Cash Sales, Opportunity |
CCH SureTax Purchasing | Purchase Order, Bills and Adjustments |
CCH SureTax Projects | Proforma Invoice, Project Quote, Adds project support for Sales and Purchasing forms |
CCH SureTax Service | Appointment, Service Order |
CCH SureTax Construction | Subcontract |
Installation and Configuration
Installing SureTax
The following section includes instructions for installing the CCH SureTax for Acumatica.
- Log in to the Acumatica instance under the tenant you would like to install this solution
- Enable Third Party Integrations -> External Tax Calculation is enabled in Acumatica on the Enable/Disable Features (CS100000) form.
- The CCH SureTax Base package can be installed directly into Acumatica via the Customization Projects form using import
- Open Customization Projects form in Acumatica and import packages based on the module.
Module | Required Packages |
---|---|
Sales | CCH SureTax Base,CCH SureTax Sales |
Purchasing | CCH SureTax Base,CCH SureTax Purchasing |
Projects | CCH SureTax Base, CCH SureTax Sales,CCH SureTax Purchasing,CCH SureTax Projects |
Services | CCH SureTax Base, CCH SureTax Sales,CCH SureTax Purchasing,CCH SureTax Service |
Construction | CCH SureTax Base, CCH SureTax Sales,CCH SureTax Purchasing,CCH SureTax Projects,CCH SureTax Construction |
- After importing the package zip files, publish the customization projects
- You can publish one at a time by opening each respective customization project and publishing them.
- Please make sure to first publish CCH SureTax Base project before any other CCH SureTax project. Similarly, see the pre-requisite rules for CCH SureTax Projects and CCH SureTax Construction projects.
- Alternatively, you can select multiple projects from the Customization Projects form and Publish from that form. Project levels have been set, so projects will publish in correct order.
- You can publish one at a time by opening each respective customization project and publishing them.
- Once the packages are installed you will see a CCH SureTax workspace (or can search for it)
- This is where CCH SureTax Sales/Purchasing/Projects and other configurations will be found. Details for this will be found in following sections.
- Setup Tax Agency:
- Open Vendors form and add new with the following information:
- Vendor ID = SXAGENCY(Or Any Name)
- Important: use this specific ID as it is required for Import System Data (deprecated)
- (Starting with 2024 R1) Any agency that is configured with the vendor and zone for CCH SureTax Tax Provider will automatically be used. Using only SXAGENCY is not required.
- Important: use this specific ID as it is required for Import System Data (deprecated)
- Vendor Class = GNA
- Vendor Account Name and Legal Name - Provide respective values
- In the General tab, check 'Vendor is Tax Agency'
- Once above is checked you will see 'Tax Agency Settings' tab, update it with the accounts you want in Default Tax Accounts section.
- Vendor ID = SXAGENCY(Or Any Name)
- Open Vendors form and add new with the following information:
- Setup Tax Provider:
- Open Tax Provider form and add new
- Provider ID = SureTax (or any name)
- Description = any value
- Plug-In = WK.SureTaxBase.SureTaxTaxProvider
- Check the 'Active' checkbox
- Plug-In Parameters tab:
- CALCURL and DATAURL are URLs for SureTax calculation and Data API web services
- Company Code Mapping:
- This is where you assign CCH SureTax Client Number and Validation Key to branches
- For each branch:
- Click the add '+' button
- Select the branch
- Company Code: enter CCH SureTax Client Number
- Calc and Data Validation Key: enter respective CCH SureTax Validation Key
- Save after tax provider data is entered.
- Create Tax Zone:
- Go to Tax Zones form and create new
- Tax Zone ID = SureTax
- Description = CCH SureTax Zone
- Default Tax Category = Taxable (or any category you prefer for your business)
- Check 'External Tax Provider'
- Provider ID = Select 'SURETAX' (this is the Tax Provider you created above)
- Tax Agency ID = SXAGENCY (this is the Tax Agency you created in Vendors form from above or the name with which you created Tax Agency)
- Save
- Setup Tax Provider - Import System Data
- Open Tax Provider form and select Provider ID = SureTax (or the name which you used in step 7.)
- Let the details for the Tax Provider load.
- Click on Test Connection, make sure this is successful
- Click on Import System Data
- Important to perform this action to import tax relevant data into your Acumatica system.
- Assign Tax Zone to relevant Branches
- Open Branches form and select branches to use CCH SureTax by default for
- On the Delivery Settings tab, you can set the Tax Zone field to SureTax Tax zone you created from above.
- Tax zones can be assigned at other places, such as, customers and vendors.
- (Recommended) Assign Tax Zone to Customer Classes and Vendor Classes
- Open Customer Classes or Vendor Classes forms.
- Select the class and set Tax Zone ID to your CCH SureTax Tax Zone.
- This will automatically set the tax zone when new customers or vendors are created.
Sales and Purchasing Configuration
Sales Configuration
The CCH SureTax workspace contains links for Sales Configuration if CCH SureTax Sales is installed.
- Log in Acumatica and open 'CCH SureTax' from the left navigation, alternatively you can search for suretax in the header search box.
- Open CCH SureTax Sales Configuration
- Set values appropriate for your business. Sample below:
- Enabling of CCH SureTax can be done at the module level or at the form level
- Changing Tax Zones will also work
- Transaction Defaults are default sales tax relevant data used for tax calculation
- SKU Preferences allows flexible configuration of what to send as the TransTypeCode in SureTax requests (this is typically Tax Category, SKU, or TransTypeCode value)
- Transaction Type Code:
- You can select this option to send Transaction Type Code (default or assigned for Items).
- You can select Stocking Unit, for this to work you must map your SKUs in CCH SureTax (via the CCH SureTax portal) for the field you want to use (typically it is Tax Category).
- Transaction Type Code:
- Update Order Lines has 'Never' by default. It will not impact anything if you have its value at Never. But when Update Order Lines value is set at 'Always' then in the respective module when user changes an existing acumatica transaction's header settings that will be copied to all lines.
- (Starting with 2023 R2) 'Return Taxes Based on' option allows ability to save taxes by Tax Authority Type (the 2nd option from the dropdown).
- This feature saves and displays unique taxes based on tax authority type for transactions (e.g. State, County, City, Local, etc).
- By default, taxes are saved based on Tax Authority Name, which can lead to similarly named taxes being saved and displayed. Keep in mind that a tax authority can have taxes at different levels (for example, a city tax authority may return both city taxes and local taxes).
- Enabling of CCH SureTax can be done at the module level or at the form level
- Click Save.
Purchasing Configuration
The CCH SureTax workspace contains links for Purchasing Configuration if CCH SureTax Purchasing package is installed.
- Log in Acumatica and open 'CCH SureTax' from the left navigation, alternatively you can search for suretax in the header search box.
- Open CCH SureTax Purchasing Configuration.
- You will see similar settings as seen in Sales Configuration form that you will want to update appropriate for your business.
- Main difference is Tax Option, you can select Use Tax or Sales Tax depending on your needs.
- Click Save.
Projects/Construction Configuration
The CCH SureTax workspace contains links for Projects/Construction Configuration if CCH SureTax Project package is installed.
- Log in Acumatica and open 'CCH SureTax' from the left navigation, alternatively you can search for suretax in the header search box.
- Open CCH SureTax Project Configuration.
- You will see similar settings as seen in Sales Configuration form that you will want to update appropriate for your business.
- Main difference is Tax Option, you can select Use Tax or Sales Tax depending on your needs.
- Click Save.
Configuring Settings for Vendors
Optional settings that override default values used for tax calculation can be configured for Vendors.
- Open Vendors form in Acumatica
- Select the CCH SureTax tab
Configuring Settings for Customers
Optional settings that override default values used for tax calculation can be configured for Customers.
- Open Customers form in Acumatica
- Select the CCH SureTax tab
Configuring Settings for Non-Stock and Stock Items
Optional settings that override default values used for tax calculation can be configured for Items.
- Open Non-Stock Items (or Stock Items) form in Acumatica
- Select the CCH SureTax tab
Configuring Settings for Tax Categories
Optional settings that override default values used for tax calculation can be configured for Tax Categories
- Open Tax Categories form in Acumatica
Configuring Settings for Units of Measure
Optional settings that override default values used for tax calculation can be configured for a unit of measure.
- Open Units form in Acumatica.
- From there you can set the Unit Type Code that you want to be sent to SureTax for the selected Unit.
Configuring Settings for Projects
- Open Projects form in Acumatica
- Select the CCH SureTax tab.
Using CCH SureTax For Acumatica
Tax Calculation
- Tax is calculated on supported forms if CCH SureTax is enabled. Tax calculation with CCH SureTax is triggered during the following:
- Save at the header level for following scenarios:
- Acumatica ERP triggers tax calculation based on fields that could influence the tax amount gets changed (i.e. Quantity, Amount, Address, etc)
- A CCH SureTax Setup value for the line has changed
- Recalculate external tax button is pressed (only available on the sales order form)
- Tax is only triggered on save in the following scenarios
- Field that could influence the tax amount gets changed (i.e. Quantity, Amount, Address, etc)
- A SureTax Setup value for the line has changed
- Save at the header level for following scenarios:
Configuring SureTax Header and Line Settings
The CCH SureTax Settings for header and line is available on supported forms.
- On supported forms you can access header and line settings under CCH SURETAX tab:
- You can modify the following fields:
- Settings:
- Enable
- Tax Option. Only available on purchase transactions ans Subcontracts.
- Tax Exemption Code
- Regulatory Type Code
- Sales Type Code
- Transaction Type Code. Used only if the Stock Unit Option is set to Transaction Type Code.
- Unit Type Code. Select the default code (e.g. 99 for General Sales).
- Tax Situs Rule. Select the default Tax Situs Rule (e.g. 22 for General Sales).
- Tax Exempt Reason Code
- Settings:
- Once Acumatica transaction is created if the respective CCH module is enabled then header settings will be added based on the setup and CCH Customer settings. So when the line settings are added it will take header settings into consideration and update any Item/SKU specific settings on line settings.
Ship-To and Ship-From addresses used for Calculation
Sales tax calculation requires a ship-to and ship-from addresses to accurately calculate sales/use tax. The CCH SureTax plug-in use the ship-to and ship-from addresses provided by Acumatica to the Tax Provider plug-in.
Note that if ShipVia is not selected, then Acumatica treats the order as a Will Call. In this scenario, both the Ship-To and Ship-From address given to the SureTax Tax Provider is the warehouse address.
Viewing SureTax Tax Details
On supported forms: Once tax is calculated, you can view details on supported forms SureTax Tax Details form:
Viewing SureTax Call Logs
On supported forms: Once tax is calculated, you can view SureTax request and response logs.
(Starting with 2024 R1) To reduce the amount of data stored in the the SureTax Call Logs table, only the last 5 (newest) logs are saved and older logs are deleted.
See below screenshot:
Uninstalling and Updating
Updating SureAddress
To update to a newer version of the CCH SureTax plug-in, do the following:
- Goto Customization Projects form in Acumatica:
- Unpublish all CCH SureTax projects on this form
- Delete all CCH SureTax projects on this form
- Import the new CCH SureTax Base package
- After above in published, import all other CCH SureTax packages you will be using (e.g. Sales, Purchasing, etc)
- Uninstalling the CCH SureTax Plug-in
Uninstalling SureAddress
- Goto Customization Projects form in Acumatica:
- Unpublish all CCH SureTax projects on this form
- Delete all CCH SureTax projects on this form
- Note that the above action does not remove data in the database.
Appendix
CCH SureTax API's used for Acumatica Tax Provider
- Acumatica Tax Provider method implementation:
- CommitTax
- SureTax SoapRequest method called as finalized request
- GetTax
- SureTax SoapRequest method called as Quote request
- Ping
- SureTax CancelRequest method is tested to validate credentials
- SureTax Data API is tested with TaxCode method.
- PostTax
- No action as this does not provide line items in PostTaxRequest
- General information regarding tax calculation calls made to CCH SureTax:
- All calculation requests are sent as Quotes to CCH SureTax, except for Finalized requests, which are made when an Invoice is finalized.
- If CCH SureTax returns an error during tax calculation, the plug-in stops the system from posting the document within Acumatica.
- Freight (ShipVia) is sent as a separate line item to CCH SureTax.
- TransTypeCode sent for shipping - If SKU option is Transaction Type Code, then we check to see what the transaction type code is on the ShipVia. If that is blank we use the default transaction type code on the sales/purchase config.
- CommitTax
CCH SureTax API Mapping for Tax Calculation
For the below, left is CCH SureTax data and the right describes what is used from Acumatica. Each CCH SureTax transaction is created with the following data at the header level:
- <ClientNumber> - From header branch configured with Tax Provider
- <ValidationKey> - From header branch configured with Tax Provider
- <DataYear>, <DataMonth> - Transaction Date from CCH SureTax Settings
- <CpmlDataMonth>, <CpmlDataYear> - Compliance Date from CCH SureTax Settings
- <ResponseType> - “12C2”
- <ResponseGroup> - "00"
- <STAN> - blank
- <TotalRevenue> - Sum of all line amounts including Freight with discounts subtracted.
- <ReturnFileCode> - "Q" used all times except "0" for when invoice is finalized.
Each CCH SureTax line item is created with the following data (Freight is considered as a line item):
- <InvoiceNumber> - The ID of the respective entity, which can be Opportunity ID, Order ID, Quote ID, or Invoice ID.
- <LineNumber> – In order and increments starting with 0, but 'freight' is the value used for the Freight line item.
- <CustomerNumber> - Account Name or Customer Name
- <RegulatoryCode> - The Regulatory Code (Provider) from CCH SureTax Sales Config
- <SalesTypeCode> - The Sales Type Code (Customer) from CCH SureTax Sales Config or Accounts/Contacts CCH SureTax Settings
- <LocationCode> - blank
- <TransDate> - Transaction Date from CCH SureTax Settings
- <Revenue> - Amount for the line item. Any discount will be subtracted before in the price sent.
- <TaxIncludedCode> - "0"
- <Units> - Line item's Quanity
- <FreightOnBoard> - "blank" (default). Can be configured in CCH SureTax Shipping Method Settings
- <AuxRevenueType> - "01" (default)
- <AuxRevenue> - "0" (default)
- <TaxSitusRule> - Use "22" for General sales. This is configured at CCH SureTax Sales Config and Products CCH SureTax Settings.
- <RuleOverride> - "0" (Default). This can be configured in CCH SureTax Sales Config.
- <UnitType> - Use "99" for General sales. This is configured at CCH SureTax Sales Config and Products CCH SureTax Settings.
- <CommonCarrier> - "blank" (default). Can be configured in CCH SureTax Shipping Method Settings
- <CurrencyCode> - Acumatica Currency Code
- <TaxExemptionCodeList> - From CCH SureTax Sales Config or Account/Contacts CCH SureTax Settings.
- <ExemptReasonCode> - From CCH SureTax Sales Config or Account/Contacts CCH SureTax Settings.
- <TransTypeCode>
- CCH SureTax Sales Config -> Stocking Unit preference drives whether to use Transaction Type Code or SKU information (note SKUs must be mapped in CCH SureTax to use the SKU option)
- If set to Transaction Type Code, the Transaction Type Code will be used for the GP Item.
- This is configured at CCH SureTax Sales Config and Products CCH SureTax Settings.
- If set to SKU, the Product ID will be used. If write-in Product then Write-In Product(User entered value) will be used.
- If CCH SureTax Sales Config -> SKU Option is set to Product Family, then the Product ID of the parent is used.
- <ShipToAddress> - Ship To address entered on the form.
- Note that Will Call toggle on supported forms do not affect tax calculation, the correct Ship To address is expected to be filled on the form.
- <ShipFromAddress>
- Default Ship From address entered in CCH SureTax Sales Config.
- <BillToAddress> - Bill To address entered on the form.
Known Issues
- Error on release on AP Bills and Adjustments form for Bills. This is a known defect in Acumatica, but follow this data workaround:
- IMPORTANT TO FOLLOW THESE STEPS OR AP WILL NOT FUNCTION CORRECTLY
- Open Acumatica and Log in
- Open Chart of Accounts form
- Search for 66200
- Under Account Group column, set to empty value.
- Header Discount is not sent to Tax Provider for AP Transactions. This is a known defect seen in Acumatica 2020 R2.
- Use tax isn't supported by Acumatica for Tax Providers. This is a known gap in functionality seen in Acumatica 2020 R2.