SDI / Fatturazione Elettronica

Generazione XML FatturaPA, trasmissione al Sistema di Interscambio e gestione notifiche

v 2.5 Manuale Utente

Riferimenti normativi

1Panoramica e logica del modulo

Il modulo SDI / Fatturazione Elettronica di NOX Enterprise Suite gestisce l'intero ciclo di vita della fattura elettronica: dalla generazione del file XML FatturaPA a partire dal modello Documento, fino alla trasmissione al Sistema di Interscambio e alla ricezione delle notifiche di esito.

Pacchetto. Tutta la parte SdI — archivio delle fatture emesse e dei loro stati, fatture ricevute, XML incollato o importato, configurazione dell'intermediario — fa parte del pacchetto Fatturazione: senza il pacchetto le voci SDI non compaiono nel menu e le sue funzioni rispondono «non compreso nella licenza».

Il flusso operativo si articola in tre fasi principali:

  1. Generazione XML: un adapter converte i dati del Documento (fattura, nota di credito, ecc.) nel tracciato XML conforme alle specifiche FatturaPA v1.2.2. La generazione puo avvenire singolarmente dal documento o in modalita batch per piu documenti contemporaneamente.
  2. Trasmissione al SDI: il file XML (non firmato, vedi sezione 17) si scarica e si carica sul portale Fatture e Corrispettivi, oppure lo trasmette l'intermediario configurato. Il sistema traccia lo stato di ogni trasmissione.
  3. Gestione notifiche: le notifiche dello SdI (ricevuta di consegna, scarto, mancata consegna, esito della PA) NOX non le riceve da solo: quando arrivano — dal portale, dalla PEC o dall'intermediario — si registrano a mano, e lo stato si aggiorna di conseguenza (sezione 7).
ⓘ Il modulo supporta sia fatture verso privati (B2B/B2C, formato FPR12) sia fatture verso la Pubblica Amministrazione (formato FPA12). Il formato viene selezionato automaticamente in base al tipo di cessionario.
2Formati FPR12 e FPA12

Il tracciato FatturaPA prevede due formati distinti, identificati dal codice nel campo FormatoTrasmissione:

FormatoDestinatarioCodice DestinatarioUtilizzo
FPR12Privati (B2B / B2C)7 caratteri alfanumerici oppure 0000000Fatture verso imprese, professionisti e consumatori finali. Se il destinatario non ha un codice SDI, si utilizza 0000000 e si indica la PEC oppure la fattura viene recapitata nell'area riservata del portale Fatture e Corrispettivi.
FPA12Pubblica Amministrazione6 caratteri (Codice Univoco Ufficio IPA)Fatture verso enti pubblici. Il Codice Univoco Ufficio e reperibile dall'Indice delle Pubbliche Amministrazioni (iPA). Lo split payment (art. 17-ter DPR 633/72) viene applicato automaticamente.
⚠ Attenzione: il formato FPA12 richiede obbligatoriamente il Codice CIG e/o il Codice CUP nei dati del contratto/ordine, quando previsti dalla normativa sugli appalti pubblici. L'assenza di questi dati puo causare il rifiuto della fattura da parte dell'ente.
3Generazione XML singola

Per generare il file XML FatturaPA da un singolo documento:

  1. Aprire il Documento (fattura, nota di credito, ecc.) dalla lista documenti o dalla scheda dettaglio.
  2. Verificare che tutti i dati obbligatori siano compilati: dati cedente/prestatore, dati cessionario/committente, righe documento con natura IVA, condizioni di pagamento.
  3. Premere il pulsante XML SDI presente nella toolbar del documento.
  4. Il sistema genera il file XML tramite l'adapter Documento → FatturaPA, applicando automaticamente il formato corretto (FPR12 o FPA12) in base al tipo di cessionario.
  5. Viene visualizzata un'anteprima del file XML con evidenza dei principali campi mappati. Verificare la correttezza dei dati.
  6. Il file si salva nell'Archivio SDI in stato DA_INVIARE: da lì si scarica (📄) per caricarlo sul portale, oppure si trasmette col pulsante ⚡ se c'è un intermediario.
ⓘ Il tipo documento SdI (TD01, TD04, TD24…) e il formato (FPR12, FPA12, FSM10) non si scelgono al momento della generazione: li decidono il tipo del documento e il cliente. Una fattura mandata come nota di credito sarebbe una fattura nei registri di NOX e una nota di credito per l'Agenzia: per stornarla si emette una nota di credito.
ⓘ Il sistema esegue una validazione preventiva del file XML prima dell'invio, verificando la conformita al tracciato e segnalando eventuali errori o campi mancanti. Questo riduce significativamente il rischio di scarto da parte del SDI.

Il controllo sui totali

Fra i controlli che girano prima di trasmettere c'è quello sul totale del documento, che il SDI scarta col codice 00443 quando non torna. Il totale atteso è:

imponibile + IVA + bollo + cassa previdenziale

La cassa previdenziale fa parte del totale: su una parcella con cassa al 4% il documento vale più della somma di imponibile e IVA, ed è giusto cosí. Se il controllo trova una differenza, il documento non parte e il messaggio dice quali addendi ha usato.

ⓘ Sui documenti con ritenuta d'acconto il totale non viene giudicato: lí il lordo dipende da come la ritenuta è esposta, e un controllo rigido fermerebbe documenti corretti.
4Generazione XML batch

La generazione batch consente di elaborare in un solo passaggio tutte le fatture emesse che non sono ancora state archiviate in SDI. L'operazione si svolge direttamente dalla pagina Archivio SDI.

Come attivarla

  1. Accedere al menu DICHIARATIVI & TELEMATICI → SDI fatturazione elettronica (l'Archivio SDI).
  2. Nella barra dei filtri (sopra la lista delle trasmissioni) cliccare il pulsante ⚡ Genera da fatture.
  3. Si apre un pannello con l'elenco automatico di tutte le fatture emesse non ancora elaborate per il SDI: il sistema filtra autonomamente i documenti con tipo TD01…TD09 e TD16…TD29 in stato definitivo (EMESSO, CONFERMATO, INVIATO, PAGATO) che non possiedono ancora un record in Archivio SDI.
  4. Selezionare le fatture desiderate con le checkbox a sinistra di ogni riga, oppure usare la checkbox di intestazione per selezionare tutto l'elenco.
  5. Premere ⚡ Genera N XML (dove N è il numero di fatture selezionate) per avviare la generazione.
  6. Al termine appare un riepilogo con: file XML generati, fatture già esistenti saltate (idempotenza), eventuali errori con documento di origine. Il pannello si chiude automaticamente e la tabella dell'archivio si aggiorna.

Colonne mostrate nel pannello di selezione

ColonnaDescrizione
TipoCodice SDI (es. TD01, TD24)
NumeroNumero progressivo del documento
DataData emissione
ClienteRagione sociale o nome/cognome
P.IVA / CFPartita IVA o Codice Fiscale cessionario
Cod. Dest.Codice destinatario SDI a 7 caratteri (o "PEC" se destinatario via PEC, o 0000000 di default)
Totale €Lordo documento

Endpoint backend

  • GET /api/sdi/emesse/_/da-elaborare — lista delle fatture senza record SDI (LEFT JOIN nullo su fatture_sdi.documentoId). Il prefisso _/ evita la collisione con la rotta /emesse/:id.
  • POST /api/sdi/emesse/_/batch-genera con body { documentoIds:[id1,id2,…] } — genera in sequenza riusando internamente il flusso genera-da-documento, con gestione individuale degli errori e skip idempotente se il record SDI esiste già
ⓘ Idempotenza garantita: se una fattura è già stata elaborata in precedenza (ha già un record in Archivio SDI), il batch la salta senza errori e la segnala come "già esistente" nel riepilogo finale. Si può quindi rilanciare il batch in sicurezza senza rischio di duplicazioni.
⚠ La generazione batch elabora i documenti in sequenza sul backend. Per volumi molto elevati (oltre 500 fatture) è consigliabile frazionare la selezione in più sessioni consecutive per mantenere la responsività dell'interfaccia.
5Archivio SDI

L'Archivio SDI (menu DICHIARATIVI & TELEMATICI → SDI fatturazione elettronica; fa parte del pacchetto Fatturazione) presenta la lista completa di tutte le trasmissioni effettuate, con strumenti di consultazione e monitoraggio.

Statistiche riepilogative

In testa alla pagina vengono visualizzate le statistiche aggregate:

IndicatoreDescrizione
Da inviareFile XML generati ma non ancora trasmessi
In attesaFatture trasmesse in attesa di notifica dal SDI
ConsegnateFatture recapitate con successo al destinatario
Con problemiScartate (NS), rifiutate dalla PA o in errore
Tot. annoFatture dell'anno nell'archivio, per data del documento

Filtri disponibili

FiltroDescrizione
Stato SDIFiltra per stato della trasmissione (v. sezione 6)
Dal / AlData del documento, estremi compresi
CercaNumero della fattura, cliente (ragione sociale, cognome o nome), nome del file o identificativo SdI
ⓘ Dall'archivio e possibile scaricare il file XML originale, visualizzare il foglio di stile della fattura e consultare tutte le notifiche ricevute per ciascuna trasmissione.
6Stati SDI

Ogni trasmissione al Sistema di Interscambio attraversa una sequenza di stati che ne descrivono il ciclo di vita. Di seguito la tabella completa degli stati e le transizioni possibili:

StatoDescrizioneTransizioni possibili
DA_INVIAREFile XML generato, non ancora trasmesso al SDI. Il documento e in attesa di invio manuale o automatico.IN_ATTESA
IN_ATTESAFile trasmesso al SDI, in attesa di notifica di esito. Il SDI ha preso in carico il file e sta eseguendo i controlli formali.CONSEGNATA, IMPOSSIBILE, SCARTATA (e gli altri della sezione 19)
CONSEGNATALa fattura e stata recapitata con successo al cessionario/committente tramite il canale telematico registrato (Codice SDI o PEC).ACCETTATA, RIFIUTATA, DECORRENZA_TERMINI
IMPOSSIBILE (mancata consegna, MC)Il SDI non e riuscito a recapitare la fattura al destinatario (canale non attivo, PEC piena, ecc.). La fattura è emessa ed è a disposizione nell'area riservata del cliente sul portale Fatture e Corrispettivi: al cliente va detto. Verso la PA lo SdI ritenta per 10 giorni.CONSEGNATA (ricevuta tardiva verso la PA)
SCARTATA (notifica di scarto, NS)Il SDI ha rilevato errori formali nel file XML (es. partita IVA non valida, formato non conforme, codice errore specifico). La fattura si considera non emessa; e necessario correggere l'errore e ritrasmettere.DA_INVIARE (dopo correzione e nuova generazione), ANNULLATA (documento annullato)
ACCETTATAIl cessionario (solo PA: formato FPA12 o codice destinatario di 6 caratteri) ha accettato esplicitamente la fattura. Stato finale positivo.— (stato finale)
RIFIUTATAIl cessionario (solo PA: formato FPA12 o codice destinatario di 6 caratteri) ha rifiutato la fattura, indicando la motivazione. E necessario emettere una nota di credito o una nuova fattura corretta.— (stato finale)
DECORRENZA_TERMINISono trascorsi 15 giorni dalla consegna/messa a disposizione senza che il cessionario PA abbia comunicato accettazione o rifiuto. La fattura si considera tacitamente accettata.— (stato finale)
ERROREIl file non è partito per un errore tecnico.DA_INVIARE, IN_ATTESA, ANNULLATA
ANNULLATAIl file non è mai partito e non partirà: tipicamente perché il documento è stato annullato (annullare il documento annulla anche il suo XML non ancora trasmesso). Solo in questo stato il record si può eliminare.DA_INVIARE
⚠ Una fattura SCARTATA dal SDI si considera giuridicamente non emessa. Il cedente deve correggere gli errori segnalati e ritrasmettere il file entro 5 giorni dalla data di notifica di scarto, mantenendo lo stesso numero e data del documento originale (circ. AdE 13/E/2018). NOX conta quei cinque giorni nell'avviso del termine (sezione «Avviso termine SDI»).
7Notifiche SDI

Il Sistema di Interscambio comunica l'esito delle trasmissioni tramite notifiche codificate.

⚠ NOX non riceve le notifiche da solo. Nessun intermediario le riporta indietro in automatico: dopo l'invio la fattura resta In attesa finché non si registra la notifica arrivata (dal portale Fatture e Corrispettivi, dalla PEC o dal pannello dell'intermediario). Uno scarto non registrato non si vede in NOX: controlla le ricevute dopo ogni invio.

Come si registra una notifica

  1. Nell'Archivio SDI premi la campanella 🔔 sulla riga (attiva sulle fatture In attesa, Consegnate o in Mancata consegna), oppure apri la scheda della fattura → scheda Notifiche → Registra una notifica dello SdI.
  2. Scegli la notifica ricevuta. Per uno scarto (NS) scrivi il codice e il motivo; per l'esito della PA (NE) indica EC01 o EC02.
  3. NOX aggiorna lo stato come nella tabella qui sotto, e la notifica entra nella timeline della fattura.
CodiceNomeDescrizioneAzione sistema
RCRicevuta di consegnaConferma che la fattura e stata recapitata al destinatario tramite il canale telematico registrato.Stato → CONSEGNATA
NSNotifica di scartoIl SDI ha rilevato uno o piu errori nel file XML: la fattura non è emessa. Viene indicato il codice errore e la descrizione.Stato → SCARTATA, col motivo; si corregge, si rigenera e si rimanda entro 5 giorni
MCMancata consegnaIl SDI non e riuscito a recapitare la fattura: è comunque emessa e sta nell'area riservata del cliente, a cui va comunicato.Stato → IMPOSSIBILE
ATAttestazione di trasmissione con impossibilità di recapitoSolo PA: dopo la mancata consegna, lo SdI attesta di aver ricevuto il file senza poterlo recapitare.Stato resta IMPOSSIBILE
NENotifica di esito (esito committente)Solo PA: l'ente comunica l'accettazione (EC01) o il rifiuto (EC02) entro 15 giorni.Stato → ACCETTATA o RIFIUTATA
DTDecorrenza terminiSolo PA: sono trascorsi 15 giorni senza esito.Stato → DECORRENZA_TERMINI
SEScarto dell'esito committenteRiguarda l'esito inviato dalla PA, non la fattura.Si registra; lo stato resta invariato
ⓘ Le notifiche seguono le stesse regole del cambio di stato a mano (sezione 19): non si registra una ricevuta di consegna su una fattura mai partita, né un esito della PA su una fattura fra privati (fra privati non esistono accettazione e rifiuto via SdI). Registrare notifiche e cambiare lo stato a mano è riservato agli amministratori. NOX non manda avvisi email sulle notifiche.
8Adapter Documento → FatturaPA

L'adapter converte il modello Documento di NOX nella struttura XML FatturaPA conforme al tracciato v1.2.2. Di seguito la mappatura dei principali blocchi:

Blocco FatturaPASorgente DocumentoNote
FatturaElettronicaHeader / DatiTrasmissioneConfigurazione azienda + Soggetto cessionarioIdPaese, IdCodice, FormatoTrasmissione, CodiceDestinatario, PECDestinatario
CedentePrestatore / DatiAnagraficiAnagrafica azienda emittente (nelle autofatture TD16–TD20, TD22, TD23, TD28, TD29: il fornitore)P.IVA, codice fiscale, denominazione, regime fiscale (del fornitore: dalla sua scheda, vuoto = RF18 estero / RF01 Italia)
CedentePrestatore / SedeIndirizzo sede legale aziendaIndirizzo, CAP, Comune, Provincia, Nazione
CessionarioCommittente / DatiAnagraficiSoggetto cessionario (modulo Soggetti); nelle autofatture l'azienda, salvo la TD26 ceduta a un clienteP.IVA o codice fiscale, denominazione o nome/cognome. Una partita IVA estera va nel file senza il prefisso del paese: IdPaese DE, IdCodice 123456789 (non DE123456789), anche se in anagrafica è scritta col prefisso; lo stesso per il fornitore cedente delle autofatture
CessionarioCommittente / SedeIndirizzo soggetto cessionarioIndirizzo, CAP, Comune, Provincia, Nazione
FatturaElettronicaBody / DatiGeneraliTestata documentoTipoDocumento (TD01, TD04, ecc.), Divisa, Data, Numero, Causale
DatiBeniServizi / DettaglioLineeRighe documentoNumeroLinea, Descrizione, Quantita, PrezzoUnitario, AliquotaIVA, Natura
DatiBeniServizi / DatiRiepilogoRiepilogo IVA documentoAliquotaIVA, ImponibileImporto, Imposta, EsigibilitaIVA
DatiPagamentoCondizioni pagamento documentoCondizioniPagamento, ModalitaPagamento, ImportoPagamento, DataScadenzaPagamento
ⓘ Il campo TipoDocumento viene dal tipo di documento NOX: Fattura → TD01, Nota di Credito → TD04, Fattura Acconto → TD02, Parcella → TD06. Lo si imposta nelle regole del tipo documento (codice SdI); al momento della generazione non si cambia.
⚠ Per le righe con aliquota IVA pari a zero, e obbligatorio specificare il campo Natura (es. N1 escluse, N2.1 non soggette, N2.2 non soggette altri casi, N3 non imponibili, N4 esenti, N6 reverse charge). L'assenza di questo campo causa lo scarto da parte del SDI (errore 00400).
9Gestione dell'archivio (v2.1)

Gestione massiva dell'archivio e correzioni del generatore XML.

Selezione multipla con checkbox

Nella lista Archivio SDI è disponibile una colonna checkbox per la selezione multipla dei record. Quando sono selezionati uno o più record compare una barra azioni con l'unica operazione disponibile: Cambia stato, che applica il nuovo stato a tutte le fatture selezionate rispettando la matrice della sezione 19 (le righe per cui il passaggio non è ammesso restano com'erano, e il motivo si legge in cima alla pagina).

Eliminazione (cestino) record SDI

Ogni record SDI presenta un'icona cestino. L'icona è sempre visibile ma è attiva solo per i record in stato ANNULLATA; negli altri stati è disabilitata a tutela della tracciabilità fiscale. Annullare il documento porta in ANNULLATA il suo XML non ancora trasmesso. Il progressivo del record eliminato resta scritto nel registro delle modifiche e non viene riusato.

Modifica manuale del Progressivo Invio

Accanto al valore Progressivo Invio compare un'icona ✎, solo finché il file non è partito (stati DA_INVIARE o ERRORE). Il progressivo è un numero di cinque cifre (es. 00042) mai usato prima; cambiandolo cambiano insieme il nome del file e il <ProgressivoInvio> dentro l'XML. Dopo l'invio non si tocca più: è il nome con cui lo SdI conosce il file.

Data visualizzata in lista SDI

La colonna Data nella lista SDI mostra la data del documento fiscale (campo dataDocumento), non la data di generazione del record SDI. Prima del fix, i record generati in massa (es. tutti insieme dopo una migrazione) apparivano tutti con la stessa data di creazione, nascondendo la data fiscale reale.

Univocità del Progressivo Invio

Lo SdI scarta un file con un nome già ricevuto (codice 00002), e il nome contiene il progressivo. Per questo il prossimo progressivo si prende sotto un lucchetto del database (due XML generati nello stesso momento non possono avere lo stesso numero), sul massimo numerico mai usato — compresi i progressivi che un record ha avuto prima di essere rigenerato, cambiato a mano o eliminato — e il campo progressivoInvio ha un indice UNIQUE nel database.

⚠ Precisazione normativa: il <ProgressivoInvio> nell'XML FatturaPA e il <Numero> della fattura sono due contatori indipendenti. L'unico requisito è l'univocità del progressivo per cedente. Non è previsto (né richiesto) che coincida con il numero fattura o che sia contiguo senza salti.

Sincronizzazione cross-workspace

Quando si genera un XML in un workspace per cui è configurato un syncTargetWorkspaceId (vedi Utenti → Database di Lavoro), il record SDI e il file XML vengono replicati automaticamente sul workspace target. Il collegamento si configura per workspace. Lo stesso vale per i cambi di stato e le notifiche registrate.

Il documento corrispondente nel workspace target si riconosce da numero, data e tipo (il tipo per codice o, se il codice è diverso, per tracciato SdI: TD01, TD04…). Se non ce n'è uno solo che corrisponde, la copia non si fa: meglio nessuna copia che lo stato di una fattura scritto su un documento diverso con lo stesso numero.

Fix del generatore XML FatturaPA

Il file backend utils/fatturaXml.js è stato corretto in più punti per allinearsi al tracciato XSD ufficiale:

CampoFix
IdCodice trasmittenteUsa idTrasmittente dai parametri (non la P.IVA con prefisso IT)
PrezzoTotale / ImponibileImportoCalcolati correttamente (arrotondamenti a 2 decimali, gestione omaggi e sconti multipli)
Nome fileFormato corretto ITxxx_00035.xml (prefisso paese + identificativo trasmittente + progressivo)
Apostrofi curviConvertiti automaticamente in apostrofi dritti (scarto 00404 evitato)
Cassa previdenzialeInclusa in ImponibileImporto
RiferimentoNormativoPosizionato dopo Imposta (ordine XSD corretto)
ⓘ Non è necessario ri-trasmettere le fatture già accettate. I fix si applicano alle nuove generazioni XML e alle rigenerazioni di fatture in stato DA_INVIARE / SCARTATA.
10Trasmissione diretta SDI (v2.1.1)

Dalla versione 2.1.1 NOX supporta la trasmissione diretta dei file XML FatturaPA al Sistema di Interscambio, senza passaggio manuale attraverso il portale Fatture e Corrispettivi. Sono disponibili tre modalità configurabili per workspace.

10.1 Configurazione intermediario

La configurazione si effettua in Parametri → Fatturazione-Cassa ⚡SDI → sezione ⚡ Trasmissione Sistema di Interscambio (SDI).

ModalitàCanaleCampi da configurare
Manuale (default)Download XML + upload manuale sul portale AdENessuno — l'utente scarica il file e lo carica in Fatture e Corrispettivi
PECInvio via posta elettronica certificata all'indirizzo sdi01@pec.fatturapa.itHost SMTP PEC, porta, utente, password, mittente
Aruba APIAPI REST Fatturazione Elettronica Aruba (Produzione o Demo)URL endpoint, username, password
ⓘ Le password sono protette dal toggle 👁 (occhio) che consente di mostrarle o nasconderle in fase di inserimento, senza mai registrarle in chiaro nell'interfaccia. Il valore salvato e crittografato nel campo sdiConfig (JSONB) della tabella Parametri.

10.2 Modalità PEC (Aruba PEC esempio)

Se si utilizza una casella Aruba PEC, i parametri SMTP tipici sono:

ParametroValore
Hostsmtps.pec.aruba.it
Porta465
TLSImplicito (SSL)
UtenteIndirizzo PEC completo (es. studio@pec.esempio.it)
PasswordPassword della casella PEC
Destinatariosdi01@pec.fatturapa.it (preimpostato di sistema)

Per altri gestori PEC (Legalmail, Namirial, ecc.) consultare la documentazione del provider. I limiti di invio della casella PEC vanno rispettati: la PEC e sconsigliata per volumi massivi (> 50 fatture/giorno).

10.3 Modalità Aruba API — Produzione

Per il canale Aruba Fatturazione Elettronica API servono credenziali rilasciate da Aruba al momento dell'attivazione del servizio (non coincidono con le credenziali della PEC). Endpoint tipico di produzione:

  • URL: https://ws.fatturazioneelettronica.aruba.it
  • Username / Password: forniti nel pannello Aruba

10.4 Modalità Aruba API — Demo (test)

Aruba mette a disposizione un ambiente di collaudo gratuito per testare l'integrazione senza inviare fatture reali al SDI. I passi per registrarsi e testare sono:

  1. Registrarsi sul portale demo.fatturazioneelettronica.aruba.it con un indirizzo email valido; si ottengono username e password di test.
  2. In NOX selezionare modalità Aruba API e inserire come URL: https://demows.fatturazioneelettronica.aruba.it
  3. Inserire le credenziali demo ricevute via email.
  4. Salvare la configurazione e provare a trasmettere una fattura di test dalla lista SDI.
  5. Le fatture trasmesse sono visibili nel pannello web Aruba Demo sotto Gestione Documenti → Inviati, dove si possono verificare lo stato e i messaggi di risposta.
⚠ Le fatture trasmesse in modalità Demo non sono inviate al Sistema di Interscambio reale e non hanno alcun valore fiscale. Servono solo per validare la connessione, la generazione XML e il flusso di stato. Prima di passare in produzione, cambiare URL, username e password con quelli definitivi.

10.5 Pulsante ⚡ di trasmissione

Nell'Archivio SDI, per ogni record in stato DA_INVIARE compare il pulsante ⚡ (fulmine) nella riga. Premendolo:

  1. Il sistema legge la configurazione corrente (sdiConfig) del workspace.
  2. A seconda della modalità attiva, il file XML viene:
    • Manuale: scaricato sul PC dell'operatore (non cambia stato)
    • PEC: allegato a un messaggio PEC inviato a sdi01@pec.fatturapa.it via nodemailer
    • Aruba API: caricato sul web service REST con autenticazione Basic
  3. Se la trasmissione riesce, lo stato del record passa automaticamente da DA_INVIARE a IN_ATTESA.
  4. Se la trasmissione fallisce (es. credenziali errate, rete, 5xx), il record resta in DA_INVIARE e l'errore viene mostrato in popup + scritto nel log trasmissione.

Un documento annullato o cancellato non si trasmette: il pulsante risponde con un errore. Ogni tentativo (riuscito, fallito o in modalità manuale) resta nel log delle trasmissioni (sezione 15).

ⓘ Il pulsante ⚡ sostituisce, per chi ha configurato PEC o Aruba, il download manuale dell'XML e il successivo upload sul portale AdE. La modalità Manuale rimane il fallback sempre disponibile.

10.6 Riepilogo stati

Prima della trasmissioneAzioneDopo trasmissione riuscita
DA_INVIAREPulsante ⚡ → invio PEC o Aruba APIIN_ATTESA → in attesa di notifica di esito (RC/NS/MC), che si registra a mano (sezione 7)
DA_INVIAREPulsante ⚡ → ManualeDownload XML; stato invariato fino al caricamento manuale e alla ricezione notifiche

10.7 Password Toggle

Tutte le caselle password della sezione (PEC e Aruba) e della configurazione SMTP email sono dotate dell'icona 👁 per mostrare il carattere in chiaro durante l'inserimento. L'icona agisce solo sul rendering del campo: il valore salvato resta nascosto di default e viene sempre trasmesso su connessione HTTPS.

11Nuovi intermediari SDI (v2.1.2)

Dalla versione 2.1.2, il menu Modalità trasmissione in Parametri → Fatturazione-Cassa ⚡SDI → ⚡ Trasmissione Sistema di Interscambio (SDI) offre 8 modalità: le 3 già presenti in v2.1.1 (Manuale, PEC, Aruba) e 5 intermediari aggiunti in questa release.

11.1 Riepilogo delle 8 modalità

#IntermediarioStatoCanale / AutenticazioneCredenziali richieste
1ManualeAttivoDownload XML + upload manuale AdENessuna
2PECAttivoSMTP con TLS → sdi01@pec.fatturapa.ithost, port, user, password
3ArubaAttivoREST JSON (signin + upload)apiUrl, username, password
4Fatture in Cloud (TeamSystem)Attivo con limitazioneOAuth2 refresh-tokenclientId, clientSecret, companyId, refreshToken
5Agyo Digital Hub (TeamSystem)AttivoOAuth2 client_credentials + POST /v1/documentsclientId, clientSecret, vatId (P.IVA)
6Zucchetti Digital HubAttivoREST con X-API-Key header + POST {endpoint}/invoices/sendapiKey, endpoint
7FattureWeb (Wolters Kluwer)AttivoMultipart upload + Authorization: ApiKeyapiKey, companyCode, environment (test|production)
8Fatturapa.itAttivoREST Bearer token + POST /v2/invoicesemail, apiKey
ⓘ Tutti gli intermediari attivi validano le credenziali prima dell'invio e ritornano un errore 400 se mancanti. In caso di fallimento remoto, il body di errore del provider viene restituito all'interno di un errore 502 per facilitarne il debug.

11.2 Fatture in Cloud (TeamSystem)

Autenticazione: OAuth2 refresh-token. Durante l'invio NOX scambia il refresh-token con un access-token temporaneo e lo utilizza per tentare l'upload dell'XML.

Credenziali richieste:

  • clientId — ID applicazione (ottenuto dal portale sviluppatori TeamSystem)
  • clientSecret — segreto applicazione
  • companyId — ID azienda su Fatture in Cloud
  • refreshToken — token di refresh a lunga durata ottenuto tramite flusso OAuth2
⚠ Limitazione API: l'intermediario valida correttamente le credenziali ma ritorna 501 Not Implemented per l'upload diretto XML. Il motivo è architetturale: Fatture in Cloud richiede che il documento sia già stato creato al suo interno (tramite UI o API di creazione). NOX supporterà l'export completo nelle versioni successive.

11.3 Agyo Digital Hub (TeamSystem)

Autenticazione: OAuth2 client_credentials grant type. NOX ottiene un access-token via /auth/token e lo utilizza come Bearer per POST /v1/documents.

Credenziali richieste: clientId, clientSecret, vatId (P.IVA dell'azienda).

Esempio URL: https://services.agyo.io/v1/documents

ⓘ Agyo è l'hub digitale di TeamSystem dedicato allo scambio B2B/B2G con il SDI. Adatto a chi già utilizza prodotti TeamSystem (Gecom, ACG, Alyante).

11.4 Zucchetti Digital Hub

Autenticazione: header X-API-Key con chiave fornita da Zucchetti.

Endpoint configurabile: il campo endpoint è personalizzabile per puntare ad ambienti diversi (produzione, staging). NOX chiama POST {endpoint}/invoices/send.

Credenziali richieste: apiKey, endpoint.

Esempio endpoint test: https://api.zucchetti-digital-hub.com

11.5 FattureWeb (Wolters Kluwer)

Autenticazione: header Authorization: ApiKey {apiKey}. Upload dell'XML tramite multipart/form-data.

Selezione ambiente: il campo environment accetta test o production; NOX commuta automaticamente l'URL base.

Credenziali richieste: apiKey, companyCode, environment.

Esempio URL di test: https://test.fattureweb.wolterskluwer.it/api

Esempio URL produzione: https://fattureweb.wolterskluwer.it/api

11.6 Fatturapa.it

Autenticazione: Bearer token Authorization: Bearer {apiKey}. Upload XML tramite POST /v2/invoices.

Credenziali richieste: email (account Fatturapa.it), apiKey.

Esempio URL: https://www.fatturapa.it/api (l'upload va poi su /v2/invoices, come sopra)

ⓘ Fatturapa.it è un servizio indipendente (non legato a un ERP specifico) adatto anche ai piccoli emittenti. L'API key si genera dal pannello utente.

11.7 Come scegliere l'intermediario giusto

SituazioneModalità consigliata
Nessun contratto con intermediari — sono forfettario o micro-impresaManuale (upload su Fatture e Corrispettivi)
Ho già una casella PEC aziendalePEC (limiti: circa 50 fatture/giorno)
Uso già Fatturazione Elettronica ArubaAruba
Sono cliente Fatture in CloudFatture in Cloud (limitazione: l'invio diretto XML non è supportato dall'API; usare in modalità consultazione)
Sono cliente TeamSystem (Gecom, ACG, Alyante)Agyo Digital Hub
Sono cliente Zucchetti (Ad Hoc, InfoBusiness)Zucchetti Digital Hub
Sono cliente Wolters Kluwer (Osra, Genesio, Arca)FattureWeb
Voglio un servizio indipendente e a consumoFatturapa.it
Voglio testare senza contrattiManuale o Aruba Demo (vedi sezione 10.4)

11.8 Validazione credenziali ed errori

  • Errore 400: credenziali mancanti o incomplete (il sistema verifica i campi obbligatori prima di contattare il provider).
  • Errore 401/403: credenziali errate o scadute (apiKey revocata, refreshToken scaduto, password cambiata).
  • Errore 502: il provider ha restituito un errore. Il body della risposta del provider è incluso nel messaggio per facilitare il debug.
  • Errore 501: funzionalità non disponibile presso il fornitore (Fatture in Cloud: invio diretto dell'XML).
ⓘ Tutti i campi password e le chiavi API hanno il toggle 👁 per mostrare/nascondere il valore durante l'inserimento. Nessuna dipendenza npm aggiuntiva è stata introdotta: le chiamate HTTP usano il fetch nativo di Node 18+.
12Intrastat UE — export

Se fatturi o ricevi fatture da clienti/fornitori con P.IVA in altri paesi UE, devi presentare gli elenchi Intrastat. L'esterometro non esiste più: dal 1° luglio 2022 le operazioni con l'estero passano dallo SdI (in vendita la fattura col codice destinatario XXXXXXX, in acquisto l'autofattura TD17, TD18 o TD19), e NOX non lo produce.

Intrastat UE — Cessioni (INTRA-1bis) e Acquisti (INTRA-2bis)

  1. Apri il menu utente in alto a destra → Fatturazione avanzata
  2. Nella sidebar scegli “Intrastat UE”
  3. Imposta l'anno di riferimento
  4. Clicca Genera CSV INTRA-1bis/2bis

Il file CSV contiene, per ciascun paese UE, l'elenco dei soggetti con P.IVA + il totale fatture/imponibile/IVA. Le ultime 4 colonne (Nomenclatura combinata, Natura transazione, Condizioni consegna, Modo trasporto) sono da compilare dal commercialista.

Scadenze

  • Intrastat mensile: entro il giorno 25 del mese successivo
  • Intrastat trimestrale: entro il 25 del mese successivo al trimestre (es. Q1 → 25 aprile)
?Domande frequenti (FAQ)
La fattura e stata scartata dal SDI. Cosa devo fare?
Consultare il dettaglio della trasmissione nell'Archivio SDI per individuare il codice errore specifico. Correggere il dato errato nel Documento originale (es. partita IVA, codice natura IVA, formato importi), rigenerare l'XML e ritrasmettere entro 5 giorni dalla notifica di scarto. Il numero e la data del documento restano invariati.
Ho trasmesso la fattura ma resta «In attesa». Perché?
Perché NOX non riceve da solo le notifiche dello SdI. Quando la ricevuta arriva (portale Fatture e Corrispettivi, PEC o intermediario) registrala con la campanella 🔔 della riga: la fattura passa a Consegnata, Scartata o Mancata consegna (sezione 7).
Qual e la differenza tra FPR12 e FPA12?
FPR12 e il formato per le fatture destinate a soggetti privati (imprese, professionisti, consumatori finali), identificati da un Codice Destinatario a 7 caratteri. FPA12 e il formato per le fatture destinate alla Pubblica Amministrazione, identificata da un Codice Univoco Ufficio a 6 caratteri. Il sistema seleziona automaticamente il formato corretto in base all'anagrafica del cessionario.
Come gestisco una fattura verso un consumatore finale senza partita IVA?
Per i consumatori finali (B2C) si utilizza il formato FPR12 con Codice Destinatario 0000000. Nel campo IdFiscaleIVA si omette la partita IVA e si indica il solo codice fiscale della persona fisica. La fattura viene messa a disposizione nell'area riservata del portale Fatture e Corrispettivi dell'Agenzia delle Entrate.
Posso annullare una fattura gia trasmessa e consegnata?
No, una fattura elettronica trasmessa al SDI e consegnata al destinatario non puo essere annullata o ritirata. Per correggere errori e necessario emettere una nota di credito (TD04) a storno totale e, se necessario, riemettere una nuova fattura corretta. Questa procedura e conforme all'art. 26 DPR 633/72.
Quanto tempo impiega il SDI a processare una fattura?
Il Sistema di Interscambio normalmente processa e recapita le fatture entro pochi minuti dalla trasmissione. Tuttavia, in periodi di alto traffico (fine mese, scadenze fiscali), i tempi possono estendersi fino a 5 giorni. Lo stato IN_ATTESA indica che il SDI ha preso in carico il file e sta eseguendo i controlli.
Come verifico che il Codice Destinatario del cessionario sia corretto?
Il Codice Destinatario e un codice alfanumerico di 7 caratteri (per privati) o 6 caratteri (per PA, detto Codice Univoco Ufficio). Per i privati, il codice viene comunicato dal cessionario e registrato nell'anagrafica Soggetti. Per la PA, e reperibile dal portale iPA (indicepa.gov.it). In caso di dubbio, utilizzare 0000000 e indicare la PEC del destinatario.
14Audit cambio stato fattura SDI
🔑 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.

Ogni transizione di stato di una fattura emessa è tracciata nella tabella log_modifiche_fattura_sdi, nella stessa operazione che cambia lo stato.

Stati gestiti

DA_INVIARE → IN_ATTESA → CONSEGNATA / IMPOSSIBILE / SCARTATA → (solo PA) ACCETTATA / RIFIUTATA / DECORRENZA_TERMINI; più ERRORE e ANNULLATA (sezione 6).

Ogni cambio registra: stato vecchio, stato nuovo, operatore, timestamp, motivo (la nota inserita, la notifica che l'ha causato o il messaggio di errore SDI). Vale anche per la rigenerazione dopo uno scarto (il progressivo vecchio) e per la modifica a mano del progressivo.

Endpoint: GET /api/sdi/emesse/:id/audit-log.

⚠I passaggi ammessi sono quelli della matrice della sezione 19: un passaggio fuori matrice viene rifiutato. Cambiare lo stato a mano è riservato agli amministratori; solo il SUPERADMIN può forzare un passaggio, e la forzatura resta scritta.
15Log trasmissioni SdI

Ogni evento di interscambio con il Sistema di Interscambio è registrato in log_trasmissioni_sdi.

Eventi tracciati

EventoSignificato
TRASMESSAInviata allo SdI dall'intermediario (pulsante ⚡)
PRONTO_DOWNLOADPulsante ⚡ in modalità manuale: il file va caricato sul portale
ERRORE_TRASMISSIONETentativo di invio fallito, col messaggio dell'intermediario
NOTIFICA_RC / NS / MC / AT / NE / DT / SENotifica dello SdI registrata (sezione 7)
IN_ATTESA, CONSEGNATA, …Cambio di stato fatto a mano
CONSERVATA_MANUALERegistrato il riferimento della conservazione fatta dal conservatore

Dati conservati

  • identificativo_sdi: ID assegnato da AdE
  • hash_xml: SHA-256 del file XML trasmesso
  • xml_size: dimensione in byte
  • ricevuta_xml: XML della ricevuta, se incollato quando si registra la notifica (per un errore di trasmissione: il messaggio)
  • operatore: utente che ha eseguito / ricevuto

Endpoint: GET /api/sdi/emesse/:id/trasmissioni.

16Timeline aggregata

Endpoint GET /api/sdi/emesse/:id/timeline restituisce la vista unificata: modifiche + trasmissioni ordinate cronologicamente (descendente).

Utile per ricostruire la catena completa «fattura → invio SdI → notifica AdE → esito» in caso di contestazione o verifica fiscale.

ⓘEsempio: fattura con Notifica Scarto può essere rinviata correggendo l'errore indicato, e la timeline conserva la traccia di tutto il percorso.
17Immutabilità XML

L'XML FatturaPA originale è conservato nel database anche dopo l'invio, e da quel momento non si rigenera né si cancella. L'hash SHA-256 permette di verificare a posteriori se il file conservato coincide con quanto trasmesso.

  • Nome file generato per convenzione (provv. AdE 30/04/2018)
  • Progressivo univoco per trasmissione, mai riutilizzabile
  • Hash calcolato alla generazione dell'XML (e ricalcolato se il progressivo cambia prima dell'invio)
  • Confronto con file attuale rileva alterazioni accidentali o deliberate
⚠Gli XML sono trasmessi non firmati. La firma digitale CAdES non c'è in NOX: se il canale scelto la richiede, va firmato con gli strumenti dell'intermediario prima dell'invio.
18Conservazione fiscale 10 anni

Le fatture elettroniche devono essere conservate per 10 anni (art. 2220 c.c. + art. 39 DPR 633/72).

La conservazione a norma AgID richiede un conservatore accreditato esterno. NOX non conserva: va affidata a un fornitore esterno o al commercialista. Ci sono due strumenti di appoggio: la pagina Archivia.online (il connettore verso il conservatore Genesys, che lavora solo col contratto attivo) e il pulsante Conserva della scheda, che registra il riferimento rilasciato dal conservatore.

Quello che NOX fa nel frattempo:

  • Gli XML restano nel database (tabella delle fatture SDI)
  • Backup giornaliero del DB include i riferimenti
  • Log trasmissioni conservato per ricostruire lo stato
⚠Per compliance fiscale completa è necessario stipulare contratto con conservatore accreditato AgID (Aruba, InfoCert, Namirial, etc.).
19Matrice transizioni di stato

La transizione dello stato di una fattura SDI è validata server-side da una matrice fissa che impedisce retrocessioni incoerenti con la posizione fiscale e con la logica del Sistema di Interscambio.

Matrice applicata

Da stato→ Transizioni ammesse
DA_INVIAREIN_ATTESA, ERRORE, ANNULLATA
IN_ATTESACONSEGNATA, IMPOSSIBILE, SCARTATA, DECORRENZA_TERMINI, ERRORE, ACCETTATA, RIFIUTATA
CONSEGNATAACCETTATA, RIFIUTATA, DECORRENZA_TERMINI
IMPOSSIBILECONSEGNATA (ricevuta tardiva verso la PA). Non torna IN_ATTESA: la fattura con mancata consegna è emessa, rimandarla farebbe un doppione
ACCETTATAnessuna — stato finale positivo
RIFIUTATAnessuna — stato finale negativo
SCARTATADA_INVIARE (correzione errore e re-invio), ANNULLATA
DECORRENZA_TERMINInessuna — stato finale (15 giorni senza esito committente)
ERROREDA_INVIARE, IN_ATTESA, ANNULLATA
ANNULLATADA_INVIARE

La stessa matrice vale per le notifiche registrate (sezione 7). Cambiare lo stato e registrare notifiche è riservato agli amministratori.

⚠Accettata, Rifiutata e Decorrenza termini solo verso la PA. Sono l'esito del committente pubblico: fra privati lo SdI consegna e basta. NOX li ammette solo sulle fatture con formato FPA12 o con un codice destinatario di 6 caratteri (il codice univoco dell'ufficio IPA); su una fattura fra privati il cambio di stato e le notifiche che ci porterebbero vengono rifiutati, e la scheda non li propone. Una fattura consegnata a un privato resta CONSEGNATA. Questa regola non si scavalca nemmeno con la forzatura del SUPERADMIN.

Comportamento in caso di transizione non ammessa

  • Il server risponde HTTP 409 Conflict con messaggio esplicativo
  • Il body della response contiene il campo ammesse con l'elenco delle transizioni lecite da quello stato
  • Esempio: { error: "Transizione non consentita: ACCETTATA → IN_ATTESA. Stati ammessi: (stato finale). SUPERADMIN può forzare con flag forza:true.", ammesse: [] }

Forzatura transizione (override)

Solo un utente SUPERADMIN può forzare una transizione non ammessa aggiungendo "forza": true nel body del PATCH. La forzatura viene registrata separatamente nell'audit log come campo = "stato_forzato" con motivazione automatica.

⚠La forzatura deve essere usata solo per correggere errori di integrazione, non per aggirare la logica fiscale. Ogni forzatura lascia traccia permanente nell'audit.

Riferimento normativo

  • Provv. AdE 30/04/2018 — Specifiche tecniche della fatturazione elettronica (versione 1.9)
  • Art. 1 comma 909 L. 205/2017 — Obbligo fatturazione elettronica
  • Documentazione tecnica SdI — Cicli di vita fatture e notifiche
§Fatture passive ricevute

L'elenco Fatture Passive (SDI) raccoglie le fatture dei fornitori arrivate come XML. Ogni fattura è un documento di acquisto: il clic sulla riga apre la sua scheda in Documenti, con righe, scadenze e XML.

Chi la vede. Tutto il ciclo acquisti — ordini a fornitore, richieste di offerta e valutazione dei fornitori, fatture ricevute, import XML delle passive, e i loro documenti in Documenti (ordini e DDT del fornitore, fatture d'acquisto, integrazioni e autofatture) — si apre solo con il permesso «Vedere costi e margini»: sono prezzi d'acquisto. Di serie ce l'ha l'amministratore; per utenti e operatori si accende dal pannello «Permessi per ruolo». Senza il permesso la pagina risponde «serve il permesso Vedere costi e margini» e quei documenti non compaiono negli elenchi.

Tre informazioni, non uno stato solo

ColonnaCosa diceChi la decide
VerificaRicevuta, Da verificare, VerificataTu: è l'unico stato che si sceglie a mano (filtro e «Cambia stato» offrono solo queste tre voci)
in prima notaLa fattura è registrata in contabilitàLa contabilizzazione: non si imposta a mano
PagamentoDa pagare, Parziale, Pagata, Senza rateLo scadenzario: il pagamento si registra da lì (✓ o «Incasso parziale», con la data e il conto), così entra in prima nota

I contatori in testa (da verificare, verificate, in prima nota, non registrate) contano tutto l'archivio, non solo la pagina che stai guardando. La colonna Scadenza mostra la prima rata ancora aperta, in rosso se è scaduta.

Niente esito EC01 / EC02

L'esito committente (accettazione EC01, rifiuto EC02) esiste solo per le fatture verso la Pubblica Amministrazione, e NOX non lo trasmette: la pagina non ha pulsanti Accetta / Rifiuta. Fra aziende una fattura non si «rifiuta»: se è sbagliata, chiedi al fornitore una nota di credito.

Importare un XML

  • 📂 Importa XML: incolli l'XML, lo analizzi, lo importi. Dopo l'import la pagina mostra gli avvisi (prima nota, scadenze, valuta), se ce ne sono. Come l'import massivo, è riservato agli amministratori: crea il fornitore se manca e scrive in prima nota. Chi crea documenti senza essere amministratore il pulsante non lo vede; la fattura del fornitore la può scrivere a mano da Documenti.
  • Una fattura intestata a un'altra azienda (il cessionario non siamo noi) non si importa.
  • Una fattura già in archivio non si importa due volte. Se è nel cestino, NOX lo dice: va ripristinata dal cestino, non reimportata.
  • Un'integrazione TD16-TD19 recapitata dallo SdI non si reimporta se l'ha emessa NOX; se cita la fattura del fornitore, registra solo l'IVA (il costo c'è già con la fattura originale).
  • Una fattura in valuta senza il cambio resta da verificare, fuori da prima nota e scadenze finché non la reimporti col cambio: nell'elenco porta il segno «valuta senza cambio: non in prima nota».
  • La fattura scritta a mano non si fa da qui: si fa da Documenti. Come quella importata, non carica la merce all'emissione: se non c'è un DDT, la si carica da qui con 📦 Carica a magazzino.

Il magazzino

La fattura importata non carica il magazzino: la merce entra col DDT del fornitore (la bolla di ricevimento). Il pulsante 📦 Carica a magazzino, per l'amministratore, serve solo alla fattura senza DDT (accompagnatoria o immediata): chiede conferma, e se ci sono più magazzini chiede quale. Il carico è rifiutato se la fattura è riepilogativa di DDT, se è una nota di credito o un'integrazione, se è già stato fatto, o se l'ordine collegato ha già le sue bolle (in quel caso NOX chiede se caricare comunque). Le righe senza articolo del catalogo, o di articoli non gestiti a magazzino, si saltano e vengono elencate.

Il cestino

Nel cestino vanno solo fatture in bozza o annullate e non in prima nota: una fattura registrata si annulla prima da Documenti (Cambia stato → Annullato). Le sue rate vanno nel cestino con lei.

Autofattura e contabilità

Il link autofattura compare quando la fattura va integrata (reverse charge: fornitore estero o natura N6); non compare sulle integrazioni TD16-TD19, che lo sono già. Per le scritture (ritenuta d'acconto, note di credito del fornitore) vedi il manuale Contabilità.

L'integrazione nasce in bozza come la vuole la guida dell'Agenzia (versione 1.10):

  • cedente il fornitore, cessionario l'azienda, codice destinatario 0000000 (il file torna all'azienda);
  • la fattura del fornitore citata in DatiFattureCollegate: numero e data, e in un secondo blocco l'identificativo SdI con cui la fattura è arrivata;
  • la data è quella di ricezione della fattura (TD16, TD18, TD17/TD19 da fornitore UE, TD19 da San Marino); per l'extra-UE la data della fattura del fornitore, da correggere con la data di effettuazione se diversa;
  • nella TD16 la natura N6.x del fornitore resta sulle righe, accanto all'aliquota.

Il dettaglio tipo per tipo (TD16–TD29, chi è il cedente, quando serve la fattura di riferimento, TD20 o TD29 per la regolarizzazione) è nel manuale Documenti.

§Parsing XML passive + Intrastat (v 2.2 wave 8)

Parsing XML FatturaElettronica robusto

Il parsing del XML ricevuto da SDI è ora eseguito tramite la libreria xml2js (aggiunta come dipendenza backend). Gestisce correttamente namespaces, attributi, linee singole o array, riepiloghi IVA multipli.

  • POST /api/fatturazione/sdi-passive/:id/parse-xml [ADMIN] — estrae DettaglioLinee, DatiRiepilogo, dati cedente; popola fattura_passiva_righe
  • Ritorna: righeEstratte, riepilogoIva[] (aliquota + natura + imponibile + imposta + esigibilità), intestazioneFornitore

Contabilizzazione automatica fatture passive

Vedi manuale Contabilità § Contabilizzazione automatica. Pattern reverse charge per TD17/TD18/TD19 con doppia annotazione IVA credito/debito.

Esterometro

Ritirato: dal 1° luglio 2022 l'esterometro è stato sostituito dalla trasmissione via SdI (TD17/TD18/TD19 in acquisto, codice destinatario XXXXXXX in vendita). Gli XML già archiviati si scaricano da GET /api/fatturazione/xml-archivio/:id/download.

Intrastat — dichiarazioni cessioni / acquisti UE

Gestione dichiarazioni intra-comunitarie con tabelle intrastat_dichiarazioni (UNIQUE periodo + tipo) e intrastat_righe. Generazione XML secondo schemi ministeriali (INTRA-1bis per cessioni, INTRA-2bis per acquisti).

  • GET/POST /api/fatturazione/intrastat/dichiarazioni — CRUD dichiarazioni con periodicità MENSILE / TRIMESTRALE
  • POST /api/fatturazione/intrastat/righe/:dichiarazioneId [ADMIN] — inserisce riga con: paese ISO, PIVA controparte, codice NC8, valore statistico, massa netta kg, natura transazione (A-P tabella Dogana), condizioni consegna (INCOTERMS: EXW, FOB, CIF, DAP…), modo trasporto (1-5), paese origine
  • POST /api/fatturazione/intrastat/genera-xml/:dichiarazioneId [ADMIN] — produce XML e setta stato PRESENTATA, data_presentazione = oggi

Archivio XML centralizzato

Tabella xml_generati_archivio raccoglie tutti gli XML generati (Intrastat, Autofattura; in passato l'Esterometro). Ogni record ha hash SHA-256 per verifica integrità.

  • GET /api/fatturazione/archivio-xml?tipo=ESTEROMETRO&periodo=2026-Q1 — lista filtrata
⚠L'invio effettivo alla Dogana tramite sistema STATEL o portale IntraSIM dell'Agenzia delle Dogane richiede certificato digitale esterno e firma CAdES (vedere scaffolding in firma-cades.service.js e integrazioni.routes.js). Questa implementazione genera il contenuto XML conforme; la trasmissione richiede strumenti aggiuntivi.
!Avviso termine SDI 12 giorni

Le fatture devono arrivare al Sistema di Interscambio entro un termine che dipende dal tipo:

  • fattura immediata: entro 12 giorni dall'operazione, cioè dalla data del documento (art. 21 c.4 DPR 633/72);
  • fattura differita TD24: entro il 15 del mese successivo (art. 21 c.4 lett. a);
  • fattura differita TD25: entro la fine del mese successivo (art. 21 c.4 lett. b);
  • fattura scartata: si rimanda entro 5 giorni dalla notifica di scarto, con lo stesso numero e la stessa data (circ. AdE 13/E/2018); se il termine ordinario cade più tardi, vale quello.
🚨Sanzione per la fattura emessa in ritardo (dal 1° settembre 2024, art. 6 c.1 D.Lgs. 471/97 come modificato dal D.Lgs. 87/2024): 70% dell'IVA, minimo 300 €; da 250 a 2.000 € se il ritardo non ha inciso sulla liquidazione dell'imposta. Il ravvedimento operoso la riduce.

Cosa conta

L'avviso conta le fatture con l'XML da inviare, quelle scartate e le fatture emesse a cui l'XML non è mai stato generato — che è il caso più comune di fattura dimenticata. Queste ultime si trovano nella finestra «⚡ Genera da fatture».

Dove si vede l'avviso

NOX ti avvisa in 3 punti diversi:

  1. Dashboard: tra gli avvisi in cima compare un banner rosso critico se ci sono fatture oltre il termine. Cliccando si apre l'Archivio SDI.
  2. Pagina /sdi (Archivio Emesse): in cima alla lista appare un banner che nomina insieme le fatture fuori termine, quelle in scadenza e quelle in vista del termine, ciascuna col suo numero, e dice quante non hanno ancora l'XML e di quale gruppo sono (le trovi in «⚡ Genera da fatture»).
  3. Riga tabella: per ogni fattura da inviare o scartata in vista del termine appare un badge con i giorni rimanenti (o di ritardo) e, passandoci sopra, la data limite. Stesso badge nella finestra «Genera XML da fatture».

Soglie di urgenza

  • 🚨 SCADUTO (rosso): termine superato — trasmetti subito
  • ⚠️ Imminente (arancione): 2 giorni o meno residui
  • ⏳ Attenzione (giallo): 5 giorni o meno residui

Il termine lo calcola il server, con le regole qui sopra; le pagine lo mostrano.