Passa al contenuto principale

VeriFactu Fase 3: Invio all'AEAT

Che cos'è la Fase 3

La Fase 3 di VeriFactu è l'invio automatico dei registri di fatturazione all'Agenzia delle Entrate (AEAT) tramite messaggi SOAP/XML. Complementa le fasi precedenti (hash SHA-256 e QR) con la trasmissione effettiva di ogni registrazione e annullamento di fattura al sistema SII dell'AEAT.

Con questa fase attiva, Frihet genera l'XML conforme all'Ordinanza HAC/1177/2024, lo firma con il tuo certificato digitale e lo invia direttamente ai server dell'AEAT. Tutto avviene in background, senza intervento manuale.

Certificato digitale

Per inviare registri all'AEAT hai bisogno di un certificato digitale valido. Frihet accetta certificati in formato .pfx o .p12.

Dove ottenere un certificato

EmittenteTipoCosto
FNMT (Fabrica Nacional de Moneda y Timbre)Persona fisica o giuridicaGratuito
CamCert (Camaras de Comercio)AziendaVariabile
ACCV (Comunitat Valenciana)RegionaleGratuito

Caricare il certificato

  1. Vai a Impostazioni > Conformità
  2. Nella sezione Certificato Digitale, clicca su Carica certificato
  3. Seleziona il tuo file .pfx o .p12
  4. Inserisci la password del certificato
Crittografia della password

La password del tuo certificato viene crittografata con AES-256-GCM prima di essere memorizzata. Non viene mai salvata in testo in chiaro.

Sandbox vs Produzione

Il toggle Modalità sandbox in Impostazioni > Conformità permette di inviare i registri all'ambiente di test dell'AEAT prima di attivare l'invio reale.

  • Sandbox: i registri vengono inviati all'endpoint di test. L'AEAT li convalida ma non li registra ufficialmente. Utile per verificare che il certificato e i dati siano corretti.
  • Produzione: i registri vengono inviati all'endpoint ufficiale. Le fatture vengono registrate nel sistema SII dell'AEAT.
suggerimento

Attiva la modalità sandbox durante i primi giorni per confermare che il tuo certificato funzioni correttamente e che i dati vengano generati senza errori.

Invio automatico

Attivazione

  1. Vai a Impostazioni > Conformità
  2. Attiva il toggle Invia automaticamente all'AEAT

Con questo toggle attivo, ogni fattura emessa o annullata viene inviata automaticamente:

Flusso di registrazione (fattura emessa)

  1. Viene calcolato l'hash SHA-256 della fattura (stringa immutabile)
  2. Viene generato l'XML di registrazione conforme alla specifica AEAT
  3. Viene firmato l'XML con il tuo certificato digitale
  4. Viene inviato via SOAP all'endpoint dell'AEAT
  5. Viene memorizzata la risposta (CSV assegnato o errore)

Flusso di annullamento (fattura annullata)

  1. Viene calcolato l'hash di annullamento con i 5 campi richiesti
  2. Viene generato l'XML di annullamento
  3. Viene firmato e inviato all'endpoint dell'AEAT
  4. Viene memorizzata la risposta e lo stato di annullamento

Entrambi i flussi sono fire-and-forget: l'utente può continuare a lavorare mentre l'invio viene elaborato in background.

Invio manuale

Se l'invio automatico non è attivo, o se hai bisogno di reinviare una fattura specifica:

  1. Apri la fattura in questione
  2. Clicca sul menu delle azioni (tre punti)
  3. Seleziona Invia all'AEAT
  4. Viene mostrato un dialogo di conferma con l'anteprima dell'hash
  5. Conferma per avviare l'invio

L'invio manuale segue lo stesso flusso tecnico di quello automatico.

Stati di invio

Ogni fattura mostra un badge con il suo stato di invio all'AEAT:

StatoBadgeDescrizione
In sospesoOutline (senza colore)Hash calcolato, invio non avviato
InviatoGrigioMessaggio SOAP inviato, in attesa di risposta dall'AEAT
AccettatoVerdeL'AEAT ha accettato la registrazione e ha assegnato un codice CSV
RifiutatoRossoL'AEAT ha rifiutato la registrazione. Vedi dettaglio dell'errore
ErroreRossoErrore tecnico nell'invio (rete, certificato, timeout)

Consultare lo stato

Lo stato di invio è visibile in:

  • La vista di dettaglio di ogni fattura (badge accanto al numero)
  • L'elenco generale delle fatture (colonna di stato)
  • Il registro ampliato (colonne aggiuntive)

Tentativi automatici

Quando un invio fallisce per errore tecnico (timeout, errore di rete, servizio AEAT non disponibile), Frihet ritenta automaticamente:

  • Frequenza: ogni 15 minuti
  • Numero massimo di tentativi: 3
  • Dopo 3 fallimenti: lo stato diventa Errore e richiede intervento manuale

Per ritentare manualmente una fattura con stato Errore:

  1. Apri la fattura
  2. Sul badge di stato rosso, clicca su Ritenta
  3. Viene eseguito un nuovo tentativo di invio

Indicatori nel PDF

Le fatture accettate dall'AEAT includono informazioni aggiuntive nel PDF generato:

  • Badge "Registrata all'AEAT" nell'intestazione del documento
  • Codice CSV assegnato dall'AEAT, accanto al QR di verifica

Questi indicatori appaiono solo quando lo stato di invio è Accettato.

Registro ampliato

Con la Fase 3 attiva, il registro delle fatture emesse include 3 colonne aggiuntive:

ColonnaDescrizione
Stato Invio AEATStato dell'invio del registro di registrazione (In sospeso, Inviato, Accettato, Rifiutato, Errore)
CSV AEATCodice sicuro di verifica assegnato dall'AEAT all'accettazione della registrazione
Stato Annullamento AEATStato dell'invio del registro di annullamento (se applicabile)

Queste colonne vengono aggiunte alla fine del CSV esportato, dopo le 12 colonne standard.

Risoluzione dei problemi

"Certificato non configurato"

Non è stato caricato un certificato digitale. Vai a Impostazioni > Conformità e carica il tuo file .pfx o .p12.

"NIF non configurato"

Il profilo fiscale non ha un NIF. Vai a Impostazioni > Profilo Fiscale e completa il tuo identificativo fiscale.

Errore SOAP / Errore di connessione

Possibili cause:

  • Certificato scaduto: verifica la data di validità del tuo certificato. I certificati FNMT hanno una validità di 4 anni.
  • Password errata: ricarica il certificato con la password corretta.
  • Servizio AEAT non disponibile: l'AEAT ha finestre di manutenzione. Il sistema ritenterà automaticamente.
  • Dati fiscali incompleti: verifica che il tuo NIF, indirizzo fiscale e dati aziendali siano completi.
Certificato scaduto

Un certificato scaduto blocca tutti gli invii. Rinnova il tuo certificato presso l'FNMT o CamCert prima della data di scadenza.

Fattura rifiutata dall'AEAT

L'AEAT può rifiutare una registrazione per:

  • NIF dell'emittente non corrisponde al certificato
  • Formato della data errato
  • Tipo di fattura non valido per l'operazione

Controlla il messaggio di errore nel dettaglio della fattura. Correggi i dati e usa Ritenta per inviare nuovamente.

Calendario legale

L'obbligo di invio all'AEAT ha scadenze scaglionate secondo il RDL 15/2025:

Tipo di contribuenteData limite
Società (S.L., S.A.)1° gennaio 2027
Lavoratori autonomi (persona fisica)1° luglio 2027
informazioni

Frihet supporta già l'invio all'AEAT. Si raccomanda di attivare la modalità sandbox in anticipo per convalidare la configurazione prima che l'obbligo entri in vigore.

Relazione con altre fasi

  • Fase 1 (Hash SHA-256): viene calcolato automaticamente per ogni fattura. È la base della registrazione. Vedi VeriFactu.
  • Fase 2 (QR AEAT): il codice QR nel PDF si collega alla sede elettronica dell'AEAT per la verifica.
  • Fase 3 (Invio AEAT): questa pagina. Trasmissione effettiva della registrazione all'AEAT tramite SOAP/XML.

Precedente: VeriFactu | Successivo: Immutabilità e registrazione