{"id":25211,"date":"2026-04-06T15:56:25","date_gmt":"2026-04-06T15:56:25","guid":{"rendered":"https:\/\/generationimpact.global\/soluzioni\/economia-circolare\/generatore-del-modulo-di-informativa-espr\/"},"modified":"2026-10-27T08:29:54","modified_gmt":"2026-10-27T08:29:54","slug":"generatore-del-modulo-di-informativa-espr","status":"publish","type":"page","link":"https:\/\/generationimpact.global\/it\/soluzioni\/economia-circolare\/generatore-del-modulo-di-informativa-espr\/","title":{"rendered":"Generatore del modulo di informativa ESPR"},"content":{"rendered":"\r\n\t\t<div  class=\"block-be16094e-cd18-462c-b0ba-7d71d22fef18 areoi-strip areoi-element strip alignfull\">\r\n\t\t\t\r\n\t\t<div class=\"areoi-background  \">\r\n\t\t\t<div class=\"container-fluid\" style=\"padding: 0;\">\r\n\t\t\t\t<div class=\"row justify-content-start\">\r\n\t\t\t\t\t<div class=\"col \">\r\n\t\t\t            <div class=\"areoi-background__color\" \r\n\t                        \tstyle=\"background: rgba(255, 255, 255,1)\">\r\n\t                        <\/div>\r\n\r\n\t                    \r\n\r\n\t                    \r\n\r\n\t                    \r\n\t    \t\t\t<\/div>\r\n\t    \t\t<\/div>\r\n\t    \t<\/div>\r\n\t    <\/div>\r\n\t\r\n\t\t\t\n\r\n\t\t<div  class=\"block-b65e77bb-7520-4d51-bff4-808a57322f00 areoi-element container container-py-80\">\r\n\t\t\t\r\n\t\t\t\n\r\n\t\t<div  class=\"block-67da7e10-74cb-4dab-9710-4960f3e83a29 row areoi-element row-gap-24\">\r\n\t\t\t\r\n\r\n\t\t\t\n\r\n\t\t<div  class=\"block-caf86648-1ff2-4e9e-bfcc-0d54e4787787 col areoi-element col-12 d-flex flex-column\">\r\n\t\t\t\r\n\t\t\t\n\r\n\t\t<div  class=\"block-ce9e6a2b-8e7d-4b51-a065-29eee640fde0 areoi-element max-width-lg-720 mx-auto max-width-100\">\r\n\t\t\t\r\n\t\t\t\n\n<!-- ESPR Disclosure Form Generator &#8212; Custom HTML Block for Gutenberg -->\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/jspdf@2.5.1\/dist\/jspdf.umd.min.js\"><\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/jspdf-autotable@3.8.2\/dist\/jspdf.plugin.autotable.min.js\"><\/script>\n\n<style>\n\/* ===== ESPR-DF SCOPED STYLES ===== *\/\n\n.espr-df-wrap .espr-df-field { margin-bottom: 16px !important; }\n.espr-df-wrap .espr-df-field:last-child { margin-bottom: 0 !important; }\n\n.espr-df-wrap { background: #F1EFE9; border-radius: 12px; padding: 32px; position: relative; overflow: hidden; font-size: 14px; line-height: 1.5; }\n.espr-df-wrap::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background: linear-gradient(90deg, #1C5356, #49B47C, #D99439); z-index: 1; }\n\n\/* Header *\/\n.espr-df-header { text-align: center; margin-bottom: 24px; }\n.espr-df-title { font-family: \"Red Hat Display\", sans-serif; font-size: 28px !important; font-weight: 700; color: #1C5356; margin-bottom: 8px !important; line-height: 1.25; }\n.espr-df-subtitle { font-size: 14px !important; color: #6C6763; max-width: 560px; margin: 0 auto !important; line-height: 1.5; }\n\n\/* Quick download bar *\/\n.espr-df-dl-bar { display: flex; gap: 12px; justify-content: center; margin-bottom: 28px; flex-wrap: wrap; }\n.espr-df-dl-link { display: inline-flex; align-items: center; gap: 6px; background: #fff; border: 1px solid #E2D7CE; border-radius: 8px; padding: 10px 18px; font-size: 13px !important; font-family: \"Red Hat Display\", sans-serif; font-weight: 600; color: #005077; cursor: pointer; transition: all 0.2s ease; text-decoration: none; }\n.espr-df-dl-link:hover { border-color: #5FA0DB; background: #D8E5F1; color: #005077; transform: translateY(-1px); }\n\n\/* Section cards *\/\n.espr-df-section { background: #fff; border: 1px solid #E2D7CE; border-radius: 10px; padding: 24px; margin-bottom: 16px !important; }\n.espr-df-section-head { display: flex; align-items: center; gap: 10px; margin-bottom: 20px !important; }\n.espr-df-section-num { width: 28px; height: 28px; min-width: 28px; border-radius: 50%; background: #1C5356; color: #fff; font-family: \"Red Hat Display\", sans-serif; font-size: 13px !important; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; line-height: 1; }\n.espr-df-section-title { font-family: \"Red Hat Display\", sans-serif; font-size: 16px !important; font-weight: 600; color: #292726; line-height: 1.3; }\n.espr-df-section-tag { font-size: 11px !important; font-weight: 600; padding: 2px 10px; border-radius: 10px; margin-left: auto; white-space: nowrap; flex-shrink: 0; }\n.espr-df-tag-required { background: #FBD3CA; color: #A24239; }\n.espr-df-tag-annex { background: #E5F0ED; color: #277277; }\n\n\/* Form fields *\/\n.espr-df-label { font-family: \"Red Hat Display\", sans-serif; font-size: 13px !important; font-weight: 600; color: #4D4B48; margin-bottom: 5px !important; display: block; line-height: 1.4; }\n.espr-df-hint { font-size: 12px !important; color: #8C8580; margin-bottom: 6px !important; line-height: 1.4; }\n.espr-df-input { width: 100%; border: 1px solid #E2D7CE; border-radius: 6px; padding: 10px 12px; font-family: \"Red Hat Text\", sans-serif; font-size: 14px !important; color: #292726; background: #fff; transition: border-color 0.2s ease; box-sizing: border-box; height: auto; }\n.espr-df-input:focus { outline: none; border-color: #49B47C; box-shadow: 0 0 0 3px rgba(73,180,124,0.12); }\n.espr-df-input::placeholder { color: #B8AFA8; }\nselect.espr-df-input { cursor: pointer; appearance: auto; -webkit-appearance: auto; }\ntextarea.espr-df-input { resize: vertical; min-height: 80px; }\n\n\/* Grid layouts - using inline style backup in HTML as well *\/\n.espr-df-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px; }\n.espr-df-row-3 { display: grid !important; grid-template-columns: 1fr 1fr auto !important; gap: 12px; align-items: start; }\n\n\/* Radio group *\/\n.espr-df-radio-group { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }\n.espr-df-radio { display: inline-flex; align-items: center; gap: 6px; padding: 10px 12px; background: #fff; border: 1px solid #E2D7CE; border-radius: 6px; cursor: pointer; font-size: 13px !important; color: #4D4B48; transition: all 0.15s ease; white-space: nowrap; margin: 0 !important; }\n.espr-df-radio:hover { border-color: #49B47C; }\n.espr-df-radio.espr-df-radio-on { border-color: #1C5356; background: #E5F0ED; color: #1C5356; font-weight: 600; }\n.espr-df-radio input { display: none; }\n\n\/* Product row *\/\n.espr-df-product { background: #fff; border: 1px solid #E2D7CE; border-radius: 8px; padding: 20px; margin-bottom: 12px !important; position: relative; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }\n.espr-df-product-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px !important; padding-bottom: 12px; border-bottom: 1px solid #eee; }\n.espr-df-product-num { font-family: \"Red Hat Display\", sans-serif; font-size: 14px !important; font-weight: 700; color: #1C5356; }\n.espr-df-product-remove { background: none; border: none; font-size: 20px; color: #B8AFA8; cursor: pointer; padding: 2px 6px; transition: color 0.15s ease; line-height: 1; }\n.espr-df-product-remove:hover { color: #A24239; }\n\n\/* Waste % row *\/\n.espr-df-waste-grid { display: grid !important; grid-template-columns: repeat(5, 1fr) !important; gap: 8px; }\n.espr-df-waste-field { text-align: center; }\n.espr-df-waste-label { font-size: 11px !important; color: #6C6763; margin-bottom: 4px !important; line-height: 1.3; display: block; text-align: center; }\n.espr-df-waste-input { width: 100%; border: 1px solid #E2D7CE; border-radius: 6px; padding: 8px 4px; text-align: center; font-size: 14px !important; font-family: \"Red Hat Text\", sans-serif; color: #292726; box-sizing: border-box; background: #fafafa; height: auto; }\n.espr-df-waste-input:focus { outline: none; border-color: #49B47C; background: #fff; }\n.espr-df-waste-total { display: flex !important; justify-content: space-between; align-items: center; margin-top: 10px !important; padding: 10px 14px; background: #E5F0ED; border-radius: 6px; min-height: 40px; }\n.espr-df-waste-total-label { font-family: \"Red Hat Display\", sans-serif; font-size: 13px !important; color: #277277; font-weight: 600; }\n.espr-df-waste-total-val { font-family: \"Red Hat Display\", sans-serif; font-size: 16px !important; font-weight: 700; min-width: 40px; text-align: right; }\n.espr-df-waste-ok { color: #49B47C; }\n.espr-df-waste-err { color: #A24239; }\n\n\/* Add row button *\/\n.espr-df-add-btn { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; padding: 14px; background: #fff; border: 2px dashed #E2D7CE; border-radius: 8px; font-family: \"Red Hat Display\", sans-serif; font-size: 14px !important; font-weight: 600; color: #277277; cursor: pointer; transition: all 0.2s ease; margin-top: 4px !important; }\n.espr-df-add-btn:hover { border-color: #49B47C; background: #E5F0ED; }\n\n\/* Actions *\/\n.espr-df-actions { display: flex; gap: 12px; justify-content: center; margin-top: 24px !important; flex-wrap: wrap; }\n.espr-df-action { font-family: \"Red Hat Display\", sans-serif; font-size: 14px !important; font-weight: 600; padding: 14px 32px; border-radius: 8px; border: none; cursor: pointer; transition: all 0.2s ease; }\n.espr-df-action-primary { background: #1C5356; color: #fff; }\n.espr-df-action-primary:hover { background: #277277; }\n.espr-df-action-secondary { background: #fff; color: #1C5356; border: 1px solid #1C5356; }\n.espr-df-action-secondary:hover { background: #E5F0ED; }\n\n\/* Validation *\/\n.espr-df-error { border-color: #DB5E63 !important; }\n.espr-df-error-msg { font-size: 12px; color: #A24239; margin-top: 4px; }\n\n\/* ===== RESPONSIVE ===== *\/\n@media (max-width: 959.98px) {\n\t.espr-df-wrap { padding: 20px 14px; }\n\t.espr-df-title { font-size: 22px !important; }\n\t.espr-df-row { grid-template-columns: 1fr !important; }\n\t.espr-df-row-3 { grid-template-columns: 1fr !important; }\n\t.espr-df-waste-grid { grid-template-columns: repeat(3, 1fr) !important; }\n\t.espr-df-dl-bar { flex-direction: column; align-items: stretch; }\n\t.espr-df-dl-link { justify-content: center; }\n\t.espr-df-product { padding: 14px; }\n\t.espr-df-actions { flex-direction: column; align-items: stretch; }\n\t.espr-df-action { text-align: center; }\n\t.espr-df-section { padding: 16px; }\n\t.espr-df-waste-label { font-size: 10px !important; }\n}\n@media (max-width: 599.98px) {\n\t.espr-df-waste-grid { grid-template-columns: repeat(2, 1fr) !important; }\n\t.espr-df-radio-group { flex-direction: column; }\n}\n<\/style>\n\n<p class=\"has-link fs-20 m-fs-16\">Compila il modulo seguente secondo il formato dell\u2019Allegato I del <a href=\"https:\/\/eur-lex.europa.eu\/eli\/reg_impl\/2026\/2\/oj\/eng\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">regolamento di esecuzione (UE) 2026\/2<\/a>. Il modulo funziona nel tuo browser e non invia a un server ci\u00f2 che digiti; il PDF viene generato sul tuo dispositivo. Puoi scaricare il modulo compilato in PDF oppure partire dal modello ufficiale vuoto.<\/p>\n\n<div class=\"espr-df-wrap d-flex flex-column mb-20 mb-lg-32\" id=\"espr-df\">\n\t<div class=\"espr-df-header\">\n\t\t<div><h1 class=\"espr-df-title\">Generatore del modulo di informativa ESPR<\/h1><\/div>\n\t\t<div class=\"espr-df-subtitle\">Compila il formato standardizzato dell\u2019Allegato I e scarica un PDF con la stessa impaginazione, pronto da verificare e pubblicare sul tuo sito web o nella tua dichiarazione di sostenibilit\u00e0 CSRD.<\/div>\n\t<\/div>\n\n\t<!-- Quick download bar -->\n\t<div class=\"espr-df-dl-bar\">\n\t\t<a class=\"espr-df-dl-link\" id=\"espr-df-blank-pdf\">\ud83d\udcc4 Scarica il modello vuoto dell\u2019Allegato I (PDF)<\/a>\n\t\t<a class=\"espr-df-dl-link\" id=\"espr-df-blank-annex2\">\ud83d\udccb Scarica l\u2019elenco dei prodotti dell\u2019Allegato II (PDF)<\/a>\n\t<\/div>\n\n\t<!-- Section 1: Entity -->\n\t<div class=\"espr-df-section\" id=\"espr-df-s1\">\n\t\t<div class=\"espr-df-section-head\">\n\t\t\t<div class=\"espr-df-section-num\">1<\/div>\n\t\t\t<div class=\"espr-df-section-title\">Identificazione dell\u2019entit\u00e0<\/div>\n\t\t\t<span class=\"espr-df-section-tag espr-df-tag-required\">Obbligatorio<\/span>\n\t\t<\/div>\n\t\t<div class=\"espr-df-field\">\n\t\t\t<label class=\"espr-df-label\">Denominazione della persona giuridica<\/label>\n\t\t\t<div class=\"espr-df-hint\">Denominazione dell\u2019impresa, oppure dell\u2019impresa madre in caso di informativa consolidata.<\/div>\n\t\t\t<input class=\"espr-df-input\" id=\"df-entity-name\" placeholder=\"es. Acme Industries GmbH\"\/>\n\t\t<\/div>\n\t\t<div class=\"espr-df-row\" style=\"display:grid;grid-template-columns:1fr 1fr;gap:12px;\">\n\t\t\t<div class=\"espr-df-field\">\n\t\t\t\t<label class=\"espr-df-label\">Identificativo dell\u2019entit\u00e0<\/label>\n\t\t\t\t<input class=\"espr-df-input\" id=\"df-entity-id\" placeholder=\"es. EUID o identificativo nazionale\"\/>\n\t\t\t<\/div>\n\t\t\t<div class=\"espr-df-field\">\n\t\t\t\t<label class=\"espr-df-label\">Tipo di identificativo<\/label>\n\t\t\t\t<div class=\"espr-df-radio-group\" id=\"df-id-type\">\n\t\t\t\t\t<label class=\"espr-df-radio\"><input type=\"radio\" name=\"df-id-type\" value=\"EUID\"\/> EUID<\/label>\n\t\t\t\t\t<label class=\"espr-df-radio\"><input type=\"radio\" name=\"df-id-type\" value=\"Other\"\/> Altro<\/label>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class=\"espr-df-field\">\n\t\t\t<label class=\"espr-df-label\">Tipo di informativa<\/label>\n\t\t\t<div class=\"espr-df-radio-group\" id=\"df-disc-type\">\n\t\t\t\t<label class=\"espr-df-radio\"><input type=\"radio\" name=\"df-disc-type\" value=\"Standalone\"\/> Individuale<\/label>\n\t\t\t\t<label class=\"espr-df-radio\"><input type=\"radio\" name=\"df-disc-type\" value=\"Consolidated\"\/> Consolidata<\/label>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class=\"espr-df-field\" id=\"df-subs-wrap\" style=\"display:none;\">\n\t\t\t<label class=\"espr-df-label\">Controllate \/ imprese del gruppo incluse<\/label>\n\t\t\t<textarea class=\"espr-df-input\" id=\"df-subsidiaries\" placeholder=\"Elenca le controllate, una per riga\"><\/textarea>\n\t\t<\/div>\n\t\t<div class=\"espr-df-row\" style=\"display:grid;grid-template-columns:1fr 1fr;gap:12px;\">\n\t\t\t<div class=\"espr-df-field\">\n\t\t\t\t<label class=\"espr-df-label\">Esercizio finanziario: data di inizio<\/label>\n\t\t\t\t<input class=\"espr-df-input\" type=\"date\" id=\"df-fy-start\"\/>\n\t\t\t<\/div>\n\t\t\t<div class=\"espr-df-field\">\n\t\t\t\t<label class=\"espr-df-label\">Esercizio finanziario: data di fine<\/label>\n\t\t\t\t<input class=\"espr-df-input\" type=\"date\" id=\"df-fy-end\"\/>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\t<!-- Section 2: Products -->\n\t<div class=\"espr-df-section\" id=\"espr-df-s2\">\n\t\t<div class=\"espr-df-section-head\">\n\t\t\t<div class=\"espr-df-section-num\">2<\/div>\n\t\t\t<div class=\"espr-df-section-title\">Dati sui prodotti<\/div>\n\t\t\t<span class=\"espr-df-section-tag espr-df-tag-annex\">Allegato I<\/span>\n\t\t<\/div>\n\t\t<div class=\"espr-df-hint mb-20\">Aggiungi una riga per ogni categoria di prodotto e per ogni motivo di scarto. Se la stessa categoria di prodotto \u00e8 stata scartata per motivi diversi, aggiungi righe separate.<\/div>\n\t\t<div id=\"espr-df-products\" class=\"d-flex flex-column gap-20\"><\/div>\n\t\t<button class=\"espr-df-add-btn\" id=\"espr-df-add-product\">+ Aggiungi linea di prodotto<\/button>\n\t<\/div>\n\n\t<!-- Section 3: Prevention -->\n\t<div class=\"espr-df-section\" id=\"espr-df-s3\">\n\t\t<div class=\"espr-df-section-head\">\n\t\t\t<div class=\"espr-df-section-num\">3<\/div>\n\t\t\t<div class=\"espr-df-section-title\">Misure di prevenzione<\/div>\n\t\t\t<span class=\"espr-df-section-tag espr-df-tag-required\">Obbligatorio<\/span>\n\t\t<\/div>\n\t\t<div class=\"espr-df-field\">\n\t\t\t<label class=\"espr-df-label\">Misure adottate per prevenire la distruzione<\/label>\n\t\t\t<div class=\"espr-df-hint\">Indica le misure adottate nell\u2019esercizio finanziario precedente, sulla base delle informazioni sui prodotti distrutti in passato.<\/div>\n\t\t\t<textarea class=\"espr-df-input\" id=\"df-measures-taken\" placeholder=\"Descrivi le misure attuate nel periodo di rendicontazione...\"><\/textarea>\n\t\t<\/div>\n\t\t<div class=\"espr-df-field\">\n\t\t\t<label class=\"espr-df-label\">Misure previste per prevenire la distruzione<\/label>\n\t\t\t<div class=\"espr-df-hint\">Indica le misure specifiche per prevenire la distruzione delle stesse categorie di prodotti per gli stessi motivi e in che modo dovrebbero raggiungere tale obiettivo.<\/div>\n\t\t\t<textarea class=\"espr-df-input\" id=\"df-measures-planned\" placeholder=\"Descrivi le misure future e i risultati attesi...\"><\/textarea>\n\t\t<\/div>\n\t<\/div>\n\n\t<!-- Actions -->\n\t<div class=\"espr-df-actions\">\n\t\t<button class=\"espr-df-action espr-df-action-primary\" id=\"espr-df-generate\">Genera l\u2019informativa in PDF<\/button>\n\t\t<button class=\"espr-df-action espr-df-action-secondary\" id=\"espr-df-reset\">Cancella il modulo<\/button>\n\t<\/div>\n<div class=\"d-flex flex-column align-items-center mt-20\"><p class=\"fw-600\">Ricevi un avviso quando lanciamo nuovi strumenti<\/p>\n<a class=\"btn areoi-has-url position-relative fs-16 tr btn-primary text-nowrap tr m-fs-14\" href=\"https:\/\/generationimpact.global\/it\/newsletter\/\" rel=\"noreferrer noopener\">Iscriviti<\/a><\/div>\n<\/div>\n\n<p class=\"fs-20 m-fs-16 mb-0 has-link\">Questo strumento fornisce una versione formattata del modello di informativa dell\u2019Allegato I. Il PDF generato \u00e8 pensato come documento di lavoro. Le imprese devono verificare che l\u2019informativa definitiva pubblicata soddisfi tutti i requisiti normativi. Per indicazioni su come integrare l\u2019informativa ESPR con la <a href=\"https:\/\/generationimpact.global\/it\/prodotti\/valutazione-della-doppia-rilevanza\/esrs-doppia-rilevanza\/\" target=\"_blank\" rel=\"noreferrer noopener\">rendicontazione di sostenibilit\u00e0 CSRD<\/a>, o per gestire i flussi di lavoro delle informative in pi\u00f9 framework UE, <a href=\"https:\/\/generationimpact.global\/it\/contatti\/\" target=\"_blank\" rel=\"noreferrer noopener\">contatta il nostro team<\/a> di <a href=\"https:\/\/generationimpact.global\/it\/chi-siamo\/\" target=\"_blank\" rel=\"noreferrer noopener\">Generation Impact Global<\/a>.<\/p>\n\n<script>\n(function(){\n\t\/* CN code data from Annex II *\/\n\tvar cnCodes = [\n\t\t{code:'3401',desc:'Saponi e prodotti per lavare'},\n\t\t{code:'3402',desc:'Detersivi e preparazioni per pulire'},\n\t\t{code:'4011',desc:'Pneumatici nuovi'},\n\t\t{code:'4202',desc:'Valigie, borse, portafogli'},\n\t\t{code:'4203',desc:'Indumenti e accessori in cuoio'},\n\t\t{code:'4303',desc:'Indumenti e oggetti di pelli da pellicceria'},\n\t\t{code:'4818',desc:'Prodotti igienici in carta'},\n\t\t{code:'6301',desc:'Coperte e plaid da viaggio'},\n\t\t{code:'6302',desc:'Biancheria da letto, da tavola, da cucina'},\n\t\t{code:'6303',desc:'Tende e tendine interne'},\n\t\t{code:'6304',desc:'Altri manufatti per l\u2019arredamento'},\n\t\t{code:'6306',desc:'Teloni, tende, articoli da campeggio'},\n\t\t{code:'6307',desc:'Altri manufatti tessili confezionati'},\n\t\t{code:'8415',desc:'Condizionatori d\u2019aria'},\n\t\t{code:'8418',desc:'Frigoriferi e congelatori'},\n\t\t{code:'8421',desc:'Centrifughe, apparecchi per filtrare'},\n\t\t{code:'8422',desc:'Lavastoviglie'},\n\t\t{code:'8423',desc:'Apparecchi per pesare'},\n\t\t{code:'8443',desc:'Stampanti, fotocopiatrici, fax'},\n\t\t{code:'8450',desc:'Lavatrici'},\n\t\t{code:'8467',desc:'Utensili manuali a motore'},\n\t\t{code:'8471',desc:'Computer ed elaborazione dati'},\n\t\t{code:'8506',desc:'Pile'},\n\t\t{code:'8507',desc:'Accumulatori elettrici'},\n\t\t{code:'8508',desc:'Aspirapolvere'},\n\t\t{code:'8509',desc:'Apparecchi per uso domestico'},\n\t\t{code:'8510',desc:'Rasoi, tosatrici'},\n\t\t{code:'8513',desc:'Lampade elettriche portatili'},\n\t\t{code:'8516',desc:'Scaldacqua, ferri da stiro, asciugacapelli'},\n\t\t{code:'8517',desc:'Smartphone e telefoni'},\n\t\t{code:'8518',desc:'Microfoni, cuffie, altoparlanti'},\n\t\t{code:'8519',desc:'Registrazione\/riproduzione del suono'},\n\t\t{code:'8521',desc:'Videoregistrazione\/videoriproduzione'},\n\t\t{code:'8523',desc:'Supporti di memorizzazione, schede intelligenti'},\n\t\t{code:'8524',desc:'Moduli di visualizzazione a schermo piatto'},\n\t\t{code:'8528',desc:'Monitor, proiettori, televisori'},\n\t\t{code:'8539',desc:'Lampade e sorgenti luminose a LED'},\n\t\t{code:'9006',desc:'Apparecchi fotografici'},\n\t\t{code:'9401',desc:'Mobili per sedersi'},\n\t\t{code:'9403',desc:'Altri mobili'},\n\t\t{code:'9404',desc:'Materassi, cuscini, articoli da letto'},\n\t\t{code:'9503',desc:'Giocattoli, puzzle, modelli in scala'},\n\t\t{code:'9504',desc:'Console per videogiochi, giochi da tavolo'},\n\t\t{code:'9619',desc:'Prodotti sanitari'}\n\t];\n\n\tvar derogations = [\n\t\t{val:'a',label:'(a) Prodotto pericoloso'},\n\t\t{val:'b',label:'(b) Non conformit\u00e0 alla normativa'},\n\t\t{val:'c',label:'(c) Violazione della propriet\u00e0 intellettuale'},\n\t\t{val:'d',label:'(d) Licenza di propriet\u00e0 intellettuale scaduta'},\n\t\t{val:'e',label:'(e) Non idoneo al riutilizzo'},\n\t\t{val:'f',label:'(f) Prodotto danneggiato'},\n\t\t{val:'g',label:'(g) Difetto di progettazione\/fabbricazione'},\n\t\t{val:'h',label:'(h) Non accettato in donazione'},\n\t\t{val:'i',label:'(i) Ente dell\u2019economia sociale: nessun destinatario'},\n\t\t{val:'j',label:'(j) Preparato per il riutilizzo: nessun destinatario'},\n\t\t{val:'other',label:'Altro (specificare nella descrizione)'}\n\t];\n\n\tvar productCount = 0;\n\tvar container = document.getElementById('espr-df-products');\n\n\tfunction buildCNOptions(){\n\t\tvar html = '<option value=\"\">Seleziona il codice NC...<\/option>';\n\t\tcnCodes.forEach(function(c){ html += '<option value=\"'+c.code+'\">'+c.code+': '+c.desc+'<\/option>'; });\n\t\thtml += '<option value=\"custom\">Altro (inserisci manualmente)<\/option>';\n\t\treturn html;\n\t}\n\n\tfunction buildReasonOptions(){\n\t\tvar html = '<option value=\"\">Seleziona il motivo...<\/option>';\n\t\tderogations.forEach(function(d){ html += '<option value=\"'+d.val+'\">'+d.label+'<\/option>'; });\n\t\treturn html;\n\t}\n\n\tfunction addProduct(){\n\t\tproductCount++;\n\t\tvar n = productCount;\n\t\tvar div = document.createElement('div');\n\t\tdiv.className = 'espr-df-product';\n\t\tdiv.id = 'df-prod-'+n;\n\t\tdiv.innerHTML =\n\t\t\t'<div class=\"espr-df-product-head\"><span class=\"espr-df-product-num\">Linea di prodotto '+n+'<\/span><button class=\"espr-df-product-remove\" data-prod=\"'+n+'\" title=\"Rimuovi\">&times;<\/button><\/div>'+\n\t\t\t'<div class=\"espr-df-row\" style=\"display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;\"><div class=\"espr-df-field\"><label class=\"espr-df-label\">Categoria di prodotto (codice NC)<\/label><select class=\"espr-df-input df-cn\" data-n=\"'+n+'\">'+buildCNOptions()+'<\/select><\/div><div class=\"espr-df-field\"><label class=\"espr-df-label\">Descrizione<\/label><input class=\"espr-df-input df-desc\" placeholder=\"In base alla nomenclatura NC o pi\u00f9 dettagliata\" data-n=\"'+n+'\"><\/div><\/div>'+\n\t\t\t'<div class=\"espr-df-row-3\" style=\"display:grid;grid-template-columns:1fr 1fr auto;gap:12px;margin-bottom:14px;align-items:start;\"><div class=\"espr-df-field\"><label class=\"espr-df-label\">Unit\u00e0 scartate<\/label><input class=\"espr-df-input df-units\" type=\"number\" min=\"0\" step=\"1\" placeholder=\"Numero intero\" data-n=\"'+n+'\"><div class=\"espr-df-hint\">Se stimate in base al peso, indicalo nella descrizione<\/div><\/div><div class=\"espr-df-field\"><label class=\"espr-df-label\">Peso (kg)<\/label><input class=\"espr-df-input df-weight\" type=\"number\" min=\"0\" step=\"1\" placeholder=\"Numero intero\" data-n=\"'+n+'\"><div class=\"espr-df-hint\">Chilogrammi interi, senza separatori<\/div><\/div><div class=\"espr-df-field\"><label class=\"espr-df-label\">Imballaggio incluso?<\/label><div class=\"espr-df-radio-group df-pkg\" data-n=\"'+n+'\" style=\"margin-top:4px;\"><label class=\"espr-df-radio\"><input type=\"radio\" name=\"df-pkg-'+n+'\" value=\"Yes\"> S\u00ec<\/label><label class=\"espr-df-radio\"><input type=\"radio\" name=\"df-pkg-'+n+'\" value=\"No\"> No<\/label><\/div><\/div><\/div>'+\n\t\t\t'<div class=\"espr-df-field\" style=\"margin-bottom:14px;\"><label class=\"espr-df-label\">Motivo dello scarto<\/label><select class=\"espr-df-input df-reason\" data-n=\"'+n+'\">'+buildReasonOptions()+'<\/select><\/div>'+\n\t\t\t'<label class=\"espr-df-label\" style=\"margin-bottom:4px !important;\">Operazioni di trattamento dei rifiuti (%)<\/label><div class=\"espr-df-hint\" style=\"margin-bottom:10px !important;\">Percentuali in peso. Il totale deve essere pari al 100%. Usa \"Sconosciuto\" se le informazioni sul trattamento non sono disponibili.<\/div>'+\n\t\t\t'<div class=\"espr-df-waste-grid\" data-waste=\"'+n+'\" style=\"display:grid;grid-template-columns:repeat(5,1fr);gap:8px;\"><div class=\"espr-df-waste-field\"><span class=\"espr-df-waste-label\">Riutilizzo<\/span><input class=\"espr-df-waste-input df-w-reuse\" type=\"number\" min=\"0\" max=\"100\" step=\"1\" value=\"\" placeholder=\"%\" data-n=\"'+n+'\"><\/div><div class=\"espr-df-waste-field\"><span class=\"espr-df-waste-label\">Riciclaggio<\/span><input class=\"espr-df-waste-input df-w-recyc\" type=\"number\" min=\"0\" max=\"100\" step=\"1\" value=\"\" placeholder=\"%\" data-n=\"'+n+'\"><\/div><div class=\"espr-df-waste-field\"><span class=\"espr-df-waste-label\">Altro recupero<\/span><input class=\"espr-df-waste-input df-w-other\" type=\"number\" min=\"0\" max=\"100\" step=\"1\" value=\"\" placeholder=\"%\" data-n=\"'+n+'\"><\/div><div class=\"espr-df-waste-field\"><span class=\"espr-df-waste-label\">Smaltimento<\/span><input class=\"espr-df-waste-input df-w-disp\" type=\"number\" min=\"0\" max=\"100\" step=\"1\" value=\"\" placeholder=\"%\" data-n=\"'+n+'\"><\/div><div class=\"espr-df-waste-field\"><span class=\"espr-df-waste-label\">Sconosciuto<\/span><input class=\"espr-df-waste-input df-w-unk\" type=\"number\" min=\"0\" max=\"100\" step=\"1\" value=\"\" placeholder=\"%\" data-n=\"'+n+'\"><\/div><\/div>'+\n\t\t\t'<div class=\"espr-df-waste-total\" id=\"df-waste-total-'+n+'\" style=\"display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:10px 14px;background:#E5F0ED;border-radius:6px;\"><span class=\"espr-df-waste-total-label\">Totale<\/span><span class=\"espr-df-waste-total-val\" style=\"min-width:40px;text-align:right;\">\u2013<\/span><\/div>';\n\t\tcontainer.appendChild(div);\n\n\t\t\/* Auto-fill description from CN *\/\n\t\tdiv.querySelector('.df-cn').addEventListener('change', function(){\n\t\t\tvar sel = this.value;\n\t\t\tvar descInput = div.querySelector('.df-desc');\n\t\t\tvar match = cnCodes.find(function(c){ return c.code === sel; });\n\t\t\tif(match) descInput.value = match.desc;\n\t\t});\n\n\t\t\/* Waste % live total *\/\n\t\tdiv.querySelectorAll('.espr-df-waste-input').forEach(function(inp){\n\t\t\tinp.addEventListener('input', function(){ updateWasteTotal(n); });\n\t\t});\n\n\t\t\/* Remove *\/\n\t\tdiv.querySelector('.espr-df-product-remove').addEventListener('click', function(){\n\t\t\tdiv.remove();\n\t\t\trenumberProducts();\n\t\t});\n\n\t\t\/* Radio styling *\/\n\t\tdiv.querySelectorAll('.espr-df-radio').forEach(function(r){\n\t\t\tr.addEventListener('click', function(){\n\t\t\t\tvar group = this.closest('.espr-df-radio-group');\n\t\t\t\tgroup.querySelectorAll('.espr-df-radio').forEach(function(rr){ rr.classList.remove('espr-df-radio-on'); });\n\t\t\t\tthis.classList.add('espr-df-radio-on');\n\t\t\t});\n\t\t});\n\t}\n\n\tfunction updateWasteTotal(n){\n\t\tvar prod = document.getElementById('df-prod-'+n);\n\t\tif(!prod) return;\n\t\tvar vals = ['df-w-reuse','df-w-recyc','df-w-other','df-w-disp','df-w-unk'];\n\t\tvar sum = 0; var filled = false;\n\t\tvals.forEach(function(cls){\n\t\t\tvar inp = prod.querySelector('.'+cls);\n\t\t\tvar v = parseInt(inp.value);\n\t\t\tif(!isNaN(v)){ sum += v; filled = true; }\n\t\t});\n\t\tvar totalEl = document.getElementById('df-waste-total-'+n);\n\t\tif(!filled){ totalEl.querySelector('.espr-df-waste-total-val').textContent = '\u2013'; return; }\n\t\tvar valEl = totalEl.querySelector('.espr-df-waste-total-val');\n\t\tvalEl.textContent = sum + '%';\n\t\tvalEl.className = 'espr-df-waste-total-val ' + (sum === 100 ? 'espr-df-waste-ok' : 'espr-df-waste-err');\n\t}\n\n\tfunction renumberProducts(){\n\t\tvar prods = container.querySelectorAll('.espr-df-product');\n\t\tprods.forEach(function(p, i){\n\t\t\tp.querySelector('.espr-df-product-num').textContent = 'Linea di prodotto ' + (i+1);\n\t\t});\n\t}\n\n\t\/* Init first product row *\/\n\taddProduct();\n\tdocument.getElementById('espr-df-add-product').addEventListener('click', addProduct);\n\n\t\/* Consolidated toggle *\/\n\tdocument.querySelectorAll('#df-disc-type .espr-df-radio').forEach(function(r){\n\t\tr.addEventListener('click', function(){\n\t\t\tdocument.querySelectorAll('#df-disc-type .espr-df-radio').forEach(function(rr){ rr.classList.remove('espr-df-radio-on'); });\n\t\t\tthis.classList.add('espr-df-radio-on');\n\t\t\tvar val = this.querySelector('input').value;\n\t\t\tdocument.getElementById('df-subs-wrap').style.display = val === 'Consolidated' ? 'block' : 'none';\n\t\t});\n\t});\n\n\t\/* ID type radios *\/\n\tdocument.querySelectorAll('#df-id-type .espr-df-radio').forEach(function(r){\n\t\tr.addEventListener('click', function(){\n\t\t\tdocument.querySelectorAll('#df-id-type .espr-df-radio').forEach(function(rr){ rr.classList.remove('espr-df-radio-on'); });\n\t\t\tthis.classList.add('espr-df-radio-on');\n\t\t});\n\t});\n\n\t\/* Reset form *\/\n\tdocument.getElementById('espr-df-reset').addEventListener('click', function(){\n\t\tif(!confirm('Vuoi cancellare tutti i dati del modulo? L\u2019operazione non pu\u00f2 essere annullata.')) return;\n\t\tdocument.querySelectorAll('.espr-df-input').forEach(function(i){ i.value = ''; });\n\t\tdocument.querySelectorAll('.espr-df-radio').forEach(function(r){ r.classList.remove('espr-df-radio-on'); });\n\t\tdocument.getElementById('df-subs-wrap').style.display = 'none';\n\t\tcontainer.innerHTML = '';\n\t\tproductCount = 0;\n\t\taddProduct();\n\t});\n\n\t\/* Collect form data *\/\n\tfunction collectData(){\n\t\tvar data = {};\n\t\tdata.entityName = document.getElementById('df-entity-name').value.trim();\n\t\tdata.entityId = document.getElementById('df-entity-id').value.trim();\n\t\tvar idTypeEl = document.querySelector('#df-id-type .espr-df-radio-on input');\n\t\tdata.idType = idTypeEl ? idTypeEl.value : '';\n\t\tvar discTypeEl = document.querySelector('#df-disc-type .espr-df-radio-on input');\n\t\tdata.discType = discTypeEl ? discTypeEl.value : '';\n\t\tdata.subsidiaries = document.getElementById('df-subsidiaries').value.trim();\n\t\tdata.fyStart = document.getElementById('df-fy-start').value;\n\t\tdata.fyEnd = document.getElementById('df-fy-end').value;\n\t\tdata.measuresTaken = document.getElementById('df-measures-taken').value.trim();\n\t\tdata.measuresPlanned = document.getElementById('df-measures-planned').value.trim();\n\n\t\tdata.products = [];\n\t\tcontainer.querySelectorAll('.espr-df-product').forEach(function(p){\n\t\t\tvar cn = p.querySelector('.df-cn').value;\n\t\t\tvar desc = p.querySelector('.df-desc').value.trim();\n\t\t\tvar units = p.querySelector('.df-units').value;\n\t\t\tvar weight = p.querySelector('.df-weight').value;\n\t\t\tvar pkgEl = p.querySelector('.df-pkg .espr-df-radio-on input');\n\t\t\tvar pkg = pkgEl ? pkgEl.value : '';\n\t\t\tvar reason = p.querySelector('.df-reason');\n\t\t\tvar reasonText = reason.options[reason.selectedIndex] ? reason.options[reason.selectedIndex].text : '';\n\t\t\tvar reuse = p.querySelector('.df-w-reuse').value || '0';\n\t\t\tvar recyc = p.querySelector('.df-w-recyc').value || '0';\n\t\t\tvar other = p.querySelector('.df-w-other').value || '0';\n\t\t\tvar disp = p.querySelector('.df-w-disp').value || '0';\n\t\t\tvar unk = p.querySelector('.df-w-unk').value || '0';\n\t\t\tvar destruction = parseInt(recyc)+parseInt(other)+parseInt(disp);\n\t\t\tdata.products.push({cn:cn,desc:desc,units:units,weight:weight,pkg:pkg,reason:reasonText,reuse:reuse,recyc:recyc,other:other,disp:disp,unk:unk,destruction:destruction});\n\t\t});\n\t\treturn data;\n\t}\n\n\t\/* Format date *\/\n\tfunction fmtDate(d){ if(!d) return ''; var p=d.split('-'); return p[2]+'\/'+p[1]+'\/'+p[0]; }\n\n\t\/* Generate PDF *\/\n\tdocument.getElementById('espr-df-generate').addEventListener('click', function(){\n\t\tvar data = collectData();\n\t\tif(!data.entityName){ alert('Inserisci la denominazione della persona giuridica.'); return; }\n\t\tif(data.products.length === 0){ alert('Aggiungi almeno una linea di prodotto.'); return; }\n\n\t\tvar jsPDF = window.jspdf.jsPDF;\n\t\tvar doc = new jsPDF({orientation:'landscape',unit:'mm',format:'a4'});\n\n\t\t\/* Title *\/\n\t\tdoc.setFontSize(14);\n\t\tdoc.setFont('helvetica','bold');\n\t\tdoc.text('Informativa sui prodotti di consumo invenduti scartati',14,18);\n\t\tdoc.setFontSize(9);\n\t\tdoc.setFont('helvetica','normal');\n\t\tdoc.setTextColor(100);\n\t\tdoc.text('Formato secondo l\u2019Allegato I, regolamento di esecuzione (UE) 2026\/2 nell\u2019ambito del regolamento (UE) 2024\/1781 (ESPR)',14,24);\n\t\tdoc.setTextColor(0);\n\n\t\t\/* Entity section *\/\n\t\tdoc.setFontSize(10);\n\t\tdoc.setFont('helvetica','bold');\n\t\tdoc.text('Identificazione dell\u2019entit\u00e0',14,34);\n\t\tdoc.setFont('helvetica','normal');\n\t\tdoc.setFontSize(9);\n\t\tvar y=40;\n\t\tdoc.text('Denominazione della persona giuridica: '+data.entityName,14,y); y+=5;\n\t\tdoc.text('Identificativo: '+data.entityId+' ('+data.idType+')',14,y); y+=5;\n\t\tdoc.text('Tipo di informativa: '+data.discType,14,y); y+=5;\n\t\tif(data.discType==='Consolidated' && data.subsidiaries){\n\t\t\tdoc.text('Controllate: '+data.subsidiaries.replace(\/\\n\/g,', '),14,y); y+=5;\n\t\t}\n\t\tdoc.text('Esercizio finanziario: dal '+fmtDate(data.fyStart)+' al '+fmtDate(data.fyEnd),14,y); y+=10;\n\n\t\t\/* Product table *\/\n\t\tvar tableData = data.products.map(function(p){\n\t\t\treturn [p.cn, p.desc, p.units, p.weight, p.pkg, p.reason, p.reuse+'%', p.recyc+'%', p.other+'%', p.disp+'%', p.destruction+'%', p.unk+'%'];\n\t\t});\n\n\t\tdoc.autoTable({\n\t\t\tstartY: y,\n\t\t\thead: [['Codice NC','Descrizione','Unit\u00e0','Peso (kg)','Imball. incl.','Motivo','Riutilizzo %','Riciclaggio %','Altro rec. %','Smaltimento %','Tot. distr. %','Sconosciuto %']],\n\t\t\tbody: tableData,\n\t\t\tstyles: { fontSize:7, cellPadding:2, font:'helvetica' },\n\t\t\theadStyles: { fillColor:[28,83,86], textColor:255, fontStyle:'bold', fontSize:7 },\n\t\t\talternateRowStyles: { fillColor:[245,245,240] },\n\t\t\tmargin: { left:14, right:14 },\n\t\t\ttheme: 'grid'\n\t\t});\n\n\t\ty = doc.lastAutoTable.finalY + 10;\n\t\tif(y > 170){ doc.addPage(); y = 18; }\n\n\t\t\/* Prevention measures *\/\n\t\tdoc.setFontSize(10);\n\t\tdoc.setFont('helvetica','bold');\n\t\tdoc.text('Misure adottate per prevenire la distruzione',14,y); y+=6;\n\t\tdoc.setFont('helvetica','normal');\n\t\tdoc.setFontSize(8);\n\t\tvar takenLines = doc.splitTextToSize(data.measuresTaken || '\u2013', 260);\n\t\tdoc.text(takenLines,14,y); y+=takenLines.length*4+6;\n\n\t\tdoc.setFontSize(10);\n\t\tdoc.setFont('helvetica','bold');\n\t\tdoc.text('Misure previste per prevenire la distruzione',14,y); y+=6;\n\t\tdoc.setFont('helvetica','normal');\n\t\tdoc.setFontSize(8);\n\t\tvar plannedLines = doc.splitTextToSize(data.measuresPlanned || '\u2013', 260);\n\t\tdoc.text(plannedLines,14,y); y+=plannedLines.length*4+10;\n\n\t\t\/* Footer *\/\n\t\tdoc.setFontSize(7);\n\t\tdoc.setTextColor(150);\n\t\tdoc.text('Generato con il generatore del modulo di informativa ESPR su generationimpact.global. Il documento segue il formato dell\u2019Allegato I del regolamento di esecuzione (UE) 2026\/2.',14,y);\n\n\t\tdoc.save('ESPR_Disclosure_'+data.entityName.replace(\/[^a-zA-Z0-9]\/g,'_')+'.pdf');\n\t});\n\n\t\/* Blank template PDF *\/\n\tdocument.getElementById('espr-df-blank-pdf').addEventListener('click', function(e){\n\t\te.preventDefault();\n\t\tvar jsPDF = window.jspdf.jsPDF;\n\t\tvar doc = new jsPDF({orientation:'landscape',unit:'mm',format:'a4'});\n\n\t\tdoc.setFontSize(14);\n\t\tdoc.setFont('helvetica','bold');\n\t\tdoc.text('Informativa sui prodotti di consumo invenduti scartati',14,18);\n\t\tdoc.setFontSize(9);\n\t\tdoc.setFont('helvetica','normal');\n\t\tdoc.setTextColor(100);\n\t\tdoc.text('Modello vuoto secondo l\u2019Allegato I, regolamento di esecuzione (UE) 2026\/2 nell\u2019ambito del regolamento (UE) 2024\/1781 (ESPR)',14,24);\n\t\tdoc.setTextColor(0);\n\n\t\tdoc.setFontSize(10);\n\t\tdoc.setFont('helvetica','bold');\n\t\tdoc.text('Identificazione dell\u2019entit\u00e0',14,34);\n\t\tdoc.setFont('helvetica','normal');\n\t\tdoc.setFontSize(9);\n\t\tdoc.text('Denominazione della persona giuridica: ________________________________________',14,42);\n\t\tdoc.text('Identificativo della persona giuridica: _______________________  Tipo: [ ] EUID  [ ] Altro: ____________',14,48);\n\t\tdoc.text('Tipo di informativa: [ ] Individuale  [ ] Consolidata (elencare le controllate): ________________________',14,54);\n\t\tdoc.text('Esercizio finanziario: inizio __\/__\/____    fine __\/__\/____',14,60);\n\n\t\tdoc.autoTable({\n\t\t\tstartY: 68,\n\t\t\thead: [['Codice NC','Descrizione','Unit\u00e0 scartate','Peso (kg)','Imball. incl.','Motivo dello scarto','Riutilizzo %','Riciclaggio %','Altro rec. %','Smaltimento %','Tot. distr. %','Sconosciuto %']],\n\t\t\tbody: [['','','','','','','','','','','',''],['','','','','','','','','','','',''],['','','','','','','','','','','',''],['','','','','','','','','','','',''],['','','','','','','','','','','','']],\n\t\t\tstyles: { fontSize:7, cellPadding:3, font:'helvetica', minCellHeight:8 },\n\t\t\theadStyles: { fillColor:[28,83,86], textColor:255, fontStyle:'bold', fontSize:7 },\n\t\t\tmargin: { left:14, right:14 },\n\t\t\ttheme: 'grid'\n\t\t});\n\n\t\tvar y = doc.lastAutoTable.finalY + 10;\n\t\tdoc.setFontSize(10);\n\t\tdoc.setFont('helvetica','bold');\n\t\tdoc.text('Misure adottate per prevenire la distruzione dei prodotti di consumo invenduti:',14,y); y+=8;\n\t\tdoc.setDrawColor(200);\n\t\tfor(var i=0;i&lt;4;i++){ doc.line(14,y,283,y); y+=6; }\n\t\ty+=4;\n\t\tdoc.text('Misure previste per prevenire la distruzione dei prodotti di consumo invenduti:',14,y); y+=8;\n\t\tfor(var i=0;i&lt;4;i++){ doc.line(14,y,283,y); y+=6; }\n\t\ty+=6;\n\t\tdoc.setFontSize(7);\n\t\tdoc.setTextColor(150);\n\t\tdoc.text('Modello vuoto dell\u2019Allegato I generato su generationimpact.global. I numeri non devono contenere separatori e vanno arrotondati al numero intero pi\u00f9 vicino.',14,y);\n\n\t\tdoc.save('ESPR_Annex_I_Blank_Template.pdf');\n\t});\n\n\t\/* Blank Annex II - product list *\/\n\tdocument.getElementById('espr-df-blank-annex2').addEventListener('click', function(e){\n\t\te.preventDefault();\n\t\tvar jsPDF = window.jspdf.jsPDF;\n\t\tvar doc = new jsPDF({orientation:'portrait',unit:'mm',format:'a4'});\n\n\t\tdoc.setFontSize(14);\n\t\tdoc.setFont('helvetica','bold');\n\t\tdoc.text('ESPR Allegato II: categorie di prodotti di consumo',14,18);\n\t\tdoc.setFontSize(9);\n\t\tdoc.setFont('helvetica','normal');\n\t\tdoc.setTextColor(100);\n\t\tdoc.text('Prodotti che richiedono l\u2019informativa con codice NC a 4 cifre ai sensi del regolamento di esecuzione (UE) 2026\/2',14,24);\n\t\tdoc.setTextColor(0);\n\n\t\tvar rows = cnCodes.map(function(c){ return [c.code, c.desc]; });\n\t\tdoc.autoTable({\n\t\t\tstartY: 30,\n\t\t\thead: [['Codice NC','Descrizione']],\n\t\t\tbody: rows,\n\t\t\tstyles: { fontSize:8, cellPadding:3, font:'helvetica' },\n\t\t\theadStyles: { fillColor:[28,83,86], textColor:255, fontStyle:'bold' },\n\t\t\talternateRowStyles: { fillColor:[245,245,240] },\n\t\t\tcolumnStyles: { 0: { cellWidth: 22, fontStyle:'bold' } },\n\t\t\tmargin: { left:14, right:14 },\n\t\t\ttheme: 'grid'\n\t\t});\n\n\t\tvar y = doc.lastAutoTable.finalY + 8;\n\t\tdoc.setFontSize(7);\n\t\tdoc.setTextColor(150);\n\t\tdoc.text('Sono esclusi i prodotti che sono componenti, prodotti intermedi o non destinati principalmente ai consumatori.',14,y);\n\t\tdoc.text('Generato su generationimpact.global dall\u2019Allegato II, regolamento di esecuzione (UE) 2026\/2.',14,y+4);\n\n\t\tdoc.save('ESPR_Annex_II_Product_Categories.pdf');\n\t});\n})();\n<\/script>\n\n\r\n\t\t\t \r\n\t\t<\/div>\r\n\t\n \r\n\t\t\t\r\n\t\t<\/div>\r\n\t\n \r\n\t\t<\/div>\r\n\t\n \r\n\t\t<\/div>\r\n\t\n \r\n\t\t<\/div>\r\n\t\r\n\t\t<div  class=\"block-dcc8d4da-553f-49ce-b6bf-243eb14de0b8 areoi-strip areoi-element strip alignfull\">\r\n\t\t\t\r\n\t\t<div class=\"areoi-background  \">\r\n\t\t\t<div class=\"container-fluid\" style=\"padding: 0;\">\r\n\t\t\t\t<div class=\"row justify-content-start\">\r\n\t\t\t\t\t<div class=\"col \">\r\n\t\t\t            <div class=\"areoi-background__color\" \r\n\t                        \tstyle=\"background: rgba(252, 252, 252,1)\">\r\n\t                        <\/div>\r\n\r\n\t                    \r\n\r\n\t                    \r\n\r\n\t                    \r\n\t    \t\t\t<\/div>\r\n\t    \t\t<\/div>\r\n\t    \t<\/div>\r\n\t    <\/div>\r\n\t\r\n\t\t\t\n\r\n\t\t<div  class=\"block-1c7c9ffd-c87d-4c2c-8111-b4902c9ed71b areoi-element container container-py-80\">\r\n\t\t\t\r\n\t\t\t\n\r\n\t\t<div  class=\"block-67da7e10-74cb-4dab-9710-4960f3e83a29 row areoi-element row-gap-24\">\r\n\t\t\t\r\n\r\n\t\t\t\n\r\n\t\t<div  class=\"block-caf86648-1ff2-4e9e-bfcc-0d54e4787787 col areoi-element col-12 d-flex flex-column\">\r\n\t\t\t\r\n\t\t\t\n\r\n\t\t<div  class=\"block-ce9e6a2b-8e7d-4b51-a065-29eee640fde0 areoi-element\">\r\n\t\t\t\r\n\t\t\t\n\n<!-- FAQ -->\n<div class=\"areoi-element\">\n\t<h2 class=\"wp-block-heading m-fs-18 fs-40 mb-20 mb-lg-32 fw-900\"><strong>Domande frequenti<\/strong><\/h2>\n\t<div class=\"row areoi-element m-row-gap-20 section-faq\">\n\t\t<div class=\"col areoi-element col-12 d-flex flex-column gap-20\">\n\t\t\t<details class=\"wp-block-details m-fs-14\" style=\"font-size:16px\"><summary><h3 class=\"fs-18 m-fs-16 mb-0 fw-600 has-red-hat-text-font-family is-layout-flow wp-block-details-is-layout-flow\">Che cos\u2019\u00e8 il formato di informativa dell\u2019Allegato I?<\/h3><\/summary><p class=\"fs-18 m-fs-16 mt-20 mb-0 has-custom-color-4-color has-text-color has-link-color\">L\u2019Allegato I del regolamento di esecuzione (UE) 2026\/2 \u00e8 il formato standardizzato per comunicare le informazioni sui prodotti di consumo invenduti scartati. Richiede l\u2019identificazione dell\u2019entit\u00e0, dati a livello di prodotto per codice NC, la ripartizione dei trattamenti dei rifiuti e le misure di prevenzione. Questo modulo riproduce tale struttura.<\/p><\/details>\n\t\t\t<details class=\"wp-block-details m-fs-14\" style=\"font-size:16px\"><summary><h3 class=\"fs-18 m-fs-16 mb-0 fw-600 has-red-hat-text-font-family is-layout-flow wp-block-details-is-layout-flow\">I miei dati vengono conservati o trasmessi?<\/h3><\/summary><p class=\"fs-18 m-fs-16 mt-20 mb-0 has-custom-color-4-color has-text-color has-link-color\">No. Il modulo funziona nel tuo browser e non invia a un server n\u00e9 conserva ci\u00f2 che digiti. Il PDF viene generato sul tuo dispositivo e, chiudendo la pagina, il modulo viene cancellato.<\/p><\/details>\n\t\t\t<details class=\"wp-block-details m-fs-14\" style=\"font-size:16px\"><summary><h3 class=\"fs-18 m-fs-16 mb-0 fw-600 has-red-hat-text-font-family is-layout-flow wp-block-details-is-layout-flow\">Devo usare codici NC a 2 cifre o a 4 cifre?<\/h3><\/summary><p class=\"fs-18 m-fs-16 mt-20 mb-0 has-custom-color-4-color has-text-color has-link-color\">I prodotti elencati nell\u2019Allegato II del regolamento di esecuzione richiedono codici NC a 4 cifre. Rientrano tra questi elettronica, elettrodomestici, mobili, prodotti per l\u2019igiene, pneumatici, giocattoli e molte altre categorie. Tutti gli altri prodotti di consumo usano codici a 2 cifre. Il menu a tendina di questo modulo include i codici a 4 cifre dell\u2019Allegato II.<\/p><\/details>\n\t\t\t<details class=\"wp-block-details m-fs-14\" style=\"font-size:16px\"><summary><h3 class=\"fs-18 m-fs-16 mb-0 fw-600 has-red-hat-text-font-family is-layout-flow wp-block-details-is-layout-flow\">Posso usare questo modulo per il mio report CSRD?<\/h3><\/summary><p class=\"fs-18 m-fs-16 mt-20 mb-0 has-custom-color-4-color has-text-color has-link-color\">S\u00ec. Ai sensi dell\u2019Articolo 2(2) del regolamento di esecuzione, le imprese che pubblicano report di sostenibilit\u00e0 CSRD possono includere l\u2019informativa ESPR in tale report utilizzando il formato dell\u2019Allegato I, con un link dal proprio sito web. Questo modulo segue la struttura dell\u2019Allegato I; verifica la tabella definitiva prima di pubblicarla.<\/p><\/details>\n\t\t<\/div>\n\t<\/div>\n\t<script type=\"application\/ld+json\">\n\t{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Che cos\u2019\u00e8 il formato di informativa dell\u2019Allegato I?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>Il formato standardizzato per comunicare le informazioni sui prodotti di consumo invenduti scartati, che richiede l\u2019identificazione dell\u2019entit\u00e0, dati sui prodotti per codice NC, la ripartizione dei trattamenti dei rifiuti e le misure di prevenzione.<\/p>\"}},{\"@type\":\"Question\",\"name\":\"I miei dati vengono conservati o trasmessi?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>No. Il modulo funziona nel tuo browser e non invia a un server n\u00e9 conserva ci\u00f2 che digiti. Il PDF viene generato sul tuo dispositivo e, chiudendo la pagina, il modulo viene cancellato.<\/p>\"}},{\"@type\":\"Question\",\"name\":\"Devo usare codici NC a 2 cifre o a 4 cifre?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>I prodotti dell\u2019Allegato II richiedono codici NC a 4 cifre. Rientrano tra questi elettronica, elettrodomestici, mobili, prodotti per l\u2019igiene, pneumatici e giocattoli. Tutti gli altri prodotti di consumo usano codici a 2 cifre.<\/p>\"}},{\"@type\":\"Question\",\"name\":\"Posso usare questo modulo per il mio report CSRD?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p>S\u00ec. Ai sensi dell\u2019Articolo 2(2) del regolamento di esecuzione, le imprese che pubblicano report di sostenibilit\u00e0 CSRD possono includere l\u2019informativa ESPR in tale report utilizzando il formato dell\u2019Allegato I, con un link dal proprio sito web.<\/p>\"}}]}\n\t<\/script>\n<\/div>\n\n\r\n\t\t\t \r\n\t\t<\/div>\r\n\t\n \r\n\t\t\t\r\n\t\t<\/div>\r\n\t\n \r\n\t\t<\/div>\r\n\t\n \r\n\t\t<\/div>\r\n\t\n \r\n\t\t<\/div>\r\n\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":24866,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-no-title","meta":{"footnotes":"","css_class_manager_body_classes":"","css_class_manager_use_in_post_loop":false},"class_list":["post-25211","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Modulo di informativa ESPR: report Allegato I sui prodotti invenduti | Generation Impact Global<\/title>\n<meta name=\"description\" content=\"Modulo ESPR Allegato I gratuito: inserisci entit\u00e0, prodotti per codice NC, trattamenti e misure di prevenzione e scarica il PDF nel formato ufficiale. Senza registrazione.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/generationimpact.global\/it\/soluzioni\/economia-circolare\/generatore-del-modulo-di-informativa-espr\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Modulo di informativa ESPR: report Allegato I sui prodotti invenduti | Generation Impact Global\" \/>\n<meta property=\"og:description\" content=\"Modulo ESPR Allegato I gratuito: inserisci entit\u00e0, prodotti per codice NC, trattamenti e misure di prevenzione e scarica il PDF nel formato ufficiale. Senza registrazione.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/generationimpact.global\/it\/soluzioni\/economia-circolare\/generatore-del-modulo-di-informativa-espr\/\" \/>\n<meta property=\"og:site_name\" content=\"Generation Impact Global\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-27T08:29:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/generationimpact.global\/wp-content\/uploads\/ESPR-Disclosure-Form-Generator.png?wsr\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@GenImpactGlobal\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/generationimpact.global\\\/it\\\/soluzioni\\\/economia-circolare\\\/generatore-del-modulo-di-informativa-espr\\\/\",\"url\":\"https:\\\/\\\/generationimpact.global\\\/it\\\/soluzioni\\\/economia-circolare\\\/generatore-del-modulo-di-informativa-espr\\\/\",\"name\":\"Modulo di informativa ESPR: report Allegato I sui prodotti invenduti | Generation Impact Global\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/generationimpact.global\\\/it\\\/#website\"},\"datePublished\":\"2026-04-06T15:56:25+00:00\",\"dateModified\":\"2026-10-27T08:29:54+00:00\",\"description\":\"Modulo ESPR Allegato I gratuito: inserisci entit\u00e0, prodotti per codice NC, trattamenti e misure di prevenzione e scarica il PDF nel formato ufficiale. Senza registrazione.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/generationimpact.global\\\/it\\\/soluzioni\\\/economia-circolare\\\/generatore-del-modulo-di-informativa-espr\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/generationimpact.global\\\/it\\\/soluzioni\\\/economia-circolare\\\/generatore-del-modulo-di-informativa-espr\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/generationimpact.global\\\/it\\\/soluzioni\\\/economia-circolare\\\/generatore-del-modulo-di-informativa-espr\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/generationimpact.global\\\/it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Soluzioni\",\"item\":\"https:\\\/\\\/generationimpact.global\\\/it\\\/soluzioni\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Economia circolare\",\"item\":\"https:\\\/\\\/generationimpact.global\\\/it\\\/soluzioni\\\/economia-circolare\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Generatore del modulo di informativa ESPR\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/generationimpact.global\\\/it\\\/#website\",\"url\":\"https:\\\/\\\/generationimpact.global\\\/it\\\/\",\"name\":\"Generation Impact Global\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/generationimpact.global\\\/it\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/generationimpact.global\\\/it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/generationimpact.global\\\/it\\\/#organization\",\"name\":\"Generation Impact Global SA\",\"alternateName\":\"GIG\",\"url\":\"https:\\\/\\\/generationimpact.global\\\/it\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/generationimpact.global\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/generationimpact.global\\\/wp-content\\\/uploads\\\/2_GIG_Logo_emblem.svg\",\"contentUrl\":\"https:\\\/\\\/generationimpact.global\\\/wp-content\\\/uploads\\\/2_GIG_Logo_emblem.svg\",\"width\":72,\"height\":72,\"caption\":\"Generation Impact Global SA\"},\"image\":{\"@id\":\"https:\\\/\\\/generationimpact.global\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/GenImpactGlobal\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/generation-impact-global\\\/\",\"https:\\\/\\\/wa.me\\\/41782224582\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Modulo di informativa ESPR: report Allegato I sui prodotti invenduti | Generation Impact Global","description":"Modulo ESPR Allegato I gratuito: inserisci entit\u00e0, prodotti per codice NC, trattamenti e misure di prevenzione e scarica il PDF nel formato ufficiale. Senza registrazione.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/generationimpact.global\/it\/soluzioni\/economia-circolare\/generatore-del-modulo-di-informativa-espr\/","og_locale":"it_IT","og_type":"article","og_title":"Modulo di informativa ESPR: report Allegato I sui prodotti invenduti | Generation Impact Global","og_description":"Modulo ESPR Allegato I gratuito: inserisci entit\u00e0, prodotti per codice NC, trattamenti e misure di prevenzione e scarica il PDF nel formato ufficiale. Senza registrazione.","og_url":"https:\/\/generationimpact.global\/it\/soluzioni\/economia-circolare\/generatore-del-modulo-di-informativa-espr\/","og_site_name":"Generation Impact Global","article_modified_time":"2026-10-27T08:29:54+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/generationimpact.global\/wp-content\/uploads\/ESPR-Disclosure-Form-Generator.png?wsr","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@GenImpactGlobal","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/generationimpact.global\/it\/soluzioni\/economia-circolare\/generatore-del-modulo-di-informativa-espr\/","url":"https:\/\/generationimpact.global\/it\/soluzioni\/economia-circolare\/generatore-del-modulo-di-informativa-espr\/","name":"Modulo di informativa ESPR: report Allegato I sui prodotti invenduti | Generation Impact Global","isPartOf":{"@id":"https:\/\/generationimpact.global\/it\/#website"},"datePublished":"2026-04-06T15:56:25+00:00","dateModified":"2026-10-27T08:29:54+00:00","description":"Modulo ESPR Allegato I gratuito: inserisci entit\u00e0, prodotti per codice NC, trattamenti e misure di prevenzione e scarica il PDF nel formato ufficiale. Senza registrazione.","breadcrumb":{"@id":"https:\/\/generationimpact.global\/it\/soluzioni\/economia-circolare\/generatore-del-modulo-di-informativa-espr\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/generationimpact.global\/it\/soluzioni\/economia-circolare\/generatore-del-modulo-di-informativa-espr\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/generationimpact.global\/it\/soluzioni\/economia-circolare\/generatore-del-modulo-di-informativa-espr\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/generationimpact.global\/it\/"},{"@type":"ListItem","position":2,"name":"Soluzioni","item":"https:\/\/generationimpact.global\/it\/soluzioni\/"},{"@type":"ListItem","position":3,"name":"Economia circolare","item":"https:\/\/generationimpact.global\/it\/soluzioni\/economia-circolare\/"},{"@type":"ListItem","position":4,"name":"Generatore del modulo di informativa ESPR"}]},{"@type":"WebSite","@id":"https:\/\/generationimpact.global\/it\/#website","url":"https:\/\/generationimpact.global\/it\/","name":"Generation Impact Global","description":"","publisher":{"@id":"https:\/\/generationimpact.global\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/generationimpact.global\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/generationimpact.global\/it\/#organization","name":"Generation Impact Global SA","alternateName":"GIG","url":"https:\/\/generationimpact.global\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/generationimpact.global\/it\/#\/schema\/logo\/image\/","url":"https:\/\/generationimpact.global\/wp-content\/uploads\/2_GIG_Logo_emblem.svg","contentUrl":"https:\/\/generationimpact.global\/wp-content\/uploads\/2_GIG_Logo_emblem.svg","width":72,"height":72,"caption":"Generation Impact Global SA"},"image":{"@id":"https:\/\/generationimpact.global\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/GenImpactGlobal","https:\/\/www.linkedin.com\/company\/generation-impact-global\/","https:\/\/wa.me\/41782224582"]}]}},"permalink_manager":null,"_links":{"self":[{"href":"https:\/\/generationimpact.global\/it\/wp-json\/wp\/v2\/pages\/25211","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/generationimpact.global\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/generationimpact.global\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/generationimpact.global\/it\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/generationimpact.global\/it\/wp-json\/wp\/v2\/comments?post=25211"}],"version-history":[{"count":1,"href":"https:\/\/generationimpact.global\/it\/wp-json\/wp\/v2\/pages\/25211\/revisions"}],"predecessor-version":[{"id":25213,"href":"https:\/\/generationimpact.global\/it\/wp-json\/wp\/v2\/pages\/25211\/revisions\/25213"}],"up":[{"embeddable":true,"href":"https:\/\/generationimpact.global\/it\/wp-json\/wp\/v2\/pages\/24866"}],"wp:attachment":[{"href":"https:\/\/generationimpact.global\/it\/wp-json\/wp\/v2\/media?parent=25211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}