Skip to main content

Introduzione modulo

Il modulo Fatture permette di gestire l'oggetto fattura elettronica, in modalità conforme alle disposizioni dell'Agenzia delle Entrate.


📌 Panoramica

Il sistema di fatturazione permette di:

  • Creare e gestire fatture elettroniche conformi al formato XML dell'AdE
  • Gestire note di credito e storni fattura
  • Configurare mittenti e destinatari con dati fiscali completi
  • Inviare fatture al Sistema di Interscambio (SDI) tramite driver
  • Monitorare lo stato di invio e ricevere notifiche dal SDI
  • Generare PDF e XML delle fatture

🎯 Obiettivi del modulo

Il modulo Fatture è stato progettato per:

  1. Centralizzare la gestione della fatturazione elettronica
  2. Automatizzare l'invio al Sistema di Interscambio
  3. Supportare diversi driver SDI (es. Acube API)
  4. Garantire la conformità al formato ministeriale XML
  5. Tracciare lo stato delle fatture inviate

🔑 Concetti chiave

Fattura elettronica

Una fattura elettronica è composta da:

  • Header: dati del mittente, destinatario e trasmissione
  • Body: dati generali, righe di dettaglio, pagamento e allegati
  • Identificativi SDI: UUID e stato di invio al Sistema di Interscambio

Driver SDI

Il modulo utilizza un pattern adapter per supportare diversi provider:

  • Acube API (driver di default)
  • Possibilità di estendere con altri provider

Contatti fattura

I contatti (mittente e destinatario) contengono:

  • Dati anagrafici (denominazione, nome, cognome)
  • Dati fiscali (P.IVA, codice fiscale)
  • Indirizzo completo
  • Codice destinatario SDI o PEC

Righe fattura

Le righe della fattura includono:

  • Descrizione del bene/servizio
  • Quantità e unità di misura
  • Prezzo unitario e totale
  • Aliquota IVA o natura (per operazioni esenti/escluse)

🏗️ Architettura

Il modulo utilizza un'architettura a servizi che separa:

  1. CRUD Service: operazioni base di creazione, lettura, aggiornamento
  2. Invoice Service: logiche di business (calcoli totali, riepilogo IVA)
  3. SDI Service: comunicazione con il Sistema di Interscambio
  4. XML Service: generazione e validazione del formato XML

Il driver SDI è configurabile tramite il file config/invoice.php e viene risolto automaticamente dal container di Laravel.