π Sezionali Documenti
π Riferimenti normativi
- Art. 21 c.2 lett. b DPR 633/72 β La fattura deve contenere «numero progressivo che la identifichi in modo univoco». La numerazione può essere annuale (con reset a inizio anno) ma progressiva e senza buchi all'interno del sezionale.
- Art. 36 DPR 633/72 β «Esercizio di più attività»: regola la possibilità (a volte obbligo) di tenere contabilità separata IVA per attività diverse svolte dallo stesso soggetto. Richiede registri (e numerazioni) distinti.
- Art. 23-24 DPR 633/72 β Registri delle fatture emesse / dei corrispettivi tenuti distinti per ogni singola attività.
- Art. 25 DPR 633/72 β Registro acquisti separato.
- Risoluzione AdE n. 1/E del 10 gennaio 2013 β Possibilità di adottare numerazioni distinte per tipologia documento (cartacea/elettronica, italiana/estera) ammesse purché ogni numerazione sia progressiva e senza salti.
Un sezionale è una numerazione progressiva indipendente per un Tipo Documento e un Anno. Ogni Tipo Documento (es. TD01 Fattura, TD04 Nota Credito, DDT, Preventivo) può avere uno o più sezionali per anno. Ognuno con:
- Un codice identificativo (es.
A,B,IT,EXP,RC) β può essere vuoto per il sezionale principale - Una descrizione (es. «Fatture estere UE», «Cartacee 2026», «Studio Naturopata»)
- Un formato numero personalizzabile (template con placeholder)
- Un progressivo proprio (ultimo numero usato)
- Un flag default (uno solo per tipo+anno) β sezionale pre-selezionato sui nuovi documenti
- Un'eventuale Multi-Attività collegata (per filtrare il dropdown nel form documento)
Il numero finale di un documento viene generato applicando il formato del sezionale al progressivo: es. formato {prog}_{anno}{suffisso} con prog=5, anno=2026, suffisso=F → 5_2026F.
tipoDocumentoId + anno + codice, quindi NOX crea automaticamente nuovi record per il nuovo anno alla prima emissione).
| Caso | Sezionali necessari | Esempio output |
|---|---|---|
| Single sezionale (default storico) | Uno per tipo documento + anno, codice vuoto | 5_2026F |
| Multi-attività (art. 36) studio + ditta individuale |
Un sezionale per ogni attività (campo Multi-Attività valorizzato) | 5_2026F-STU3_2026F-DI |
| Cartacee vs elettroniche | Codice CART e EL con formati diversi |
CART-12/20265_2026F |
| Italia / Estero / Reverse Charge | Codici IT, EXP, RC |
5/2026 IT2/2026 EXP1/2026 RC |
| Filiale / agente / punto vendita | Codice = sigla filiale (es. MI, RM, NA) |
5/2026-MI3/2026-RM |
Accedi alla pagina da sidebar → AMMINISTRAZIONE → Multi-Attività e poi clicca «📁 Sezionali» in alto a destra. URL diretto: /gestione-tabelle/sezionali.
Lista sezionali
La tabella mostra una riga per ogni sezionale con le colonne:
| Colonna | Descrizione |
|---|---|
| Tipo Doc | Codice del tipo documento (FT, NC, DDT, ...) |
| Anno | Anno di riferimento (reset progressivo automatico) |
| Codice | Codice sezionale o «β (default)» se vuoto |
| Descrizione | Etichetta libera per identificarlo |
| Attività | Eventuale Multi-Attività collegata (chip viola) |
| Formato | Template con placeholder, mostrato in monospace |
| Anteprima | Esempio del prossimo numero che verrà generato |
| Progr. | Ultimo numero usato (rosso, monospace) |
| Default | Chip giallo «⭐ Default» se è il sezionale pre-selezionato |
| Stato | Attivo / Disattivo (chip colorato) |
| Azioni | ✏ Modifica, ⎘ Duplica, 🔢 Override progr., 🗑 Elimina |
Filtri
Sopra la tabella ci sono due filtri:
- Tipo Documento: dropdown per restringere a un singolo tipo (default: tutti)
- Anno: campo numerico (default: anno corrente)
- Bottone «↺ Reset» per tornare ai default
Creazione/Modifica sezionale
Bottone «➕ Nuovo sezionale» in alto a destra. Il form richiede:
- Tipo Documento * β obbligatorio, dalla lista dei Tipi Documento attivi
- Anno * β obbligatorio (default: anno corrente)
- Codice β vuoto = sezionale principale (un solo «default» per tipo+anno con codice vuoto). Può essere fino a 10 caratteri (es.
A,IT,EXP,STUDIO) - Descrizione β etichetta libera per il riepilogo
- Multi-Attività β opzionale, dalla tabella Multi-Attività
- Formato Numero * β template con placeholder (vedi § 4)
- Progressivo β di solito 0 (NOX lo incrementa). Modificabile per migrazione da altro gestionale
- ⭐ Sezionale di default β checkbox: se attivo, NOX auto-demota tutti gli altri sezionali default per lo stesso tipo+anno
- Attivo β se disattivato non appare nel dropdown del form documento
Il formato è un template di stringa con placeholder racchiusi tra graffe. Quando il documento passa a EMESSO, NOX sostituisce ogni placeholder con il valore reale.
Placeholder disponibili
| Token | Significato | Esempio |
|---|---|---|
| {prog} | Numero progressivo | 5, 142, 999 |
| {anno} | Anno a 4 cifre | 2026 |
| {anno2} | Anno a 2 cifre (ultime due) | 26 |
| {suffisso} | Suffisso predefinito del Tipo Documento (campo Suffisso predefinito su Tipi Documento) | F, NC, FD, DT |
| {codice} | Codice di questo sezionale | A, IT, EXP, MI |
Esempi pratici
{prog}_{anno}{suffisso}
5_2026F
(default storico, retrocompat)
{prog}/{anno}{codice}
5/2026A
{prog}-{anno2}-{codice}
5-26-EXP
FT-{prog}/{anno}
FT-5/2026
{anno}/{prog}-{codice}
2026/142-IT
Anteprima dinamica
Mentre componi il formato, l'anteprima del numero sulla destra si aggiorna in tempo reale (con prog = ultimo+1) così vedi subito che aspetto avrà il prossimo documento emesso.
A-Z 0-9 / - _ .. Evita spazi e caratteri speciali (€, &, parentesi) per non avere problemi di import/export.
Sotto il campo Formato Numero i placeholder appaiono come pillole grafiche con icona «grip» (⠿⠿) che indica la possibilità di trascinarle. Due modi per inserire un placeholder:
Modalità trascinamento
- Tieni premuto il mouse su una pillola — il cursore diventa grabbing (mano chiusa)
- Trascina sopra il campo Formato — il bordo dell'input diventa blu tratteggiato (drop-zone attiva)
- Rilascia il mouse — il token viene inserito alla posizione del cursore nell'input (o sostituisce la selezione se ne avevi una)
- Il cursore si riposiziona subito dopo il token inserito
Modalità click
Equivalente al drag ma più veloce: clicca sulla pillola e il token viene inserito alla posizione corrente del cursore (o accodato se l'input non ha focus).
Per ogni coppia (Tipo Documento, Anno) esiste al massimo un sezionale «default» — quello pre-selezionato sui nuovi documenti del tipo+anno.
Quando viene auto-creato
Se un Tipo Documento ha bisogno di emettere un documento ma nessun sezionale è ancora configurato per quell'anno, NOX ne crea automaticamente uno con:
- Codice = vuoto (sezionale principale)
- Formato =
{prog}_{anno}{suffisso}(retrocompat con NOX precedente) - isDefault = true
- Suffisso ereditato da Tipi Documento → Suffisso predefinito
Come si imposta
Nel form di modifica del sezionale, attiva il checkbox «⭐ Sezionale di default per questo Tipo + Anno». NOX demota automaticamente tutti gli altri sezionali default dello stesso tipo+anno (mai due default contemporanei, garantito dal backend).
Quando un soggetto svolge più attività sotto la stessa Partita IVA con contabilità separata (art. 36), è possibile collegare ogni sezionale a una specifica Multi-Attività dal dropdown nel form sezionale.
Come configurare
- Vai in Multi-Attività e crea le attività (es. codice
STUDIO«Studio Naturopatia», codiceNEGOZIO«Vendita prodotti olistici») - Vai in Sezionali e crea un sezionale per ogni attività del Tipo Documento (es. due sezionali FT 2026: codice
STUDIOcon attività=Studio, codiceNEGcon attività=Negozio) - Assegna ai soggetti l'attività corretta (futuro miglioramento — oggi si sceglie il sezionale manualmente nel form documento)
Vedi Manuale Multi-Attività per i dettagli sulla tabella attività e i casi d'uso normativi.
Nel form di un nuovo documento (e su documenti BOZZA), nella riga testata accanto a Tipo Documento / Data / Serie, NOX mostra il dropdown Sezionale:
- Lista i sezionali attivi per il Tipo Documento + Anno scelti
- Pre-seleziona il default automaticamente
- Per ogni opzione mostra: codice / descrizione / attività / anteprima prossimo numero
- Cambiando sezionale prima dell'EMESSO, NOX userà quello al momento dell'assegnazione del numero ufficiale
Lock su documenti già emessi
Su documenti già EMESSO / CONFERMATO / INVIATO, il dropdown è bloccato (cursore disabilitato + icona 🔒). Per cambiare sezionale a posteriori si usa il bottone «↺ Cambia» accanto al lucchetto (vedi § 9).
Su un documento già emesso, il bottone «↺ Cambia» apre un dialog modale che permette il cambio sezionale tracciato.
Procedura
- Apri il documento già emesso in modifica
- Clicca «↺ Cambia» accanto al lucchetto sul dropdown Sezionale
- Si apre un dialog modale con avviso ambra: «Operazione tracciata: il documento è già emesso. Il cambio comporta rinumerazione dal nuovo sezionale e viene registrato nello storico audit.»
- Seleziona il Nuovo sezionale dal dropdown (lo stesso tipo+anno; il sezionale corrente è disabilitato per evitare no-op)
- Inserisci una Motivazione testuale (opzionale ma consigliata, es. «Spostamento numerazione su sezionale dedicato Estero»)
- Clicca «Conferma cambio» — un secondo prompt nativo richiede ulteriore conferma (double-confirm)
- NOX rinumera dal nuovo sezionale, aggiorna il numero del documento, e registra il movimento nella tabella
log_modifiche_sezionali
Cosa viene loggato
| Campo | Descrizione |
|---|---|
documentoId | Documento interessato |
sezionaleVecchioId | Sezionale di provenienza |
sezionaleNuovoId | Sezionale di destinazione |
numeroVecchio | Numero documento prima del cambio (es. 5_2026F) |
numeroNuovo | Numero generato dal nuovo sezionale (es. 1_2026F-EXP) |
motivazione | Motivo testuale inserito dall'utente |
utenteId | Utente che ha effettuato il cambio |
createdAt | Timestamp dell'operazione |
Dalla pagina Sezionali, sulla riga del sezionale, il bottone «🔢» permette all'admin di forzare manualmente il progressivo. Utile per:
- Migrazione da altro gestionale: allinei il progressivo all'ultimo numero usato in precedenza, così il primo documento emesso in NOX continua la numerazione
- Allineamento dopo errore: se hai cancellato dei documenti emessi e vuoi riprendere dal numero corretto
Comportamento
Cliccando il bottone, si apre un prompt che richiede il nuovo valore. Conferma e NOX aggiorna sezionale.progressivo. Il prossimo documento emesso userà maxUsato + 1, dove maxUsato = max(progressivo del sezionale, max progressivo nei documenti già emessi) — questa salvaguardia evita duplicati anche se l'utente abbassa il progressivo per errore.
Quando più utenti emettono documenti contemporaneamente (es. 3 utenti che cliccano «EMESSO» nello stesso istante), NOX garantisce che nessun numero venga duplicato tramite un advisory lock Postgres.
Logica di assegnazione del numero
Quando il documento passa da BOZZA a EMESSO (o CONFERMATO/INVIATO):
- NOX prende il sezionale dal documento (se selezionato esplicitamente) o il default per (tipo, anno). Se nessun sezionale esiste, ne crea automaticamente uno default.
- Acquisisce un advisory lock Postgres su
sezionaleId(pg_advisory_xact_lock(sezionaleId, 0)) — bloccante per altre transazioni che chiedono il lock sullo stesso sezionale, fino al commit - Calcola il prossimo progressivo come
max(progressivi già usati, sezionale.progressivo) + 1(anti-buco se documenti cancellati) - Aggiorna
sezionale.progressivo = nuovoProgressivo - Applica il
formatoai placeholder per ottenere la stringa numero finale - Salva
documento.numeroedocumento.sezionaleId - Commit della transazione — il lock viene rilasciato
(tipoDocumentoId, anno, codice), quindi codice EXP per FT 2026 e codice EXP per NC 2026 sono record distinti con numerazioni indipendenti.documenti.sezionaleId con ON DELETE SET NULL: se il sezionale viene eliminato fisicamente (es. cleanup DB straordinario), il campo sezionaleId diventa null sui documenti collegati ma il numero resta inalterato.log_modifiche_sezionali. Endpoint GET /api/sezionali/documenti/:id/log. Nel frontend lo storico sarà visualizzabile dalla pagina Documento → Audit Log (futuro miglioramento).{prog}_{anno}{suffisso} — output identico al passato. Per aggiungere multi-sezionale, basta crearne nuovi codici via interfaccia.