Operations

ERPNext US Sales Tax Setup: Multi-State, Nexus, and Tax Service Integration

Abstract US map with interlocking tax-rate layers and data nodes, clean corporate style in calm blue tones

At a glance

US-targeted ERPNext deployments all hit the same question: how does the system handle sales tax across many states? ERPNext answers it in three tiers — native tax templates and rules for one to a few states, the official Frappe-maintained TaxJar app for multi-state calculation and filing, and a custom Avalara integration for enterprise needs. This guide maps which tier fits your business, what each actually does, and the nexus, registration, and review work that stays yours no matter the software.

Does ERPNext support US sales tax?

Yes, with a tiered approach. Natively, ERPNext calculates sales tax through Sales Taxes and Charges Templates, Tax Categories, and Tax Rules — practical for businesses collecting in one or a few states. For multi-state nexus, the official Frappe-maintained TaxJar integration app calculates rates per address and files via TaxJar AutoFile. Avalara requires a custom API integration — no official app exists.

Nexus in plain English (post-Wayfair)

Before configuring anything, you need to know where you're obligated to collect — and that changed fundamentally in 2018.

Physical vs economic nexus. Historically, states could only require you to collect sales tax where you had physical presence — an office, warehouse, employees. South Dakota v. Wayfair (2018) changed that: states may now tax remote sellers based on economic nexus — sales volume into the state alone, no physical presence required.

The common threshold is $100,000 in sales and/or 200 transactions into a state per year, but it varies by state, and the trend is states dropping the transaction count and keeping only the dollar threshold — Alaska removed its 200-transaction test in January 2025, Utah in July 2025, and Illinois in January 2026. Don't memorize a table from any blog post (including this one): thresholds change, so check the Sales Tax Institute's state-by-state economic nexus chart, which is maintained.

What this means operationally: you must track sales by state, register with each state where you cross a threshold, and then collect and file there. Division of labor matters here — the ERP's job is the tracking and the collecting; the registration is yours (or your tax service's), and no software does it for you automatically. Crossing a threshold without registering is where penalty letters come from, which is why the controller who just got a nexus notice is this post's second-most-common reader.

Tier 1 — Native ERPNext configuration

ERPNext ships real sales-tax machinery with no extra apps. Three DocTypes do the work:

Sales Taxes and Charges Template

The per-jurisdiction rate container. You create a template per state you collect in — "TX Sales Tax 8.25%," "CO Sales Tax," and so on — each holding the tax account and rate that apply to a sale. Applied to a Sales Order or Sales Invoice, the template calculates the tax lines.

Tax Category and Tax Rule

The automation layer. A Tax Category classifies the transaction; Tax Rules select the right template automatically based on criteria like the customer's shipping state — so an order shipping to Texas picks up the Texas template without anyone choosing it. Set up once per state, this removes the per-order human decision, which is where manual tax errors live.

Item Tax Template

The product-taxability layer. Some products are taxed differently — clothing exemptions in some states, grocery rules, and similar. An Item Tax Template overrides the default rate for specific items, so one invoice can carry taxable and exempt lines correctly.

The honest limits of native config

This tier works, and plenty of single-state businesses should stop here. But know exactly what you're signing up for:

The practical boundary: native configuration is fine for one to three states where you can own the rate maintenance. Beyond that, it becomes painful — which is what Tier 2 is for.

  • Rates are manual. You maintain every rate in every template. When a state or city changes its rate, that's your calendar entry, not the software's.
  • No rooftop accuracy. US sales tax is state + county + city + special districts. Native templates hold a rate per template — maintaining genuine jurisdiction-level accuracy by hand across many states doesn't scale.
  • No filing. ERPNext records what you collected; preparing and filing each state's return is entirely outside the system.
  • No exemption-certificate workflow. Reseller and exemption certificates live in a drawer (or a custom DocType you build), not in a managed compliance workflow.

Tier 2 — The TaxJar integration (official Frappe app)

For multi-state sellers, the official TaxJar integration app is the maintained path. Facts worth knowing, all verifiable on the repo: it lives in the Frappe GitHub organization, is MIT-licensed, has over a thousand commits, and remains actively maintained as of October 2026. It used to be part of ERPNext core and moved to its own app at v15 (v15 migration guide) — so on a current ERPNext you install it as a separate app.

Per the app's README, it: calculates US sales tax on ERPNext sales documents using TaxJar's address-level rates; sends submitted invoices and credit notes to TaxJar; offers a guided setup; supports nexus states, product tax categories, and customer exemptions; handles invoice submit, return, and cancel events; lets you close a period before TaxJar AutoFile files the return; logs every API exchange in a TaxJar API Log for troubleshooting; and gates it all behind role-based permissions.

It requires a paid TaxJar account — TaxJar is a Stripe-owned tax service with its own pricing — and the combination gives you what native config can't: current rates you don't maintain, calculation per shipping address, and actual return filing through AutoFile.

What you still own

Even at Tier 2, three jobs stay yours: deciding which states you have nexus in (TaxJar reports your exposure; the determination and the registration are on you and your CPA), registering with each state, and reviewing what AutoFile files — it's automation, not absolution.

Setup flow

The shape of a TaxJar rollout: create the TaxJar account and API token → install the app and map the tax ledger accounts → run the guided setup → configure your nexus states → assign product tax categories and customer exemptions → test with submitted invoices while watching the API log → enable period close ahead of AutoFile. In an ERPNova implementation this rides inside the normal accounting workstream (see how we run US implementations).

Tier 3 — Avalara AvaTax (custom integration, scoped work)

Say this precisely, because much of the internet doesn't: there is no official Frappe or ERPNext Avalara app — nothing in the Frappe GitHub organization and nothing on the Frappe Marketplace as of October 2026. Some agencies advertise private AvaTax connectors; those are unverified third-party code and should be evaluated exactly as you'd evaluate any custom code handed to you — who maintains it across ERPNext major versions, and what happens when they stop?

What a custom AvaTax integration looks like

Avalara publishes a well-documented AvaTax REST v2 API with SDKs, Python among them. The integration pattern is a Frappe custom app that calls CreateTransaction when a Sales Invoice is submitted, validates addresses through Avalara's address service, and commits or voids the Avalara transaction when the invoice is amended or cancelled. It's well-trodden engineering — but it's engineering: design, build, test, and maintain across ERPNext upgrades.

When Avalara is worth it

Avalara earns its cost and build effort when you need its enterprise tier of tax ops: exemption-certificate management at scale (ECM — collecting, validating, and storing certificates across thousands of B2B customers), rooftop-level jurisdiction accuracy, consumer use tax, and cross-border/international tax. If none of those apply, TaxJar's official app almost certainly serves you better for less.

The label, plainly

An ERPNext–Avalara integration is scoped custom work — a budget line and a timeline item in your implementation, not a checkbox on a feature list. ERPNova scopes it per client, and we'll tell you in the audit if TaxJar makes it unnecessary.

TaxJar or Avalara with ERPNext — which should I use?

Use TaxJar if the official ERPNext app covers your needs: multi-state rate calculation, filing via AutoFile, basic exemptions — it's maintained by Frappe and installs like any app. Choose Avalara only when you need its enterprise features (certificate management, use tax, international) and can fund a custom API integration, since no official ERPNext-Avalara app exists.

Can ERPNext file my sales tax returns?

Not by itself. ERPNext calculates and records sales tax; filing happens through a connected tax service. With the TaxJar integration, TaxJar AutoFile files registered-state returns, and the ERPNext app lets you close a period before filing. Without a tax service, filing stays manual.

Which tier are you in?

Match your situation to a tier. A local or regional seller in 1–3 states, at any order volume, with low exemption complexity (a few certs handled manually) fits Tier 1: Native config. A growing multi-state business (e-commerce, distribution) in 4–15+ states, at moderate to high order volume, with basic TaxJar-supported exemptions fits Tier 2: TaxJar app. A business with heavy B2B exemptions, use tax, or international reach — many nexus states, high order volume, and high exemption complexity needing certificate management at scale — fits Tier 3: Custom Avalara.

Two honest edge notes: a business in 4+ states with very low order volume can sometimes stretch Tier 1 if someone owns the rate maintenance — but price that person's hours against TaxJar's subscription first. And nobody should start at Tier 3; its costs only make sense when a specific enterprise requirement (usually certificates) forces it.

If you're not certain which row you're in, that's literally part of ERPNova's Free Expert Audit — we map your states, volumes, and exemption profile to the right tier and give you the configuration plan in writing, before you've spent anything. Sales tax is one piece of the US accounting setup we do on every implementation (see the accounting platform and what CFOs get from ERPNext); if you're coming from QuickBooks, where multi-state tax is its own flavor of pain, the QuickBooks comparison covers the migration side, and pricing is here.

Again, because it bears repeating: general information, not tax advice — confirm your nexus obligations with your CPA or tax service.