Gestione Sconti

Regole sconto per articolo e soggetto, sconto a catena, priorità e integrazione documenti

v 2.2Manuale Utente

Riferimenti normativi

1Panoramica

Il modulo Sconti gestisce regole di sconto automatiche applicabili nelle righe dei documenti. Le regole possono essere per articolo, per soggetto o combinazioni.

Accessibile da: Ciclo Attivo → Sconti nel menu laterale.
2Tipi di Sconto
TipoFormatoEsempioRisultato
PercentualeN%10%Prezzo ridotto del 10%
Importo fissoN €5,00 €Prezzo ridotto di 5 €
CatenaN+N+N10+10+5Sconto equivalente 23,05% (applicati in cascata)
3Sconto a Catena (10+10+5)

Lo sconto a catena applica sconti successivi sul prezzo residuo:

Prezzo finale = Prezzo × (1 − 0,10) × (1 − 0,10) × (1 − 0,05)

Esempio su 100 €: 100 × 0,90 × 0,90 × 0,95 = 76,95 € (sconto equivalente 23,05%).

Importante

10+10+5 non è uguale a 25%. Lo sconto a catena è sempre inferiore alla somma aritmetica. Il sistema preserva la notazione originale “10+10+5” e la rivisualizza al rientro nel documento.

Nel documento, il campo sconto si evidenzia in viola quando contiene uno sconto multiplo a catena.
4Regole per Articolo

Nella voce catalogo: campi scontoDefault (sconto base per tutti) e scontoMultiplo (catena predefinita). Quando l'articolo viene inserito in un documento, lo sconto viene pre-compilato.

5Regole per Soggetto

Nell'anagrafica soggetto: campo scontoMultiplo per assegnare uno sconto fisso a quel cliente. Applicato automaticamente a tutte le righe dei suoi documenti.

6Priorità Applicazione

Quando più sorgenti forniscono sconti, la priorità è:

  1. Sconto multiplo catalogo (scontoMultiplo della voce)
  2. Sconto default catalogo (scontoDefault della voce)
  3. Sconto soggetto (dal soggetto del documento)
  4. Sconto da API/listino
  5. Sconto da listino base

Lo sconto manuale digitato dall'utente nella riga ha sempre priorità massima e sovrascrive qualsiasi regola automatica.

7Creare una Regola Sconto
  1. Aprire il modulo Sconti dal menu.
  2. Premere + Nuova Regola.
  3. Selezionare il tipo: percentuale, importo fisso, catena.
  4. Specificare l'ambito: per articolo, per soggetto, per categoria, globale.
  5. Inserire il valore dello sconto.
  6. Opzionale: periodo di validità (dal/al) e quantità minima.
  7. Premere Salva.
8Sconto in Fattura (Bonus Fiscali)

Per i bonus fiscali (ristrutturazione, superbonus), lo sconto in fattura riduce l'importo totale. La fattura mostra l'importo originale, lo sconto applicato e il netto da pagare.

Lo sconto in fattura per bonus fiscali segue regole specifiche (Circ. AdE 26/E/2023). Verificare con il commercialista le condizioni di applicabilità.
9Integrazione con Documenti

Alla selezione di un articolo in un documento, il sistema applica automaticamente lo sconto dalla regola con priorità più alta. L'utente può sempre sovrascrivere manualmente il valore.

Nella tab Listino & Sconti del documento: panoramica degli sconti applicabili con fonte e valore.

10Novita Aprile 2026 (v2.1) — Audit, Cestino, Bulk

Aggiornamento strutturale del modulo Sconti con operazioni massive, tracciamento modifiche e soft-delete. Pensato per le campagne promozionali ricorrenti e per la gestione coerente delle date di validita.

Soft-delete + Cestino

L'eliminazione di una regola sconto e ora una cancellazione logica: lo sconto viene nascosto dalle liste correnti ma resta nel database. Dal footer della lista Sconti si apre il pulsante 🗑 Cestino che mostra gli sconti cancellati con:

  • ↺ Ripristina: lo sconto torna attivo.
  • ✗ Definitivo: eliminazione fisica irreversibile (con cascade su condizioni/valori/target).

Audit log delle modifiche

Ogni modifica alla testata dello sconto (codice, nome, priorita, combinazione, validita, attiva, note) viene registrata nella tabella log_modifiche_sconti con valore precedente, valore nuovo, utente e timestamp. Endpoint: GET /api/sconti/:id/audit-log.

Nota: l'audit e limitato alla testata dello sconto. Le modifiche granulari a condizioni, valori e target non sono tracciate singolarmente (sarebbero 4 tabelle audit aggiuntive).

Timeline sconto

L'endpoint GET /api/sconti/:id/timeline restituisce la cronologia delle modifiche ordinate per data decrescente.

Operazioni massive

Nella lista Sconti compare una colonna checkbox per la selezione multipla. Con una o piu righe selezionate si apre una barra blu con le azioni:

  • Attiva / Disattiva in blocco.
  • Priorita: imposta la stessa priorita su N sconti.
  • 📋 Duplica: clona gli sconti selezionati come template (copia completa di condizioni, valori, target). Il duplicato nasce con attiva=false per permettere modifiche prima dell'attivazione. Il riferimento scontoPadreId traccia la provenienza.
  • 📅 Proroga scadenza: imposta una nuova dataFine su N sconti contemporaneamente. La proroga e audit-tracciata.
  • 🗑 Cestino: soft-delete in blocco.

Esempio: prolungare la campagna Black Friday

  1. Nella lista, filtra per codice “BLACK”.
  2. Spunta il checkbox in testata per selezionare tutti i risultati.
  3. Premi 📅 Proroga scadenza, inserisci la nuova data.
  4. Il sistema aggiorna dataFine su tutti gli sconti e registra ogni modifica nell'audit log.

Esempio: creare “SALDI-2026” dal modello “SALDI-2025”

  1. Selezionare lo sconto “SALDI-2025”.
  2. Premi 📋 Duplica con suffisso a scelta.
  3. Il nuovo sconto viene creato con stesso set di condizioni/valori/target, attiva=false.
  4. Aprilo, aggiorna le date e attivalo quando e il momento.
?FAQ
10+10+5 è uguale a 25%?
No. Lo sconto a catena è sempre inferiore alla somma: 10+10+5 = 23,05%. Ogni sconto si applica sul residuo, non sull'originale.
Come vedo quale sconto è stato applicato?
Nel documento, il campo sconto mostra il valore. Se è una catena, mostra la notazione originale (es. “10+10+5”) in viola. La tab Listino & Sconti mostra la fonte.
Posso avere sconti diversi per clienti diversi?
Sì. Assegnare scontoMultiplo nell'anagrafica di ogni soggetto. Ogni cliente avrà lo sconto personalizzato applicato automaticamente.
Lo sconto manuale sovrascrive le regole?
Sì. Lo sconto digitato manualmente dall'utente nella riga ha priorità assoluta.
Come funziona lo sconto con periodo di validità?
Le regole sconto possono avere date dal/al. Al di fuori del periodo, la regola non viene applicata. Utile per promozioni temporanee.
Lo sconto riduce la base imponibile IVA?
Sì. Ai sensi dell'art. 13 DPR 633/72, lo sconto riduce l'imponibile e di conseguenza l'IVA calcolata.
Come faccio uno sconto globale su tutto il documento?
Nel tab Generale del documento: campo Sconto Globale (percentuale o importo). Si applica sul totale imponibile dopo gli sconti riga.
Posso arrotondare lo sconto?
Il sistema calcola con precisione a 2 decimali. L'arrotondamento avviene sul totale riga, non sullo sconto in sé.
Come elimino una regola sconto?
Dalla lista regole, premere l'icona Elimina. Le regole eliminate non influenzano i documenti già emessi.
Le regole sconto valgono per tutti i workspace?
No. Ogni workspace ha le proprie regole sconto indipendenti.
Certificazione v 2.2 — Presidi di compliance
🔑 Visibilità condizionata (certificazione v 2.2) — Questo modulo è accessibile solo se:
Pacchetto FATTURAZIONE attivo sul workspace (configurabile da SUPERADMIN in /admin/pacchetti)
Profilo attività compatibile: Farmacia, Ferramenta, Elettronica (commercio con promozioni)
Permesso utente abilitato in Modifica Utente → Moduli
I tre livelli si applicano in intersezione. Dettagli completi in Gerarchia Pacchetti+Profilo+Utente.

A partire dalla versione 2.2, il modulo Sconti adotta lo standard di certificazione NOX con i seguenti presidi:

Cestino e soft-delete

Gli elementi cancellati non vengono rimossi fisicamente ma spostati in un cestino interno (campi cancellatoIl / cancellatoDa). Dalla toolbar il pulsante Cestino alterna tra vista attivi e vista cestino. Dal cestino è possibile:

  • Ripristinare l'elemento (riportarlo nella lista attiva) — operazione riservata ad amministratori.
  • Eliminare definitivamente con motivazione obbligatoria — azione irreversibile, riservata ad amministratori, tracciata nell'audit log.

Azioni massive (bulk)

È possibile selezionare più elementi con le checkbox della prima colonna. Appare una barra inferiore con le azioni disponibili: Attiva, Disattiva, Cambio percentuale, Soft-delete. La risposta indica N operazioni riuscite / M fallite; i dettagli delle fallite compaiono nella console browser (F12).

Storico modifiche (audit log)

L'icona history nelle azioni di riga apre un modal con la storia completa delle modifiche: data, campo, valore precedente, valore nuovo, operatore, eventuale motivazione. I record di audit non sono modificabili né eliminabili via UI. Conservazione: indefinita (art. 2220 c.c. — 10 anni minimo).

Mascheramento dati sensibili (GDPR art. 32)

Se i campi modificati contengono dati sensibili (IBAN, Codice Fiscale, Partita IVA, password/token), l'audit log salva il valore mascherato anziché in chiaro:

CampoEsempio originaleNel log
IBANIT60X0542811101000000123456IT60****3456
Codice Fiscale (PF)RSSMRA80A01H501ZRSSMRA****501Z
Partita IVA12345678901123****901
Password / token(qualsiasi)***REDACTED***

Timeline aggregata

Per ciascun elemento è disponibile una vista Timeline che aggrega in ordine cronologico audit, eventi del ciclo di vita ed eventuali entità collegate (es. documenti, movimenti, storni).

RBAC uniforme

Tutte le azioni distruttive o massive (soft-delete, ripristino, eliminazione definitiva, bulk, storno) richiedono il ruolo ADMIN o superiore. Gli operatori possono continuare a creare / modificare / consultare secondo le proprie abilitazioni.

Il DOCX di certificazione formale per questo modulo è disponibile: certificazione-sconti.docx (cartella manuali).