Skip to main content
Explanation

Sales Tax Management in UltraCart

UltraCart provides flexible options for managing sales tax, catering to various business needs and geographical requirements. This guide outlines the available methods, their advantages, and how to configure them within your UltraCart account.

Introduction

Managing sales tax accurately is crucial for any e-commerce business. UltraCart offers several approaches to help you comply with tax regulations, ranging from automated solutions to granular manual control. Choosing the right method depends on your business's complexity, sales volume, and geographical reach.

Ways to Manage Sales Tax

Sales Tax Management Methods

UltraCart supports the following primary sales tax methods:

  1. UltraCart Managed

  2. Self Managed

  3. Avalara Integration

  4. TaxJar Integration

  5. Sovos Integration

  6. Anrok Integration

Tip: Merchants seeking the most precise and compliant tax calculations, especially when dealing with complex product classifications or street-level accuracy, should consider Avalara, TaxJar, Sovos, or Anrok.

MethodProsCons
UltraCart Managed- Default Method
- Easy to Setup
- No Additional Fees
- United States only
- Basic sales tax collection based upon zip code not street address.
:::note
Warning: UltraCart Managed Rates are ZIP-code-level only and do not support:
- Street-level tax jurisdiction calculations
- Distinctions between item/service tax classes
For businesses needing more precise tax handling or support for multiple tax classifications, we recommend using Avalara, TaxJar, or Sovos.
:::
note
In summary, since the csv file provided by Avalara can't handle the 1-to-many nature of multiple tax counties in a zip, whenever the checkout encounters that situation, the highest tax rate is chosen to ensure the minimum tax is collected. Therefore, each merchant must decide if this is sufficient for their situation. If this is not desired, the alternative is to use Avalara, TaxJar, or Sovos for the most accurate sales tax services.
In summary, since the csv file provided by Avalara can't handle the 1-to-many nature of multiple tax counties in a zip, whenever the checkout encounters that situation, the highest tax rate is chosen to ensure the minimum tax is collected. Therefore, each merchant must decide if this is sufficient for their situation. If this is not desired, the alternative is to use Avalara, TaxJar, or Sovos for the most accurate sales tax services.
Self Managed- All Countries
- Fine Grained Control Of Minute Details
- Manual setup of everything
- Time intensive setup
- Manual updates
- Requires external tax tables
Avalara- Easy To Setup
- Complete Tax Solution
- Automatically Identify New Nexus Points.
- Can File Taxes For You (Additional fee)
- Requires Avalara plan
- See Avalara for additional restrictions
TaxJar- Easy To Setup
- Complete Tax Solution
- Automatically Identify New Nexus Points.
- Can File Taxes For You (Additional fee)
- Requires TaxJar plan
- See TaxJar for additional restrictions
Sovos- Easy To Setup
- Complete Tax Solution
- Automatically Identify New Nexus Points.
- Can File Taxes For You (Additional fee)
- Requires Sovos plan
Anrok- Easy To Setup
- Complete Tax Solution (calculation, filing, remittance, reconciliation)
- Nexus Monitoring Across 100+ Countries
- Requires Anrok plan
- Requires products to be tagged with Anrok tax categories

Special Fees

Effective July 1, 2022, Colorado imposes a retail delivery fee on all deliveries by motor vehicle to a location in Colorado with at least one item of tangible personal property subject to state sales or use tax.

Please see their full announcement here: https://tax.colorado.gov/retail-delivery-fee

For more information please see the following documentation Colorado Retail Delivery Fee

UltraCart Managed

UltraCart Managed is a simple, no-cost solution suitable for basic U.S. sales tax collection.

info

Important Notice regarding Sales Tax Calculation

UltraCart Managed Rates: The rates are provided by Avalara and are only accurate to the zip code level.

There can be addresses within those zip codes that may have a higher rate, but to get that higher rate you will have to use an API style integration like Avalara or TaxJar service which can calculate that.

The free UltraCart Managed rates are simply the import of the free tax tables from Avalara. We can't modify those rates or guarantee perfect accuracy.

info

United States Only

The "UltraCart" managed sales tax configuration pertains to the United States only.

For international support please contact one of the integrated Sales Tax processing services:

  • TaxJar (United States & Canada)

  • Avalera (Worldwide - Please contact Avalera directly for specific details)

As of 06/19/2019, the UC managed tax provider will populate the tax county automatically. This information can be backfilled upon request.

Required Steps

To use UltraCart Managed sales tax:

  1. Activate UltraCart Managed as your tax provider.

  2. Select all states where you wish to collect sales tax.

Activating UltraCart Managed

  1. Navigate to Home → Configuration (Checkout) → Sales Tax.

  2. Ensure that "UltraCart Managed" is selected as your tax provider.

salestax01.png

Selecting States to Collect Tax

  1. Click the Settings button for "UltraCart Managed."

  2. On the settings screen, select a state from the dropdown menu.

  3. Click the plus button to add it to the list of states where tax is collected.

  4. Repeat for all desired states.

  5. When finished, click the Save button.

salestax02.png

Editing State Level Options

You can modify state-specific sales tax options by clicking the pencil icon next to a configured state:

  1. Click the pencil icon next to the state you wish to edit.

  2. Select the desired options from the "State Level Options" dialog.

  3. Click the OK button to save your changes.

SalesTax-Edit-StateOptions.PNG

State Level Options

FieldDescription
FieldDescription
Quickbooks CodeSelf-managed tax states can have a custom QuickBooks Code for assigning a tax rate within QuickBooks. Other tax providers automatically send the state, county, and city names to QuickBooks, where tax jurisdictions are created automatically.
Use UltraCart Managed RatesIf enabled, UltraCart manages the tax rates, eliminating the need to manually configure rates for the State, County, City, and Postal Code levels. This option leverages the automated rate updates provided by UltraCart's managed service while allowing manual control over taxability options.
Tax ShippingIf active, shipping costs are added to the taxable subtotal.
Tax Gift WrapIf active, any gift wrap fees are added to the taxable subtotal.
Don't collect state taxIf active, state tax is not collected, even if other jurisdictions (county, city, postal code) within that state might still collect tax.
Don't collect county taxIf active, county tax is not collected, even if other jurisdictions (state, city, postal code) within that county might still collect tax.
Don't collect city taxIf active, city tax is not collected, even if other jurisdictions (state, county, postal code) within that city might still collect tax.
Don't collect postal code taxIf active, postal code tax is not collected, even if other jurisdictions (state, county, city) within that postal code might still collect tax.

After saving, the state will appear in the list of states configured for taxation.

Adding County Tax Rates

  1. Click the plus button to the right of the state to add county tax rates.

  2. The process is the same as configuring state tax rates.

salestax06.png

Click the plus button at the right of the state to add county tax rates. The process is the same as the state tax rates.

salestax07.png

Once the county is saved, click the plus sign next to the county to add city rates.

salestax08.png

Adding City Tax Rates

  1. Once the county is saved, click the plus button next to the county to add city rates.

  2. The "Add City" dialog contains the same fields as the state and county configuration.

  3. Repeat this process for as many states, counties, and cities as needed.

salestax09.png

Adding Postal Code Tax Rates

If you need to add postal code tax rates to a city, click the plus button to the right of the city and follow the same process as the other jurisdictions.

salestax10.png

Configure Other Countries for Tax Collection

Other countries are configured on the right side of the Self Managed settings screen. The process for configuring tax rates for other countries is similar to configuring U.S. states, but it begins at the country level. You will add the country first, then any sub-jurisdictions as needed.

salestax11.png


Third-Party Sales Tax Provider Configuration

Each third-party tax provider has its own dedicated setup guide, linked below, so this page stays focused on the overall Sales Tax options rather than duplicating each provider's instructions:

  • Configuring Avalara — Account ID/License Key setup, item and shipping tax codes, and connection testing.

  • Configuring TaxJar — API token setup, tax codes, connection testing, and exporting historical orders.

  • Configuring Sovos — Credential setup, test mode, and going live.

  • Configuring Anrok — API key, Default/Shipping Product ID mapping, and testing.


Tax Exempt Customers

For tax exempt customers you will need to utilize UltraCart's customer profiles functionality. Customer profiles can be marked as tax exempt. Typically merchants will allow tax exempt customer profiles to signup as wholesale customers and upload their tax exemption certificate (link available under Operations → Customer Profiles → Settings). Please note that if you're utilizing TaxJar and Avalara you will also need to perform additional setup to link the UltraCart customer profile to the tax exempt profile within their tax management system.

Troubleshooting

info

Troubleshooting Tool

If you need to verify or troubleshoot a tax calculation for an order, please first compare the rate using this simple sales tax look up tool:

https://www.taxjar.com/sales-tax-calculator/

If you see a discrepancy between the recorded sales tax in an order compared to the tax displayed in the look up tool, then you can further troubleshoot the issue by reviewing the logs for either Avalara or TaxJar.

Logs

Avalara and TaxJar record important communications for review. Shopping cart tax calculations are not stored to logs, but any operation against an order is logged. This means the final tax calculation is stored, as well as any transaction notifications (order placed and order refunded).

Within the Avalara and TaxJar settings screens are log buttons. Clicking either button will display a log history.

salestax21.png

The log files will contain the request and response make to the tax service.

Here is an example. If the logs fail to assist you in solving any problems, notify UltraCart support and involve them.

estimateTax for order [START]
===== estimate tax request start =====
{
"lines": [
{
"number": "1",
"quantity": 3,
"amount": 58.5,
"itemCode": "Bone",
"description": "TJ's DOGGIE BONES (6 lbs.)\nCode: 4W5S41JXG4\nCode: B2BJZVM1PF\nCode: JMK9XQRRRZ"
}
],
"type": "SalesOrder",
"companyCode": "",
"date": "Nov 8, 2018 1:57:19 PM",
"customerCode": "GuestCustomer",
"purchaseOrderNo": "",
"addresses": {
"singleLocation": {
"line1": "30 Pryor Street",
"line2": "",
"city": "Atlanta",
"region": "GA",
"country": "US",
"postalCode": "30303"
}
},
"description": "DEMO-0009104135",
"email": "joe@somewhere.com"
}
===== estimate tax request end =====
===== estimate tax response start =====
{
"id": 0,
"code": "dfaf643b-d866-407b-a1a4-3f3499e7fd1d",
"companyId": 0,
"date": "Nov 8, 2018 12:00:00 AM",
"paymentDate": "Nov 8, 2018 12:00:00 AM",
"status": "Temporary",
"type": "SalesOrder",
"customerVendorCode": "GuestCustomer",
"reconciled": false,
"purchaseOrderNo": "",
"totalAmount": 58.5,
"totalExempt": 0.0,
"totalDiscount": 0.0,
"totalTax": 5.21,
"totalTaxable": 58.5,
"totalTaxCalculated": 5.21,
"adjustmentReason": "NotAdjusted",
"locked": false,
"version": 1,
"exchangeRateEffectiveDate": "Nov 8, 2018 12:00:00 AM",
"exchangeRate": 1.0,
"description": "DEMO-0009104135",
"email": "joe@somewhere.com",
"modifiedDate": "Nov 8, 2018 6:57:17 PM",
"modifiedUserId": 1152574,
"taxDate": "Nov 8, 2018 12:00:00 AM",
"lines": [
{
"id": 0,
"transactionId": 0,
"lineNumber": "1",
"description": "TJ's DOGGIE BONES (6 lbs.)\nCode: 4W5S41JXG4\nCode: B2BJZVM1PF\nCode: JMK9XQRRRZ",
"discountAmount": 0.0,
"exemptAmount": 0.0,
"exemptCertId": 0,
"isItemTaxable": true,
"itemCode": "Bone",
"lineAmount": 58.5,
"quantity": 3.0,
"reportingDate": "Nov 8, 2018 12:00:00 AM",
"tax": 5.21,
"taxableAmount": 58.5,
"taxCalculated": 5.21,
"taxCode": "PP051195",
"taxCodeId": 38011,
"taxDate": "Nov 8, 2018 12:00:00 AM",
"taxIncluded": false,
"details": [
{
"id": 0,
"transactionLineId": 0,
"transactionId": 0,
"country": "US",
"region": "GA",
"exemptAmount": 0.0,
"jurisCode": "13",
"jurisName": "GEORGIA",
"stateAssignedNo": "",
"jurisType": "STA",
"nonTaxableAmount": 0.0,
"rate": 0.040000,
"tax": 2.34,
"taxableAmount": 58.5,
"taxType": "Sales",
"taxName": "GA STATE TAX",
"taxAuthorityTypeId": 45,
"taxCalculated": 2.34,
"rateType": "General",
"rateTypeCode": "G"
},
{
"id": 0,
"transactionLineId": 0,
"transactionId": 0,
"country": "US",
"region": "GA",
"exemptAmount": 0.0,
"jurisCode": "121",
"jurisName": "FULTON",
"stateAssignedNo": "060A",
"jurisType": "CTY",
"nonTaxableAmount": 0.0,
"rate": 0.030000,
"tax": 1.76,
"taxableAmount": 58.5,
"taxType": "Sales",
"taxName": "GA COUNTY TAX",
"taxAuthorityTypeId": 45,
"taxCalculated": 1.76,
"rateType": "General",
"rateTypeCode": "G"
},
{
"id": 0,
"transactionLineId": 0,
"transactionId": 0,
"country": "US",
"region": "GA",
"exemptAmount": 0.0,
"jurisCode": "04000",
"jurisName": "ATLANTA",
"stateAssignedNo": "060A",
"jurisType": "CIT",
"nonTaxableAmount": 0.0,
"rate": 0.015000,
"tax": 0.88,
"taxableAmount": 58.5,
"taxType": "Sales",
"taxName": "GA CITY TAX",
"taxAuthorityTypeId": 45,
"taxCalculated": 0.88,
"rateType": "General",
"rateTypeCode": "G"
},
{
"id": 0,
"transactionLineId": 0,
"transactionId": 0,
"country": "US",
"region": "GA",
"exemptAmount": 0.0,
"jurisCode": "ENVK0",
"jurisName": "ATLANTA TSPLOST TL",
"stateAssignedNo": "060A",
"jurisType": "STJ",
"nonTaxableAmount": 0.0,
"rate": 0.004000,
"tax": 0.23,
"taxableAmount": 58.5,
"taxType": "Sales",
"taxName": "GA SPECIAL TAX",
"taxAuthorityTypeId": 45,
"taxCalculated": 0.23,
"rateType": "General",
"rateTypeCode": "G"
}
]
}
],
"addresses": [
{
"id": 0,
"transactionId": 0,
"boundaryLevel": "Address",
"line1": "30 Pryor Street",
"line2": "",
"line3": "",
"city": "Atlanta",
"region": "GA",
"postalCode": "30303",
"country": "US",
"taxRegionId": 2131921,
"latitude": "33.753427",
"longitude": "-84.389125"
}
],
"summary": [
{
"country": "US",
"region": "GA",
"jurisType": "State",
"jurisCode": "13",
"jurisName": "GEORGIA",
"taxAuthorityType": 45,
"stateAssignedNo": "",
"taxType": "Sales",
"taxName": "GA STATE TAX",
"rateType": "General",
"taxable": 58.5,
"rate": 0.040000,
"tax": 2.34,
"taxCalculated": 2.34,
"nonTaxable": 0.0,
"exemption": 0.0
},
{
"country": "US",
"region": "GA",
"jurisType": "County",
"jurisCode": "121",
"jurisName": "FULTON",
"taxAuthorityType": 45,
"stateAssignedNo": "060A",
"taxType": "Sales",
"taxName": "GA COUNTY TAX",
"rateType": "General",
"taxable": 58.5,
"rate": 0.030000,
"tax": 1.76,
"taxCalculated": 1.76,
"nonTaxable": 0.0,
"exemption": 0.0
},
{
"country": "US",
"region": "GA",
"jurisType": "City",
"jurisCode": "04000",
"jurisName": "ATLANTA",
"taxAuthorityType": 45,
"stateAssignedNo": "060A",
"taxType": "Sales",
"taxName": "GA CITY TAX",
"rateType": "General",
"taxable": 58.5,
"rate": 0.015000,
"tax": 0.88,
"taxCalculated": 0.88,
"nonTaxable": 0.0,
"exemption": 0.0
},
{
"country": "US",
"region": "GA",
"jurisType": "Special",
"jurisCode": "ENVK0",
"jurisName": "ATLANTA TSPLOST TL",
"taxAuthorityType": 45,
"stateAssignedNo": "060A",
"taxType": "Sales",
"taxName": "GA SPECIAL TAX",
"rateType": "General",
"taxable": 58.5,
"rate": 0.004000,
"tax": 0.23,
"taxCalculated": 0.23,
"nonTaxable": 0.0,
"exemption": 0.0
}
]
}
===== estimate tax response end =====
estimateTax for order [END]

Reporting

The "Custom Period Sales" report contains sections pertaining to the Sales Tax collected for the orders during the reporting period.

To run the Custom Period Sales Report, navigate:
MAIN MENU → OPERATIONS → REPORTING → (REPORTS SECTION) CUSTOM PERIOD SALES

  • Sales Tax by State - (This section shows the sales taxes collected for the state level sales tax jurisdictions.)

  • Sales Tax by State / County - (This section shows the sales taxes collected for the State & County level jurisdictions.)

  • Sales Tax by State / County / City - (This section shows the sales taxes collected for the State ,County & City level jurisdictions.)

Frequently Asked Questions

Q: What is the best option for collecting V.A.T. for orders shipped to the E.U.?
A: The best Sales tax integration option for merchants that will be processing orders where V.A.T. (Value Added Tax) are collected, is the TaxJar integration.

Q: What is a sales tax nexus and how do I identify new ones?
A: A sales tax nexus is a connection or presence that a business has in a state or jurisdiction that obligates it to collect and remit sales tax there. Nexus can be created by factors such as physical location, employees, inventory storage, or reaching a sales revenue threshold within the state. Identifying new nexus obligations can be complex as your business grows and operates across multiple jurisdictions. Solutions like Avalara, TaxJar, Sovos, and Anrok provide automated nexus monitoring and can alert you when new nexus thresholds are reached, helping ensure you remain compliant as your sales footprint expands.

Q: Where can I review a summary regarding the recent changes to the laws and regulations pertaining to Sales Tax collection for online merchants?
A: A great place to start is here: https://www.avalara.com/us/en/learn/sales-tax/south-dakota-wayfair.html
(*Please make sure to consult your CPA/Tax Professional to ensure that your business is in compliance with all tax jurisdictions, as this is outside the scope of the UltraCart service.)

Q: How can I determine the number of sales and revenue per state for a particular time period?
A: The custom period sales report (located under Operations > Reporting) has a section for Sales by US State which will provide those details.

Q: How is Sales Tax calculated if the item being sold is not shippable?
A: The sales tax calculation will use the customer billing address to calculate sales tax, if tax is being collected.

Q: How can I investigate the sales tax calculation in an order?
A: Please review the troubleshooting section earlier in this document. You can use the tax rate calculation tool to compare the recorded sales tax in an order. If a discrepancy is observed, then you can further troubleshoot the calculation by viewing the logs to see the underlying calculation details.

Was this page helpful?