La fatturazione elettronica è il sistema con cui in Italia le fatture si emettono, trasmettono e ricevono in formato digitale strutturato, eliminando la carta. Le fatture viaggiano in un file XML conforme al tracciato FatturaPA e passano tutte dal Sistema di Interscambio (SdI), la piattaforma gestita dall’Agenzia delle Entrate che valida e recapita ogni documento.
L’obbligo è entrato in vigore per gradi: verso la Pubblica Amministrazione (B2G) dal 2014, in ambito privato (B2B e B2C) dal 1° gennaio 2019, e infine per i contribuenti in regime forfettario dal 2024 (dopo un primo scaglione nel 2022). Oggi, salvo casi residuali, riguarda quindi la generalità delle partite IVA.
L’autore di questa guida è Maia Management, partner Odoo specializzato in PMI manifatturiere e commerciali in Italia, con consulenti senior guidati da Davide Caio.
Implementazione Odoo
Implementare Odoo da soli è rischioso.
Lo abbiamo fatto per decine di PMI manifatturiere italiane. Solo senior, nessun junior. Risultati in tempi certi, senza sorprese.
Odoo gestisce davvero la fatturazione elettronica italiana?
Sì, e in modo nativo. La localizzazione italiana di Odoo (l10n_it) e il modulo di fatturazione elettronica (l10n_it_edi) sono sviluppati da Odoo S.A. e generano il file FatturaPA e lo trasmettono al SdI direttamente dal gestionale. Su Odoo Enterprise la localizzazione è mantenuta e testata centralmente da Odoo a ogni versione; su Odoo Community si parte dagli stessi moduli Odoo S.A., storicamente affiancati dai moduli OCA del repository l10n-italy, che vanno però mantenuti e testati versione per versione.
Il punto chiave da chiarire subito, perché è la fonte di gran parte della confusione: in Odoo non si “esporta l’XML e lo si manda via PEC” a mano. Odoo trasmette le fatture al SdI attraverso un proprio servizio web (un proxy che gira sui server Odoo), previa autorizzazione esplicita dell’azienda. Una volta attiva la localizzazione EDI, l’invio delle fatture tramite PEC non è più la modalità operativa: il canale è il SdI, gestito da Odoo.
Come si configura la fatturazione elettronica in Odoo
1. Dati dell’azienda
In Impostazioni → Aziende vanno completati i dati che finiscono nell’XML e che il SdI verifica:
- Ragione sociale, indirizzo completo, Partita IVA e Codice Fiscale
- Regime fiscale (es. RF01 ordinario, RF19 forfettario)
- Eventuale iscrizione al Registro Imprese e dati REA, se applicabili
2. Modalità di trasmissione (Demo / Test / Produzione)
In Contabilità → Configurazione → Impostazioni, sezione Fatturazione Elettronica italiana, si sceglie la modalità:
- Demo: simula il flusso senza inviare nulla al SdI (l’XML si scarica e, se serve, si carica a mano sul portale AdE). Utile per le prime prove.
- Test: dialoga con l’ambiente di test dell’Agenzia delle Entrate.
- Produzione: invia le fatture reali al SdI.
Per passare in produzione bisogna avere il Codice Fiscale compilato e spuntare l’autorizzazione con cui si consente a Odoo di inviare e ricevere le fatture tramite il Sistema di Interscambio. Poiché i file transitano dai server di Odoo prima di raggiungere il SdI, questa autorizzazione è obbligatoria.
3. Anagrafiche clienti e fornitori
Su ogni cliente va impostato il dato che permette al SdI di recapitare la fattura:
- il Codice Destinatario (7 caratteri) fornito dal cliente, oppure
- l’indirizzo PEC del cliente
Per i clienti privati senza né l’uno né l’altra si usa 0000000 e il SdI mette la fattura a disposizione nell’area riservata del destinatario. Il Codice Destinatario è il vero campo di instradamento: il SdI lo usa per consegnare la fattura all’indirizzo del cliente, che sia una PEC o un canale WebServices del suo gestionale.
Emettere una fattura attiva
Il flusso in Odoo è lineare:
- Crei la fattura, dal preventivo/ordine di vendita o direttamente in contabilità.
- La confermi (post): Odoo genera l’XML FatturaPA e lo invia al SdI tramite il proprio servizio.
- La fattura passa in stato “SdI in elaborazione” e riceve un identificativo FatturaPA. I controlli del SdI richiedono da pochi secondi fino a circa un giorno.
- Se il documento è valido, viene registrato dall’Agenzia delle Entrate e recapitato (o messo a disposizione) al cliente. In caso contrario, Odoo riporta lo scarto con il codice di errore, così correggi e reinvii.
Odoo classifica automaticamente il Tipo Documento in base al contesto: TD01 fattura ordinaria, TD07 fattura semplificata (per operazioni interne sotto i 400 € IVA inclusa, con requisiti informativi ridotti), TD24 fattura differita, e così via.
Ricevere le fatture passive
Per ricevere automaticamente in Odoo le fatture dei fornitori serve un passaggio una tantum sul portale dell’Agenzia delle Entrate: registrare il Codice Destinatario di Odoo come indirizzo telematico su cui ricevere le fatture elettroniche. Da quel momento le passive vengono instradate a Odoo e importate come fatture fornitore da controllare e registrare.
In alternativa, o per le fatture ricevute su altri canali, puoi importare manualmente il file XML scaricato dal cassetto fiscale: Odoo lo legge e pre-compila la fattura fornitore.
Fatture verso la Pubblica Amministrazione (B2G)
Per la PA Odoo mette a disposizione la posizione fiscale Scissione dei Pagamenti (split payment). Le fatture verso la PA richiedono una firma elettronica qualificata: quando il Codice Destinatario è a 6 cifre (indice PA), Odoo applica automaticamente la firma in formato XAdES, l’XML viene firmato sui server di Odoo, restituito al database e allegato alla fattura. Nelle fatture verso la PA vanno inoltre indicati, quando previsti, CIG e CUP per la tracciabilità dei pagamenti.
Operazioni estere e reverse charge
Odoo gestisce anche gli adempimenti collegati: reverse charge con le apposite aliquote e i quadri IVA dedicati (i codici tributo con tag VJ), e le autofatture / integrazioni per le operazioni con l’estero tramite i Tipi Documento TD17 (servizi da non residenti), TD18 (acquisti intra-UE di beni) e TD19 (importazioni con IVA in reverse charge), che sostituiscono il vecchio esterometro confluendo nel flusso SdI.
Un punto su cui essere chiari: la conservazione a norma
Odoo non fornisce la conservazione sostitutiva a norma di legge. La conservazione decennale a norma va gestita esternamente, tramite un conservatore accreditato o il servizio di conservazione dell’Agenzia delle Entrate (attivabile dal portale). È un aspetto che va messo a piano in ogni progetto italiano: Odoo emette, trasmette e archivia i documenti nel gestionale, ma la conservazione a norma è un servizio a parte. Diffida di chi te la vende come “inclusa in Odoo”.
Come Maia supporta la fatturazione elettronica su Odoo
In Maia configuriamo l’intero ciclo, dati azienda, modalità di trasmissione, anagrafiche, split payment e firma per la PA, reverse charge e operazioni estere, e lo colleghiamo al resto del gestionale (vendite, acquisti, contabilità). Dove serve, integriamo un conservatore esterno per la conservazione a norma e gestiamo i casi limite (scarti ricorrenti, autofatture, note di credito verso PA).
Guida gratuita in PDF
Odoo è la scelta giusta per la tua azienda?
Una guida di 35 pagine per capire se Odoo è adatto alla tua PMI: criteri di valutazione, costi reali, errori da evitare. Scritta da chi implementa Odoo ogni giorno, senza gergo tecnico.
Scarica la guida gratuita →Lavoriamo solo con consulenti senior e un unico referente dall’analisi al supporto continuativo. Partiamo sempre da un’analisi preliminare dei tuoi processi: le ore di analisi vengono scalate dal pacchetto che sceglierai.
Domande frequenti
Odoo è compatibile con la fatturazione elettronica obbligatoria in Italia?
Sì. Gestisce nativamente ciclo attivo e passivo, generazione del file FatturaPA e trasmissione al SdI. Su Enterprise la localizzazione è mantenuta da Odoo; su Community si usano i moduli Odoo S.A. affiancati dai moduli OCA l10n-italy.
Le fatture si inviano via PEC da Odoo?
No. Odoo trasmette le fatture al SdI tramite il proprio servizio web, non via PEC. La PEC (o il Codice Destinatario) è il dato con cui il SdI recapita la fattura al cliente, non il canale di invio del gestionale.
Cosa succede se il SdI scarta una fattura?
Odoo segnala lo scarto con il relativo codice di errore. Correggi il dato (tipicamente Partita IVA, Codice Destinatario o un campo del tracciato) e reinvii.
Posso emettere fatture verso la Pubblica Amministrazione?
Sì. Odoo applica lo split payment e, per gli indici PA a 6 cifre, la firma digitale XAdES in automatico, con gestione di CIG e CUP.
Odoo fa la conservazione sostitutiva a norma?
No. Va gestita con un conservatore accreditato esterno o tramite il servizio dell’Agenzia delle Entrate. È un tassello sempre da prevedere nel progetto.
Serve un partner per configurarla?
Odoo è potente ma la fatturazione elettronica è un adempimento obbligatorio: conviene farsi seguire da chi conosce a fondo la localizzazione (nativa ed eventualmente OCA) e i casi fiscali italiani. È esattamente il nostro terreno.
Vuoi una demo o una verifica della tua configurazione SdI? Prenota una call gratuita con un nostro consulente senior.
Noi gestiamo circa 12.000 ordini l’anno con un magazzino di 1.500 SKU attivi. Mi chiedo se Odoo consente una gestione fluida del flusso ordine–fatturazione senza introdure colli di bottiglia nel processo, soprattuto nel picco stagionale (novembre–dicembre). È possibile automatizare anche le eccezioni (es. backorder)?
Buongiorno, con volumi come i vostri Odoo può gestire in modo fluido il flusso ordine–fatturazione anche nei periodi di picco, se i processi sono ben strutturati. Le eccezioni come backorder, spedizioni parziali e fatturazioni differite sono gestite nativamente, ma vanno configurate correttamente nei workflow. I colli di bottiglia emergono soprattutto quando le eccezioni non sono codificate.
Abbiamo già un CRM interno sviluppato su misura che gestisce i lead e il ciclo vendita fino alla conferma dell’ordine. Come si integra Odoo in questo scenario? È possibile usare solo la parte di fatturazione elettronica mantenendo il nostro CRM?
Buongiorno
Sì, Odoo è modulare e può essere utilizzato solo per la fatturazione elettronica mantenendo un CRM esterno. In questo scenario è fondamentale integrare correttamente anagrafiche clienti e dati ordine per garantire coerenza fiscale e contabile. La complessità dipende da quanto il CRM custom è standardizzato e da quante eccezioni gestite nel ciclo ordine–fattura.
stiamo valutando la migrazione da un gestionale legacy proprietario che genera XML localmente e li invia via PEC manualmente ogni sera. Quali criticità dobbiamo aspettarci nel passaggio a Odoo? Ci sono limiti nella migrazione degli storici XML già validati?
Buongiorno,
Nel passaggio a Odoo le criticità principali riguardano allineamento anagrafiche, gestione SDI, regole IVA e coerenza tra documenti (ordini, DDT, fatture). Gli XML storici già validati in genere non si migrano come XML “operativi”, ma si conservano come archivio, importando i dati contabili strutturati necessari alla continuità. La scelta dipende anche dal livello di audit richiesto.
Nel nostro ecommerce gestiamo mediamente circa 300 ordini/giorno e ci interessa sapere se la generazione automatica delle fatture elettroniche in Odoo può essere legata direttamente alla conferma pagamento online (Stripe/PayPal) o va sempre fatta manualmente dopo.
Buongiorno,
La generazione automatica della fattura può essere collegata alla conferma del pagamento, ma dipende dal flusso contabile adottato (fatturazione al pagamento vs alla consegna). Con Stripe e PayPal è possibile agganciare l’automatismo allo stato di pagamento confermato, gestendo però correttamente rimborsi, pagamenti parziali e storni. La configurazione va pensata per evitare emissioni errate nei picchi di ordini.
‘Vorremmo capire come si comporta Odoo quando ci sono errori ricorrenti nei dati anagrafici importati dai clienti esterni (es: codici fiscali errati o indirizzi incompleti). È possibile implementare regole di validazione preventiva prima della generazione XML?’
Buongiorno. Sì, è possibile introdurre controlli di validazione preventiva sui dati anagrafici prima della generazione dell’XML. In Odoo si possono bloccare i flussi quando campi critici (codice fiscale, partita IVA, indirizzo, SDI/PEC) sono incompleti o incoerenti. Per validazioni più stringenti o personalizzate può essere necessario estendere le regole standard con configurazioni o moduli dedicati.