{"id":130,"date":"2026-03-13T15:10:11","date_gmt":"2026-03-13T14:10:11","guid":{"rendered":"https:\/\/www.abakos.it\/wp\/?p=130"},"modified":"2026-03-18T09:31:03","modified_gmt":"2026-03-18T08:31:03","slug":"calcolatore-forfettario","status":"publish","type":"post","link":"https:\/\/www.abakos.it\/wp\/2026\/03\/13\/calcolatore-forfettario\/","title":{"rendered":"Calcolatore Forfettario"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"it\">\n<head>\n  <meta charset=\"UTF-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n  <title>Calcolatore Forfetario 2025<\/title>\n  <style>\n    :root {\n      --bg: #f5f7fb;\n      --card: #ffffff;\n      --text: #1c2434;\n      --muted: #5f6b84;\n      --line: #d9e1ef;\n      --accent: #174ea6;\n      --accent-2: #0f7a5c;\n      --warn: #b45309;\n      --danger: #b42318;\n      --shadow: 0 18px 40px rgba(16, 24, 40, .08);\n      --radius: 18px;\n    }\n\n    * { box-sizing: border-box; }\n    body {\n      margin: 0;\n      font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;\n      color: var(--text);\n      background: linear-gradient(180deg, #eef3ff 0%, var(--bg) 260px);\n    }\n\n    .wrap {\n      max-width: 1200px;\n      margin: 0 auto;\n      padding: 28px 18px 48px;\n    }\n\n    .hero {\n      background: linear-gradient(135deg, #17376d, #2557b0);\n      color: #fff;\n      border-radius: 24px;\n      padding: 28px;\n      box-shadow: var(--shadow);\n      margin-bottom: 22px;\n    }\n\n    .hero h1 {\n      margin: 0 0 10px;\n      font-size: clamp(1.8rem, 3vw, 2.7rem);\n      line-height: 1.08;\n    }\n\n    .hero p {\n      margin: 0;\n      max-width: 900px;\n      color: rgba(255,255,255,.92);\n      line-height: 1.6;\n    }\n\n    .layout {\n      display: grid;\n      grid-template-columns: 1.1fr .9fr;\n      gap: 22px;\n      align-items: start;\n    }\n\n    .card {\n      background: var(--card);\n      border: 1px solid var(--line);\n      border-radius: var(--radius);\n      box-shadow: var(--shadow);\n      overflow: hidden;\n    }\n\n    .card-head {\n      padding: 18px 22px 10px;\n      border-bottom: 1px solid #eef2f8;\n      background: linear-gradient(180deg, #fff, #fbfcff);\n    }\n\n    .card-head h2 {\n      margin: 0 0 6px;\n      font-size: 1.15rem;\n    }\n\n    .card-head p {\n      margin: 0;\n      color: var(--muted);\n      line-height: 1.5;\n      font-size: .96rem;\n    }\n\n    .card-body { padding: 20px 22px 24px; }\n\n    .grid {\n      display: grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 16px;\n    }\n\n    .field { display: flex; flex-direction: column; gap: 8px; }\n    .field.full { grid-column: 1 \/ -1; }\n\n    label {\n      font-weight: 650;\n      font-size: .95rem;\n    }\n\n    .hint {\n      font-size: .83rem;\n      color: var(--muted);\n      line-height: 1.45;\n    }\n\n    input, select {\n      width: 100%;\n      padding: 12px 14px;\n      border-radius: 12px;\n      border: 1px solid #cfd8e6;\n      background: #fff;\n      color: var(--text);\n      font-size: .98rem;\n      outline: none;\n      transition: .15s ease;\n    }\n\n    input:focus, select:focus {\n      border-color: #7da6ef;\n      box-shadow: 0 0 0 4px rgba(53, 114, 239, .10);\n    }\n\n    .inline {\n      display: flex;\n      gap: 10px;\n      flex-wrap: wrap;\n      align-items: center;\n    }\n\n    .check {\n      display: flex;\n      gap: 10px;\n      align-items: flex-start;\n      padding: 12px 14px;\n      border: 1px solid #d7e0ee;\n      border-radius: 12px;\n      background: #fbfcff;\n    }\n\n    .check input { width: 18px; height: 18px; margin-top: 2px; }\n    .check label { margin: 0; font-weight: 600; }\n\n    .actions {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 12px;\n      margin-top: 20px;\n    }\n\n    button {\n      border: 0;\n      border-radius: 12px;\n      padding: 13px 18px;\n      font-size: .98rem;\n      font-weight: 700;\n      cursor: pointer;\n      transition: .15s ease;\n    }\n\n    .btn-primary {\n      background: var(--accent);\n      color: #fff;\n    }\n\n    .btn-secondary {\n      background: #eaf1ff;\n      color: #133a7c;\n    }\n\n    .btn-print {\n      background: var(--accent-2);\n      color: #fff;\n    }\n\n    button:hover { transform: translateY(-1px); }\n\n    .summary {\n      display: grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 12px;\n      margin-bottom: 18px;\n    }\n\n    .stat {\n      border: 1px solid #d8e2f0;\n      border-radius: 14px;\n      padding: 14px;\n      background: linear-gradient(180deg, #ffffff, #f8fbff);\n    }\n\n    .stat .k {\n      font-size: .82rem;\n      color: var(--muted);\n      margin-bottom: 6px;\n    }\n\n    .stat .v {\n      font-size: 1.35rem;\n      font-weight: 800;\n      letter-spacing: -.02em;\n    }\n\n    .stat.highlight {\n      background: linear-gradient(135deg, #103b82, #2864c4);\n      color: #fff;\n      border-color: transparent;\n    }\n\n    .stat.highlight .k { color: rgba(255,255,255,.82); }\n\n    .report {\n      border: 1px solid #d9e3f2;\n      border-radius: 16px;\n      overflow: hidden;\n    }\n\n    .report-head {\n      padding: 16px 18px;\n      background: #f6f9ff;\n      border-bottom: 1px solid #dce6f6;\n    }\n\n    .report-title {\n      margin: 0 0 4px;\n      font-size: 1.06rem;\n    }\n\n    .report-sub {\n      margin: 0;\n      color: var(--muted);\n      font-size: .9rem;\n    }\n\n    .rows { padding: 8px 16px 14px; }\n\n    .row {\n      display: grid;\n      grid-template-columns: 1fr auto;\n      gap: 14px;\n      padding: 11px 2px;\n      border-bottom: 1px dashed #e2e8f2;\n      align-items: start;\n    }\n\n    .row:last-child { border-bottom: 0; }\n    .row strong { display: block; }\n    .row small {\n      display: block;\n      color: var(--muted);\n      line-height: 1.45;\n      margin-top: 3px;\n    }\n\n    .amount { font-weight: 800; white-space: nowrap; }\n    .amount.negative { color: var(--danger); }\n    .amount.positive { color: var(--accent-2); }\n\n    .badge {\n      display: inline-block;\n      padding: 4px 8px;\n      border-radius: 999px;\n      font-size: .78rem;\n      font-weight: 700;\n      background: #edf3ff;\n      color: #244f9e;\n    }\n\n    .notes {\n      margin-top: 16px;\n      padding: 14px 16px;\n      border-radius: 14px;\n      background: #fff9ec;\n      border: 1px solid #f4dfac;\n      color: #7a5610;\n      line-height: 1.55;\n      font-size: .92rem;\n    }\n\n    .foot {\n      margin-top: 22px;\n      color: var(--muted);\n      font-size: .87rem;\n      line-height: 1.55;\n    }\n\n    .mono { font-variant-numeric: tabular-nums; }\n\n    @media (max-width: 980px) {\n      .layout { grid-template-columns: 1fr; }\n      .grid, .summary { grid-template-columns: 1fr; }\n    }\n\n    @media print {\n      body {\n        background: #fff;\n        color: #000;\n        font-size: 11pt;\n      }\n      .wrap { max-width: none; padding: 0; }\n      .hero, .input-card, .foot, .screen-only { display: none !important; }\n      .layout { display: block; }\n      .card {\n        box-shadow: none;\n        border: none;\n        border-radius: 0;\n      }\n      .card-head { border-bottom: 1px solid #bbb; padding: 0 0 12px; }\n      .card-body { padding: 14px 0 0; }\n      .summary { gap: 8px; }\n      .stat {\n        background: #fff !important;\n        color: #000 !important;\n        box-shadow: none;\n        border: 1px solid #888;\n      }\n      .stat .k { color: #222 !important; }\n      .report-head { background: #fff; }\n      .notes {\n        background: #fff;\n        border-color: #bbb;\n        color: #333;\n      }\n    }\n  <\/style>\n<\/head>\n<body>\n  <div class=\"wrap\">\n    <section class=\"hero screen-only\">\n      <h1>Calcolatore imposta sostitutiva forfetari 2025<\/h1>\n      <p>\n        Pagina web autonoma per stimare reddito imponibile, contributi INPS, imposta sostitutiva e reddito netto annuo partendo dal fatturato.\n        Include scelta del coefficiente di redditivit\u00e0 collegato all\u2019attivit\u00e0, gestione INPS per artigiani, commercianti e lavoratori autonomi,\n        prospetto di calcolo evidenziato e pulsante di stampa\/salvataggio in PDF.\n      <\/p>\n    <\/section>\n\n    <div class=\"layout\">\n      <section class=\"card input-card\">\n        <div class=\"card-head\">\n          <h2>Dati di input<\/h2>\n          <p>Compila i campi. Il prospetto a destra si aggiorna automaticamente e pu\u00f2 essere stampato o salvato in PDF.<\/p>\n        <\/div>\n        <div class=\"card-body\">\n          <div class=\"grid\">\n            <div class=\"field full\">\n              <label for=\"fatturato\">Fatturato \/ compensi annui incassati (\u20ac)<\/label>\n              <input id=\"fatturato\" type=\"number\" min=\"0\" step=\"0.01\" value=\"30000\" \/>\n              <div class=\"hint\">Nel forfetario conta l\u2019ammontare dei ricavi\/compensi percepiti nel periodo d\u2019imposta.<\/div>\n            <\/div>\n\n            <div class=\"field full\">\n              <label for=\"settore\">Settore \/ coefficiente di redditivit\u00e0<\/label>\n              <select id=\"settore\"><\/select>\n              <div class=\"hint\">La tabella riprende i coefficienti ufficiali del regime forfetario; per comodit\u00e0 \u00e8 associata a macro-gruppi coerenti con ATECO 2025.<\/div>\n            <\/div>\n\n            <div class=\"field\">\n              <label for=\"coeff\">Coefficiente di redditivit\u00e0 (%)<\/label>\n              <input id=\"coeff\" type=\"number\" min=\"1\" max=\"100\" step=\"0.01\" value=\"78\" \/>\n              <div class=\"hint\">Puoi modificarlo manualmente se vuoi adeguarlo al tuo caso specifico.<\/div>\n            <\/div>\n\n            <div class=\"field\">\n              <label for=\"imposta\">Aliquota imposta sostitutiva (%)<\/label>\n              <select id=\"imposta\">\n                <option value=\"15\">15% ordinaria<\/option>\n                <option value=\"5\">5% start-up<\/option>\n              <\/select>\n              <div class=\"hint\">Il 5% vale solo se ricorrono i requisiti agevolativi per le nuove attivit\u00e0.<\/div>\n            <\/div>\n\n            <div class=\"field full\">\n              <label for=\"gestione\">Gestione previdenziale<\/label>\n              <select id=\"gestione\"><\/select>\n              <div class=\"hint\">Sono incluse sia le gestioni con minimale fisso (artigiani\/commercianti) sia la Gestione Separata.<\/div>\n            <\/div>\n\n            <div class=\"field\">\n              <label for=\"aliquotaInps\">Aliquota INPS (%)<\/label>\n              <input id=\"aliquotaInps\" type=\"number\" min=\"0\" max=\"100\" step=\"0.01\" value=\"26.07\" \/>\n              <div class=\"hint\">Il valore si aggiorna in base alla gestione scelta ma resta modificabile.<\/div>\n            <\/div>\n\n            <div class=\"field\">\n              <label for=\"minimale\">Minimale reddito IVS \/ base minima (\u20ac)<\/label>\n              <input id=\"minimale\" type=\"number\" min=\"0\" step=\"0.01\" value=\"18555\" \/>\n              <div class=\"hint\">Per artigiani e commercianti nel 2025 \u00e8 usato per calcolare il contributo minimo annuo.<\/div>\n            <\/div>\n\n            <div class=\"field\">\n              <label for=\"fissoMaternita\">Contributo maternit\u00e0 fisso annuo (\u20ac)<\/label>\n              <input id=\"fissoMaternita\" type=\"number\" min=\"0\" step=\"0.01\" value=\"7.44\" \/>\n              <div class=\"hint\">Applicato alle gestioni artigiani\/commercianti.<\/div>\n            <\/div>\n\n            <div class=\"field\">\n              <label for=\"altriCosti\">Altri costi\/accantonamenti extra-fisco (\u20ac)<\/label>\n              <input id=\"altriCosti\" type=\"number\" min=\"0\" step=\"0.01\" value=\"0\" \/>\n              <div class=\"hint\">Campo facoltativo per stimare il netto \u201creale\u201d dopo spese ulteriori non dedotte fiscalmente.<\/div>\n            <\/div>\n\n            <div class=\"field full\">\n              <div class=\"check\">\n                <input id=\"rid35\" type=\"checkbox\" \/>\n                <div>\n                  <label for=\"rid35\">Riduzione contributiva artigiani\/commercianti del 35%<\/label>\n                  <div class=\"hint\">Opzione tipica del forfetario, su domanda. Riduce sia il minimale sia l\u2019eccedenza.<\/div>\n                <\/div>\n              <\/div>\n            <\/div>\n\n            <div class=\"field full\">\n              <div class=\"check\">\n                <input id=\"rid50\" type=\"checkbox\" \/>\n                <div>\n                  <label for=\"rid50\">Riduzione 50% nuovi iscritti artigiani\/commercianti nel 2025<\/label>\n                  <div class=\"hint\">Agevolazione introdotta per i nuovi iscritti 2025; non \u00e8 cumulabile qui con il 35%: il simulatore applica automaticamente la riduzione pi\u00f9 favorevole.<\/div>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"actions\">\n            <button class=\"btn-primary\" id=\"btnCalc\">Aggiorna prospetto<\/button>\n            <button class=\"btn-secondary\" id=\"btnReset\" type=\"button\">Ripristina esempio<\/button>\n            <button class=\"btn-print\" id=\"btnPrint\" type=\"button\">Stampa \/ Salva in PDF<\/button>\n          <\/div>\n        <\/div>\n      <\/section>\n\n      <section class=\"card\">\n        <div class=\"card-head\">\n          <h2>Prospetto di calcolo<\/h2>\n          <p>Documento pronto per stampa, salvataggio PDF o uso come riepilogo rapido.<\/p>\n        <\/div>\n        <div class=\"card-body\" id=\"reportArea\">\n          <div class=\"summary\">\n            <div class=\"stat\">\n              <div class=\"k\">Reddito forfetario lordo<\/div>\n              <div class=\"v mono\" id=\"statRedditoLordo\">\u20ac 0,00<\/div>\n            <\/div>\n            <div class=\"stat\">\n              <div class=\"k\">Contributi INPS stimati<\/div>\n              <div class=\"v mono\" id=\"statContributi\">\u20ac 0,00<\/div>\n            <\/div>\n            <div class=\"stat\">\n              <div class=\"k\">Imposta sostitutiva<\/div>\n              <div class=\"v mono\" id=\"statImposta\">\u20ac 0,00<\/div>\n            <\/div>\n            <div class=\"stat highlight\">\n              <div class=\"k\">Reddito netto annuo stimato<\/div>\n              <div class=\"v mono\" id=\"statNetto\">\u20ac 0,00<\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"report\">\n            <div class=\"report-head\">\n              <h3 class=\"report-title\">Riepilogo dettagliato<\/h3>\n              <p class=\"report-sub\" id=\"reportSubtitle\">Simulazione aggiornata<\/p>\n            <\/div>\n            <div class=\"rows\" id=\"reportRows\"><\/div>\n          <\/div>\n\n          <div class=\"notes\" id=\"notesBox\"><\/div>\n        <\/div>\n      <\/section>\n    <\/div>\n\n    <div class=\"foot\">\n      Questo strumento \u00e8 una simulazione operativa. La logica considera: fatturato \u00d7 coefficiente di redditivit\u00e0 = reddito forfetario lordo;\n      contributi previdenziali deducibili; base imponibile residua \u00d7 imposta sostitutiva = imposta dovuta; netto = fatturato \u2212 contributi \u2212 imposta \u2212 costi extra.\n      Verificare sempre il caso concreto con il commercialista, soprattutto in presenza di pi\u00f9 attivit\u00e0, casse professionali private, fuoriuscita dal regime,\n      riduzioni contributive particolari o cause ostative.\n    <\/div>\n  <\/div>\n\n  <script>\n    const settoreData = [\n      { label: 'Professionisti, consulenti, tecnici, sanit\u00e0, istruzione, servizi finanziari\/assicurativi \u2014 coeff. 78%', coeff: 78 },\n      { label: 'Altre attivit\u00e0 economiche (industria, servizi vari, manifattura, alloggio e ristorazione non ambulante) \u2014 coeff. 67%', coeff: 67 },\n      { label: 'Intermediari del commercio \u2014 coeff. 62%', coeff: 62 },\n      { label: 'Commercio ambulante di altri prodotti \u2014 coeff. 54%', coeff: 54 },\n      { label: 'Commercio all\u2019ingrosso e dettaglio \/ ambulante alimentari e bevande \/ industrie alimentari e bevande \u2014 coeff. 40%', coeff: 40 },\n      { label: 'Costruzioni e attivit\u00e0 immobiliari \u2014 coeff. 86%', coeff: 86 }\n    ];\n\n    const gestioneData = [\n      {\n        key: 'gs_non_tutelati',\n        label: 'Lavoratore autonomo \/ professionista senza cassa - Gestione Separata 26,07%',\n        aliquota: 26.07,\n        minimale: 0,\n        maternita: 0,\n        hasMinimo: false,\n        note: 'Contributi calcolati in percentuale sul reddito forfetario lordo.'\n      },\n      {\n        key: 'gs_pensionato',\n        label: 'Gestione Separata con altra tutela previdenziale o pensione diretta - 24%',\n        aliquota: 24,\n        minimale: 0,\n        maternita: 0,\n        hasMinimo: false,\n        note: 'Contributi calcolati in percentuale sul reddito forfetario lordo.'\n      },\n      {\n        key: 'artigiano',\n        label: 'Artigiano - aliquota IVS 24% + maternit\u00e0 fissa',\n        aliquota: 24,\n        minimale: 18555,\n        maternita: 7.44,\n        hasMinimo: true,\n        note: 'Calcolo con contributo minimo sul minimale e aliquota sulla quota eccedente.'\n      },\n      {\n        key: 'commerciante',\n        label: 'Commerciante - aliquota IVS 24,48% + maternit\u00e0 fissa',\n        aliquota: 24.48,\n        minimale: 18555,\n        maternita: 7.44,\n        hasMinimo: true,\n        note: 'Calcolo con contributo minimo sul minimale e aliquota sulla quota eccedente.'\n      }\n    ];\n\n    const $ = id => document.getElementById(id);\n    const euro = n => new Intl.NumberFormat('it-IT', { style: 'currency', currency: 'EUR' }).format(Number(n || 0));\n    const pct = n => `${Number(n || 0).toLocaleString('it-IT', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}%`;\n\n    function fillSelects() {\n      settoreData.forEach((s, i) => {\n        const opt = document.createElement('option');\n        opt.value = i;\n        opt.textContent = s.label;\n        $('settore').appendChild(opt);\n      });\n      $('settore').value = 0;\n\n      gestioneData.forEach((g, i) => {\n        const opt = document.createElement('option');\n        opt.value = i;\n        opt.textContent = g.label;\n        $('gestione').appendChild(opt);\n      });\n      $('gestione').value = 0;\n    }\n\n    function syncFromSettore() {\n      const s = settoreData[Number($('settore').value)];\n      $('coeff').value = s.coeff;\n      calculate();\n    }\n\n    function syncFromGestione() {\n      const g = gestioneData[Number($('gestione').value)];\n      $('aliquotaInps').value = g.aliquota;\n      $('minimale').value = g.minimale;\n      $('fissoMaternita').value = g.maternita;\n      calculate();\n    }\n\n    function num(id) {\n      const v = parseFloat($(id).value);\n      return Number.isFinite(v) ? v : 0;\n    }\n\n    function row(title, value, detail = '', cls = '') {\n      return `\n        <div class=\"row\">\n          <div>\n            <strong>${title}<\/strong>\n            ${detail ? `<small>${detail}<\/small>` : ''}\n          <\/div>\n          <div class=\"amount mono ${cls}\">${value}<\/div>\n        <\/div>`;\n    }\n\n    function calculate() {\n      const fatturato = Math.max(0, num('fatturato'));\n      const coeff = Math.max(0, num('coeff'));\n      const aliquotaImposta = Math.max(0, num('imposta'));\n      const aliquotaInps = Math.max(0, num('aliquotaInps'));\n      const minimale = Math.max(0, num('minimale'));\n      const maternita = Math.max(0, num('fissoMaternita'));\n      const altriCosti = Math.max(0, num('altriCosti'));\n      const rid35 = $('rid35').checked;\n      const rid50 = $('rid50').checked;\n      const gestione = gestioneData[Number($('gestione').value)];\n      const settore = settoreData[Number($('settore').value)];\n\n      const redditoLordo = fatturato * coeff \/ 100;\n\n      let contributiBase = 0;\n      let riduzioneScelta = 0;\n      let dettaglioContributi = '';\n\n      if (gestione.hasMinimo) {\n        const contributoMinimo = (minimale * aliquotaInps \/ 100) + maternita;\n        const eccedenzaReddito = Math.max(0, redditoLordo - minimale);\n        const contributoEccedenza = eccedenzaReddito * aliquotaInps \/ 100;\n        contributiBase = contributoMinimo + contributoEccedenza;\n        if (rid35 || rid50) {\n          riduzioneScelta = Math.max(rid35 ? 35 : 0, rid50 ? 50 : 0);\n        }\n        const contributiFinali = contributiBase * (1 - riduzioneScelta \/ 100);\n        dettaglioContributi = `Minimale ${euro(contributoMinimo)} + eccedenza ${euro(contributoEccedenza)}${riduzioneScelta ? `, poi riduzione ${riduzioneScelta}%` : ''}`;\n        contributiBase = contributiFinali;\n      } else {\n        contributiBase = redditoLordo * aliquotaInps \/ 100;\n        dettaglioContributi = `Calcolo percentuale sul reddito forfetario lordo: ${pct(aliquotaInps)}`;\n      }\n\n      const imponibileImposta = Math.max(0, redditoLordo - contributiBase);\n      const imposta = imponibileImposta * aliquotaImposta \/ 100;\n      const nettoPrimaCostiExtra = fatturato - contributiBase - imposta;\n      const nettoFinale = nettoPrimaCostiExtra - altriCosti;\n\n      $('statRedditoLordo').textContent = euro(redditoLordo);\n      $('statContributi').textContent = euro(contributiBase);\n      $('statImposta').textContent = euro(imposta);\n      $('statNetto').textContent = euro(nettoFinale);\n\n      $('reportSubtitle').innerHTML = `\n        <span class=\"badge\">${settore ? settore.label.split(' \u2014 ')[0] : ''}<\/span>\n        <span class=\"badge\">${gestione.label.split(' - ')[0]}<\/span>\n      `;\n\n      $('reportRows').innerHTML = [\n        row('Fatturato \/ compensi annui', euro(fatturato), 'Valore incassato nel periodo d\u2019imposta.', 'positive'),\n        row('Coefficiente di redditivit\u00e0', pct(coeff), `Selezione corrente: ${settore.label}`),\n        row('Reddito forfetario lordo', euro(redditoLordo), `${euro(fatturato)} \u00d7 ${pct(coeff)}`, 'positive'),\n        row('Contributi INPS stimati', euro(contributiBase), dettaglioContributi, 'negative'),\n        row('Base imponibile imposta sostitutiva', euro(imponibileImposta), `${euro(redditoLordo)} \u2212 ${euro(contributiBase)}`),\n        row('Imposta sostitutiva', euro(imposta), `${euro(imponibileImposta)} \u00d7 ${pct(aliquotaImposta)}`, 'negative'),\n        row('Netto dopo imposte e contributi', euro(nettoPrimaCostiExtra), `${euro(fatturato)} \u2212 ${euro(contributiBase)} \u2212 ${euro(imposta)}`, 'positive'),\n        row('Altri costi \/ accantonamenti extra-fisco', euro(altriCosti), 'Campo facoltativo per ottenere un netto pi\u00f9 prudenziale.', altriCosti ? 'negative' : ''),\n        row('Reddito netto finale stimato', euro(nettoFinale), 'Valore finale disponibile dopo contributi, imposta sostitutiva e costi extra.', nettoFinale >= 0 ? 'positive' : 'negative')\n      ].join('');\n\n      const noteParts = [];\n      noteParts.push(`<strong>Nota operativa.<\/strong> ${gestione.note}`);\n      if (gestione.hasMinimo) {\n        noteParts.push(`Per artigiani e commercianti il simulatore usa un minimale di ${euro(minimale)} e un contributo maternit\u00e0 annuo di ${euro(maternita)}.`);\n      }\n      if (rid35 && rid50) {\n        noteParts.push('Hai selezionato entrambe le riduzioni contributive: il simulatore applica quella pi\u00f9 favorevole tra 35% e 50%, senza cumularle.');\n      } else if (rid35) {\n        noteParts.push('\u00c8 attiva la riduzione contributiva del 35%.');\n      } else if (rid50) {\n        noteParts.push('\u00c8 attiva la riduzione contributiva del 50% per nuovi iscritti 2025.');\n      }\n      if (fatturato > 85000) {\n        noteParts.push('<strong>Attenzione:<\/strong> hai inserito un fatturato superiore a \u20ac 85.000, soglia da verificare per la permanenza nel regime forfetario.');\n      }\n      if (aliquotaImposta === 5) {\n        noteParts.push('Aliquota start-up al 5%: va verificata la sussistenza dei requisiti normativi nel caso concreto.');\n      }\n      noteParts.push('La stampa del browser consente di salvare il prospetto direttamente in PDF.');\n      $('notesBox').innerHTML = noteParts.join(' ');\n    }\n\n    function resetForm() {\n      $('fatturato').value = 30000;\n      $('settore').value = 0;\n      $('coeff').value = 78;\n      $('imposta').value = 15;\n      $('gestione').value = 0;\n      $('aliquotaInps').value = 26.07;\n      $('minimale').value = 0;\n      $('fissoMaternita').value = 0;\n      $('altriCosti').value = 0;\n      $('rid35').checked = false;\n      $('rid50').checked = false;\n      calculate();\n    }\n\n    fillSelects();\n    $('settore').addEventListener('change', syncFromSettore);\n    $('gestione').addEventListener('change', syncFromGestione);\n    $('btnCalc').addEventListener('click', calculate);\n    $('btnReset').addEventListener('click', resetForm);\n    $('btnPrint').addEventListener('click', () => window.print());\n    ['fatturato','coeff','imposta','aliquotaInps','minimale','fissoMaternita','altriCosti'].forEach(id => {\n      $(id).addEventListener('input', calculate);\n      $(id).addEventListener('change', calculate);\n    });\n    $('rid35').addEventListener('change', calculate);\n    $('rid50').addEventListener('change', calculate);\n\n    resetForm();\n  <\/script>\n<\/body>\n<\/html>\n\n","protected":false},"excerpt":{"rendered":"<p>Calcolatore Forfetario 2025 Calcolatore imposta sostitutiva forfetari 2025 Pagina web autonoma per stimare reddito imponibile, contributi INPS, imposta sostitutiva e reddito netto annuo partendo dal fatturato. Include scelta del coefficiente di redditivit\u00e0 collegato all\u2019attivit\u00e0, gestione INPS per artigiani, commercianti e lavoratori autonomi, prospetto di calcolo evidenziato e pulsante di stampa\/salvataggio in PDF. Dati di input [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,11,15,13,6,12],"tags":[],"class_list":["post-130","post","type-post","status-publish","format-standard","hentry","category-area-documenti","category-calcolatori-fiscali","category-guide-e-approfondimenti","category-modulistica","category-post-di-utilita","category-scadenze-fiscali"],"_links":{"self":[{"href":"https:\/\/www.abakos.it\/wp\/wp-json\/wp\/v2\/posts\/130","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.abakos.it\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.abakos.it\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.abakos.it\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.abakos.it\/wp\/wp-json\/wp\/v2\/comments?post=130"}],"version-history":[{"count":0,"href":"https:\/\/www.abakos.it\/wp\/wp-json\/wp\/v2\/posts\/130\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.abakos.it\/wp\/wp-json\/wp\/v2\/media?parent=130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.abakos.it\/wp\/wp-json\/wp\/v2\/categories?post=130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.abakos.it\/wp\/wp-json\/wp\/v2\/tags?post=130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}