Mobile POS and Web Service Tax Fields

The NA localization adds North America-specific fields to the LSC Mobile Transaction record. These fields carry tax information when a POS transaction is created or sent through web services, for example from a mobile POS app, an e-commerce integration, or the LS Central web POS light service.

Why These Fields Exist

The standard LS Central mobile transaction format does not include fields for US/Canada sales tax. The NA localization extends the mobile transaction with ship-to address details and tax settings so that:

  • Tax can be calculated based on the delivery or ship-to address, not just the store address.
  • Tax exemptions can be communicated from external systems (for example, e-commerce) into LS Central.
  • Customer order creation through web services applies the correct tax automatically.

NA Fields on the Mobile Transaction

Field Type Description
LSCNA ShipToAddressID Code[20] ID of the ship-to address record
LSCNA ShipToAddress Text[50] Street address line 1 of the ship-to location
LSCNA ShipToAddress2 Text[50] Street address line 2
LSCNA ShipToCity Text[30] City of the ship-to location
LSCNA ShipToPostCode Code[20] ZIP/postal code of the ship-to location
LSCNA ShipToCounty Text[30] State or province of the ship-to location
LSCNA TaxAreaCode Code[20] Tax area code to apply to this transaction
LSCNA TaxLiable Boolean Whether the transaction is subject to tax
LSCNA TaxExemptionNo Text[30] Tax exemption certificate number (for exempt customers)
LSCNA OriginAddressID Code[20] ID of the originating address (store or warehouse)

How Tax Is Applied in Web Service Scenarios

Customer Order via Web Service (CustomerOrderCreateV6)

When an external system (for example, e-commerce or mobile app) creates a customer order through the LSCCustomerOrderCreateV6 XML port, the NA localization intercepts two events:

  1. After inserting the order header: calls SetTaxOnCustomerOrder() to assign the tax area code and tax liability to the order header.
  2. After inserting each order line: calls:
    • HandleClickAndCollect(): handles tax for click-and-collect fulfillment scenarios.
    • SetTaxGroupCodeOnCustomerOrderLine(): assigns the correct tax group code to the line.
    • CalculateReverseTax(): back-calculates the tax amount if the incoming price was already tax-inclusive.

Web POS Light Transactions

When a transaction is received through the LSC Web Service POS Light service (used by mobile POS and lightweight POS clients), the NA localization:

  1. Sets tax data on the transaction header (SetTaxData): reads the ship-to address fields (PostCode, County, Country) from the mobile transaction and looks up the matching Tax Area Code. Applies Tax Liable from the matched area.
  2. Initializes tax on each transaction line (InitPosTransLine): copies the LSCNA Tax Group Code from the item to the POS transaction line.

This happens automatically before the transaction is processed; no manual intervention is needed.

Tax Resolution Logic

The tax area for a transaction is resolved in this order:

  1. If LSCNA TaxAreaCode is populated on the mobile transaction, that value is used directly.
  2. If the mobile transaction has a ship-to address (PostCode + County + Country), the system looks up a matching Tax Area.
  3. If neither is present, the store's default Tax Area Code is used.

This means mobile/web transactions for delivery are taxed at the delivery address, while in-store pickup transactions use the store's tax area.

Sending Tax Fields from External Systems

If you are building an integration that creates customer orders or sends POS transactions via web services, populate the following fields in the CustomerOrderCreateV6 payload to ensure correct NA tax handling:

<TaxAreaCode>GA-ATLANTA</TaxAreaCode>
<TaxLiable>true</TaxLiable>
<TaxExemptionNo></TaxExemptionNo>
<ShipToPostCode>30301</ShipToPostCode>
<ShipToCounty>GA</ShipToCounty>

If you leave these fields blank, the NA localization falls back to the store's tax configuration.

Related Topics