GuideUS Sales TaxJune 30, 2026By Rachid, Senior Odoo Architect

US Sales Tax for Online Sellers:
Register, Collect, File

US sales tax compliance is a four-step loop that repeats in every state where you owe it: figure out where you have nexus, register, collect the right rate, and file on time. Miss a step and the gaps surface as back taxes. Here is the lifecycle, in order, for an online seller.

01

Determine where you have nexus

Everything starts with nexus: the states where your activity obligates you to collect. You have it where you have physical presence (inventory, employees, an office) and where your sales into the state cross its economic threshold, commonly 100,000 dollars or 200 transactions. This is evaluated per state, on sales into that state.

Build the list before anything else, because every later step is done per state on that list. Our nexus checker and the economic nexus guide cover this step in depth.

02

Register for a sales tax permit

In each nexus state, register for a sales tax permit with that state's department of revenue before you start collecting. Collecting tax without a permit is itself a violation in most states. Sellers facing many states at once often use the Streamlined Sales Tax[1] registration to handle multiple member states through one application.

Registration also sets your filing frequency (monthly, quarterly, or annually), which the state assigns based on your expected volume.

03

Account for marketplace facilitator laws

If you sell through Amazon, eBay, Etsy, or Walmart, marketplace facilitator laws generally require the marketplace, not you, to collect and remit sales tax on those sales.[2] That removes a large compliance burden, but it does not erase your nexus: your marketplace sales can still count toward a state's threshold, and any sales through your own website are still yours to handle.

The common mistake is assuming a marketplace covers everything. If you sell on both a marketplace and your own store, you typically still register and file for the direct channel.

04

Collect the correct rate

In your nexus states, charge tax at the destination address. The rate is the state base plus any county, city, and special-district taxes, which is why a single state rate is not enough for an accurate checkout. Product taxability adds another layer: clothing, food, and software are treated differently across states.

The US sales tax calculator shows the state portion, and the state vs local guide explains why the combined rate differs and when you need a rate engine.

05

File and remit on schedule

File a return in each state on its assigned schedule, reporting what you collected and remitting it. File even when you collected nothing in a period: most states require a zero return, and skipping it triggers penalties. Many states also expect the tax broken out by local jurisdiction, not just a single state total, which is where manual spreadsheets break down.

06

Running the whole loop in Odoo

Odoo, connected to a tax engine like Avalara, automates the parts that do not scale by hand: it applies the correct combined rate per address at checkout, tracks your sales toward each state's nexus threshold, and produces jurisdiction-level reports for filing. Octura configures the integration, maps product tax codes, and validates that what you collect reconciles with what you file.

Read: Odoo accounting workflows with Avalara →
07

References

  1. Streamlined Sales Tax Governing Board. Multistate registration for remote sellers across member states. streamlinedsalestax.org
  2. Avalara, marketplace facilitator laws by state. Which marketplaces collect on a seller's behalf, and where. avalara.com/.../marketplace-facilitator-laws
  3. Supreme Court of the United States, South Dakota v. Wayfair, Inc. (2018). The basis for economic nexus. supremecourt.gov/opinions/17pdf/17-494_j4el.pdf

Four steps, repeated cleanly

Determine nexus, register, collect, file. The loop is simple to describe and unforgiving to run by hand across many states. The sellers who stay compliant automate it, and that is the setup we build in Odoo.