Since South Dakota v. Wayfair (2018), a US state can require you to collect sales tax based on how much you sell into it — no shop, no warehouse, no salesperson on the ground required. Cross a state's economic-nexus threshold, usually $100,000 in sales, and the obligation switches on. The problem for an ERPNext operator: the system has no engine to work out the right jurisdiction rate, and no mechanism to tell you when you've crossed a threshold. This guide covers where the thresholds sit in 2026, when hand-configured rates are survivable, and when to delegate to a tax engine like TaxJar or AvaTax.
Different model from the e-invoicing regimes
Unlike a clearance-model e-invoice such as ZATCA Phase 2, no US authority validates your invoice in real time. The obligation is self-assessed: you have to know you crossed a threshold, register, and collect — nobody stamps the document for you. That is precisely why the tracking gap bites.
The dangerous thing about US sales tax is how quietly it goes wrong — you cross a threshold, keep invoicing without collecting, and the exposure compounds silently until a state notice arrives with back tax and penalties attached. I am Manoj, ERPNext and Frappe implementation lead at Mith Tech in Bengaluru, and getting the nexus tracking and rate determination right — usually by delegating them — is what keeps US sales tax from becoming a surprise liability.
Do your sales create nexus?
Economic nexus is a per-state test, and the thresholds are not uniform. Before anything in ERPNext, work out where you actually have an obligation.
Pick a state threshold profile and enter your annual sales and transaction count to see whether you've crossed the economic-nexus threshold.
Your activity crosses Most states's threshold. You have a sales-tax collection obligation in this state: register, collect at the right jurisdiction rate, and file. ERPNext will not tell you this — nexus tracking is on you or your tax engine.
Thresholds per the Sales Tax Institute chart as of 5 May 2026. Many states have dropped the 200-transaction prong; a few still keep it. This is an illustration across representative states, not every state — verify the exact rule for each state you sell into.
Most states settle on $100,000 in annual sales; a handful — California, Texas and New York — use $500,000, and New York also requires more than 100 transactions. The bigger 2026 trend is the retreat from transaction counts: many states have dropped the old "200 separate transactions" prong entirely, so a business with lots of small orders is less likely to trip nexus on volume alone. The numbers move, though, so treat the checker as an illustration across representative states, not a substitute for checking each state you sell into.
ERPNext will not tell you when you cross a threshold
This is the single most important thing to internalise. ERPNext can hold a tax rate, but it has no concept of a nexus threshold and will happily invoice a customer in a state where you've quietly become obligated to collect — without collecting. Nexus monitoring is a separate job that you or your tax engine must own; the ERP will not raise its hand.
Hand-configure, or delegate?
The right approach depends almost entirely on how many states you have nexus in — and whether a marketplace is already collecting for you.
Set your number of nexus states and whether you sell only through marketplaces to see whether manual configuration or a tax engine fits.
Across this many states, hand-maintained rates do not scale — the US has thousands of taxing jurisdictions and rules shift constantly. Delegate rate lookup and jurisdiction assignment to a tax engine: ERPNext ships a TaxJar integration, and AvaTax is reachable via the same delegation pattern through a custom app. Let the engine own rates, taxability and nexus tracking.
Guidance as of 2026-08-03. ERPNext has no native nexus engine; the shipped delegation is TaxJar (frappe/taxjar_integration). Confirm marketplace-facilitator registration duties per state.
ERPNext's native tax surface — Tax Categories, Item Tax Templates, Sales Taxes and Charges Templates and Tax Rules — can hold rates by hand for one or two states. It does not scale: the US has thousands of taxing jurisdictions, a state rate is not a jurisdiction rate, and rules change constantly. Past a couple of states, the maintenance overtakes the saving, and you delegate.
Sales tax is a liability you hold for the state
Sales tax collected from a customer is not your revenue — it is money owed to the state, sitting in a payable until you remit it. Under ASC 606, a seller may elect to exclude sales, use and similar taxes collected on behalf of governments from the transaction price, presenting them net rather than in revenue. Book collected tax to a liability account, apply the policy consistently, and reconcile collected-versus-remitted per state and period. Confirm the exact treatment with your US accountant.
Delegate rate determination in ERPNext
When you delegate, the tax engine — not ERPNext — owns rate lookup by exact jurisdiction, product taxability, and (for full services) nexus tracking and filing. ERPNext calls it at invoice time and writes the returned tax lines back.
Copy-paste the native tax surface and its limits, the delegation hook pattern, the nexus-tracking job ERPNext won't do for you, and the controls that keep an un-tracked threshold from becoming an assessment.
For one or two states you can hold rates in ERPNext by hand. Know the ceiling: it does not scale and it does not track nexus.
ERPNext native tax surface:
• Tax Category — group customers/scenarios
• Item Tax Template — per-item tax rates
• Sales Taxes and Charges Template — the applied rows
• Tax Rule — pick the template by
address / customer / item group
Hard limits to accept up front:
• ~11,000+ US taxing jurisdictions — you cannot hand-map
them; a state rate is not a jurisdiction rate.
• No nexus tracking — ERPNext will not warn you when
sales into a state cross its economic-nexus threshold.
• Rates and product taxability change constantly.
Use this ONLY for a tiny, stable footprint.Decide manual vs delegated by footprint
For a tiny, stable footprint — one or two states — hold the rates in ERPNext's Tax Rules. Past that, delegate. If every sale runs through a marketplace facilitator, the platform is collecting the tax in states with facilitator laws (all sales-tax states by 2026), though you may still owe registrations and returns.
Wire the delegation hook
On Sales Invoice validation or submit, collect the ship-from and ship-to addresses and the line items, call the tax engine's REST API, and write the returned amounts back as tax lines. ERPNext ships the TaxJar integration (frappe/taxjar_integration); AvaTax uses the same shape via a custom app against the AvaTax REST API. Verify the exact hook and fields against the integration you adopt.
Track nexus, not just rates
Rate determination is only half the job. Track trailing sales and transaction counts per state against that state's current threshold, and alert at around 80% so you register before you cross — late registration means uncollected back tax plus penalties. Remember physical presence still creates nexus: inventory sitting in a third-party fulfilment warehouse counts.
Reconcile and re-check annually
Reconcile what you collected against what you must remit, per state and filing period — the same reconcile-against-the-authority discipline as validating an e-invoice against the portal. Re-check thresholds each year; states keep changing dollar limits and dropping transaction prongs.
When sales, fulfilment and finance each move the needle
Nexus is created by the whole business, not one desk. Sales drives the volume that trips economic nexus; fulfilment can create physical nexus the moment inventory lands in a new state's warehouse; finance is the one holding the liability when a state notice arrives. Each acts without seeing the tax consequence of the others.
The control is to centralise nexus monitoring so it isn't anyone's afterthought. Feed per-state sales, transaction counts and inventory locations into one view measured against current thresholds, and alert before a line is crossed. Let the tax engine own rate determination so no human is hand-picking jurisdiction rates, and reconcile collected-versus-remitted every period. The goal is that crossing a threshold triggers a registration task, not a discovery two years later.
Draft policy for your finance and operations leads to ratify. Per-state sales, transaction counts and inventory locations are tracked continuously against each state's current economic-nexus threshold, with an alert at ~80% so registration happens before the threshold is crossed. Rate and jurisdiction determination is delegated to a tax engine, not hand-maintained beyond a minimal footprint. Collected sales tax is booked to a liability account and reconciled against remittances per state and period. Physical presence, including third-party warehouse inventory, is treated as nexus-creating. Thresholds and marketplace-facilitator duties are re-checked annually. Confirm current rules with a US sales-tax adviser before adoption.
Manual configuration vs a tax engine
FAQ
+What is economic nexus after South Dakota v. Wayfair?
Economic nexus means a state can require you to collect sales tax based on your sales volume or transaction count into that state, with no physical presence needed. The 2018 Wayfair decision overturned the earlier physical-presence rule, so remote sellers can now be obligated purely on economic activity — commonly $100,000 in annual sales.
+How do I calculate US sales tax in ERPNext?
For a very small footprint you can hold rates in ERPNext's Tax Categories, Item Tax Templates and Tax Rules by hand. For anything larger you delegate: a tax engine is called at invoice time to return the correct jurisdiction rate, which ERPNext writes back as tax lines. ERPNext ships a TaxJar integration for exactly this.
+Does ERPNext have an AvaTax integration?
Not an official one. ERPNext ships a TaxJar integration (frappe/taxjar_integration). AvaTax is reachable through the same delegation pattern — a custom Frappe app calling the AvaTax REST API at invoice time — but there is no maintained first-party AvaTax connector, so treat it as a build.
+What are the US economic nexus thresholds in 2026?
As of the Sales Tax Institute chart dated 5 May 2026, most states use $100,000 in sales; California, Texas and New York use $500,000 (New York also needs more than 100 transactions); Alabama and Mississippi use $250,000. Many states have removed the old 200-transaction prong. Thresholds change, so verify each state before relying on it.
+What happens if we don't track nexus and cross a threshold?
You keep invoicing without collecting the tax you were obligated to collect, and the liability accrues silently. When a state discovers it, you face assessment for the uncollected back tax plus interest and penalties — often owed out of your own pocket, since you can't retroactively collect it from customers. That silent accrual is why continuous nexus tracking matters.
+Do marketplace sales count toward my nexus obligation?
If you sell through a marketplace facilitator, the platform is generally responsible for collecting and remitting the tax in states with facilitator laws — every sales-tax state by 2026. You may still need to register and file returns, and your own direct sales still count toward nexus. Confirm the per-state registration duties for facilitated sales.
Related issues you may also hit
- India's GST e-invoicing IRP round-trip — a tax-compliance regime where the authority does validate in real time.
- ZATCA Phase 2 clearance vs reporting — contrast with a clearance model, where the document is stamped before it's valid.
- ERPNext multi-currency and multi-company setup — running a US entity inside a wider group.
Closing
Wayfair turned US sales tax into a volume problem, and ERPNext solves neither half of it on its own — not the jurisdiction rate, not the threshold tracking. Delegate rate determination to a tax engine, run nexus monitoring as a first-class job, and book the tax as the liability it is. Do that and a crossed threshold becomes a registration task; skip it and it becomes an assessment.
Selling into US states on ERPNext and unsure your sales-tax setup is safe?
We wire ERPNext to a tax engine for jurisdiction-level rates, stand up nexus tracking so you register before you cross a threshold, and set the accounting so collected tax lands as a liability.