---
schema_version: "1"
id: 91d803f6a1300aa5c47db03f3d1b8754722c8f062b088c817e1c0e8fab126fe7
title: Integrate Tax Engines
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/commerce/264-0-0/rt_adv_config_3p_int_tax_overview.md
canonical_url: https://help.salesforce.com/s/articleView?id=commerce.rt_adv_config_3p_int_tax_overview.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 975f9c6edaefbabb635709b856dc466f2a7a3e244f1b9ae547c8c304ad847195
description: To calculate taxes, apply exemptions, and support tax overrides during checkout, configure a tax engine in the Point of Sale CMS.
products:
  - Commerce
release: "264"
---
# Integrate Tax Engines

To calculate taxes, apply exemptions, and support tax overrides during checkout, configure a tax engine in the Point of Sale CMS.

![Important](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-commerce-retail-264-0-0-production-enus/17d647fb-8988-49fb-9add-c4f4cc79c9e4/images/icon_important.png)

Important

As of 2025, Salesforce discontinued the Native Tax Engine. Originally designed as a backup tax solution and not a primary tax engine, the Native Tax Engine no longer receives technical updates or maintenance for new or existing customers. If you're still using the Native Tax Engine, migrate to an alternative solution immediately to avoid interruption to business operations.

- Pre-built integrations: Point of Sale includes native connectors that support [Avalara](https://help.salesforce.com/s/articleView?id=commerce.rt_adv_config_3p_int_tax_avalara.htm&release=264.0.0&type=5 "Automate tax calculations and tax filing by using Avalara in Point of Sale."), [OneSource (Sabrix)](https://help.salesforce.com/s/articleView?id=commerce.rt_adv_config_3p_int_tax_onesource.htm&release=264.0.0&type=5 "Facilitate tax calculations during sale transactions with OneSource (Sabrox) tax engine. Ensure that the OneSource engine handles all necessary tax computations. The process operates as follows: a real-time request is sent to OneSource with the cart details, and the corresponding VAT information is retrieved. For transactions occurring in offline mode, the necessary data is stored to enable offline processing."), and [Vertex](https://help.salesforce.com/s/articleView?id=commerce.rt_adv_config_3p_int_tax_vertex.htm&release=264.0.0&type=5 "Integrate Point of Sale with the Vertex tax engine to facilitate tax calculations during sale transactions. Confirm that the Vertex engine handles all necessary tax computations.").
- Custom solutions: For any other third-party tax provider, a [service provider interface (SPI)](https://help.salesforce.com/s/articleView?id=commerce.rt_adv_config_3p_int_tax_spi.htm&language=en_US) is available to facilitate your integration.

1. In the Point of Sale CMS, go to **Integrations** | **Tax Engine Configuration**.
2. Create or edit a configuration.
3. Complete the fields by referring to the table.
    
    <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
            <colgroup>
              <col>
              <col>
            </colgroup>
            <thead class="slds-text-title_caps ">
              <tr class="">
                <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d9506e109">Field</th>
                <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d9506e112">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e109 ">Settings</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e112 "> </td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e109 ">Tax Engine</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e112 ">Tax engine type for calculations. Example: Point of Sale Basic - Flat 8.5%
                  tax</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e109 ">Environment</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e112 ">Account environment for tax calculations. Example: Testing, Staging</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e109 ">Base URL</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e112 ">
                  <p>API endpoint for external tax engines. Examples:
                  </p>
                  <ul>
                    <li>Avalara: https://sandbox-rest.avatax.com/api/v2/</li>

                    <li>OneSource WSDL: https://kpmg-uat.hostedtax.thomsonreuters.com/sa-brix/services/taxcalculationservice/2011-09-01/taxcalculationservice
                    </li>

                  </ul>
                </td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e109 ">Currency</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e112 ">Currency code for tax calculations. Example: US dollar (USD)</td>

              </tr>
              <tr class="">
                <td class="slds-cell-wrap" colspan="2" style="vertical-align:top;" headers="d9506e109 d9506e112 ">Shipping Tax Configuration</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e109 ">Shipping Class Configuration</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e112 ">
                  <p>Tax class type for shipping methods. Select from three options:</p>
                  <ul>
                    <li>Default — Apply a single tax class to all shipping methods</li>

                    <li>Custom — Configure a unique tax class for each shipping method</li>

                    <li>None — Exclude shipping from tax calculations. </li>

                  </ul>
                  <div class="slds-box slds-box_x-small slds-theme_shade slds-m-top_medium slds-m-bottom_medium">
                    <div class="slds-media slds-media_responsive">
                      <div class="slds-media__figure"><span class="slds-icon_container slds-icon_container_circle slds-icon-note-note"><img style="margin-bottom:0;" src="https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-commerce-retail-264-0-0-production-enus/17d647fb-8988-49fb-9add-c4f4cc79c9e4/images/icon_note.png" alt="Note"></span></div>
                      <div class="slds-media__body" style="padding-top:.5rem;padding-bottom:.5rem;"><span class="slds-text-title_caps">Note</span> For Avalara integration, the system assigns the default Avalara shipping tax class (FR020100) to shipping methods before sending them to Avalara, regardless of your selection.</div>
                    </div>
                  </div>
                </td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e109 ">Default Shipping Tax Class</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e112 ">Tax class for shipping costs. Example: FR020100</td>

              </tr>
              <tr class="">
                <td class="slds-cell-wrap" colspan="2" style="vertical-align:top;" headers="d9506e109 d9506e112 ">Merchants</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e109 ">Merchant Gateway ID</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e112 ">Account identifier for external tax engines.</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e109 ">Merchant Key</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e112 ">Authentication credential for external tax engines.</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e109 ">Merchant Reference Code</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e112 ">Company identifier for external tax engines. Acts as the global fallback for stores
                  without a value in Store Tax Field Name. This field is case-sensitive.</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e109 ">Store Tax Field Name</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d9506e112 ">Store record field that contains the reference code for tax calculations. Assign
                  store-specific tax profiles by region or brand. Stores without a value fallback to the
                  global Merchant Reference Code.</td>

              </tr>
            </tbody>
          </table>

![Tip](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-commerce-retail-264-0-0-production-enus/17d647fb-8988-49fb-9add-c4f4cc79c9e4/images/icon_tip.png)

Tip For more information about setting up each tax engine, see [Tax Engine Setup articles](https://help.salesforce.com/s/articleView?id=commerce.rt_adv_config_3p_int_tax.htm&release=264.0.0&type=5 "Integrate Point of Sale with third-party tax solutions such as Vertex, OneSource (Sabrix), Native Tax Engine, and Avalara. Tax integrations help ensure accurate tax calculations and compliance within your retail operations. By connecting Point of Sale with a tax service, you can automate tax determination, calculation, and reporting. This automation reduces errors, saves time, and helps businesses stay compliant with changing tax regulations."). The Setup Tax Engine section in each article lists all the necessary details.

## Tax Functionality

The POS app uses a tax engine to provide this tax functionality. This section also lists tax engine details for each function, including when the system calls and how many times the system can call.

- Calculate taxes and fees: POS makes multiple calls to the tax engine during checkout for these cart operations. For more information about fees, see [Special Fees](https://help.salesforce.com/s/articleView?id=commerce.rt_pos_orders_custom_special_fees.htm&release=264.0.0&type=5 "The POS app can support special fees that are levied only in certain stores based on the location of the store. These fees can include public improvement or franchise fees,"):
    - Add items to the cart.
    - Remove items from the cart.
    - Modify the quantity of an item from the cart.
    - Apply or change the shipping method.
    - Apply or change the shipping address.
    - Apply or remove any promotional coupons or manual price overrides. For example, item-level price overrides or cart-level transaction discounts.
- Calculate taxes based on tiered tax rates: Similar to the calculate taxes and fees functionality. The difference is how you configure tax rates in the underlying tax engine, as the tax rates have multiple tiers. For more information, see [Tiered Taxes](https://help.salesforce.com/s/articleView?id=commerce.rt_pos_checkout_tax_tiers.htm&release=264.0.0&type=5 "POS App can support tiered taxes for different class of products both in online and offline mode").
- Provide tax exemption: A single tax exemption calls for a selected tax exemption code. For more information, see [Tax Exemption](https://help.salesforce.com/s/articleView?id=commerce.rt_pos_checkout_tax_exemption.htm&release=264.0.0&type=5 "Merchants can apply tax breaks to customer carts during checkout when valid proof is provided. This ensures customers receive the appropriate tax exemptions, while merchants can efficiently manage exemptions through the CMS, even in offline mode.").
- Apply tax override: A single tax override calls the tax engine for a store. Multiple tax overrides call the tax engine for individual items from a cart.
- Calculate taxes and fees in offline mode: No tax engine call. The system calculates taxes using rates from the last online login.
- Calculate taxes based on tiered tax rates in offline mode: Same as the Calculate taxes and fees in offline mode functionality.
- Provide tax exemption in offline mode: No tax engine call. The system applies a tax exemption using codes from the last online login.
- Apply item-level tax override in offline mode: No tax engine call. The tax override applied to the selected item.
- Calculate taxes and fees for returns: No tax engine call. The system uses the saved taxes from the original sale transaction instead of recalculating them during the return process.

For more information about how taxes, tax exemptions, and tax overrides appear in POS after the underlying tax engine call, see [POS App Taxes Overview](https://help.salesforce.com/s/articleView?id=commerce.rt_pos_checkout_tax_configure.htm&release=264.0.0&type=5 "Store managers can show and override taxes as needed, ensuring compliance with recent tax changes and special promotions. Customers can efficiently manage tax rates and exemptions with manager approval for overrides, and customize tax visibility and breakdowns in the Retail Cloud POS app.").

## Tax Engines

POS supports these tax engines:

- PredictSpring Tax Engine: See [Native Tax Engine Integration](https://help.salesforce.com/s/articleView?id=commerce.rt_adv_config_3p_int_tax_native.htm&release=264.0.0&type=5 "Onboard a merchant for integrating with Point of Sale's inbuilt tax engine - the native tax engine. By default, POS supports the native tax engine.") (not supported for new customers as of 2024; use one of the other supported tax engines)
- AvaTax by Avalara: See [Avalara Tax Integration](https://help.salesforce.com/s/articleView?id=commerce.rt_adv_config_3p_int_tax_avalara.htm&release=264.0.0&type=5 "Automate tax calculations and tax filing by using Avalara in Point of Sale.")
- Onesource (Sabrix) by KPMG: See [Onesource (Sabrix) Tax Integration](https://help.salesforce.com/s/articleView?id=commerce.rt_adv_config_3p_int_tax_onesource.htm&release=264.0.0&type=5 "Facilitate tax calculations during sale transactions with OneSource (Sabrox) tax engine. Ensure that the OneSource engine handles all necessary tax computations. The process operates as follows: a real-time request is sent to OneSource with the cart details, and the corresponding VAT information is retrieved. For transactions occurring in offline mode, the necessary data is stored to enable offline processing.")
- SPI: See [SPI Tax Integration](https://help.salesforce.com/s/articleView?id=commerce.rt_adv_config_3p_int_tax_spi.htm&language=en_US)

## Tax Engines Feature Matrix

The table shows the Point of Sale service matrix for tax-related features across all supported tax engines.

    
| Tax Feature | Native Tax Engine | AvaTax | OneSource | SPI |
| --- | --- | --- | --- | --- |
| ONLINE |  |  |  |  |
| Sales Tax - InStore | Supported | Supported | Supported | Supported |
| Sales Tax - Endless Aisle | Supported | Supported | Supported | Supported |
| Sales Tax - BISPIS | Supported | Supported | Supported | Supported |
| Sales Tax - Confirmation | Supported | Supported | Not supported | Supported |
| Fee | Supported | Supported | Supported | Supported |
| Tax Override | Supported | Not applicable | Not applicable | Not applicable |
| Tax-Exempt - Load exempt categories | Supported | Supported | Supported | Supported |
| Tax-Exempt - Post exemption details | Supported | Supported | Supported | Supported |
| Tiered Taxation | Supported | Supported | Supported | Supported |
| OFFLINE |  |  |  |  |
| Sales Tax - InStore | Supported | Supported | Supported | Supported |
| Sales Tax - BISPIS | Supported | Supported | Supported | Supported |
| Fee | Supported | Not supported | Supported | Not supported |
| Tax Override | Supported | Not applicable | Not applicable | Not applicable |
| Tax-Exempt - Load exempt categories | Supported | Not applicable | Supported | Not applicable |
| Tax-Exempt - Post exemption details | Supported | Not applicable | Supported | Not applicable |
| Tiered Taxation | Supported | Supported | Not applicable | Supported |

For the native tax engine, Point of Sale uses standard tax classes based on the destination address. You can skip shipping tax configuration. External tax engines, for example, Avalara, have multiple tax classes for shipments, and one is always the default.

![A settings screen displays options for shipping class configuration.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-commerce-retail-264-0-0-production-enus/17d647fb-8988-49fb-9add-c4f4cc79c9e4/retail/images/rt_adv_config_3p_int_tax_overview_shipping_tax.png)

For example, Avalara's Tax Class FR020100 is the default for shipping products. To use a different tax class, select **Custom** and provide the new tax class.

![Tip](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-commerce-retail-264-0-0-production-enus/17d647fb-8988-49fb-9add-c4f4cc79c9e4/images/icon_tip.png)

Tip For a list of tax classes supported by Avalara for shipment, see [Avalara Freight](https://taxcode.avatax.avalara.com/search?category=Freight).

## Product Field Mapping

Point of Sale Product Feed has 13 custom attributes. These attributes are named CustomString0, CustomString1,..., CustomString10, CustomString12.

Point of Sale receives the tax class through the feed file by using any of these custom attributes.

Configure the selected custom attribute in CMS at **Store Management** | **Store Setting** | **MODULES** | **Checkout** | **tax.field**).

Enter the attribute name in camelCase. For example, if you selected CustomString12, enter customString12. This configuration tells Point of Sale which custom attribute to use for the tax class.

After configuring the custom attribute, use the same attribute in product feed mapping. Product field mapping specifies the mapping between feed file attributes and Point of Sale system product attributes. Configure the mapping in CMS (**Feeds** | **Field Mapping** | **Products**. Configure the field mapping for tax class for one of these scenarios:

1. Product-specific tax rates: If the tax rates are product-specific, each product from the feed file has its corresponding tax class. Example: The product feed file has a taxClass column that maps to CustomString12, the selected custom attribute for tax. ![A matrix maps different source fields to target fields.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-commerce-retail-264-0-0-production-enus/17d647fb-8988-49fb-9add-c4f4cc79c9e4/retail/images/rt_adv_config_3p_int_tax_overview_product_specific_tax_rates.png)
2. Uniform tax rate across all products: All products have the same tax rate, so don’t provide a tax class in the product feed. Point of Sale derives it automatically through field transformation and field mapping. Map the SKU or Product ID field to the tax class's custom attribute—in this case, CustomString12. ![A chart shows source fields mapped to target fields.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-commerce-retail-264-0-0-production-enus/17d647fb-8988-49fb-9add-c4f4cc79c9e4/retail/images/rt_adv_config_3p_int_tax_overview_product_uniform_tax_rates.png)
    
    Use [Field Transformation](https://help.salesforce.com/s/articleView?id=commerce.rt_adv_config_data_feeds_manage_overview.htm&release=264.0.0&type=5 "The raw columns or attributes inside the feed file are transformed and mapped onto fields that the Point of Sale backend understands."), available on the connecting line between SKU and CustomString12, to specify the tax class. In this example, GENERIC is the tax class, which also appears in the tax feed file with its tax rate.
    
    ![A form outlines field transformation settings.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-commerce-retail-264-0-0-production-enus/17d647fb-8988-49fb-9add-c4f4cc79c9e4/retail/images/rt_adv_config_3p_int_tax_overview_product_uniform_tax_rates_field_trans.png)
    
    This configuration automatically maps all products to tax class GENERIC, without requiring a tax class column in the product feed.

## Troubleshooting

- Make sure that the Merchant Reference Code matches the Company Code in Avalara's portal, including capitalization. An exact match prevents upload and download errors.

## Known Issues and Restrictions

- Point of Sale doesn't support multiple tax engines within the same country. You can configure different tax engines for different countries. For example, merchants can use Avalara for tax management in the US and Point of Sale for the UK.

## Frequently Asked Questions

**If I don't have a tax platform but my minimum viable product (MVP) operates on a cash-and-carry basis, what do I do?**

Use this approach if you can export tax tables in the required format and are willing to waive liability for tax rate discrepancies. Contact Salesforce Customer Support for more information.