Sales Tax - Avalara Integration

Avatax is a web service that will allow the tax rate to be calculated based on the location or address of the work order.

Each item in PPW will be mapped to an Avatax ID. Exemptions or exceptions to the tax rule will also be required. The feature is being designed so the default is to calculate tax on all items but then have a few exemptions.

Clicking on the Sales Tax - Avalara link will take you to a page that lists all the Bid/Comp and Invoice line items for the org. The columns displayed are Item Name, Avatax Code, and Update Date.

The toolbar on the Sales Tax - Avalara will have a button that enables and disables the Avalara tax integration. The button will flip between Enable and Disable based on the current status of the integration.

The Show Inactive button will show and hide the inactive line items in the list. By default, we don’t want to show inactive items.

The text box in the Avatax Code column will be a multi-function input element. Users can manually enter an Avatax Code into the text box. Codes must be a valid Avatax Code to be saved.

Another way to enter codes is by searching. Users can enter text and then click the search button next to the Avatax Code. The Avatax web service will be queried and show any Avatax Codes that match the text the user has entered. A pop-up element will display all the Avatax Codes that match in a table. Clicking on any of these Tax Codes will enter the Code into the text box.

Once a valid code has been entered the field will auto save.

Setup - Avalara Configuration

A configuration button will be added to the Sales Tax - Avalara toolbar. This button will display a form to setup the Account, License and URL fields. A save button will save this info. A button to test the connection is displayed next to the save button. This will ping the Avalara web service and verify the information is setup properly.

Setup - Admin>Client Companies

Client Companies can be exempted from taxes on their invoices. The Admin > Client Companies page will have a checkbox labeled Use Avatax Exempt Types. If this box is checked, any invoice on orders for this Client Company will not be taxed. The Tax-Exempt Type must be selected if the Use Avatax Exempt Types box is checked.

Testing

Verify the Avatax codes are saved and populate properly when reloading or navigating away and back to the Sales Tax - Avalara page. Add a new Bid / Comp & Invoice Item. Verify the new item appears in the list and can have an Avatax Code entered and saved correctly.

Verify the Tax-Exempt fields save and populates correctly when editing existing client company records.

Saving Invoices

The Client Invoice is where all the sales tax will be calculated and saved.

If the Avatax integration is enabled, and the Client Company is not exempt, the client invoice screen will have a column for the Tax Code. If a preset invoice line item is selected, the Tax Code field will be read only and set to the Avatax Code linked to the invoice item. If an “Other” line item is used, the Tax Code textbox will allow the user to type a Tax Code directly into the box or enter text to search for a tax code. Searching for a tax code here will work exactly the same way as on the Admin > Sales Tax - Avalara page when associating Invoice Items to Avatax Codes.

When the Avatax integration is enabled, an invoice cannot be saved unless all lines on the invoice have a valid Tax Code entered. Either automatically chosen or manually entered for Other lines. An error should be displayed to the user if this occurs.

The After Disc columns next to the invoice line is the total of the line, minus the Client Discount rate. The Rate column is the tax rate as returned by Avatax. The Tax Amnt column is the total tax for the line. The Tax Code column is the auto selected tax code or the manually entered code for Other invoice lines.

If the tax feature is enabled for the client invoice, several new total fields will be displayed below the invoice line items. Below the Client Discount field, the Total Before Tax box will display the total after the Client Discount has been subtracted. The Total Before Tax input is read only and cannot be edited by the user. The Tax Amount field will display the total tax amount. The Tax Amount field is read only and cannot be edited by the user. The Client Total field is the Total Before Tax plus the Tax Amount.

Saving an invoice when the Avalara Sales Tax integration is enabled will trigger the Avatax Transaction process. A new transaction will be sent to the Avatax API. The results of the Transaction will then be stored in PPW.

Saving an existing invoice will require checking if the existing line items were updated at all. If the invoice had any changes, we will have to update the transaction in Avatax and store the updated tax information for the invoice.

A message indicating the status of the Avatax transaction will be displayed on the page. Example status indicator below.

Testing

Creating new invoices and editing existing invoices by adding new lines, editing existing lines and deleting existing lines should be tested fully. Being logged in as a PPW user who can view/edit contractor invoices only and as a user who can view/edit client invoices should be tested. Some users may be able to view/edit both contractor and client invoices. We must ensure this functionality is not affected.

After invoices have been sent to Avatax, the data in PPW should be validated with the data in Avatax to verify all fields have been sent properly to Avatax. We need to validate the data can be searched on and reported on using the Avatax application.

Required Group Permissions

Go to Admin > Groups:

Admin > Admin/Sales Tax>Edit Tax Codes

Admin > Admin/Sales Tax>Enable/Disable Avatax Integration

Admin > Admin/Sales Tax>Enable/Disable recording Avatax Transaction

Admin > Admin/Sales Tax>Sync PPW Client to Avatax Admin > Admin/Sales Tax>View Sales Tax Avatax Page

Last updated