getreadystack's picture
Upload index.html with huggingface_hub
1108db1 verified
Raw History Blame Contribute Delete
42.7 kB
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Sales Tax Nexus Exposure Clock 2026</title><meta name="description" content="Price the uncollected sales tax, penalty and interest you have been carrying since the month you crossed a US state's economic nexus threshold."><style>*{box-sizing:border-box}
:root{color-scheme:light dark}
body{font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;margin:0;padding:14px;min-width:320px}
h1{font-size:1.05rem;margin:0 0 .2rem}
.sub{opacity:.75;margin:0 0 .9rem;font-size:.86rem}
label{display:block;margin:.55rem 0 .2rem;font-weight:600;font-size:.86rem}
.u{font-weight:400;opacity:.65}
input,select{width:100%;padding:.4rem .5rem;border:1px solid #8886;border-radius:7px;
background:transparent;color:inherit;font:inherit}
input[type=checkbox]{width:auto}
table{border-collapse:collapse;width:100%;margin-top:.9rem;font-size:.9rem}
th,td{border:1px solid #8884;padding:.36rem .5rem;text-align:left}
td.v{font-variant-numeric:tabular-nums;font-weight:600}
.f{border:1px solid #8884;border-radius:9px;padding:9px 11px;margin:.5rem 0;font-size:.87rem}
.buy{margin-top:18px;border:1px solid #8884;border-radius:10px;padding:13px}
.buy a{display:inline-block;margin-top:.5rem;padding:.45rem .9rem;border:1px solid currentColor;
border-radius:8px;text-decoration:none;color:inherit;font-weight:600}
body{max-width:720px;margin-inline:auto;padding:22px}</style><script data-grow-initializer="">!(function(){window.growMe||((window.growMe=function(e){window.growMe._.push(e);}),(window.growMe._=[]));var e=document.createElement("script");(e.type="text/javascript"),(e.src="https://faves.grow.me/main.js"),(e.defer=!0),e.setAttribute("data-grow-faves-site-id","U2l0ZTphZjljMzgyMC0yMmU5LTRhYjgtYTIxNS03OTRhMGY1N2ExYzM=");var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t);})();</script>
<!--yj-canon-s101--><link rel="canonical" href="https://getreadystack.com/tools/nexus-exposure-clock-2026"><style data-yj-mfit="1">#out{max-width:100%}#out td,#out th{overflow-wrap:anywhere}#out pre,#out code{white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width:640px){table{display:block;max-width:100%;overflow-x:auto}pre{max-width:100%;overflow-x:auto}code,a{overflow-wrap:anywhere}img,svg,video,canvas,iframe{max-width:100%}textarea,input,select{max-width:100%;box-sizing:border-box}.yj-lgbar{position:static!important;justify-content:flex-end;margin:0 0 10px}h1,h2,h3,h4,p,li,dd,dt,blockquote,figcaption,summary,label,.res,.lead{overflow-wrap:anywhere}label{max-width:100%;box-sizing:border-box}#out table:not(:has(tr>:nth-child(4))){display:table;table-layout:fixed;width:100%}#out table:has(tr>:nth-child(4)),#out table:has(tr>:nth-child(4)) tbody,#out table:has(tr>:nth-child(4)) tr,#out table:has(tr>:nth-child(4)) td{display:block;width:auto;overflow:visible}#out table:has(tr>:nth-child(4)) thead{display:none}#out table:has(tr>:nth-child(4)) tr{padding:10px 0;border-bottom:1px solid rgba(128,128,128,.28)}#out table:has(tr>:nth-child(4)) td{border:0;padding:1px 0}#out table:has(tr>:nth-child(4)) td:nth-child(-n+3){display:inline-block;margin-right:10px;font-size:12px;opacity:.78}}</style>
</head><body>
<h1>Economic nexus exposure, priced to the month</h1>
<p class="sub">Price the uncollected sales tax, penalty and interest you have been carrying since the month you crossed a US state's economic nexus threshold.</p>
<label for="state_rule">The threshold test this state uses</label><select id="state_rule" data-k="state_rule"><option value="$100,000 in sales only">$100,000 in sales only</option><option value="$100,000 in sales or 200 transactions" selected>$100,000 in sales or 200 transactions</option><option value="$500,000 in sales only">$500,000 in sales only</option><option value="$500,000 in sales and 100 transactions">$500,000 in sales and 100 transactions</option></select>
<label for="sales_12mo">Sales into this state, rolling 12 months <span class="u">$</span></label><input type="number" id="sales_12mo" data-k="sales_12mo" value="142000" step="any">
<label for="orders_12mo">Separate orders into this state, same 12 months <span class="u">orders</span></label><input type="number" id="orders_12mo" data-k="orders_12mo" value="260" step="any">
<label for="crossed_on">Date you passed the threshold</label><input type="date" id="crossed_on" data-k="crossed_on" value="2025-11-14">
<label for="as_of">Run the clock as of</label><input type="date" id="as_of" data-k="as_of" value="2026-09-21">
<label for="monthly_sales">Average monthly sales into this state since then <span class="u">$</span></label><input type="number" id="monthly_sales" data-k="monthly_sales" value="12500" step="any">
<label for="tax_rate">Combined state and local rate you should have charged <span class="u">%</span></label><input type="number" id="tax_rate" data-k="tax_rate" value="7.25" step="any">
<label for="penalty_pct">State failure-to-file and pay penalty <span class="u">%</span></label><input type="number" id="penalty_pct" data-k="penalty_pct" value="10" step="any">
<label for="interest_pct">State interest on unpaid tax, annual <span class="u">%</span></label><input type="number" id="interest_pct" data-k="interest_pct" value="9" step="any">
<label for="vda_lookback_months">Lookback this state allows in a voluntary disclosure <span class="u">months</span></label><input type="number" id="vda_lookback_months" data-k="vda_lookback_months" value="36" step="any">
<table><tr><th>Threshold test</th><td class="v" data-o="nexus_status">&mdash;</td></tr><tr><th>Months collecting nothing</th><td class="v" data-o="months_exposed">&mdash;</td><td>months</td></tr><tr><th>Tax you should have collected</th><td class="v" data-o="tax_owed">&mdash;</td><td>$</td></tr><tr><th>Penalty on that tax</th><td class="v" data-o="penalty">&mdash;</td><td>$</td></tr><tr><th>Interest accrued to date</th><td class="v" data-o="interest">&mdash;</td><td>$</td></tr><tr><th>Carried today</th><td class="v" data-o="total_today">&mdash;</td><td>$</td></tr><tr><th>Six more quiet months add</th><td class="v" data-o="cost_of_waiting">&mdash;</td><td>$</td></tr><tr><th>Still saveable by voluntary disclosure</th><td class="v" data-o="vda_saving">&mdash;</td><td>$</td></tr></table>
<div style="margin:10px 0 18px;padding:12px 14px;border:1px solid #d7d2c8;border-radius:10px;background:#fbf9f4"><b>Keep this run.</b> Export every state you run to .csv for the file, and set dated browser reminders before a lookback window or a quarter closes.<br><a href="https://getreadystack.com/api/buy/cl/polar_cl_iXOcnCKDwUdmdAZkvI54syraZTsmdLTdTXDNc1uZJYB" style="display:inline-block;margin-top:8px;font-weight:600">Export + reminders &mdash; $60 once &rarr;</a><br><span style="font-size:13px;opacity:.8">$60 once &middot; one licence key per person or team seat &middot; A bookkeeper at $75/hour needs about four hours per state to test the threshold and rebuild the year - $300 per state.</span></div>
<div class="f"><b>Four threshold shapes, not one number</b><br>States do not share one test. The clock carries the four live shapes - sales only at $100,000, sales or 200 transactions, sales only at $500,000, and sales plus 100 transactions - so a seller picks the shape their state uses instead of trusting a single $100,000 answer. Source: the Streamlined Sales Tax Governing Board remote-seller pages at streamlinedsalestax.org and the state revenue department pages they link, checked 2026-09-21.</div><div class="f"><b>Month-by-month accrual, not a flat multiply</b><br>Tax accrues at the end of each exposed month and interest runs only on the months already gone by, so the oldest month carries the most interest and the newest carries none. That is why a hand calculation of rate times total sales overstates the newest months and understates the oldest.</div><div class="f"><b>The price of six more quiet months</b><br>The same run is repeated six months further out and the difference is shown on its own line, so the cost of postponing registration to the next quarter is a number rather than a feeling.</div><div class="f"><b>What a voluntary disclosure still saves</b><br>A voluntary disclosure agreement normally waives the penalty and limits the lookback to a fixed number of months. The clock prices the penalty plus any tax that falls outside that lookback - the part that stops being saveable the day the state sends its first contact letter.</div><div class="f"><b>Your figures never leave the tab</b><br>Sales, orders and rates are computed in the page. The only outbound call the extension ever makes is licence-key validation to api.polar.sh, which sends the key and nothing else.</div>
<script>function compute(v){function num(x){var n=parseFloat(x);return isNaN(n)?0:n;}function ym(s){var p=String(s||'').split('-');return {y:num(p[0]),m:num(p[1]),d:num(p[2])};}function monthsBetween(a,b){var A=ym(a),B=ym(b);if(!A.y||!B.y){return 0;}var n=(B.y-A.y)*12+(B.m-A.m);if(B.d<A.d){n--;}return n<0?0:n;}function r2(x){return Math.round(x*100)/100;}var rule=String(v.state_rule||'');var thr=rule.indexOf('500,000')>-1?500000:100000;var sales=num(v.sales_12mo),orders=num(v.orders_12mo),met;if(rule.indexOf('or 200')>-1){met=(sales>=thr||orders>=200);}else if(rule.indexOf('and 100')>-1){met=(sales>=thr&&orders>=100);}else {met=(sales>=thr);}var n=monthsBetween(v.crossed_on,v.as_of);if(!met){n=0;}var mTax=num(v.monthly_sales)*num(v.tax_rate)/100;var look=num(v.vda_lookback_months);var rM=num(v.interest_pct)/100/12;function run(months){var tax=0,inter=0,k;for(k=1;k<=months;k++){tax+=mTax;inter+=mTax*rM*(months-k);}var pen=tax*num(v.penalty_pct)/100;return {tax:tax,pen:pen,itr:inter,tot:tax+pen+inter};}var now=run(n),later=met?run(n+6):now;var outMonths=n>look?(n-look):0,outTax=outMonths*mTax,outInt=0,j;for(j=1;j<=outMonths;j++){outInt+=mTax*rM*(n-j);}var vda=now.pen+outTax+outInt;var status=met?('Nexus met - uncollected since '+v.crossed_on):('Under the '+rule+' test - no collection duty from these figures');return {nexus_status:status,months_exposed:n,tax_owed:r2(now.tax),penalty:r2(now.pen),interest:r2(now.itr),total_today:r2(now.tot),cost_of_waiting:r2(later.tot-now.tot),vda_saving:r2(vda)};}</script><script>(function(){
function read(){var v={};document.querySelectorAll('[data-k]').forEach(function(el){
var k=el.dataset.k;v[k]=el.type==='checkbox'?el.checked:(el.type==='number'?parseFloat(el.value):el.value);});
return v;}
function paint(){var r={};try{r=compute(read())||{};}catch(e){r={};}
document.querySelectorAll('[data-o]').forEach(function(el){
var x=r[el.dataset.o];el.textContent=(x===undefined||x===null)?'\u2014':String(x);});}
document.addEventListener('input',paint);document.addEventListener('change',paint);paint();
})();</script>
<section data-yj-install="free" style="margin:2rem auto 1rem;max-width:46rem;padding:1.25rem 1.25rem;border:1px solid #cfe3d6;border-radius:12px;background:#f6fbf8;font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif"><h2 style="margin:0 0 .4rem;font-size:1.2rem">Install free</h2><p style="margin:0 0 .8rem;color:#41505f">Free for the file open in your editor - no key, no limit. The workspace sweep and the report ask for a key.</p><a href="https://microsoftedge.microsoft.com/addons/detail/odjnfhkaggbpohjmebeaokhmfebnonod" rel="noopener" data-yj-install-door="edge" onclick="try{navigator.sendBeacon('/api/ev',new Blob([JSON.stringify({t:'install',slug:'nexus-exposure-clock-2026',src:'edge',path:location.pathname})],{type:'application/json'}))}catch(e){}" style="display:inline-block;margin:0 .5rem .5rem 0;padding:.6rem 1rem;border-radius:8px;background:#0f7b3f;color:#fff;text-decoration:none;font-weight:600">Microsoft Edge Add-ons</a></section>
<section data-yj-alert="rule" style="margin:1rem auto 1.5rem;max-width:46rem;padding:1.1rem 1.25rem;border:1px solid #d9dee6;border-radius:12px;background:#fbfcfd;font:15px/1.55 system-ui,-apple-system,Segoe UI,sans-serif"><b style="font-size:1.05rem">Get one email when this rule changes</b><div style="opacity:.78;margin:.35rem 0 .8rem">We watch the regulation and vendor sources behind Sales Tax Nexus Exposure Clock 2026 every day. When a rule changes, you get a single email with what changed and the updated check. No newsletter.</div><div style="display:flex;gap:8px;flex-wrap:wrap"><input id="yjae" type="email" placeholder="you@example.com" style="flex:1;min-width:210px;padding:11px 13px;border:1px solid rgba(140,150,165,.34);border-radius:8px;background:#fff;color:inherit"><button id="yjab" style="padding:11px 18px;border-radius:8px;border:0;cursor:pointer;background:#0f7b3f;color:#fff;font:600 15px system-ui,sans-serif">Notify me</button></div><div id="yjao" hidden style="margin-top:.6rem;color:#0f7b3f">You're on the list. One email when it changes.</div><script>(function(){var b=document.getElementById("yjab"),e=document.getElementById("yjae");if(!b||!e)return;b.addEventListener("click",function(){var v=e.value.trim();if(!/.+@.+\..+/.test(v))return;try{localStorage.setItem("yj_em","1");}catch(_){}fetch(location.origin+"/api/subscribe",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:v,slug:"nexus-exposure-clock-2026",lang:"en",source:"rule_alert"+((b.closest&&b.closest("section")&&b.closest("section").getAttribute("data-yj-moved"))?"_at_result":"")})}).then(function(r){var o=document.getElementById("yjao");o.hidden=false;if(!r.ok){o.textContent="Could not save - please try again.";}}).catch(function(){var o=document.getElementById("yjao");o.hidden=false;o.textContent="Could not save - please try again.";});});})();</script><script>(function(){var e=document.getElementById("yjae"),s=e&&e.closest?e.closest("section"):null,o=document.getElementById("out");if(!s||!o)return;var d=false;function mv(ev){if(d)return;if(ev&&ev.target&&s.contains(ev.target))return;d=true;var b=o;while(b.parentNode&&b.parentNode!==document.body&&b.parentNode.tagName!=="MAIN"&&b.parentNode.tagName!=="ARTICLE")b=b.parentNode;if(!b.parentNode||b===s||b.contains(s))return;try{b.parentNode.insertBefore(s,b.nextSibling);s.setAttribute("data-yj-moved","1");}catch(_){}}document.addEventListener("input",mv,true);document.addEventListener("change",mv,true);document.addEventListener("click",function(ev){var b=ev.target&&ev.target.closest?ev.target.closest("button,input[type=submit]"):null;if(b&&!b.closest("[data-yj],[data-yj-cta],[data-yj-install],[data-yj-alert],.yj-find,.yj-related,#yj-ask,.yjp"))mv(ev);},true);})();</script></section>
<section data-yj-cta="paid" style="margin:3rem auto;max-width:46rem;padding:1.5rem 1.25rem;border:1px solid #d8dee9;border-radius:12px;background:#fbfcfe;font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif"><h2 style="margin:0 0 .5rem;font-size:1.25rem">Get the full version <span class="yj-price">$60</span></h2><p class="yj-cta-paid" style="margin:.25rem 0 .6rem;color:#1f2a37">Export every state you run to .csv for the file, and set dated browser reminders before a lookback window or a quarter closes.</p><p class="yj-cta-pay" style="margin:.25rem 0 1rem;color:#5b6b7c;font-size:.94rem">One payment, one licence key for this tool. The key is shown right after payment.</p><p class="yj-cta-anchor" style="margin:0 0 1rem;color:#5b6b7c;font-size:.94rem">A bookkeeper at $75/hour needs about four hours per state to test the threshold and rebuild the year - $300 per state.</p><a href="https://getreadystack.com/api/buy/cl/polar_cl_iXOcnCKDwUdmdAZkvI54syraZTsmdLTdTXDNc1uZJYB" rel="nofollow" style="display:inline-block;padding:.7rem 1.3rem;border-radius:8px;background:#1b64f2;color:#fff;text-decoration:none;font-weight:600">Buy the full version — $60</a><a href="#" data-yj-key hidden style="margin-left:1rem;font-size:.92rem;color:#41505f;text-decoration:underline">I have a key</a></section>
<!--yj-share-s101--><div style="margin:28px 0 8px;text-align:center"><button id="yjcp" type="button" style="font:inherit;padding:10px 18px;border:1px solid #8884;border-radius:10px;background:transparent;cursor:pointer">Copy link</button></div><script>(function(){var b=document.getElementById("yjcp");if(!b)return;var t=b.textContent;b.addEventListener("click",function(){var u=location.href.split("#")[0];function d(){b.textContent="Link copied";setTimeout(function(){b.textContent=t;},1800);}if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(u).then(d,function(){prompt("",u);});}else{prompt("",u);}});})();</script>
<script data-yj="yj-view-beacon">(function(){try{var p=location.pathname;var k='yjv:'+p;if(sessionStorage.getItem(k))return;sessionStorage.setItem(k,'1');fetch('/api/ev',{method:'POST',keepalive:true,headers:{'Content-Type':'application/json'},body:JSON.stringify({path:p,lang:"en",ref:(document.referrer||''),src:(function(){try{return (new URLSearchParams(location.search).get('ref')||'').replace(/[^a-z_]/g,'').slice(0,12)}catch(e){return ''}})()})}).catch(function(){});}catch(e){}})();</script>
<script data-yj="yj-use-beacon v2">(function(){try{var r=document.querySelector('main')||document.body;var p=location.pathname,k='yju:'+p,sent=false,armed=false;function ours(el){return !!(el&&el.closest&&el.closest('[data-yj],[data-yj-cta],.yj-email-gate,.yj-find,.yj-related,#yj-ask,#yjgo,#yjr'));}function fire(){if(sent||!armed||sessionStorage.getItem(k))return;sent=true;sessionStorage.setItem(k,'1');fetch('/api/ev',{method:'POST',keepalive:true,headers:{'Content-Type':'application/json'},body:JSON.stringify({path:p,lang:"en",t:'use',src:(function(){try{return (new URLSearchParams(location.search).get('ref')||'').replace(/[^a-z_]/g,'').slice(0,12)}catch(e){return ''}})()})}).catch(function(){});}r.addEventListener('click',function(e){var b=e.target&&e.target.closest?e.target.closest('button,input[type=submit],[role=button]'):null;if(!b||ours(b))return;armed=true;setTimeout(fire,400);},true);r.addEventListener('input',function(e){if(!ours(e.target))armed=true;},true);var mo=new MutationObserver(function(){if(armed){fire();if(sent)mo.disconnect();}});mo.observe(r,{childList:true,characterData:true,subtree:true});}catch(e){}})();</script>
<div class="yj-home-find"><div class="yj-lgbar"><a href="/" class="yj-lg on">EN</a><a href="/de/" class="yj-lg">DE</a><a href="/ja/" class="yj-lg">JA</a><a href="/es/" class="yj-lg">ES</a><a href="/pt/" class="yj-lg">PT</a></div><section class="yj-find"><h2>Find a tool</h2><input id="yjq" type="search" autocomplete="off" placeholder="Type a product name, format or task"><div id="yjr"></div></section><style>.yj-lgbar{position:absolute;top:14px;right:18px;display:flex;gap:6px;z-index:60}.yj-lg{font:600 12px/1 system-ui,sans-serif;padding:6px 9px;border-radius:4px;text-decoration:none;color:#8b96a3;border:1px solid rgba(140,150,165,.28)}.yj-lg:hover{color:#e8eaed;border-color:rgba(160,175,195,.6)}.yj-lg.on{color:#0e1116;background:#cfd6de;border-color:#cfd6de}.yj-find{max-width:760px;margin:34px auto 8px;padding:0 20px}.yj-find h2{font:600 20px/1.3 system-ui,sans-serif;margin:0 0 10px}#yjq{width:100%;box-sizing:border-box;padding:13px 15px;font:400 15.5px system-ui,sans-serif;border:1px solid rgba(140,150,165,.34);border-radius:8px;background:rgba(255,255,255,.04);color:inherit}#yjq:focus{outline:none;border-color:#7FD1C4}#yjr{margin-top:10px;display:flex;flex-direction:column;gap:6px}#yjr a{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;border:1px solid rgba(140,150,165,.22);border-radius:6px;text-decoration:none;font:400 14.5px/1.4 system-ui,sans-serif;color:inherit}#yjr a:hover{border-color:#7FD1C4}#yjr .pr{font:600 13px system-ui,sans-serif;color:#5fbf9a;white-space:nowrap}</style><script>(function(){var q=document.getElementById("yjq"),r=document.getElementById("yjr"),D=null;function load(){if(D)return Promise.resolve(D);return fetch("/search-index.json").then(function(x){return x.json();}).then(function(j){D=j;return j;}).catch(function(){D=[];return D;});}function esc(t){return String(t).replace(/[&<>"]/g,function(c){return {"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"}[c];});}function run(){var v=q.value.trim().toLowerCase();if(v.length<2){r.innerHTML="";return;}load().then(function(j){var w=v.split(/\s+/),o=[];for(var i=0;i<j.length&&o.length<12;i++){var t=j[i].t.toLowerCase();var ok=true;for(var k=0;k<w.length;k++){if(t.indexOf(w[k])<0){ok=false;break;}}if(ok)o.push(j[i]);}r.innerHTML=o.length?o.map(function(x){return "<a href=\""+esc(x.u)+"\">"+"<span>"+esc(x.t)+"</span>"+(x.p?"<span class=\"pr\">$"+x.p+"</span>":"")+"</a>";}).join(""):"";});}q.addEventListener("input",run);q.addEventListener("focus",load);})();</script></div><section data-yj="yj-facts-v1" style="max-width:920px;margin:48px auto 0;padding:0 20px;font-family:system-ui,sans-serif"><style>.yj-article p{font:400 15.5px/1.7 system-ui,sans-serif;color:#26313b;margin:0 0 12px;max-width:72ch}.yj-article h2,.yj-article h3,.yj-article h4{font:600 17px/1.35 system-ui,sans-serif;color:#1b1f24;margin:22px 0 8px}.yj-article table{border-collapse:collapse;margin:10px 0 16px;font:14px/1.45 system-ui,sans-serif}.yj-article th,.yj-article td{border:1px solid #e2e6ea;padding:6px 10px;text-align:left}.yj-article th{background:#f4f6f8}.yj-article pre{background:#0f1720;color:#e6edf3;padding:12px 14px;border-radius:8px;overflow:auto;font:13px/1.5 ui-monospace,Menlo,monospace}.yj-article code{font:13px ui-monospace,Menlo,monospace;background:#f1f3f5;padding:1px 4px;border-radius:3px}.yj-article pre code{background:none;padding:0}.yj-article ul,.yj-article ol{font:15px/1.6 system-ui,sans-serif;color:#26313b}</style><p style="font:400 13px/1.5 system-ui,sans-serif;color:#6b7680;margin:0 0 14px"><time datetime="2026-09-21">Updated 2026-09-21</time> · ReadyStack</p><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","dateModified":"2026-09-21","author":{"@type":"Organization","name":"ReadyStack"}}</script><h2 style="font:600 21px/1.3 system-ui,sans-serif;margin:0 0 6px;color:#1b1f24">Worked example</h2><p style="font:400 14.5px/1.5 system-ui,sans-serif;margin:0 0 16px;color:#5b6570">Real numbers from this tool, line by line.</p><div class="yj-article"><p><img src="https://getreadystack.com/img/promo/sku152773_result_card.jpg" alt="Sales Tax Nexus Exposure Clock 2026" loading="lazy" style="max-width:100%;border-radius:6px"></p>
<p>$10,274.61 is what a US Shopify seller was carrying on 2026-09-21 after crossing one state&#x27;s economic nexus threshold on 2025-11-14 and collecting no sales tax in the ten months since.</p>
<p>That number is not a penalty notice. Nobody has written to them. It is the arithmetic of ten quiet months — the number their bookkeeper could not produce on the call, because the threshold lookups everyone reaches for stop at the word &quot;yes&quot;.</p>
<p>Here is the run, exactly as the defaults in Nexus Exposure Clock 2026 produce it. The state uses the $100,000-or-200-transactions test. The seller did $142,000 and 260 orders into that state in the rolling twelve months, and passed the line on 2025-11-14. Since then they have averaged $12,500 a month into that state. The combined state and local rate they should have been charging is 7.25%. The state&#x27;s failure-to-file and pay penalty is 10%, interest runs at 9% a year, and a voluntary disclosure agreement there limits the lookback to 36 months.</p>
<p>Run on 2026-09-21: ten full months collecting nothing. $9,062.50 of tax they should have charged and did not. $906.25 of penalty. $305.86 of interest. $10,274.61 carried today.</p>
<p>The line that matters to an owner is the next one: six more quiet months add $6,491.02 — not because the rate changes, but because the meter never stopped. And the third line: $906.25 is still saveable through a voluntary disclosure — the penalty, waived, because the seller came forward first. That saving exists only until the state&#x27;s first contact letter arrives. After that the same money is simply owed.</p>
<p>WHY THE HAND CALCULATION IS ALWAYS WRONG IN THE SAME DIRECTION</p>
<p>Most people, asked to price this, multiply: total sales since crossing, times the rate, times the interest rate, once. That is wrong twice over. Tax accrues at the end of each month, so the month that closed last week has had no time to accrue interest at all, while the month of last December has had nine. Interest has to be run per month, not against a total. In the run above, the flat method produces $815.63 of interest where the monthly accrual produces $305.86 — off by a factor of nearly three, in the direction that makes an owner distrust the whole schedule when the state&#x27;s notice disagrees.</p>
<p>The second error is upstream. There is no single $100,000 threshold. States run at least four shapes: sales only at $100,000, sales or 200 separate transactions, sales only at $500,000, and sales plus a transaction count. Several states have dropped their transaction counts, so a seller with 260 small orders and $60,000 of sales can be over the line in one state and under it in the next. A general-purpose assistant will confidently apply the wrong shape, because that shape was true somewhere, once.</p>
<p>WHAT THE FREE TOOL DOES</p>
<p>Everything above. One state, priced end to end: the threshold test, the months uncollected, tax, penalty, interest, the total carried today, the cost of six more quiet months, and the part a voluntary disclosure still saves. In the popup or on the free web page, with no licence key, no run limit and no watermark. Your figures never leave the tab.</p>
<p>The $60 key sits on a different axis entirely: it exports every state you have run to .csv so the schedule can live in the working papers, and it sets dated browser reminders before a lookback window or a quarter closes. Neither of those changes an answer. They just stop you recomputing it.</p>
<p>Done by hand, a bookkeeper at $75 an hour needs roughly four hours per state to rebuild the year by destination and test the threshold — about $300 per state, repeated every time the owner asks again.</p></div><h2 style="font:600 21px/1.3 system-ui,sans-serif;margin:34px 0 6px;color:#1b1f24">Questions people ask</h2><details style="border-bottom:1px solid #e6e9ed;padding:10px 0"><summary style="cursor:pointer;font:600 15px/1.4 system-ui,sans-serif;color:#1b1f24">What does this actually work out?</summary><p style="margin:8px 0 2px;font:400 14.5px/1.6 system-ui,sans-serif;color:#33404b">You give it the threshold test your state uses, the date you passed it, your average monthly sales into that state and the rate you should have charged. It returns the tax you never collected, the penalty on it, interest accrued month by month, the total you are carrying today, what six more silent months add, and the part a voluntary disclosure can still save.</p></details><details style="border-bottom:1px solid #e6e9ed;padding:10px 0"><summary style="cursor:pointer;font:600 15px/1.4 system-ui,sans-serif;color:#1b1f24">Who is it for?</summary><p style="margin:8px 0 2px;font:400 14.5px/1.6 system-ui,sans-serif;color:#33404b">US Shopify, Etsy, Amazon and SaaS sellers who ship or sell into states where they have no office, and the bookkeepers and fractional controllers who close their books. It is built for the moment you already know you crossed a threshold and need to tell an owner what the silence has cost so far, in dollars.</p></details><details style="border-bottom:1px solid #e6e9ed;padding:10px 0"><summary style="cursor:pointer;font:600 15px/1.4 system-ui,sans-serif;color:#1b1f24">Why not just ask a chatbot?</summary><p style="margin:8px 0 2px;font:400 14.5px/1.6 system-ui,sans-serif;color:#33404b">A chatbot will hand you a $100,000 threshold and stop. It does not know the month you crossed, it cannot accrue interest per month on your own figures, and it will happily apply one state&#x27;s transaction count to a state that dropped transaction counts. The number an owner needs is arithmetic on your numbers, not a remembered threshold.</p></details><details style="border-bottom:1px solid #e6e9ed;padding:10px 0"><summary style="cursor:pointer;font:600 15px/1.4 system-ui,sans-serif;color:#1b1f24">What is free and what needs the key?</summary><p style="margin:8px 0 2px;font:400 14.5px/1.6 system-ui,sans-serif;color:#33404b">Every calculation is free and unlimited: one state, priced end to end, in the popup or on the web page, with no key and no watermark. The $60 licence key adds two things on a different axis - a .csv export of every state you have run so it can live in the working papers, and dated browser reminders before a lookback window or quarter closes.</p></details><details style="border-bottom:1px solid #e6e9ed;padding:10px 0"><summary style="cursor:pointer;font:600 15px/1.4 system-ui,sans-serif;color:#1b1f24">What would this cost done by hand?</summary><p style="margin:8px 0 2px;font:400 14.5px/1.6 system-ui,sans-serif;color:#33404b">A bookkeeper at $75 an hour needs roughly four hours per state to rebuild twelve months of sales by destination, test the threshold and build the accrual schedule - about $300 per state, repeated every time an owner asks again. A multi-state nexus study from a state and local tax specialist is quoted well above that.</p></details><script type="application/ld+json" data-yj="yj-faq-ld">{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "What does this actually work out?", "acceptedAnswer": {"@type": "Answer", "text": "You give it the threshold test your state uses, the date you passed it, your average monthly sales into that state and the rate you should have charged. It returns the tax you never collected, the penalty on it, interest accrued month by month, the total you are carrying today, what six more silent months add, and the part a voluntary disclosure can still save."}}, {"@type": "Question", "name": "Who is it for?", "acceptedAnswer": {"@type": "Answer", "text": "US Shopify, Etsy, Amazon and SaaS sellers who ship or sell into states where they have no office, and the bookkeepers and fractional controllers who close their books. It is built for the moment you already know you crossed a threshold and need to tell an owner what the silence has cost so far, in dollars."}}, {"@type": "Question", "name": "Why not just ask a chatbot?", "acceptedAnswer": {"@type": "Answer", "text": "A chatbot will hand you a $100,000 threshold and stop. It does not know the month you crossed, it cannot accrue interest per month on your own figures, and it will happily apply one state's transaction count to a state that dropped transaction counts. The number an owner needs is arithmetic on your numbers, not a remembered threshold."}}, {"@type": "Question", "name": "What is free and what needs the key?", "acceptedAnswer": {"@type": "Answer", "text": "Every calculation is free and unlimited: one state, priced end to end, in the popup or on the web page, with no key and no watermark. The $60 licence key adds two things on a different axis - a .csv export of every state you have run so it can live in the working papers, and dated browser reminders before a lookback window or quarter closes."}}, {"@type": "Question", "name": "What would this cost done by hand?", "acceptedAnswer": {"@type": "Answer", "text": "A bookkeeper at $75 an hour needs roughly four hours per state to rebuild twelve months of sales by destination, test the threshold and build the accrual schedule - about $300 per state, repeated every time an owner asks again. A multi-state nexus study from a state and local tax specialist is quoted well above that."}}]}</script><div id="yj-ask" style="margin:36px 0 0;padding:18px 18px 16px;border:1px solid #e2e6ea;border-radius:10px;background:#fbfbfc"><h2 style="font:600 19px/1.3 system-ui,sans-serif;margin:0 0 4px;color:#1b1f24">Ask about this tool</h2><p style="font:400 13.5px/1.5 system-ui,sans-serif;margin:0 0 12px;color:#5b6570">One question, answered by the person who built it. Your email only if you want the answer sent.</p><form onsubmit="return yjAsk(event)" style="display:grid;gap:8px"><textarea name="question" required minlength="10" maxlength="2000" rows="3" placeholder="Your question" style="font:14px/1.5 system-ui,sans-serif;padding:10px;border:1px solid #cfd6dd;border-radius:6px"></textarea><div style="display:flex;gap:8px;flex-wrap:wrap"><input type="email" name="email" placeholder="Email (optional)" style="flex:1;min-width:200px;font:14px system-ui,sans-serif;padding:9px 10px;border:1px solid #cfd6dd;border-radius:6px"><button type="submit" style="font:600 14px system-ui,sans-serif;padding:9px 18px;border:0;border-radius:6px;background:#1b1f24;color:#fff;cursor:pointer">Send</button></div><p id="yj-ask-msg" style="font:13px system-ui,sans-serif;margin:2px 0 0;color:#0a6238;min-height:1em"></p></form><script>function yjAsk(e){e.preventDefault();var f=e.target,m=document.getElementById("yj-ask-msg");m.style.color="#0a6238";fetch(location.origin+"/api/ask",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sku:152773,slug:"nexus-exposure-clock-2026",lang:"en",question:f.question.value,email:f.email.value,page:location.pathname})}).then(function(r){if(!r.ok)throw 0;m.textContent="Thanks \u2014 noted. Answers land on this page and, if you left an email, in your inbox.";f.question.value="";}).catch(function(){m.style.color="#a8551f";m.textContent="Could not send. Please try again in a minute.";});return false;}</script></div></section><!--yj-embed-s178--><details id="embed" data-yj="yj-embed" style="max-width:46rem;margin:1.6rem auto;padding:.85rem 1.1rem;border:1px solid #8884;border-radius:10px"><summary style="cursor:pointer;font-weight:600">Embed this calculator on your site (free)</summary><p style="margin:.6rem 0;opacity:.85">Paste this code into your page. It runs in your visitor’s browser and stays up to date. Nothing your visitors type is stored.</p><textarea readonly rows="6" style="width:100%;font:12px/1.4 ui-monospace,Menlo,Consolas,monospace;border:1px solid #8886;border-radius:7px;padding:.5rem">&lt;iframe src=&quot;https://getreadystack.com/embed/nexus-exposure-clock-2026/&quot; title=&quot;Sales Tax Nexus Exposure Clock 2026&quot; loading=&quot;lazy&quot; data-rs-embed=&quot;en-nexus-exposure-clock-2026&quot; style=&quot;width:100%;max-width:760px;height:640px;border:1px solid #e3e3e3;border-radius:10px&quot;&gt;&lt;/iframe&gt;
&lt;p style=&quot;font-size:13px;margin:6px 0 0&quot;&gt;&lt;a href=&quot;https://getreadystack.com/tools/nexus-exposure-clock-2026&quot;&gt;Sales Tax Nexus Exposure Clock 2026&lt;/a&gt; by &lt;a href=&quot;https://getreadystack.com/&quot;&gt;ReadyStack&lt;/a&gt;&lt;/p&gt;
&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.origin!==&quot;https://getreadystack.com&quot;||!e.data||e.data.type!==&quot;readystack-embed&quot;)return;var f=document.querySelectorAll(&quot;iframe[data-rs-embed]&quot;);for(var i=0;i&lt;f.length;i++){if(f[i].contentWindow===e.source)f[i].style.height=Math.min(e.data.h+6,8000)+&quot;px&quot;;}});&lt;/script&gt;</textarea><p style="margin:.5rem 0 0"><button type="button" data-yj="yj-embed-copy" style="font:inherit;padding:8px 14px;border:1px solid #8884;border-radius:9px;background:transparent;cursor:pointer">Copy code</button> &nbsp;<a href="/embed/">All embeddable tools</a></p><p style="margin:.7rem 0 0;font-size:.92em;opacity:.9">For businesses: your name and logo instead of ours, and each visitor’s result + e-mail in your inbox (only when they tick consent) — Pro from $19/month. <a href="/embed/pro/?ref=embed_box">See Pro &rarr;</a></p></details><script data-yj="yj-embed">(function(){var b=document.querySelector("[data-yj=yj-embed-copy]");if(!b)return;var t=b.textContent;b.addEventListener("click",function(){var a=b.closest("details").querySelector("textarea");var v=a.value;function d(){b.textContent="Copied";setTimeout(function(){b.textContent=t;},1800);}if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(v).then(d,function(){a.select();});}else{a.select();}});})();</script><section class="yj-related" style="max-width:920px;margin:56px auto 40px;padding:0 20px"><h2 style="font:600 21px/1.3 system-ui,sans-serif;margin:0 0 6px;color:#1b1f24">Same job, next tool</h2><p style="font:400 14.5px/1.5 system-ui,sans-serif;margin:0 0 20px;color:#5b6570">Free in the browser. The full version is a one-time licence.</p><div style="display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px"><a class="yj-rel-c" href="https://getreadystack.com/tools/1099-threshold-penalty-check-2026"><span class="yj-rel-t">1099 Threshold &amp; Penalty Check 2026 (US)</span><span class="yj-rel-p">$60</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/b-notice-withholding-clock-2026"><span class="yj-rel-t">B-Notice Clock: CP2100 Backup Withholding Exposure (2026)</span><span class="yj-rel-p">$60</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/dac7-deadline-penalty-clock"><span class="yj-rel-t">DAC7 Deadline &amp; Penalty Clock 2026</span><span class="yj-rel-p">$60</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/dsar-deadline-clock-2026"><span class="yj-rel-t">DSAR Deadline Clock - 9 US State Privacy Laws (2026)</span><span class="yj-rel-p">$60</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/futa-credit-reduction-2026"><span class="yj-rel-t">FUTA Credit Reduction True-Up 2026 - Form 940 Schedule A extra tax by state</span><span class="yj-rel-p">$60</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/form-5472-penalty-clock-2026"><span class="yj-rel-t">Form 5472 Penalty Clock 2026 — Foreign-Owned US LLC</span><span class="yj-rel-p">$60</span></a></div><style>.yj-rel-c{display:flex;flex-direction:column;gap:8px;padding:15px 16px;border:1px solid #e2e6ea;border-radius:6px;text-decoration:none;background:#fff}.yj-rel-c:hover{border-color:#b9c2cb;background:#fafbfc}.yj-rel-t{font:500 14.5px/1.42 system-ui,sans-serif;color:#1b1f24}.yj-rel-p{font:600 13px system-ui,sans-serif;color:#0a6238}</style></section>
<script src="/assets/pro.js?v=aa67ddda" defer></script>
<script data-yj="yj-prefill-s181 v1">(function(){try{var q=new URLSearchParams(location.search);if(!q.toString())return;var P={"R": {"employee": ["employee|w-?2\\b|arbeitnehmer|angestellt|会社員|従業員|給与所得|trabajador|asalariad|empregad|clt\\b|salari", "Employee"], "self": ["self-?employ|freelanc|sole (trader|prop)|selbst(ä|ae)ndig|freiberuf|個人事業|フリーランス|aut(ó|o)nom|\\bmei\\b", "Freelancer / self-employed"], "landlord": ["landlord|rental|vermiet|大家|不動産|arrendador|alquiler|locador|aluguel", "Landlord"], "investor": ["invest|trader|anleger|投資|inversor|investidor", "Investor / trader"], "employer": ["employer|arbeitgeber|雇用主|事業主|empleador|empregador", "Employer"], "seller": ["seller|online shop|h(ä|ae)ndler|販売|vendedor|e-?commerce", "Online seller"]}, "C": {"US": "^(us|usa)$|united states|estados unidos|vereinigte staaten|アメリカ|米国", "UK": "^(uk|gb)$|united kingdom|great britain|reino unido|vereinigtes k|イギリス|英国", "DE": "^de$|germany|deutschland|alemania|alemanha|ドイツ", "JP": "^jp$|japan|jap(ó|ã|o)n?|日本", "ES": "^es$|spain|españa|espana|espanha|spanien|スペイン", "BR": "^br$|brazil|brasil|ブラジル"}, "B": "your 2027 dates", "L": "en"};function ours(el){return !!(el&&el.closest&&el.closest("[data-yj],[data-yj-cta],[data-yj-cal],.yj-email-gate,.yj-find,.yj-related,#yj-ask,#yjgo,#yjr,header,footer,nav"));}function fields(){var r=document.querySelector("main")||document.body;return [].filter.call(r.querySelectorAll("input,select,textarea"),function(el){var t=(el.type||"").toLowerCase();return !ours(el)&&!el.disabled&&["email","hidden","search","password","file","submit","button","reset","image"].indexOf(t)<0;});}function key(el){return el.getAttribute("data-k")||el.id||el.name||"";}function fire(el){["input","change"].forEach(function(n){try{el.dispatchEvent(new Event(n,{bubbles:true}))}catch(e){}});}function setv(el,v){v=String(v).slice(0,80);var t=(el.type||"").toLowerCase(),tg=el.tagName;if(tg=="SELECT"){var o=[].filter.call(el.options,function(o){return o.value==v||o.text.trim()==v})[0];if(!o)return false;el.value=o.value;}else if(t=="checkbox"||t=="radio"){if(!/^(1|0|true|false|on|off|yes|no)$/i.test(v))return false;el.checked=/^(1|true|on|yes)$/i.test(v);}else if(t=="number"||t=="range"){var n=parseFloat(v.replace(/\s/g,"").replace(",","."));if(!isFinite(n))return false;el.value=String(n);}else if(t=="date"){if(!/^\d{4}-\d{2}-\d{2}$/.test(v))return false;el.value=v;}else{if(/[<>]/.test(v))return false;el.value=v;}fire(el);return true;}function pick(el,rx){if(el.tagName!="SELECT")return false;var re=new RegExp(rx,"i");var o=[].filter.call(el.options,function(o){return re.test(o.value)||re.test(o.text)})[0];if(!o||el.value==o.value)return false;el.value=o.value;fire(el);return true;}function run(){var F=fields(),done={},n=0;q.forEach(function(v,k){if(n>=20||/^(ref|role|cc|utm_.*|fbclid|gclid)$/.test(k)||!/^[A-Za-z0-9_-]{1,40}$/.test(k))return;F.forEach(function(el){if(key(el)===k&&!done[k]&&setv(el,v)){done[k]=1;n++;}});});var cc=(q.get("cc")||"").toUpperCase().replace(/[^A-Z]/g,"");if(P.C[cc])F.forEach(function(el){var k=key(el);if(!done[k]&&/country|land|pa(i|í)s|pays|国/i.test(k+" "+(el.id||""))&&pick(el,P.C[cc])){done[k]=1;n++;}});var ro=(q.get("role")||"").replace(/[^a-z]/g,""),R=P.R[ro];if(R)F.forEach(function(el){var k=key(el);if(!done[k]&&el.tagName=="SELECT"&&[].some.call(el.options,function(o){return [].some.call(Object.keys(P.R),function(x){return new RegExp(P.R[x][0],"i").test(o.text)})})&&pick(el,R[0])){done[k]=1;n++;}});if(q.get("ref")=="calendar"){var h=document.querySelector("main h1")||document.querySelector("h1");var d=document.createElement("div");d.setAttribute("data-yj","yj-prefill-back");d.style.cssText="margin:.4rem 0 .8rem;font:15px/1.5 system-ui,sans-serif;opacity:.9";var a=document.createElement("a");a.href="/"+P.L+"/calendar/?ref=tool"+(R?"&role="+ro:"")+(P.C[cc]?"&cc="+cc:"");a.textContent=(R?R[1]+" \u00b7 ":"")+P.B+" \u2192";d.appendChild(a);if(h&&h.parentNode)h.parentNode.insertBefore(d,h.nextSibling);}document.documentElement.setAttribute("data-yj-prefilled",String(n));}if(document.readyState=="loading")document.addEventListener("DOMContentLoaded",run);else run();}catch(e){}})();</script>
</body></html>