getreadystack commited on
Commit
7a4e040
·
verified ·
1 Parent(s): 14a74c0

Upload index.html with huggingface_hub

Browse files
Files changed (1) hide show
  1. index.html +97 -19
index.html CHANGED
@@ -1,19 +1,97 @@
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>German E-Invoice Clock 2027 - which Sec. 14 UStG date binds your German entity</title><meta name="description" content="2027-01-01 or 2028-01-01, the go-live buffer you have left, and the 8-year archive year"><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/german-e-invoice-clock-2027"><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}#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>
20
+ </head><body>
21
+ <h1>Your German e-invoicing date, buffer and archive year</h1>
22
+ <p class="sub">2027-01-01 or 2028-01-01, the go-live buffer you have left, and the 8-year archive year</p>
23
+ <label for="as_of_date">Today (the clock counts from here)</label><input type="date" id="as_of_date" data-k="as_of_date" value="2026-09-14">
24
+ <label for="entity_type">How your German sales are invoiced</label><select id="entity_type" data-k="entity_type"><option value="German entity, standard VAT (GmbH, UG, AG, branch)" selected>German entity, standard VAT (GmbH, UG, AG, branch)</option><option value="German entity, small business under EUR 22,000 (Sec. 19 UStG)">German entity, small business under EUR 22,000 (Sec. 19 UStG)</option><option value="No German establishment - foreign supplier invoicing German buyers">No German establishment - foreign supplier invoicing German buyers</option></select>
25
+ <label for="turnover_2026">Total 2026 turnover of the German entity (prior-calendar-year test) <span class="u">EUR</span></label><input type="number" id="turnover_2026" data-k="turnover_2026" value="1400000" step="any">
26
+ <label for="setup_live_date">Date your XRechnung / ZUGFeRD issuing setup goes live</label><input type="date" id="setup_live_date" data-k="setup_live_date" value="2026-11-30">
27
+ <label for="b2b_invoices_month">Domestic German B2B invoices you issue per month <span class="u">invoices</span></label><input type="number" id="b2b_invoices_month" data-k="b2b_invoices_month" value="180" step="any">
28
+ <label for="pct_under_250">Share of them at or under EUR 250 (still exempt) <span class="u">%</span></label><input type="number" id="pct_under_250" data-k="pct_under_250" value="12" step="any">
29
+ <label for="rework_minutes">Minutes to correct and re-issue one rejected invoice <span class="u">min</span></label><input type="number" id="rework_minutes" data-k="rework_minutes" value="6" step="any">
30
+ <label for="hourly_cost_eur">Loaded hourly cost of the person who does it <span class="u">EUR/h</span></label><input type="number" id="hourly_cost_eur" data-k="hourly_cost_eur" value="48" step="any">
31
+ <table><tr><th>First date you must issue a structured e-invoice</th><td class="v" data-o="issue_deadline">&mdash;</td></tr><tr><th>Days left from today</th><td class="v" data-o="days_left">&mdash;</td><td>days</td></tr><tr><th>Buffer between go-live and that date</th><td class="v" data-o="buffer_days">&mdash;</td><td>days</td></tr><tr><th>Days since the receiving duty started (2025-01-01)</th><td class="v" data-o="receive_overdue_days">&mdash;</td><td>days</td></tr><tr><th>Invoices in scope per year</th><td class="v" data-o="invoices_in_scope">&mdash;</td><td>invoices</td></tr><tr><th>Cost of a year of rejected-invoice rework</th><td class="v" data-o="rework_cost_year">&mdash;</td><td>EUR</td></tr><tr><th>Keep those e-invoices until (8 years, Sec. 147 AO)</th><td class="v" data-o="archive_until">&mdash;</td></tr></table>
32
+ <div class="buy"><b>Full version &mdash; $60 once</b><br>Takes this schedule away with you as a .csv row per entity, and sets a browser reminder on your go-live date and your binding date. $60 once &middot; one licence key per person or team seat &middot; A German tax adviser&rsquo;s statutory time fee is EUR 35 to EUR 107.50 per half hour (Sec. 13 StBVV), so EUR 70 to EUR 215 for one scoping hour on these dates.<br><a href="https://getreadystack.com/api/buy/cl/polar_cl_TvfF7f0LfIbLek81K64NPreiPyol0qXVVH31S3RM1Qr">Get the full version &mdash; $60</a></div>
33
+
34
+ <div class="f"><b>The EUR 800,000 test, applied to your entity</b><br>Applies the prior-calendar-year turnover test in Sec. 14 UStG to decide whether your first mandatory issuing date is 2027-01-01 or 2028-01-01, and names the reason.</div><div class="f"><b>Days of buffer between go-live and the mandate</b><br>Subtracts the date your XRechnung or ZUGFeRD issuing setup goes live from your binding date, so a late project shows as a negative number instead of a feeling.</div><div class="f"><b>Days overdue on the receiving duty</b><br>Counts the days since 2025-01-01, when every domestic German business had to be able to receive a structured e-invoice, whatever its turnover.</div><div class="f"><b>Invoices actually in scope per year</b><br>Removes the share of small invoices at or under EUR 250 from your annual German B2B volume, so the migration is sized on the invoices the mandate really touches.</div><div class="f"><b>What a year of rejected PDFs costs</b><br>Multiplies in-scope invoices by your rework minutes and loaded hourly cost to price a year of correcting and re-issuing invoices a buyer refuses.</div><div class="f"><b>The 8-year archive year</b><br>Applies the Sec. 147 AO retention period, shortened from ten to eight years on 2025-01-01, counting from the end of the year the invoice arose.</div>
35
+ <script>function compute(v){
36
+ function D(s){var p=String(s||'').split('-');return Date.UTC(+p[0]||1970,(+p[1]||1)-1,+p[2]||1);}
37
+ function dd(a,b){return Math.round((b-a)/86400000);}
38
+ function iso(ms){var d=new Date(ms),m=d.getUTCMonth()+1,q=d.getUTCDate();
39
+ return d.getUTCFullYear()+'-'+(m<10?'0':'')+m+'-'+(q<10?'0':'')+q;}
40
+ var asof=D(v.as_of_date), live=D(v.setup_live_date);
41
+ var t=String(v.entity_type||'German entity, standard VAT (GmbH, UG, AG, branch)');
42
+ var turn=Number(v.turnover_2026)||0;
43
+ var RECV=Date.UTC(2025,0,1), Y27=Date.UTC(2027,0,1), Y28=Date.UTC(2028,0,1);
44
+ var foreign = t.indexOf('No German establishment')===0;
45
+ var klein = t.indexOf('German entity, small business')===0;
46
+ var dl=0, label='';
47
+ if(foreign){ label='Not mandated - no German establishment (contract may still demand XRechnung)'; }
48
+ else if(klein){ label='Receiving only, since 2025-01-01 - small business is exempt from issuing'; }
49
+ else if(turn>800000){ dl=Y27; label='2027-01-01 - 2026 turnover is over the EUR 800,000 test'; }
50
+ else { dl=Y28; label='2028-01-01 - 2026 turnover is at or under EUR 800,000'; }
51
+ var days_left = dl? dd(asof,dl) : 0;
52
+ var buffer = dl? dd(live,dl) : 0;
53
+ var recv_days = foreign? 0 : dd(RECV,asof);
54
+ var perYear = (Number(v.b2b_invoices_month)||0)*12;
55
+ var pct = Math.min(100,Math.max(0,Number(v.pct_under_250)||0));
56
+ var scope = foreign? 0 : Math.round(perYear*(1-pct/100));
57
+ var cost = Math.round(scope*(Number(v.rework_minutes)||0)/60*(Number(v.hourly_cost_eur)||0));
58
+ var archive = '-';
59
+ if(dl){ archive = (new Date(dl)).getUTCFullYear()+8+'-12-31'; }
60
+ else if(klein){ archive = (new Date(asof)).getUTCFullYear()+8+'-12-31'; }
61
+ return {issue_deadline:label, days_left:days_left, buffer_days:buffer,
62
+ invoices_in_scope:scope, rework_cost_year:cost,
63
+ receive_overdue_days:recv_days, archive_until:archive};
64
+ }</script><script>(function(){
65
+ function read(){var v={};document.querySelectorAll('[data-k]').forEach(function(el){
66
+ var k=el.dataset.k;v[k]=el.type==='checkbox'?el.checked:(el.type==='number'?parseFloat(el.value):el.value);});
67
+ return v;}
68
+ function paint(){var r={};try{r=compute(read())||{};}catch(e){r={};}
69
+ document.querySelectorAll('[data-o]').forEach(function(el){
70
+ var x=r[el.dataset.o];el.textContent=(x===undefined||x===null)?'\u2014':String(x);});}
71
+ document.addEventListener('input',paint);document.addEventListener('change',paint);paint();
72
+ })();</script>
73
+
74
+
75
+ <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/german-e-invoice-clock-2027-se/" rel="noopener" data-yj-install-door="firefox" onclick="try{navigator.sendBeacon('/api/ev',new Blob([JSON.stringify({t:'install',slug:'german-e-invoice-clock-2027',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>
76
+ <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 German E-Invoice Clock 2027 - which Sec. 14 UStG date binds your German entity 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:"german-e-invoice-clock-2027",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>
77
+
78
+ <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">Takes the schedule away with you as a .csv row per entity, and sets a browser reminder on your go-live date and your binding date.</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 German tax adviser's statutory time fee is EUR 35 to EUR 107.50 per half hour (Sec. 13 StBVV), so EUR 70 to EUR 215 for one scoping hour on these dates.</p><a href="https://getreadystack.com/api/buy/cl/polar_cl_TvfF7f0LfIbLek81K64NPreiPyol0qXVVH31S3RM1Qr" 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>
79
+ <!--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>
80
+
81
+ <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>
82
+
83
+ <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>
84
+ <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-15">Updated 2026-09-15</time> · ReadyStack</p><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","dateModified":"2026-09-15","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/sku71954_result_card.jpg" alt="German E-Invoice Clock 2027 - which Sec. 14 UStG date binds your German entity" loading="lazy" style="max-width:100%;border-radius:6px"></p>
85
+ <p>109 days. That is what a German GmbH with EUR 1,400,000 of 2026 turnover has left, counted from 14 September 2026, before a PDF invoice stops being a valid invoice for its German B2B customers. If you are the finance-ops or AP lead at a group outside Germany and that GmbH is one line on your consolidation, nobody has sent you a letter about it.</p>
86
+ <p>Germany does not have one e-invoicing date. It has three switches, and the free timelines skip all of them.</p>
87
+ <p>The first is receiving. Since 2025-01-01 every domestic German business must already be able to take in a structured e-invoice in an EN 16931 format - XRechnung or ZUGFeRD. No turnover test, no phase-in. On 14 September 2026 that duty has been live for 621 days.</p>
88
+ <p>The second is the EUR 800,000 test. Under Sec. 14 UStG as amended by the Growth Opportunities Act, a German entity whose total turnover in the previous calendar year - 2026 - is over EUR 800,000 must issue structured e-invoices for domestic B2B sales from 2027-01-01. Everyone else has until 2028-01-01, when the transitional arrangements expire.</p>
89
+ <p>The third is who is caught at all. A small business under Sec. 19 UStG is exempt from issuing, but still has to receive. A supplier with no German establishment is not bound by Sec. 14 UStG in either direction - although a German buyer&#x27;s contract can still demand XRechnung.</p>
90
+ <p>Ask a chatbot when Germany&#x27;s mandate starts and you get one date for a country. The date you need is for an entity. That is the gap this extension fills.</p>
91
+ <p>Type your figures into the popup and it returns seven of them at once. On the values it ships with - EUR 1,400,000 of 2026 turnover, go-live pencilled for 2026-11-30, 180 domestic B2B invoices a month, 12 per cent of them at or under EUR 250, six minutes and EUR 48 an hour to correct a rejected one - the answer is 2027-01-01, 109 days left, 32 days of buffer, 621 days already past the receiving duty, 1,901 invoices in scope, EUR 9,125 a year of rework, and an archive that runs to 2035-12-31.</p>
92
+ <p>Two of those numbers are the ones people get wrong by hand. The volume is one: 180 invoices a month is 2,160 a year, but invoices at or under EUR 250 stay exempt, so only 1,901 are in scope. The buffer is the other: a go-live in late November sounds comfortable until the screen says 32 days.</p>
93
+ <p>Change one input and the whole schedule moves. Drop the turnover to EUR 640,000, push go-live to 2027-06-30 and cut the volume to 45 invoices a month with 20 per cent under EUR 250, and the same screen returns 2028-01-01, 474 days left, 185 days of buffer, 432 invoices in scope and EUR 2,074 a year. Same rules, different entity, different plan.</p>
94
+ <p>The last number is the quiet one. Retention for accounting vouchers dropped from ten years to eight on 2025-01-01, under Sec. 147 AO as amended by the Fourth Bureaucracy Relief Act, counted from the end of the year the document arose. An invoice issued in 2027 is therefore kept to the end of 2035, not 2037 - which matters when you are sizing the archive you are about to buy.</p>
95
+ <p>All of that is free, in the popup and on the web page, with no key and no limit: no watermark, no run counter, no blurred answer. The $60 licence adds a different axis, not a bigger one - it exports the worked schedule as a .csv row per entity, the file you paste into the migration plan, and sets a browser reminder on your go-live date and your binding date. A German tax adviser bills a statutory time fee of EUR 35 to EUR 107.50 per half hour under Sec. 13 StBVV, so EUR 70 to EUR 215 for one scoping hour on these dates, per entity, every time the plan moves.</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 extension actually tell me?</summary><p style="margin:8px 0 2px;font:400 14.5px/1.6 system-ui,sans-serif;color:#33404b">It applies the German Sec. 14 UStG e-invoicing rules to one entity and returns seven things: your first mandatory issuing date, days left to it, the buffer between your go-live date and that date, days since the 2025-01-01 receiving duty began, invoices in scope per year, the cost of a year of rejected-invoice rework, and the archive year.</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">Finance-ops, AP and AR leads at non-German groups that sell into Germany through a German GmbH, UG, AG or registered branch, and who read their rules in English. It is also used by shared-service centres that run several German entities and need each one&#x27;s date separately rather than one blanket answer.</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 a timeline blog not do?</summary><p style="margin:8px 0 2px;font:400 14.5px/1.6 system-ui,sans-serif;color:#33404b">They answer for Germany, not for your entity. They quote 2025, 2027 or 2028 as if one date applied to everyone, and they skip the three switches that decide it: the EUR 800,000 prior-calendar-year turnover test, the small-business exemption from issuing, and the case where you have no German establishment at all.</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, in the popup and on the web page, with no key and no limit. The paid licence adds two things on a different axis: exporting the worked schedule as a .csv row you keep per entity, and a browser reminder set on your go-live date and your binding date.</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 otherwise?</summary><p style="margin:8px 0 2px;font:400 14.5px/1.6 system-ui,sans-serif;color:#33404b">A German tax adviser bills a statutory time fee of EUR 35 to EUR 107.50 per half hour under Sec. 13 StBVV, so EUR 70 to EUR 215 for a single scoping hour on these dates, per entity, repeated every time your turnover or your project plan moves. The licence is 60 US dollars once.</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 extension actually tell me?", "acceptedAnswer": {"@type": "Answer", "text": "It applies the German Sec. 14 UStG e-invoicing rules to one entity and returns seven things: your first mandatory issuing date, days left to it, the buffer between your go-live date and that date, days since the 2025-01-01 receiving duty began, invoices in scope per year, the cost of a year of rejected-invoice rework, and the archive year."}}, {"@type": "Question", "name": "Who is it for?", "acceptedAnswer": {"@type": "Answer", "text": "Finance-ops, AP and AR leads at non-German groups that sell into Germany through a German GmbH, UG, AG or registered branch, and who read their rules in English. It is also used by shared-service centres that run several German entities and need each one's date separately rather than one blanket answer."}}, {"@type": "Question", "name": "Why will a free chatbot or a timeline blog not do?", "acceptedAnswer": {"@type": "Answer", "text": "They answer for Germany, not for your entity. They quote 2025, 2027 or 2028 as if one date applied to everyone, and they skip the three switches that decide it: the EUR 800,000 prior-calendar-year turnover test, the small-business exemption from issuing, and the case where you have no German establishment at all."}}, {"@type": "Question", "name": "What is free and what does the paid version add?", "acceptedAnswer": {"@type": "Answer", "text": "Every calculation is free, in the popup and on the web page, with no key and no limit. The paid licence adds two things on a different axis: exporting the worked schedule as a .csv row you keep per entity, and a browser reminder set on your go-live date and your binding date."}}, {"@type": "Question", "name": "What would this cost me otherwise?", "acceptedAnswer": {"@type": "Answer", "text": "A German tax adviser bills a statutory time fee of EUR 35 to EUR 107.50 per half hour under Sec. 13 StBVV, so EUR 70 to EUR 215 for a single scoping hour on these dates, per entity, repeated every time your turnover or your project plan moves. The licence is 60 US dollars once."}}]}</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:71954,slug:"german-e-invoice-clock-2027",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.</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/ca-climate-disclosure-clock-2026"><span class="yj-rel-t">CA Climate Disclosure Clock 2026 — which SB 253 / SB 261 report your group owe</span><span class="yj-rel-p">$60</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/inherited-ira-10-year-rmd-2026"><span class="yj-rel-t">Inherited IRA 10-Year Rule: 2026 Annual RMD and Excise Clock</span><span class="yj-rel-p">$60</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/us-trademark-renewal-clock-2026"><span class="yj-rel-t">US Trademark Renewal Clock 2026 - Section 8/9 window, grace date and exact USP</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/belgium-einvoice-fine-vs-deduction-2026"><span class="yj-rel-t">Belgium E-Invoice Fine &amp; 120% Check 2026</span><span class="yj-rel-p">$60</span></a><a class="yj-rel-c" href="https://getreadystack.com/tools/colorado-admt-clock-2027"><span class="yj-rel-t">Colorado ADMT Clock - SB 26-189 deadline calculator for automated decisions</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>
96
+ <script src="/assets/pro.js?v=64686734" defer></script>
97
+ </body></html>