" + "" + '
' + "
" + "

ROI-Auswertung Reinigung – Nextfm Robotics

" + '
Konfiguration basierend auf Ihren Eingaben
' + "
" + '
' + '
' + "Erstellt am: " + dateStr + "
" + "
" + '
' + '
' + '
Grundfläche
' + fmt(f) + " m²
" + '
Turnus
' + fmt(t) + " Tage/Monat
" + '
Leistung
' + fmt(l) + " m²/h
" + '
Stundensatz
' + s.toLocaleString("de-DE") + " €/h
" + "
" + "
" + '
' + '
' + '
Roboter
' + (robotsLabel || "–") + "
" + '
Finanzierung
' + fin + "
" + '
IST-Kosten / Monat
' + fmtEUR(ist) + " €
" + '
Autonom (Roboter gesamt) / Monat
' + fmtEUR(rkTotal) + " €
" + '
Ersparnis / Monat
' + fmtEUR(ersp) + " €
" + '
Ersparnis %
' + fmtEUR(relPct) + " %
" + '
Stunden / Monat
' + fmt(std) + " Std.
" + '
Amortisation
' + (ersp > 0 ? Math.ceil(rkTotal / ersp) : "–") + " Monate
" + "
" + '
Hinweis: Der PDF-Export basiert auf der aktuell gewählten Konfiguration im Rechner. Werte sind indikativ und dienen zur ersten Orientierung.
' + "
" + '
' + '
Cashflow über 5 Jahre (Manuell vs. Roboter)
' + "" + "" + "" + "" + '' + '' + '' + '' + "" + "" + "" + cashRows + "" + "
JahrManuell / JahrRoboter / JahrErsparnis / JahrKumuliert
" + "
" + "" + ""; const w = window.open("", "_blank"); if (!w) { alert("Popup-Blocker aktiv. Bitte Popups für diese Seite erlauben, damit der PDF-Export funktioniert."); return; } w.document.open(); w.document.write(html); w.document.close(); w.onload = function () { setTimeout(function () { w.focus(); w.print(); }, 350); }; } function calc() { const f = parseFloat($("flaeche").value) || 0; const t = parseFloat($("turnus").value) || 0; const l = parseFloat($("leistung").value) || 0; const s = parseFloat($("satz").value) || 0; const std = l > 0 ? (f / l) * t : 0; const ist = std * s; const fin = getFin(); const sel = getSelectedRobots(); const r1Cost = robotMonthlyCost(sel.r1, fin); const r2Cost = sel.use2 ? robotMonthlyCost(sel.r2, fin) : 0; const rkTotal = r1Cost + r2Cost; const ersp = ist - rkTotal; const relPct = ist > 0 ? (ersp / ist) * 100 : 0; $("ist").textContent = fmt(ist); $("std").textContent = fmt(std); $("manuell").textContent = fmt(ist); $("robokosten").textContent = fmt(rkTotal); const noSavings = !(ersp > 0); setNoSavingsState(noSavings); let amortMonate = null; if (!noSavings) { $("em").textContent = fmt(ersp); $("ep").textContent = fmt(relPct); amortMonate = Math.ceil(rkTotal / ersp); $("amort").textContent = String(amortMonate); } renderCashflow(ist, rkTotal); updateCTA({ r1: sel.r1, r2: sel.r2, use2: sel.use2, fin: fin, flaeche: f, turnus: t, leistung: l, stundensatz: s, stdMonat: std, istKosten: ist, roboKosten: rkTotal, ersparnisMonat: ersp, amortMonate: amortMonate }); } function initCashflowAccordion() { const wrap = root.querySelector(".rr-acc"); const btn = $("cf_toggle"); const body = $("cf_body"); const icon = wrap ? wrap.querySelector(".rr-acc-icon") : null; if (!wrap || !btn || !body || !icon) return; btn.addEventListener("click", function () { const open = body.style.display !== "none"; body.style.display = open ? "none" : "block"; btn.setAttribute("aria-expanded", open ? "false" : "true"); icon.textContent = open ? "+" : "–"; }); } initRobots(); initCashflowAccordion(); ["flaeche","turnus","leistung","satz","robot1","robot2"].forEach(function (id) { $(id).addEventListener("input", calc); $(id).addEventListener("change", calc); }); root.querySelectorAll('input[name="fin"]').forEach(function (r) { r.addEventListener("change", calc); }); $("useSecondRobot").addEventListener("change", syncSecondRobotUI); $("btn_pdf").addEventListener("click", exportPDF); syncSecondRobotUI(); calc(); });
Dieses Feld dient zur Validierung und sollte nicht verändert werden.
Persönlicher Ansprechpartner(erforderlich)
Anschrift
Cookie Consent Banner von Real Cookie Banner