Modulo Scadenzario

Gestione scadenze di pagamento — Rate, Incassi, Interessi moratori

v 2.2 Manuale Utente

Riferimenti normativi

Note operative e permessi configurabili

🗒️ Pannello Note: ogni scheda di scadenza di pagamento o incasso ha un pannello "post-it" giallo floating ancorato all'entità corrente. Si apre minimizzato come fascia centrata sulla topbar (sulla barra blu del modale per i documenti); cliccando la fascia o la freccia expand_more si espande al centro del viewport (ridimensionabile via handle in basso a destra). La fascia minimizzata è trascinabile e la sua posizione viene memorizzata in localStorage per ciascun record (es. ogni documento ha la sua posizione independente). Per scrivere una nota: testo nel box giallino + bottone + Aggiungi (o Cmd/Ctrl + Invio). Modifica/elimina riservate all'autore o agli amministratori. Cestino note con ripristino disponibile dal toggle delete_outline nell'header del pannello espanso (solo ADMIN/SUPERADMIN). Tutti i CRUD (create/update/delete/restore) sono tracciati in audit_log (consultabile dal Registro modifiche, in Aziende & Licenze).

🔒 Permessi configurabili: alcune azioni di questa scheda (creazione, modifica, cancellazione, esportazione, stampa) possono essere bloccate per il ruolo del tuo workspace. Quando un bottone è bloccato, appare con icona "lucchetto" e tooltip "Permesso disabilitato dal Super Amministratore". La configurazione si fa in Aziende & Licenze » Permessi (solo SUPERADMIN).

1Panoramica

Il modulo Scadenzario gestisce il ciclo di vita delle scadenze di pagamento generate dai documenti fiscali (fatture di vendita e acquisto). Le scadenze vengono create automaticamente in base alle condizioni di pagamento associate al documento e al soggetto.

Ogni scadenza (rata) possiede una data di scadenza, un importo e uno stato che evolve nel tempo: Aperta, Pagata o Scaduta. Il sistema aggiorna lo stato automaticamente confrontando la data di scadenza con la data corrente.

ⓘ Lo scadenzario e integrato con il modulo Documenti e il modulo Soggetti: ogni scadenza e collegata al documento che l'ha generata e al soggetto debitore/creditore.
2Tab Scadenzario nel documento

All'interno di ogni documento fiscale (fattura, nota di credito) e presente la tab Scadenzario che mostra il piano rate generato automaticamente.

ColonnaDescrizione
N. rataNumero progressivo della rata
Data scadenzaData entro cui il pagamento deve essere effettuato
ImportoImporto della singola rata in euro
Tipo pagamentoModalita di pagamento (bonifico, RiBa, contanti, ecc.)
StatoAperta, Pagata o Scaduta
Data pagamentoData effettiva dell'incasso/pagamento (compilata alla registrazione)
⚠ Le rate vengono rigenerate se si modificano le condizioni di pagamento del documento. Eventuali pagamenti gia registrati verranno segnalati prima della rigenerazione.

🔄 Rigenerazione automatica al cambio condizioni

Le scadenze si rigenerano automaticamente in due momenti:

  • Al cambio delle condizioni di pagamento (debounced 300ms)
  • Dopo ogni salvataggio del documento (cambi righe/totale → rate aggiornate, debounced 400ms)

Salvaguardia: la rigenerazione automatica non parte se ci sono rate già PAGATA, per non perdere il pagato. In quel caso interviene il banner di disallineamento descritto sotto, che ti permette di scegliere consapevolmente come procedere.

⚠ Banner disallineamento con 3 azioni

Aprendo la sezione Scadenze di un documento, se il totale rate non corrisponde al totale documento appare un banner ambrato in cima alla sezione con:

  • Totale documento, totale rate, differenza, eventuali spese escluse
  • Avviso esplicito se ci sono rate già PAGATA (richiede attenzione)

Tre pulsanti per scegliere come risolvere:

  • 🔄 Rigenera tutto (rosso) — elimina tutte le rate e ricalcola sul totale documento corrente. Se su qualche rata ci sono incassi registrati le rate non si rifanno: l'incasso resterebbe in prima nota senza la sua rata. Prima si annulla l'incasso dalla rata (↩, con lo storno in prima nota), poi si rigenera. Le rate saldate solo da una nota di credito si rifanno: la compensazione si disfa e si rifà da sola.
  • 🗛 Rata di pareggio (X €) (blu) — aggiunge una nuova rata della differenza, lasciando intatte le rate esistenti. Chiede solo la data scadenza (default oggi+30gg).
  • ❌ Ignora (grigio) — chiude il banner senza modifiche.

La scelta giusta dipende dal contesto: se il pagato registrato è corretto e bisogna addebitare la differenza al cliente → Rata di pareggio. Se il documento è stato modificato dopo l'incasso → si annulla l'incasso dalle rate pagate, si sceglie Rigenera tutto e si registra di nuovo l'incasso sulle rate nuove.

3Condizioni di pagamento

Le condizioni di pagamento determinano come l'importo del documento viene suddiviso in rate. Si configurano in Impostazioni → Condizioni di pagamento.

  1. Accedere a Impostazioni → Condizioni di pagamento e premere + Nuova condizione.
  2. Inserire un codice e una descrizione (es. “30/60 DFFM”).
  3. Selezionare il tipo pagamento predefinito (bonifico, RiBa, cambiale, contanti, ecc.).
  4. Definire le righe rate: per ciascuna rata specificare i giorni dalla data documento (o da fine mese), la percentuale dell'importo totale e il tipo pagamento specifico se diverso dal predefinito.
  5. Salvare la condizione. Sara selezionabile nei documenti e nelle schede soggetto.
ParametroEsempioDescrizione
Giorni30Numero di giorni dalla data documento o da fine mese
Fine meseSiSe attivo, la rata cade l'ultimo giorno del mese: data documento + giorni, poi fine mese (DFFM). Le rate dopo la prima seguono un mese dopo l'altro (30 giorni = un mese, 60 = due): una fattura del 1/1 a tre rate 30 gg fine mese scade il 31/01, il 28/02 e il 31/03, senza saltare febbraio. Col giorno fisso la rata cade il primo giorno fisso che viene dopo il termine (nei mesi più corti l'ultimo giorno del mese)
% Importo50%Percentuale dell'importo totale documento assegnata alla rata
Tipo pagamentoBonificoModalita di pagamento per la singola rata
ⓘ La somma delle percentuali di tutte le rate deve essere pari al 100%. Il sistema segnala automaticamente eventuali incongruenze al salvataggio.
4Lista scadenze

La vista principale del modulo presenta l'elenco di tutte le scadenze con filtri avanzati per una gestione efficace.

  1. Accedere al menu Contabilita → Scadenzario per visualizzare la lista completa delle scadenze.
  2. Utilizzare i filtri per stato: Aperta, Pagata, Scaduta oppure Tutte.
  3. Filtrare per periodo: selezionare un intervallo di date scadenza (da/a).
  4. Filtrare per soggetto: cercare per nome, ragione sociale o codice fiscale.
  5. Fare clic su una scadenza per aprire il dettaglio e accedere alle azioni di registrazione pagamento.
StatoColoreSignificato
ApertaBluScadenza non ancora giunta a termine e non ancora pagata
ScadutaRossoData scadenza superata senza pagamento registrato
ParzialeAmbraIncassata in parte: la riga mostra quanto resta. Se la data è passata compare anche fra le Scadute, nell'aging e fra i solleciti, per il solo residuo
PagataVerdePagamento registrato (totale o parziale con saldo a zero)
AnnullataGrigioRata che non si incassa più (solo se non aveva incassi)

💰 Importi in formato italiano (1.234,00)

Tutti gli importi nello scadenzario — sia nelle righe sia nei totali — sono visualizzati ed editati in formato italiano: punto come separatore di migliaia e virgola come separatore decimale. Es. 2.886,15 € invece di 2886.15 €.

Anche i campi editabili (importo rata in modifica inline) sono in formato italiano: alla scrittura il parser riconosce «1.234,56», «1234,56» e «1234.56». Al blur viene riformattato.

5Registrazione pagamento

La registrazione del pagamento aggiorna lo stato della scadenza e alimenta la situazione finanziaria del soggetto.

Pagamento totale

  1. Dalla lista scadenze o dalla tab Scadenzario del documento, selezionare la rata da incassare.
  2. Premere ✓ (Segna pagata) per incassare il residuo con la data di oggi, sul conto proposto dalla modalità; oppure il pulsante Incasso parziale (payments), che apre la finestra Registra Incasso con il residuo già scritto.
  3. Nella finestra verificare l'importo, la data di pagamento, la modalità e il conto su cui sono entrati i soldi (vedi la sezione 10).
  4. Confermare. Lo stato della rata passa a Pagata.

Pagamento parziale

  1. Nella finestra di registrazione, modificare l'importo inserendo un valore inferiore al saldo residuo.
  2. Confermare il pagamento parziale. Il sistema registra l'acconto e aggiorna il saldo residuo della rata.
  3. La rata passa in stato Parziale fino al saldo completo: le schede in cima, l'aging e i solleciti contano il residuo, non l'importo intero.
⚠ I pagamenti registrati sono tracciati nel log e non possono essere eliminati, solo stornati con un movimento di segno opposto per garantire la conformita alle scritture contabili (Art. 2214 C.C.).
5bAzioni disponibili per ogni scadenza

Ogni riga nella lista scadenze mostra i seguenti pulsanti nella colonna Azioni:

PulsanteIconaAzioneQuando visibile
ModificaeditApre la riga in modalità editing per modificare importo, data, note. Su una rata già incassata (anche in parte) importo, data e modo dell'incasso non si cambiano: prima si annulla l'incasso. Le rate non possono superare il totale del documentoSempre
Segna pagata✓Incassa il residuo con la data di oggi, sul conto proposto dalla modalità: l'incasso va in prima nota. Vale anche per le fatture di un periodo IVA chiuso: l'incasso ha la sua dataSe non già pagata
Incasso parzialepaymentsApre la finestra Registra Incasso: importo (anche solo una parte), data, modalità e contoSe non già pagata
Sollecito emailforward_to_inboxInvia email di sollecito al soggetto, per l'importo che resta da saldareSe scaduta (anche parziale)
Incassi della ratareceipt_longApre l'elenco degli incassi della rata, uno per uno (sezione 10): da lì ↩ annulla un incasso solo, Annulla tutti li annulla tutti. Annullare storna l'incasso in prima nota (registrazione di storno con la data di oggi) e rimette la rata da incassare. Si rifiuta, dicendo perché, se l'incasso viene dalla riconciliazione bancaria (si scollega da Banca), se la rata è saldata solo da una nota di credito, se l'ha pagata il dipendente con una nota spese (la fattura d'acquisto nata dalla nota: rimetterla da pagare vorrebbe dire pagare il fornitore due volte; se la fattura è sbagliata la si annulla) o se il periodo IVA di oggi è chiuso. Le provvigioni «a incasso» che l'incasso aveva fatto maturare tornano sospese (quelle già in liquidazione si segnalano e non si toccano)Se pagata o parziale
Eliminadelete_outlineSposta la scadenza nel cestino (con conferma). Le rate di un documento emesso non vanno nel cestino: devono fare il totale della fattura, e per cambiarle si rigenerano dalla scheda del documento (prima si annulla l'incasso, se c'è)Solo senza incassi, solo documenti non emessi
⚠Una scadenza con incassi registrati non si elimina e non si annulla: prima si annulla l'incasso dalla finestra degli incassi della rata (receipt_long), così anche la prima nota resta giusta.
6Dashboard — Stat card Scadenze aperte

La dashboard principale di NOX Enterprise Suite include la stat card Scadenze aperte che fornisce una visione immediata della situazione finanziaria.

IndicatoreDescrizione
Totale scadenze aperteSomma degli importi di tutte le scadenze con stato Aperta
Scadenze in scadenza (7 gg)Rate in scadenza nei prossimi 7 giorni
Scadenze scaduteNumero e importo totale delle rate oltre la data di scadenza
ⓘ Cliccando sulla stat card si accede direttamente alla lista scadenze prefiltrata per lo stato corrispondente.
7Interessi moratori — D.Lgs. 231/2002 e art. 1284 c.c.

Su una rata in ritardo NOX calcola gli interessi con il tasso che dice la legge, che dipende da chi deve pagare:

ClienteTassoPeriodo del tasso
Impresa, professionista o PA (ha la partita IVA, o in anagrafica è società, ditta, professionista, ente pubblico)Tasso di riferimento BCE + 8 punti (D.Lgs. 231/2002, art. 5)Semestre: vale il tasso in vigore il 1° gennaio o il 1° luglio
Privato (consumatore, senza partita IVA)Saggio degli interessi legali (art. 1284 c.c.)Anno: lo fissa ogni dicembre un decreto del MEF
  • Gli interessi corrono dal giorno dopo la scadenza fino al giorno del sollecito (nello Scadenzario: fino a oggi), su quello che restava da pagare giorno per giorno: ogni incasso parziale riduce la base dal giorno dopo. Esempio: 1.220 € scaduti il 31/7 e pagati per 620 il 9/10 fanno interessi su 1.220 fino al 9/10 e su 600 da lì in avanti. Le parti saldate da una nota di credito contano come pagate alla scadenza.
  • Formula: residuo × tasso × giorni / 365 (365 anche negli anni bisestili).
  • Un ritardo che passa da un semestre (o da un anno) all'altro si conta a pezzi: ogni giorno con il tasso del suo periodo. Esempio: 10.000 € scaduti il 15/6/2026 e sollecitati il 15/7/2026 → 15 giorni al 10,15% e 15 giorni al 10,40% = 84,45 €.
  • Fra imprese si può chiedere anche l'indennizzo forfettario di 40 € per i costi di recupero (art. 6). È un diritto, non un obbligo: nei solleciti è spento finché non lo si accende, e a un privato non si può chiedere.

Dove si vedono

  • Nello Scadenzario, sotto l'importo di ogni rata in ritardo dei crediti: «+ € X mora» (o «int. legali» per i privati). Passando col mouse si vedono il tasso, i giorni e i periodi.
  • Nei solleciti dal secondo livello (se il modello ha Calcola gli interessi): il valore va nel testo con le variabili {INTERESSI}, {TASSO}, {TIPO_INTERESSI}, {INDENNIZZO}, {TOTALE}, e resta scritto nel registro dei solleciti con il tasso applicato.

I tassi: Parametri → Fatturazione → Interessi di mora

La tabella contiene i valori ufficiali (tasso BCE per semestre e saggio legale per anno, dal 2022). Quando il MEF pubblica il valore di un periodo nuovo lo si aggiunge lì, senza aspettare un aggiornamento del programma. Se per un periodo manca il tasso, NOX usa l'ultimo noto e lo segnala.

Nella stessa scheda: un tasso fisso dell'azienda (per esempio quello scritto nei propri contratti: se c'è, vale per tutti i clienti al posto di quelli di legge), i punti sopra il tasso BCE (8) e l'importo dell'indennizzo (40 €). Un'aliquota scritta su un singolo modello di sollecito vale per quel livello.

⚠ Gli interessi si calcolano e si chiedono nel sollecito; non diventano da soli un documento. Per addebitarli in contabilità serve una nota di debito.
8Selezione multipla e solleciti batch

Lo scadenzario supporta la selezione multipla per l'invio massivo di solleciti di pagamento.

  1. Utilizzare le checkbox a sinistra di ogni riga per selezionare le scadenze da sollecitare.
  2. La checkbox nell'header seleziona/deseleziona tutte le scadenze visibili.
  3. Una barra scura appare in alto con il conteggio e il bottone Invia Solleciti.
  4. Il sistema invia un'email di sollecito a ogni soggetto che ha un indirizzo email o PEC.
  5. L'email include: numero documento, importo, data scadenza e una richiesta di pagamento.
  6. Al termine viene mostrato il riepilogo: N solleciti inviati, N errori.
⚠ Le scadenze il cui soggetto non ha un indirizzo email vengono ignorate. Verificare la completezza dell'anagrafica prima dell'invio batch.

Sollecito singolo: è anche possibile inviare un sollecito per una singola scadenza tramite il bottone dedicato nella riga.

9Aging report

L'aging report (invecchiamento crediti) classifica le scadenze scadute per fasce temporali. È visibile in due punti:

DoveDescrizione
Dashboard → Stat card "Aging scaduto"Card ambra con barre colorate: 0-30gg (giallo), 31-60gg (arancio), 61-90gg (rosso), >90gg (rosso scuro)
Dashboard → Sezione "Situazione Finanziaria"Card dettagliata con aging, scaduto da incassare, incassato nel mese

L'aging viene calcolato automaticamente dai dati delle scadenze aperte, senza chiamate API aggiuntive.

10Incasso parziale

Lo scadenzario supporta l'incasso parziale: una scadenza può essere saldata gradualmente senza doverla chiudere interamente.

  1. Nella riga della scadenza, premere il bottone Incasso parziale (payments): si apre la finestra Registra Incasso.
  2. Inserire l'importo parziale ricevuto, la data di pagamento, la modalità di incasso e il conto su cui sono entrati i soldi: la Cassa o uno dei conti correnti (quelli della Riconciliazione bancaria). Il conto si propone dalla modalità — contanti in Cassa, il resto sul primo conto corrente — e si può cambiare: l'incasso va in prima nota su quel conto.
  3. La data di pagamento può essere quella di oggi, una passata o una futura, purché non prima della fattura (per errore di battitura si accettano date fino alla fine dell'anno prossimo). La prima nota prende la data di quell'incasso, anche quando è parziale.
  4. Il sistema aggiorna il campo importoPagato e calcola il residuo.
  5. La scadenza passa in stato PARZIALE fino al saldo completo.
  6. Quando l'importo pagato raggiunge l'importo totale, la scadenza passa a PAGATA.

Gli incassi della rata, uno per uno

Ogni incasso resta un incasso a sé, con la sua data, il suo importo e il suo conto: l'acconto e il saldo non si fondono. Il pulsante Incassi (🧾) sulla riga della scadenza li elenca, con la registrazione di prima nota di ciascuno.

  • ↩ su un incasso annulla solo quello: viene stornato in prima nota con la data di oggi e la rata torna da incassare per quell'importo (PARZIALE, o da incassare se era l'unico).
  • Annulla tutti storna tutti gli incassi della rata insieme.
  • Gli incassi arrivati dalla Riconciliazione bancaria si annullano da lì, con «Scollega», così anche la riga dell'estratto conto torna da abbinare.
  • Le rate pagate prima che gli incassi andassero in prima nota mostrano l'importo senza registrazione: quello si annulla solo con «Annulla tutti».
  • Se la rata è compensata con una nota di credito, la finestra lo dice con l'importo: non è un incasso, si sistema dalla nota di credito.
  • Se la rata di una fattura d'acquisto l'ha pagata un dipendente con una nota spese, la finestra lo dice: numero della nota e importo. Quella parte non va pagata al fornitore e non si annulla da qui (vorrebbe dire pagarlo due volte): se la fattura è sbagliata, la si annulla.

Anche il Cash-flow legge gli incassi uno per uno: ognuno conta nel giorno in cui è arrivato.

11Cash flow in dashboard

I dati dello scadenzario alimentano la sezione Situazione Finanziaria nella dashboard principale:

CardContenuto
Fatture scadute (rossa)Numero e importo totale delle scadenze oltre la data
Incassi del mese (verde)Importo totale incassato nel mese corrente
Crediti in scadenzaNumero totale di scadenze aperte
Scaduto da incassareImporto residuo delle scadenze scadute
Aging dettagliatoBreakdown per fasce 0-30gg / 31-60gg / 61-90gg / >90gg
12Import / Export scadenze

Le scadenze possono essere esportate tramite Impostazioni → Import / Export → Scadenzario.

  1. Selezionare il modulo Scadenzario.
  2. Premere Configura Campi per selezionare i campi da esportare (data scadenza, importo, soggetto, stato, numero documento, ecc.).
  3. I campi vengono caricati dal database con tutti i campi disponibili.
  4. Esportare in CSV o Excel.
13Audit, Cestino ATTESA, Operazioni massive

Aggiornamento strutturale del modulo Scadenzario con tracciamento modifiche, cestino compliance-safe e operazioni massive. Il design rispetta le implicazioni contabili: le scadenze pagate non possono essere cancellate per non falsificare il registro incassi.

Soft-delete limitato alle scadenze ATTESA

L'eliminazione di una scadenza segue regole differenti in base allo stato:

  • Senza incassi (ATTESA, SCADUTA, ANNULLATA): eliminazione = soft-delete (la scadenza va nel cestino, e ripristinabile) — ma solo se il documento è una bozza. Le rate di un documento emesso non si cestinano: il programma risponde «annulla l'incasso e rigenera le rate», perché una rata sparita dai crediti resterebbe da incassare in contabilità.
  • Con incassi (PAGATA, PARZIALE): eliminazione non consentita (errore 409). Prima si annulla l'incasso (↩): l'incasso viene stornato in prima nota e la rata torna da incassare.

Questa distinzione protegge il registro incassi da cancellazioni improprie.

Cestino + ripristino

Un nuovo pulsante 🗑 Cestino nell'header della pagina apre la vista delle scadenze cancellate. Per ogni riga sono disponibili:

  • ↺ Ripristina: la scadenza torna nella lista attiva.
  • ✗ Definitivo: eliminazione fisica irreversibile (solo se la scadenza e gia cancellata e non ha incassi).

Audit log delle modifiche

Ogni modifica a una scadenza (importo, date, stato, modalita incasso, riferimento, note) viene registrata nella tabella log_modifiche_scadenze con valore precedente, valore nuovo, utente e timestamp. Accesso via GET /api/scadenzario/:id/audit-log.

Questo risponde alla domanda piu frequente: “chi ha marcato questa fattura come pagata e quando?” L'audit cattura anche i cambi di stato via bulk (marca-pagata massiva, proroga), con una entry per ogni scadenza modificata.

Timeline scadenza

L'endpoint GET /api/scadenzario/:id/timeline restituisce la cronologia completa delle modifiche in ordine decrescente.

Operazioni massive

La barra azioni che compare con la selezione multipla include ora:

  • 💰 Marca pagate: incassa il residuo di ogni scadenza selezionata con data di pagamento comune, modalita e riferimento: ogni incasso va in prima nota, come quelli registrati uno per volta. Le rate che non si possono incassare (gia pagate, documento annullato, data prima del documento o oltre la fine dell'anno prossimo) restano com'erano e la risposta dice il perche di ciascuna. L'audit registra il cambio su ciascuna.
  • 🔁 Proroga…: sposta la dataScadenza di N giorni (anche negativi) su tutte le scadenze selezionate. Utile per concordare un piano di rientro con il cliente o spostare una scadenza vicina a una festivita.
  • 📧 Solleciti: invariato, invia email automatiche (solo per scadenze SCADUTA).
  • 🗑 Cestino: sposta nel cestino solo le scadenze senza incassi di documenti non emessi; le altre vengono ignorate e riportate come bloccate, col motivo.

Cambi di stato (singoli e in blocco)

Lo stato di una rata non si scrive: dice come stanno i soldi. Per questo ogni cambio passa da una regola sola, nella pagina, nella scheda del documento e nelle azioni in blocco:

VersoChe cosa succede
PAGATAÈ un incasso del residuo: va in prima nota (in blocco: come “Marca pagate”)
ATTESA / SCADUTASu una rata senza incassi lo decide la data (passata = SCADUTA). Su una rata incassata vuol dire annullare l'incasso, con lo storno in prima nota: si fa una rata per volta, non in blocco
ANNULLATASolo su rate senza incassi
PARZIALENon si sceglie: la rata ci arriva con un incasso parziale

Esempio operativo: chiudo 40 fatture di Natale

  1. Filtrare la lista per Stato=ATTESA e periodo dicembre.
  2. Spuntare Seleziona tutte in testata.
  3. Premere 💰 Marca pagate.
  4. Inserire data di pagamento 31/12/2025, modalita BONIFICO, riferimento “Saldo anno 2025”.
  5. Il sistema aggiorna le 40 scadenze in una sola operazione e registra 40 entry di audit.
  6. Se alcune sono state pagate in date diverse, annullarne l'incasso (↩) e registrarlo di nuovo con la data giusta: la data dell'incasso è già in prima nota, e cambiarla solo sulla rata le separerebbe.
?Domande frequenti (FAQ)
Le scadenze vengono generate automaticamente?
Si, al salvataggio di un documento fiscale con condizioni di pagamento associate, il sistema genera automaticamente il piano rate con date, importi e modalita di pagamento. Non e necessario creare le scadenze manualmente.
Posso modificare una scadenza generata automaticamente?
Si, e possibile modificare manualmente la data di scadenza, l'importo o il tipo di pagamento di una singola rata dalla tab Scadenzario del documento. Le modifiche manuali vengono tracciate nel log di audit.
Come viene gestito un pagamento parziale?
Registrando un importo inferiore al saldo residuo, il sistema crea un movimento parziale e aggiorna il saldo della rata. La scadenza resta aperta (o scaduta) fino al saldo completo. E possibile registrare piu pagamenti parziali sulla stessa rata.
Il sistema calcola automaticamente gli interessi di mora?
Sì, per le rate in ritardo dei crediti: fra imprese gli interessi di mora del D.Lgs. 231/2002 (tasso BCE del semestre + 8 punti), con i privati gli interessi legali dell'anno (art. 1284 c.c.). Si vedono nello Scadenzario e si chiedono nei solleciti (vedi la sezione 7). L'addebito in contabilità tramite nota di debito resta facoltativo.
Cosa succede alle scadenze se annullo una fattura?
L'annullamento di un documento fiscale annulla automaticamente tutte le scadenze associate non ancora pagate. Se alcune rate risultano gia incassate, il sistema segnala la necessita di emettere una nota di credito e di procedere al rimborso.
✓Certificazione v 2.2 — Presidi di compliance
🔑 Visibilità — Questo modulo è accessibile solo se:
• il pacchetto FATTURAZIONE è compreso nella licenza dell’azienda
• il modulo è acceso nella Aziende & Licenze, per l’azienda e per l’utente
Spento vuol dire bloccato, non solo nascosto. Dettagli in Licenza e Aziende & Licenze.

A partire dalla versione 2.2, il modulo Scadenzario 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: Imposta data pagamento massiva (mantiene possibilità di modifica singola). La risposta indica N operazioni riuscite / M fallite; i dettagli delle fallite compaiono nella console browser (F12).

Periodo IVA chiuso e scadenze

Le rate non sono il documento: spostare una scadenza o incassare una fattura di un periodo IVA chiuso non tocca i registri IVA, e si può fare. L'incasso porta la sua data (oggi, o quella indicata), non quella della fattura. Quello che resta protetto: le rate di un documento non superano il suo totale, e annullare un incasso è uno storno registrato in prima nota con la data di oggi — se il periodo IVA di oggi è chiuso, lo storno si rifiuta.

Esercizio contabile chiuso. In un esercizio chiuso (Contabilità › Esercizi contabili) la prima nota non riceve più scritture con data in quell'anno, nemmeno quelle automatiche. Per questo un incasso con una data di quell'anno non si registra: la finestra «Registra Incasso», il ✓, «Marca pagata» in blocco e l'abbinamento dalla banca lo rifiutano con il messaggio «l'esercizio … è chiuso: riaprilo o usa una data dell'anno aperto», e la rata resta com'era. Anche lo storno di un annullo datato in un anno chiuso si rifiuta. L'incasso si registra con una data dell'esercizio aperto, oppure l'amministratore riapre l'anno (col motivo) prima di registrarlo.

⚠Riferimento: art. 2220 c.c. (immutabilità scritture contabili). Un incasso registrato non si cancella: si storna con un movimento di segno opposto.

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-scadenzario.docx (cartella manuali).

Acconto e saldo

Un piano con acconto e saldo (per esempio 30% alla consegna e 70% a 60 giorni) si fa con una condizione di pagamento a due rate (sezione 3), oppure correggendo le rate dalla scheda del documento. Non c'è una funzione a parte che rifaccia il piano: quella che c'era cancellava anche le rate già incassate ed è stata tolta.

Solleciti automatici + interessi legali (v 2.2)

Il sistema gestisce 4 livelli di sollecito con template personalizzabili: 1° cortese (+7 gg), 2° (+30 gg), 3° ultimo avviso (+60 gg), 4° diffida ex art. 1454 c.c. (+90 gg). A ogni livello può essere associato il calcolo automatico degli interessi: fra imprese quelli di mora (tasso BCE del semestre + 8 punti), verso i privati quelli legali — vedi la sezione 7.

Sostituzioni di variabili nel template

Oggetto e corpo supportano le seguenti variabili che vengono sostituite al momento dell'invio:

VariabileContenuto
{NUMERO}Numero documento
{ANNO}Anno della data documento
{DATA_DOC}Data emissione (formato italiano)
{DATA_SCAD}Data scadenza rata
{IMPORTO}Importo residuo non pagato
{INTERESSI}Interessi calcolati sui giorni di ritardo (0,00 se il modello non li calcola)
{TASSO}Il tasso applicato (più tassi se il ritardo passa da un periodo all'altro)
{TIPO_INTERESSI}«interessi di mora (D.Lgs. 231/2002)» o «interessi legali (art. 1284 c.c.)»
{INDENNIZZO}L'indennizzo forfettario richiesto (40,00 o 0,00). Se il modello non lo nomina e lo si chiede, NOX aggiunge una frase in fondo al testo
{TOTALE}Residuo + interessi + indennizzo
{SOGGETTO}Ragione sociale o nome + cognome
{GIORNI_RITARDO}Giorni di ritardo al momento dell'invio

Formula degli interessi

interessi = Σ per periodo (da pagare nel periodo × tasso del periodo × giorni del periodo) / (365 × 100)

Un periodo finisce al cambio di semestre (o di anno) e al giorno di ogni incasso parziale.

I modelli di partenza dei livelli 2, 3 e 4 dicono quali interessi e a che tasso ({TIPO_INTERESSI} al tasso del {TASSO}): nelle aziende che non li avevano cambiati il testo è stato aggiornato da solo; quelli personalizzati sono rimasti come sono, e le variabili si possono aggiungere a mano.

Se il template ha calcolaInteressiLegali=false, viene stampato € 0,00. Un'aliquota sul template (aliquotaInteressi) vale per quel livello; senza, vale il tasso fisso dell'azienda se c'è, altrimenti quello di legge. L'indennizzo di 40 € si chiede col campo indennizzo: true (solo clienti impresa: per un privato la richiesta si rifiuta).

Tabelle e endpoint

  • Tabelle: template_sollecito (4 livelli seed) + solleciti_documento (log invii)
  • GET /api/fatturazione/solleciti/templates — elenco template attivi
  • PUT /api/fatturazione/solleciti/templates/:id [ADMIN] — modifica oggetto/corpo/giorni/aliquota
  • POST /api/fatturazione/solleciti/invia/:docId body {livello, scadenzaId?, destinatarioOverride?} — genera sollecito, sostituisce variabili, registra log; se scadenzaId non passato, usa la prima scadenza in stato ATTESA
  • GET /api/fatturazione/solleciti/log/:docId — storico solleciti inviati al documento
  • GET /api/fatturazione/solleciti/scaduti?giorni=N — cruscotto operativo di tutte le scadenze pendenti oltre N giorni con livello ultimo sollecito e dati soggetto
ⓘLa diffida ex art. 1454 c.c. è prodromica alla risoluzione di diritto del contratto: il termine minimo di legge è 15 giorni (salvo termini diversi previsti dal contratto). In difetto di adempimento il creditore può procedere con decreto ingiuntivo ex art. 633 c.p.c.

Invio SMTP reale solleciti (v 2.2)

Sostituisce la modalità log-only della wave 7 con invio effettivo via nodemailer. La configurazione SMTP è letta dalla tabella parametri (campi smtpHost, smtpPort, smtpUser, smtpPass, smtpSecure, smtpFrom) e deve essere testata (smtpTestato = true) prima dell'uso effettivo (bandiera di sicurezza).

Endpoint

  • POST /api/fatturazione/solleciti-smtp/invia/:docId body {livello, scadenzaId?, destinatarioOverride?, allegaPdf?} — invio singolo. Ritorna {ok, esito, destinatario, importoScaduto, interessi, messageId}.
  • POST /api/fatturazione/solleciti-smtp/invia-bulk [ADMIN] body {livello=1, giorniRitardoMinimo=7, limiteInvii=50} — invio massivo a tutte le scadenze candidate. Esclude automaticamente i destinatari già sollecitati al livello ≥ N.

Tracciamento doppio

Ogni invio SMTP riuscito/fallito viene loggato in due tabelle:

  • solleciti_documento — log dettagliato del sollecito con livello, corpo, interessi, destinatario, esito
  • log_invio_email_documento — log generale email (evento AUTO_SOLLECITO) per riepilogo storico
ⓘSe il flag smtpTestato è falso, l'endpoint restituisce errore "SMTP non configurato o non testato". È richiesto che l'ADMIN abbia eseguito prima POST /api/smtp/test verificando che le credenziali funzionino. Questa è una misura di sicurezza per evitare l'invio di email con credenziali non valide e possibile blocco dell'account mittente.
★Pagamenti Parziali

Le scadenze ora supportano incassi multipli. Se un cliente paga solo una parte (es. 40% subito, 30% a 30gg, 30% a 60gg), puoi registrare ogni incasso separatamente e la scadenza tiene traccia del residuo.

Quando registri un incasso, il dialog mostra:

  • Il residuo corrente a fianco del label «Importo Incassato»
  • Quick-button: «Tutto residuo» / «Metà» / «1/3»
  • Banner ambra «Pagamento parziale: dopo questo incasso resteranno X €. La scadenza passerà a stato PARZIALE» se l'importo è minore del residuo

Stati possibili della scadenza:

  • ATTESA: nessun pagamento
  • PARZIALE: incassi parziali registrati (campo importoPagato < importo totale)
  • PAGATA: completamente saldata
  • SCADUTA: oltre la dataScadenza e non pagata

Spese d'incasso: in fattura, non solo nelle rate

Quando una Condizione di Pagamento ha attivi i flag «Includi spese bancarie» e/o «Includi bolli su tratta» (vedi Manuale Tabelle), le spese che si addebitano al cliente sono una riga della fattura. Le spese d'incasso fanno parte della base imponibile (art. 13 DPR 633/72); l'art. 15 esclude solo le somme anticipate in nome e per conto del cliente, e le spese di banca non lo sono.

  • 🏦 «Spese d'incasso»: le spese banca dei Parametri Azienda per ogni rata (3 rate × 2,50 = 7,50), con l'IVA dell'operazione principale — l'aliquota prevalente delle altre righe. Se la fattura è tutta esente o non imponibile (anche con lettera d'intento) la riga prende la stessa natura: la spesa accessoria segue l'operazione (art. 12).
  • 📋 «Bolli su effetti»: il bollo che si recupera dal cliente è un'imposta, non un corrispettivo: fuori campo IVA, natura N1.
  • La riga la mette la scheda del documento quando si sceglie la condizione di pagamento (su una bozza); l'operatore può correggerla o toglierla, e tolta non ricompare finché non si sceglie di nuovo la condizione.
  • Le rate si fanno sul totale della fattura: nessuna spesa viene più aggiunta alle sole rate (era la vecchia modalità «in scadenzario», che faceva pagare al cliente più di quanto fatturato).
  • I documenti già emessi restano com'erano: se le loro rate portano spese aggiunte (nota «+ spese € X.XX») la scheda lo segnala.

Validazione «Scadenzario disallineato»

Quando si apre un documento in modifica, NOX verifica che la somma degli importi delle rate corrisponda al totale documento. Il messaggio di errore «Scadenzario disallineato: totale scadenze X € ≠ totale documento Y €. Rigenerare le scadenze.» è ora più preciso:

  • Le spese banca/bolli per rata (note «+ spese € X.XX») vengono scorporate dalla somma scadenze prima del confronto, evitando falsi allarmi quando la condizione di pagamento ha includeSpeseBanca/includeSpeseBolli attivi e modalità IN_SCADENZARIO.
  • Se persiste un disallineamento reale, il messaggio cita esplicitamente l'importo scorporato: «... (escluse € X.XX di spese banca/bolli per rata) ...».

In caso di disallineamento reale, vedi sotto il banner di disallineamento con le 3 azioni dedicate.

Le rate si calcolano su quello che il cliente pagherà davvero. Con la ritenuta d'acconto il cliente trattiene la ritenuta e la versa lui; con lo split payment l'IVA la versa la pubblica amministrazione. In entrambi i casi le rate — e l'anteprima che vedi mentre compili — si fanno sul netto a pagare, non sul totale della fattura.

Le note di credito compensano. Una nota di credito ha una rata sola, alla sua data. Se si riferisce a una fattura (creata con «Crea nota di credito», o con numero e data della fattura originale) ne scala le rate aperte partendo dall'ultima; quello che la fattura non assorbe resta da rimborsare. Vale per le note emesse ai clienti e per quelle ricevute dai fornitori (TD04/TD08 su una fattura di acquisto, anche importate dallo SdI): la nota del fornitore scala il debito verso di lui, lo Scadenzario la toglie dal «da pagare», e se il fornitore ci rimborsa il bonifico in entrata si abbina alla rata della nota (in prima nota: Dare banca, Avere debiti verso fornitori, causale RIMBORSO). La compensazione non scrive in prima nota: le due registrazioni (fattura e nota) si pareggiano fra loro.

Segnare una rata pagata dallo scadenzario del documento scrive l'incasso in prima nota, come dalla pagina Scadenzario.