Nexio — SaaS sales tax calculator with B2B/B2C support and nexus threshold tracker
Nexio
SaaS tax engine · B2B & B2C · All 50 states
Detecting your location…
Looking up your IP address to determine applicable tax jurisdiction
Detected state
—
Waiting for IP lookup
Combined tax rate
—
State + local avg
Nexus status
—
Based on your location
Your IP address
Detecting…
Public IPv4
B2C tax calculator
Detecting location…
In B2C mode the customer's IP determines jurisdiction and tax rate.
Tax breakdown—
Subtotal$100.00
State tax—
County / local avg—
Tax total—
Order total—
Waiting for location detection…
Detected jurisdiction details
IP address
—
City
—
State / region
—
ZIP code
—
Country
—
Coordinates
—
ISP / org
—
Sourcing rule
—
SaaS sourcing
—
Nexus threshold
—
IP geolocation is accurate to state/region level. For county/city-level precision, combine with a ZIP code lookup or customer billing address.
B2B apportionment calculator
Business customer
End-user distribution
Required for user-location sourcing states (NY, CA, WA, MA, MN, OH, MD)
State
Users
%
Sourcing
Select a billing state to calculate
SaaS sourcing rules quick reference
User-location sourcing — tax is based on where end users are located (apportioned by user count).
Billing-address sourcing — tax is based on the purchaser's billing address (full invoice taxed in that state).
user-location States (apportion by user count)
CA — Market-based sourcing; where benefit is received
MA — Where software is used MPU cert available
MD — Where used (effective Jul 1, 2025) MPU cert available
MN — Where accessed MPU cert available
NY — Where purchaser primarily uses the software
OH — Where used MPU cert available
WA — Where accessed MPU cert available
billing-address All other states (tax the billing state)
Tax applies to the full invoice amount in the purchaser's billing state. No apportionment needed — the billing state is the only taxing jurisdiction.
MPU exemption: When a B2B buyer in MA, MD, MN, OH, or WA provides a Multiple Points of Use certificate, the seller is relieved of collection. The buyer self-remits each state's apportioned share directly.
Sales map
No data
<25%
25–50%
50–80%
≥80% (warning)
Nexus triggered
Physical nexus
Nexus threshold tracker
Enter your rolling 12-month cumulative sales into each state. Cards turn amber at 80% of threshold and red when nexus is triggered. Only states with a sales tax are shown.
Summary
Look up any IP address
Recent lookups
No lookups yet.
Physical nexus detected in 0 states
Tax collection is required in these states regardless of sales thresholds. Cards in the Nexus Tracker are marked with a purple pill.
Payment Platforms
Sales data → Nexus Tracker
Export a transaction CSV from your payment platform. Sales will be grouped by state and added to your Nexus Tracker totals.
Platform — Import CSV
How to export:
Drop CSV or Excel file here or click to browse
Columns needed: state (or billing_state / province) + amount
HR Platforms
Employee locations → Physical Nexus
Import your employee roster to identify states where physical presence creates nexus — no sales threshold required.
Platform — Import CSV
How to export:
Drop CSV or Excel file here or click to browse
Column needed: state (work_state / employee_state / province)
End-user access: Calculator, Invoices, and IP Lookup only.
StatusDisabled
New user password
Server proxy — required for live Stripe / Square / PayPal data
Browsers block direct calls to payment APIs (CORS). Deploy the included proxy server and paste its URL here. The proxy holds your secret API keys server-side.
Proxy URL
Download server files
Deploy on Railway, Render, or your own server. Then: npm install && node server.js
Geolocation provider
Primary provider
IPInfo.io API key
MaxMind Account IDLicense key
MaxMind GeoIP2 City Web Service — ~75–80% ZIP accuracy vs ~50% for free services. ~$20/month. Sign up ↗ If you see CORS errors, route lookups through your proxy server.
Automatic fallback is active — if the primary provider fails, the tool retries with the next available provider.
Paste the downloaded CSV contents here, then click Apply:
Email alerts
Send filing reminders via EmailJS — free up to 200 emails/month, no backend required. Create a free account, add an email service, create a template using the variables below, then paste your IDs here.
Recipient email
Service ID
Reminder template IDOverdue/due-soon alerts sent to you
Filing complete template IDSent to client when you mark a filing done
Download a ready-to-use filing package from the Filings tab — a printable HTML report with amounts, due dates, and portal links for every nexus state. For automated filing in 24+ states, connect TaxJar AutoFile.
TaxJar API key
TaxJar AutoFile supports CA, TX, NY, FL, WA and 20+ more states (~$19/state/month). Learn more ↗
Data management
All data lives in your browser's localStorage. Export a backup to protect against data loss or to move to another device.
Permanently deletes everything — export first
0
Registered
0
Pending
0
Due within 30 days
State registrations
State
Status
Permit / License #
Filing Frequency
Next Filing Due
Days Until Due
Registered On
Notes
No registrations yet. Click + Add Registration to get started.
Sorted by days until next filing — most urgent first.
Registration
0
Invoices
$0
Total revenue
0
States
Sort by:
Date
Transaction ID
Platform
Amount
State
Customer
Description
Receipt
No invoices yet. Connect Stripe, Square, or PayPal in the Platforms tab.
Only transactions with a resolved US billing or shipping state are shown.
0
IP entries logged
0
States covered
—
Date range
Add IP addresses
Paste one IP per line. Optionally include Customer ID, Transaction ID, amount, and date (comma-separated). 1.2.3.4 or 1.2.3.4, CUST-001, TXN-456, 149.00, 2025-01-15
IPs looked up in the IP Lookup tab are automatically added here.
Audit log
Date / Time
IP Address
Location
State
ISP / Org
Customer ID
Txn ID
Amount
Source
No entries yet.
Export for audit
Generate a CSV with IP addresses, geolocated states, and transaction details to present to a tax auditor.
State breakdown
No data yet.
Exemption certificates
Track B2B customers who have provided resale or tax-exemption certificates. Customers with valid certificates should not be charged sales tax. Verify certificates are current before each sale.
Customer
State
Type
Cert #
Expires
Status
No exemption certificates on file.
Clients
Add Client
Company name *
State
ZIP code
Contact name
Email
Upload sales file
Drag & drop a CSV or Excel file here, or browse
Supports CSV · XLS · XLSX · IP address · ZIP code · state code · street address
No bank accounts yet. Add one to track which account you use for each state payment.
Tax due by state
Estimated tax = sales in each nexus state × state rate. Click Pay Now to open the state's official payment portal, then record the confirmation below.
State
Rate
Est. Sales
Est. Tax
Next Due
Status
Actions
Loading…
Payment history
Date
State
Period
Amount paid
Confirmation #
Account
No payments recorded yet.
Filing calendar
Set your filing frequency per state. Due dates default to the 20th of the month following each reporting period — verify exact dates with each state's revenue department.
Period:
State
Frequency
Next due
Status
Last filed
Amount filed ($)
Notify client
Portal
Action
Loading…
States shown are those with nexus sales entered or a filing frequency configured here. Add sales in Nexus Tracker to see all applicable states.
Embed in your app
Add this snippet to your checkout or sign-up page. When a customer completes a transaction it silently captures their IP and posts it to your webhook — which Nexio polls and adds to your Audit Log automatically.
Set window.Nexio = { customerId:'...', transactionId:'...', amount:99 } before the snippet fires to attach transaction context to each IP entry.
Connect to live feed
Configure your endpoint URL below. Nexio will poll it on a schedule, geolocate any new IPs returned, and automatically add them to your Audit Log.