getreadystack commited on
Commit
3dca3d8
·
verified ·
1 Parent(s): e7ae2b5

Upload index.html with huggingface_hub

Browse files
Files changed (1) hide show
  1. index.html +85 -19
index.html CHANGED
@@ -1,19 +1,85 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>1099-DA Basis Gap Checker (2026)</title><meta name="description" content="See which of your 2026 crypto sales reach the IRS with box 1e blank - and price what that blank costs."><style>*{box-sizing:border-box}
2
+ :root{color-scheme:light dark}
3
+ body{font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;margin:0;padding:14px;min-width:320px}
4
+ h1{font-size:1.05rem;margin:0 0 .2rem}
5
+ .sub{opacity:.75;margin:0 0 .9rem;font-size:.86rem}
6
+ label{display:block;margin:.55rem 0 .2rem;font-weight:600;font-size:.86rem}
7
+ .u{font-weight:400;opacity:.65}
8
+ input,select{width:100%;padding:.4rem .5rem;border:1px solid #8886;border-radius:7px;
9
+ background:transparent;color:inherit;font:inherit}
10
+ input[type=checkbox]{width:auto}
11
+ table{border-collapse:collapse;width:100%;margin-top:.9rem;font-size:.9rem}
12
+ th,td{border:1px solid #8884;padding:.36rem .5rem;text-align:left}
13
+ td.v{font-variant-numeric:tabular-nums;font-weight:600}
14
+ .f{border:1px solid #8884;border-radius:9px;padding:9px 11px;margin:.5rem 0;font-size:.87rem}
15
+ .buy{margin-top:18px;border:1px solid #8884;border-radius:10px;padding:13px}
16
+ .buy a{display:inline-block;margin-top:.5rem;padding:.45rem .9rem;border:1px solid currentColor;
17
+ border-radius:8px;text-decoration:none;color:inherit;font-weight:600}
18
+ 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>
19
+ <!--yj-canon-s101--><link rel="canonical" href="https://getreadystack.com/tools/crypto-1099da-basis-gap"></head><body>
20
+ <h1>Price one 2026 crypto lot's 1099-DA basis gap</h1>
21
+ <p class="sub">See which of your 2026 crypto sales reach the IRS with box 1e blank - and price what that blank costs.</p>
22
+ <label for="asset_origin">Where this lot came from</label><select id="asset_origin" data-k="asset_origin"><option value="Transferred in from another exchange or a self-custody wallet" selected>Transferred in from another exchange or a self-custody wallet</option><option value="Bought at this same broker before Jan 1, 2026">Bought at this same broker before Jan 1, 2026</option><option value="Bought at this same broker on or after Jan 1, 2026">Bought at this same broker on or after Jan 1, 2026</option></select>
23
+ <label for="proceeds">Gross proceeds from the 2026 sale <span class="u">USD</span></label><input type="number" id="proceeds" data-k="proceeds" value="42000" step="any">
24
+ <label for="cost_basis">Your documented cost basis for the lot <span class="u">USD</span></label><input type="number" id="cost_basis" data-k="cost_basis" value="31500" step="any">
25
+ <label for="holding_period">Holding period</label><select id="holding_period" data-k="holding_period"><option value="Long-term (held more than 1 year)" selected>Long-term (held more than 1 year)</option><option value="Short-term (held 1 year or less)">Short-term (held 1 year or less)</option></select>
26
+ <label for="ltcg_rate">Long-term capital gains band <span class="u">%</span></label><select id="ltcg_rate" data-k="ltcg_rate"><option value="0">0</option><option value="15" selected>15</option><option value="20">20</option></select>
27
+ <label for="ordinary_rate">Ordinary federal rate (used if short-term) <span class="u">%</span></label><input type="number" id="ordinary_rate" data-k="ordinary_rate" value="24" step="any">
28
+ <label for="state_rate">State income tax rate <span class="u">%</span></label><input type="number" id="state_rate" data-k="state_rate" value="5" step="any">
29
+ <label for="niit_applies">Net investment income tax applies (3.8%)</label><input type="checkbox" id="niit_applies" data-k="niit_applies" checked>
30
+ <label for="has_records">I can substantiate this lot's date and cost from my own records</label><input type="checkbox" id="has_records" data-k="has_records">
31
+ <table><tr><th>What box 1e will say</th><td class="v" data-o="basis_on_form">&mdash;</td></tr><tr><th>Your true gain</th><td class="v" data-o="true_gain">&mdash;</td><td>USD</td></tr><tr><th>Gain the IRS reads off the form</th><td class="v" data-o="irs_assumed_gain">&mdash;</td><td>USD</td></tr><tr><th>Phantom gain</th><td class="v" data-o="phantom_gain">&mdash;</td><td>USD</td></tr><tr><th>Combined rate on the phantom gain</th><td class="v" data-o="combined_rate">&mdash;</td><td>%</td></tr><tr><th>Tax on the phantom gain</th><td class="v" data-o="phantom_tax">&mdash;</td><td>USD</td></tr><tr><th>20% accuracy-related penalty</th><td class="v" data-o="accuracy_penalty">&mdash;</td><td>USD</td></tr><tr><th>Total exposure on this one lot</th><td class="v" data-o="total_exposure">&mdash;</td><td>USD</td></tr></table>
32
+ <div class="buy"><b>Full version &mdash; $60 once</b><br>Exports every lot you checked to a CSV basis-substantiation worksheet you keep, and sets the Dec 31 2026 and 1099-DA arrival reminders. One licence key per person or team seat &middot; 7-day full refund. A US CPA bills $150&ndash;$400 an hour for the same reconciliation.<br><a href="https://buy.polar.sh/polar_cl_42QJWQ2aEv6O3mF1hF96fcvG5EW1DSBIYQsv33b37fv" data-polar-checkout data-polar-checkout-theme="light">Get the full version &mdash; $60</a></div>
33
+ <script defer data-auto-init src="https://cdn.jsdelivr.net/npm/@polar-sh/checkout@latest/dist/embed.global.js"></script>
34
+
35
+ <div class="f"><b>Covered / noncovered test</b><br>Decides, for one lot, whether the broker prints your cost basis or leaves box 1e blank - a digital asset is covered only if it was acquired at that same broker on or after Jan 1, 2026 and held there until the sale.</div><div class="f"><b>Phantom gain math</b><br>Shows the gap between your true gain and the gain the IRS matching system reads off the form when basis is blank, which is the full gross proceeds.</div><div class="f"><b>Combined rate stack</b><br>Adds your federal rate (long-term band or ordinary rate), your state rate and the 3.8% net investment income tax into the single rate that lands on the phantom gain.</div><div class="f"><b>Section 6662 penalty line</b><br>Adds the 20% accuracy-related penalty on top when you tick that you cannot substantiate the lot's acquisition date and cost from your own records.</div><div class="f"><b>Lot worksheet export (full version)</b><br>Writes every lot you have checked to a CSV basis-substantiation worksheet you keep on disk and hand to your preparer.</div><div class="f"><b>Deadline reminders (full version)</b><br>Sets browser alarms for the Dec 31 2026 close of the tax year and for the window when 1099-DA forms arrive, so a blank box 1e is not a February surprise.</div>
36
+ <script>function compute(v){
37
+ var origin = String(v.asset_origin || '');
38
+ var covered = origin.indexOf('on or after Jan 1, 2026') !== -1;
39
+ var proceeds = Number(v.proceeds) || 0;
40
+ var basis = Number(v.cost_basis) || 0;
41
+ if (proceeds < 0) { proceeds = 0; }
42
+ if (basis < 0) { basis = 0; }
43
+ var longTerm = String(v.holding_period || '').indexOf('Long-term') === 0;
44
+ var fed = longTerm ? (Number(v.ltcg_rate) || 0) : (Number(v.ordinary_rate) || 0);
45
+ var rate = fed + (Number(v.state_rate) || 0) + (v.niit_applies ? 3.8 : 0);
46
+ if (rate < 0) { rate = 0; }
47
+ if (rate > 100) { rate = 100; }
48
+ var trueGain = proceeds - basis;
49
+ var assumedGain = covered ? trueGain : proceeds;
50
+ var phantom = assumedGain - trueGain;
51
+ if (phantom < 0) { phantom = 0; }
52
+ var tax = phantom * rate / 100;
53
+ var penalty = (!covered && !v.has_records) ? tax * 0.2 : 0;
54
+ function r2(n){ return Math.round(n * 100) / 100; }
55
+ return {
56
+ basis_on_form: covered ? 'Box 1e filled by the broker' : 'Box 1e BLANK - noncovered lot',
57
+ true_gain: r2(trueGain),
58
+ irs_assumed_gain: r2(assumedGain),
59
+ phantom_gain: r2(phantom),
60
+ combined_rate: r2(rate),
61
+ phantom_tax: r2(tax),
62
+ accuracy_penalty: r2(penalty),
63
+ total_exposure: r2(tax + penalty)
64
+ };
65
+ }</script><script>(function(){
66
+ function read(){var v={};document.querySelectorAll('[data-k]').forEach(function(el){
67
+ var k=el.dataset.k;v[k]=el.type==='checkbox'?el.checked:(el.type==='number'?parseFloat(el.value):el.value);});
68
+ return v;}
69
+ function paint(){var r={};try{r=compute(read())||{};}catch(e){r={};}
70
+ document.querySelectorAll('[data-o]').forEach(function(el){
71
+ var x=r[el.dataset.o];el.textContent=(x===undefined||x===null)?'\u2014':String(x);});}
72
+ document.addEventListener('input',paint);document.addEventListener('change',paint);paint();
73
+ })();</script>
74
+
75
+
76
+ <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://addons.mozilla.org/firefox/addon/1099-da-basis-gap-checker-2026/" rel="noopener" data-yj-install-door="firefox" onclick="try{navigator.sendBeacon('/api/ev',new Blob([JSON.stringify({t:'install',slug:'crypto-1099da-basis-gap',src:'firefox',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">Firefox Add-ons</a></section>
77
+ <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 1099-DA Basis Gap Checker (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:"crypto-1099da-basis-gap",lang:"en",source:"rule_alert"})}).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></section>
78
+
79
+ <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 complete version <span class="yj-price">$60</span></h2><p style="margin:.25rem 0 1rem;color:#41505f">This page is the working piece. The full pack has everything below.</p><p style="margin:0 0 1rem;color:#41505f">See which of your 2026 crypto sales reach the IRS with box 1e blank - and price what that blank costs.</p><p style="margin:0 0 1rem;color:#5b6b7c;font-size:.94rem">A US CPA bills $150-$400 an hour for crypto basis reconciliation, and answering one CP2000 notice is normally a 3-6 hour engagement.</p><a href="https://buy.polar.sh/polar_cl_42QJWQ2aEv6O3mF1hF96fcvG5EW1DSBIYQsv33b37fv" 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></section>
80
+ <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><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 the 1099-DA Basis Gap Checker actually do?</summary><p style="margin:8px 0 2px;font:400 14.5px/1.6 system-ui,sans-serif;color:#33404b">You describe one 2026 crypto sale: where the lot came from, the gross proceeds, your own cost basis, the holding period and your rates. It tells you whether your broker will print a cost basis in box 1e or leave it blank, and prices the tax and penalty that blank exposes if the IRS reads the sale as all gain.</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 this for?</summary><p style="margin:8px 0 2px;font:400 14.5px/1.6 system-ui,sans-serif;color:#33404b">US crypto investors who moved coins between exchanges or into a hardware wallet before selling in 2026, and the bookkeepers and enrolled agents who clean up after them. It is aimed at anyone who will get a Form 1099-DA in early 2027 for assets their broker did not watch being acquired.</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 will a free chatbot or my exchange&#x27;s gain/loss report not tell me this?</summary><p style="margin:8px 0 2px;font:400 14.5px/1.6 system-ui,sans-serif;color:#33404b">Both assume your broker knows your basis. For 2026 a digital asset is covered only if it was acquired at that same broker on or after January 1, 2026 and held there until sale. Transferred-in lots are noncovered, no transfer statement carries basis across, and box 1e simply stays blank.</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 does the paid version add?</summary><p style="margin:8px 0 2px;font:400 14.5px/1.6 system-ui,sans-serif;color:#33404b">Every calculation is free, forever, with no key, no watermark and no limit on how many lots you price. The paid version changes axis rather than depth: it exports the lots you checked to a CSV basis-substantiation worksheet you own, and sets the year-end and 1099-DA arrival reminders.</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 me if I hired someone instead?</summary><p style="margin:8px 0 2px;font:400 14.5px/1.6 system-ui,sans-serif;color:#33404b">A US CPA bills roughly $150 to $400 an hour for crypto basis reconciliation, and drafting the response to a single CP2000 matching notice is normally a three to six hour engagement. The full version is $60 once, with a seven-day full refund.</p></details><script type="application/ld+json" data-yj="yj-faq-ld">{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "What does the 1099-DA Basis Gap Checker actually do?", "acceptedAnswer": {"@type": "Answer", "text": "You describe one 2026 crypto sale: where the lot came from, the gross proceeds, your own cost basis, the holding period and your rates. It tells you whether your broker will print a cost basis in box 1e or leave it blank, and prices the tax and penalty that blank exposes if the IRS reads the sale as all gain."}}, {"@type": "Question", "name": "Who is this for?", "acceptedAnswer": {"@type": "Answer", "text": "US crypto investors who moved coins between exchanges or into a hardware wallet before selling in 2026, and the bookkeepers and enrolled agents who clean up after them. It is aimed at anyone who will get a Form 1099-DA in early 2027 for assets their broker did not watch being acquired."}}, {"@type": "Question", "name": "Why will a free chatbot or my exchange's gain/loss report not tell me this?", "acceptedAnswer": {"@type": "Answer", "text": "Both assume your broker knows your basis. For 2026 a digital asset is covered only if it was acquired at that same broker on or after January 1, 2026 and held there until sale. Transferred-in lots are noncovered, no transfer statement carries basis across, and box 1e simply stays blank."}}, {"@type": "Question", "name": "What is free and what does the paid version add?", "acceptedAnswer": {"@type": "Answer", "text": "Every calculation is free, forever, with no key, no watermark and no limit on how many lots you price. The paid version changes axis rather than depth: it exports the lots you checked to a CSV basis-substantiation worksheet you own, and sets the year-end and 1099-DA arrival reminders."}}, {"@type": "Question", "name": "What would this cost me if I hired someone instead?", "acceptedAnswer": {"@type": "Answer", "text": "A US CPA bills roughly $150 to $400 an hour for crypto basis reconciliation, and drafting the response to a single CP2000 matching notice is normally a three to six hour engagement. The full version is $60 once, with a seven-day full refund."}}]}</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:0,slug:"crypto-1099da-basis-gap",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><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, 7-day refund.</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/mileage-reimbursement-audit-2026"><span class="yj-rel-t">Mileage Reimbursement Audit 2026 - both IRS rates, and what lands on the W-2</span><span class="yj-rel-p">$60</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/irs-mileage-tracker-self-employed"><span class="yj-rel-t">2026 IRS Mileage Tracker for U.S. Self-Employed Contractors</span><span class="yj-rel-p">$21</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/irs-mileage-log-spreadsheet-2026"><span class="yj-rel-t">IRS Mileage Log Spreadsheet for Self-Employed Drivers 2026</span><span class="yj-rel-p">$21</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/wedding-planning-template-budget-calculator"><span class="yj-rel-t">Wedding Planning Template — US Catering Contract Budget: Service Charge, Sales</span><span class="yj-rel-p">$90</span></a><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/box12-tt-overtime-premium-audit"><span class="yj-rel-t">Box 12 Code TT Audit — 2026 W-2 Overtime Premium</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><!--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><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>
81
+
82
+ <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>
83
+
84
+ <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>
85
+ </body></html>