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
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.

  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.
    Field Description
    Settings
    Tax Engine Tax engine type for calculations. Example: Point of Sale Basic - Flat 8.5% tax
    Environment Account environment for tax calculations. Example: Testing, Staging
    Base URL

    API endpoint for external tax engines. Examples:

    • Avalara: https://sandbox-rest.avatax.com/api/v2/
    • OneSource WSDL: https://kpmg-uat.hostedtax.thomsonreuters.com/sa-brix/services/taxcalculationservice/2011-09-01/taxcalculationservice
    Currency Currency code for tax calculations. Example: US dollar (USD)
    Shipping Tax Configuration
    Shipping Class Configuration

    Tax class type for shipping methods. Select from three options:

    • Default — Apply a single tax class to all shipping methods
    • Custom — Configure a unique tax class for each shipping method
    • None — Exclude shipping from tax calculations.
    Note
    Note 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.
    Default Shipping Tax Class Tax class for shipping costs. Example: FR020100
    Merchants
    Merchant Gateway ID Account identifier for external tax engines.
    Merchant Key Authentication credential for external tax engines.
    Merchant Reference Code 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.
    Store Tax Field Name 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.
Tip
Tip For more information about setting up each tax engine, see Tax Engine Setup articles. 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:
    • 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.
  • Provide tax exemption: A single tax exemption calls for a selected tax exemption code. For more information, see Tax Exemption.
  • 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.

Tax Engines

POS supports these tax engines:

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.

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
Tip For a list of tax classes supported by Avalara for shipment, see Avalara 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.
  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.

    Use Field Transformation, 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.

    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.