Sales Tax
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:
UltraCart Managed
Self Managed
Avalara Integration
TaxJar Integration
Sovos 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, or Sovos.
Method | Pros | Cons |
---|---|---|
UltraCart Managed |
|
Warning: UltraCart Managed Rates are ZIP-code-level only and do not support:
For businesses needing more precise tax handling or support for multiple tax classifications, we recommend using Avalara, TaxJar, or Sovos. |
Self Managed |
|
|
| ||
| ||
|
|
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.
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.
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:
Activate UltraCart Managed as your tax provider.
Select all states where you wish to collect sales tax.
Activating UltraCart Managed
Navigate to Home → Configuration (Checkout) → Sales Tax.
Ensure that "UltraCart Managed" is selected as your tax provider.
Selecting States to Collect Tax
Click the Settings button for "UltraCart Managed."
On the settings screen, select a state from the dropdown menu.
Click the plus button to add it to the list of states where tax is collected.
Repeat for all desired states.
When finished, click the Save button.
Editing State Level Options
You can modify state-specific sales tax options by clicking the pencil icon next to a configured state:
Click the pencil icon next to the state you wish to edit.
Select the desired options from the "State Level Options" dialog.
Click the OK button to save your changes.
State Level Options
Field | Description |
---|---|
Tax Shipping | When enabled, sales tax is applied to the shipping cost for the selected method. |
Tax Gift Charge | When enabled, sales tax is applied to any configured gift charge. |
Tax Gift Wrap | When enabled, sales tax is applied to any configured gift wrapping fees. |
Self Managed
The "Self Managed" sales tax collection method provides merchants with granular control over sales tax rates for both domestic and international sales. This option requires manual configuration of all tax rates.
Required Steps
To use Self Managed sales tax:
Activate Self Managed as your tax provider.
Configure U.S. states for tax collection.
Optionally, add counties to each state.
Optionally, add cities to each county.
Optionally, add postal codes to each city.
Configure other countries for tax collection.
Activating Self Managed
Navigate to Home → Configuration (Checkout) → Sales Tax.
Select "Self Managed" as your tax provider.
Configure U.S. States for Tax Collection
Within the settings for "Self Managed," select a U.S. state from the dropdown menu.
Click the plus button. This will add the state to your list of taxable states.
To add all 50 states, continue clicking the plus button. The dropdown list will automatically populate with the next unconfigured state in alphabetical order.
Configuring all states
To add all 50 states, simply continue to click the plus button, as the drop-down list will automatically populate with the next unconfigured state, in alphabetical order.
Self Managed Options
For self-managed states, you must either manually supply the tax rate for the state and local jurisdictions, or you can select the "Use UltraCart Managed Rates" option.
The dialog window displays the following settings:
Field | Description |
---|---|
Quickbooks Code | Self-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 Rates | If 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 Shipping | If active, shipping costs are added to the taxable subtotal. |
Tax Gift Wrap | If active, any gift wrap fees are added to the taxable subtotal. |
Don't collect state tax | If 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 tax | If 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 tax | If 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 tax | If 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
Click the plus button to the right of the state to add county tax rates.
The process is the same as configuring state tax rates.
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.
Once the county is saved, click the plus sign next to the county to add city rates.
Adding City Tax Rates
Once the county is saved, click the plus button next to the county to add city rates.
The "Add City" dialog contains the same fields as the state and county configuration.
Repeat this process for as many states, counties, and cities as needed.
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.
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.
TaxJar Configuration
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
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.
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\u0027s 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\u0027s 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, and Sovos 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.