Understanding Sales Tax Nexus

Sales tax nexus refers to the connection between a seller and a state that requires the seller to register, collect, and remit sales tax in that state. Historically, nexus was based primarily on physical presence. However, following the 2018 South Dakota v. Wayfair Supreme Court decision, states can now require remote sellers to collect and remit sales tax based on their economic activity, known as “economic nexus.”

Variability in State Nexus Rules

Each state sets its own rules for determining nexus, including:

  1. Thresholds: States establish different sales and/or transaction thresholds that trigger economic nexus. For example, one state may have a USD 100,000 sales threshold, while another sets a USD 500,000 threshold.

  2. Threshold Types: Some states consider only sales revenue, some consider only the number of transactions, and some consider both.

  3. Evaluation Periods: The period over which economic activity is measured varies. Common periods include the previous calendar year, the current or previous calendar year, or a rolling 12-month period.

Nexus Tracking

Commenda automatically tracks your progress towards state sales tax nexus thresholds based on the transactions you post to the /transactions endpoint.

You can use our nexus API endpoint to get a comprehensive overview of a company’s nexus status across all states, taking into account each state’s specific rules and thresholds.

API Response Structure

The Nexus API returns an array of state nexus objects. Each state nexus object contains details about your progress towards economic nexus in one state.

State Nexus Object Structure

{
  "EconomicExposure": {
    "state": "TX",
    "nexusRule": {
      "state": "TX",
      "salesThreshold": 500000,
      "transactionThreshold": null,
      "thresholdType": "SalesOnly",
      "evaluationPeriodType": "Preceding12Months"
    },
    "calculation": {
      "totalSales": 570,
      "totalTransactions": 3,
      "salesExposurePercentage": 0.11,
      "transactionExposurePercentage": null
    }
  },
  "registrationStatus": "RegistrationInProgress"
}