Skip to main content

Gestione Fatture

Questa sezione descrive le funzionalità per la gestione delle fatture.


📋 Elenco fatture

L'elenco fatture permette di visualizzare tutte le fatture con filtri avanzati.

Filtri disponibili

  • Stato SDI: filtra per stato di invio al Sistema di Interscambio
  • Badge: filtra per tipo (FT, NC, FTS)
  • Stato pagamento: filtra per stato del pagamento
  • Data: filtra per intervallo di date
  • Mittente/Destinatario: filtra per contatti

Esportazione

È possibile esportare l'elenco filtrato in formato CSV tramite il servizio InvExcelService.


➕ Creazione fattura

La creazione di una fattura avviene tramite il InvInvoiceCrudService.

Modalità di creazione

  1. Via API: attraverso l'endpoint POST /invoices con InvEntityDto
  2. Upsert Main: per creazione/aggiornamento da sistemi esterni

Dati richiesti

  • Mittente: contatto con dati fiscali completi
  • Destinatario: contatto con codice SDI o PEC
  • Tipo documento: TD01, TD04, etc.
  • Data e numero: identificativi del documento
  • Righe: almeno una riga di dettaglio

✏️ Modifica fattura

La modifica è possibile solo per fatture non ancora inviate al SDI.

Campi modificabili

  • Dati generali (data, numero, causali)
  • Righe della fattura
  • Contatti (mittente/destinatario)
  • Allegati

Ricalcolo automatico

Dopo ogni modifica vengono ricalcolati automaticamente:

  • Totali: imponibile, IVA, totale lordo
  • Riepilogo IVA: raggruppamento per aliquota/natura
  • Totali intestazioni: per righe raggruppate

🔄 Storno fattura

Lo storno crea automaticamente una nota di credito collegata.

Processo di storno

  1. Creazione nota di credito (TD04) con importi negativi
  2. Collegamento alla fattura originale tramite credit_note_id
  3. Aggiornamento badge della fattura originale a FTS
  4. Possibilità di creare una nuova fattura modificabile

🗑️ Eliminazione fattura

L'eliminazione è possibile solo se:

  • La fattura non è stata inviata al SDI
  • La fattura non è in una sessione di fatturazione attiva

L'eliminazione è di tipo soft delete (conserva il record con deleted_at).