Struttura dati
In questa sezione è presente la struttura dati del modulo Fatturazione. Sono presenti le entità, le relazioni e i tipi di dati utilizzati.
🗂️ Diagrammi ER
Fatture
Il modello inv_invoices rappresenta la fattura, ed è l'oggetto principale del modulo.
A ogni fattura è associato il modello inv_sdi_driver_identifiers, che contiene le specifiche per identificare la fattura sul Sistema di Interscambio (SDI), il suo stato e i metadati del driver utilizzato per comunicare con il SDI.
🧬 DTOs
Fatture
InvEntityDto
DTO che rappresenta una fattura.
intstringintstringFattura elettronica
Questi DTO sono utilizzati per la generazione della fattura elettronica. La struttura di tutti i DTO collegati è conforme al formato XML richiesto per l'invio al SDI.
InvFatturaElettronicaDto
Rappresentazione DTO di una fattura elettronica conforme al formato XML richiesto per l'invio al SDI.
InvFatturaElettronicaHeaderDto
Header della fattura elettronica. Contiene informazioni generali sulla fattura, come i dati della trasmissione, il fornitore il cliente ed altri attori.
InvFatturaElettronicaBodyDto
Body della fattura elettronica. Contiene i dettagli della fattura, come i prodotti, i servizi, i prezzi, etc.
InvDatiGeneraliDto
DTO che rappresenta i dati identificativi della fattura.
InvDatiGeneraliDocumentoDto
DTO che rappresenta i dati generali del documento.
stringTipologia di documento (4 caratteri)
stringDivisa utilizzata nel documento (3 caratteri)
stringData del documento (formato YYYY-MM-DD)
stringNumero del documento (min 1, max 20 caratteri)
nullable - Dati della cassa previdenziale
stringnullable - Importo totale del documento (formato decimale con 2 cifre decimali, min 4 max 15 caratteri)
stringnullable - Arrotondamento (formato decimale con 2 cifre decimali, min 4 max 15 caratteri)
Collection<string>nullable - Array di causali (max 200 caratteri per causale)
stringnullable - Articolo 73 (2 caratteri - semplicemente 'SI' se applicabile)
InvDatiRitenutaDto
DTO che rappresenta i dati della ritenuta applicata.
stringTipologia di ritenuta (4 caratteri)
stringImporto della ritenuta (formato decimale con 2 cifre decimali, min 4 max 15 caratteri)
stringAliquota della ritenuta (formato da 0.00 a 100.00, min 4 max 6 caratteri)
stringCausale del pagamento (min 1, max 2 caratteri)
InvDatiBolloDto
DTO che rappresenta i dati del bollo applicato al documento.
stringIndicazione se il bollo è virtuale (2 caratteri)
stringImporto del bollo (formato decimale con 2 cifre decimali, min 4 max 15 caratteri)
InvDatiCassaPrevidenzialeDto
DTO che rappresenta i dati della cassa previdenziale.
stringTipologia di cassa previdenziale (4 caratteri)
stringAliquota della cassa (formato da 0.00 a 100.00, min 4 max 6 caratteri)
stringImporto del contributo cassa (formato decimale con 2 cifre decimali, min 4 max 15 caratteri)
stringnullable - Imponibile della cassa (formato decimale con 2 cifre decimali, min 4 max 15 caratteri)
stringnullable - Aliquota IVA applicata alla cassa (formato da 0.00 a 100.00, min 4 max 6 caratteri)
stringnullable - Indicazione se soggetta a ritenuta (2 caratteri)
stringnullable - Natura IVA della cassa (min 2, max 4 caratteri)
stringnullable - Riferimento amministrazione (min 1, max 20 caratteri)
InvDatiOrdineAcquistoDto
DTO che rappresenta i dati dell'ordine di acquisto.
Collection<int>nullable - Riferimenti ai numeri linea del documento (max 4 cifre per elemento)
stringIdentificativo del documento (min 1, max 20 caratteri)
stringnullable - Data del documento (formato YYYY-MM-DD)
stringnullable - Numero item (min 1, max 20 caratteri)
stringnullable - Codice commessa o convenzione (min 1, max 100 caratteri)
stringnullable - Codice CUP (max 15 caratteri)
stringnullable - Codice CIG (max 15 caratteri)
InvDatiContrattoDto
DTO che rappresenta i dati del contratto.
Collection<int>nullable - Riferimenti ai numeri linea del documento (max 4 cifre per elemento)
stringIdentificativo del documento (min 1, max 20 caratteri)
stringnullable - Data del documento (formato YYYY-MM-DD)
stringnullable - Numero item (min 1, max 20 caratteri)
stringnullable - Codice commessa o convenzione (min 1, max 100 caratteri)
stringnullable - Codice CUP (min 1, max 15 caratteri)
stringnullable - Codice CIG (min 1, max 15 caratteri)
InvDatiConvenzioneDto
DTO che rappresenta i dati della convenzione.
Collection<int>nullable - Riferimenti ai numeri linea del documento (max 4 cifre per elemento)
stringIdentificativo del documento (min 1, max 20 caratteri)
stringnullable - Data del documento (formato YYYY-MM-DD)
stringnullable - Numero item (min 1, max 20 caratteri)
stringnullable - Codice commessa o convenzione (min 1, max 100 caratteri)
stringnullable - Codice CUP (min 1, max 15 caratteri)
stringnullable - Codice CIG (min 1, max 15 caratteri)
InvDatiRicezioneDto
DTO che rappresenta i dati della ricezione.
Collection<int>nullable - Riferimenti ai numeri linea del documento (max 4 cifre per elemento)
stringIdentificativo del documento (min 1, max 20 caratteri)
stringnullable - Data del documento (formato YYYY-MM-DD)
stringnullable - Numero item (min 1, max 20 caratteri)
stringnullable - Codice commessa o convenzione (min 1, max 100 caratteri)
stringnullable - Codice CUP (min 1, max 15 caratteri)
stringnullable - Codice CIG (min 1, max 15 caratteri)
InvDatiFattureCollegateDto
DTO che rappresenta i dati delle fatture collegate.
Collection<int>nullable - Riferimenti ai numeri linea del documento (max 4 cifre per elemento)
stringIdentificativo del documento (min 1, max 20 caratteri)
stringnullable - Data del documento (formato YYYY-MM-DD)
stringnullable - Numero item (min 1, max 20 caratteri)
stringnullable - Codice commessa o convenzione (min 1, max 100 caratteri)
stringnullable - Codice CUP (min 1, max 15 caratteri)
stringnullable - Codice CIG (min 1, max 15 caratteri)
InvDatiSALDto
DTO che rappresenta i dati della SAL (Stato Avanzamento Lavori).
intRiferimento alla fase del SAL (max 3 cifre)
InvDatiDDTDto
DTO che rappresenta i dati del Documento di Trasporto (DDT).
stringNumero del documento di trasporto (min 1, max 20 caratteri)
stringData del documento di trasporto (formato YYYY-MM-DD)
Collection<int>nullable - Riferimenti ai numeri linea del documento (max 4 cifre per elemento)
InvDatiTrasportoDto
DTO che rappresenta i dati del trasporto della fattura.
stringnullable - Descrizione del mezzo di trasporto (min 1, max 80 caratteri)
stringnullable - Causale del trasporto (min 1, max 100 caratteri)
intnullable - Numero dei colli trasportati (max 4 cifre)
stringnullable - Descrizione della merce trasportata (min 1, max 100 caratteri)
stringnullable - Unità di misura del peso (min 1, max 10 caratteri)
stringnullable - Peso lordo (formato da 0.00 a 999.99, min 4 max 7 caratteri)
stringnullable - Peso netto (formato da 0.00 a 999.99, min 4 max 7 caratteri)
stringnullable - Data e ora di ritiro (formato YYYY-MM-DDTHH:mm:ss)
stringnullable - Data di inizio trasporto (formato YYYY-MM-DD)
stringnullable - Tipo di resa (3 caratteri)
stringnullable - Data e ora di consegna (formato YYYY-MM-DDTHH:mm:ss)
InvDatiAnagraficiVettoreDto
DTO che rappresenta i dati anagrafici del vettore per il trasporto.
stringnullable - Codice fiscale del vettore (min 11, max 16 caratteri)
stringnullable - Numero della licenza di guida (min 1, max 20 caratteri)
InvIdFiscaleIVADto
DTO che rappresenta l'identificativo fiscale IVA.
stringCodice paese (2 caratteri)
stringCodice identificativo fiscale (min 1, max 28 caratteri)
InvAnagraficaDto
DTO che rappresenta i dati anagrafici di una persona fisica o giuridica.
stringnullable - Denominazione sociale (min 1, max 80 caratteri)
stringnullable - Nome della persona fisica (min 1, max 60 caratteri)
stringnullable - Cognome della persona fisica (min 1, max 60 caratteri)
stringnullable - Codice EORI (Economic Operators Registration and Identification) (min 1, max 17 caratteri)
InvIndirizzoResaDto
DTO che rappresenta l'indirizzo di resa per il trasporto.
stringIndirizzo di resa (min 1, max 60 caratteri)
stringnullable - Numero civico (min 1, max 8 caratteri)
stringCodice di avviamento postale (CAP) (min 5, max 5 caratteri)
stringComune (min 1, max 60 caratteri)
stringProvincia (min 2, max 2 caratteri)
stringNazione (min 2, max 2 caratteri)
InvFatturaPrincipaleDto
DTO che rappresenta i dati della fattura principale in caso di nota di credito o debito.
stringNumero della fattura principale di riferimento (min 1, max 20 caratteri)
stringData della fattura principale di riferimento (formato YYYY-MM-DD)
InvDatiBeniServiziDto
DTO che rappresenta i dati dei beni e servizi della fattura.
InvDettaglioLineeDto
DTO che rappresenta una linea di dettaglio della fattura.
intNumero di linea della fattura (max 4 cifre)
stringnullable - codice da utilizzare in caso di sconto, etc (max 2 cifre)
stringdescrizione del bene o servizio (max 1000 caratteri)
stringnullable - quantità del bene o servizio - formato decimale con minimo 2 e massimo 8 cifre decimali, minimo 4 massimo 21 caratteri
stringnullable - unità di misura del bene - min 1, max 10 caratteri
stringnullable - data di inizio periodo (formato YYYY-MM-DD)
stringnullable - data di fine periodo (formato YYYY-MM-DD)
stringprezzo unitario del bene o servizio - formato decimale con minimo 2 e massimo 8 cifre decimali, minimo 4 massimo 21 caratteri
nullable - sconto o maggiorazione da applicare sul prezzo totale
stringprezzo totale del bene o servizio - formato decimale con minimo 2 e massimo 8 cifre decimali, minimo 4 massimo 21 caratteri
stringAliquota IVA da applicare - due decimali obbligatori, max 6 cifre (da 0.00 a 100.00)
stringnullable - va valorizzata con 'SI' solo se soggetta a ritenuta
stringnullable - codice natura iva, da 2 fino a 4 caratteri
stringnullable - codice di riferimento dell'amministrazione, fino a 20 caratteri
nullable - altri dati utili per identificare il bene o servizio
InvCodiceArticoloDto
DTO che rappresenta un codice articolo.
stringtipo di codifica del codice articolo (max 35 caratteri)
stringvalore del codice articolo (max 35 caratteri)
InvScontoMaggiorazioneDto
DTO che rappresenta uno sconto o una maggiorazione.
stringtipo di sconto o maggiorazione (max 2 caratteri)
stringpercentuale di sconto - due decimali obbligatori, max 6 cifre (da 0.00 a 100.00)
stringimporto di sconto o maggiorazione - formato decimale con minimo 2 e massimo 8 cifre decimali, minimo 4 massimo 21 caratteri
InvAltriDatiGestionaliDto
DTO che rappresenta altri dati gestionali della fattura.
stringmax 2 caratteri
stringnullable - max 60 caratteri
stringnullable - formato decimale con minimo 2 e massimo 8 cifre decimali, minimo 4 massimo 21 caratteri
stringnullable - formato YYYY-MM-DD
InvDatiRiepilogoDto
DTO che rappresenta un dato riepilogativo della fattura.
stringmin(4), max(6), numeric, regex:/^d{1,2}.d{2}$/
stringnullable - max 4 caratteri
stringnullable - formato decimale con 2 cifre decimali, minimo 4 massimo 15 caratteri
stringnullable - formato decimale con minimo 2 e massimo 8 cifre decimali, minimo 4 massimo 21 caratteri
stringnullable - formato decimale con 2 cifre decimali, minimo 4 massimo 15 caratteri
stringnullable - formato decimale con 2 cifre decimali, minimo 4 massimo 15 caratteri
stringnullable, 1 carattere (solo D, I o S)
stringnullable, max 100 caratteri
InvDatiVeicoliDto
DTO che rappresenta i dati dei veicoli della fattura (art. 38, comma 4, dlgs 331/93).
stringData di riferimento per i dati del veicolo (formato YYYY-MM-DD)
stringTotale del percorso effettuato dal veicolo in km (formato numerico con da 2 a 8 cifre decimali, min 4 max 15 caratteri)
InvDatiPagamentoDto
DTO che rappresenta i dati del pagamento della fattura.
stringCondizioni di pagamento (4 caratteri)
InvDettaglioPagamentoDto
DTO che rappresenta i dettagli di un singolo pagamento della fattura.
stringnullable - Beneficiario del pagamento (min 1, max 200 caratteri)
stringModalità di pagamento (4 caratteri)
stringnullable - Data di riferimento per i termini di pagamento (formato YYYY-MM-DD)
intnullable - Giorni per i termini di pagamento (max 3 cifre)
stringnullable - Data di scadenza del pagamento (formato YYYY-MM-DD)
stringImporto del pagamento (formato decimale con 2 cifre decimali, min 4 max 15 caratteri)
stringnullable - Codice ufficio postale (min 1, max 20 caratteri)
stringnullable - Cognome del quietanzante (min 1, max 60 caratteri)
stringnullable - Nome del quietanzante (min 1, max 60 caratteri)
stringnullable - Codice fiscale del quietanzante (min 11, max 16 caratteri)
stringnullable - Titolo del quietanzante (min 2, max 10 caratteri)
stringnullable - Nome dell'istituto finanziario (min 1, max 80 caratteri)
stringnullable - Codice IBAN (min 15, max 34 caratteri)
stringnullable - Codice ABI (5 caratteri)
stringnullable - Codice CAB (5 caratteri)
stringnullable - Codice BIC/SWIFT (min 8, max 11 caratteri)
stringnullable - Sconto per pagamento anticipato (formato decimale con 2 cifre decimali, min 4 max 15 caratteri)
stringnullable - Data limite per pagamento anticipato (formato YYYY-MM-DD)
stringnullable - Penalità per pagamenti ritardati (formato decimale con 2 cifre decimali, min 4 max 15 caratteri)
stringnullable - Data di decorrenza delle penali (formato YYYY-MM-DD)
stringnullable - Codice di pagamento (min 1, max 60 caratteri)
InvAllegatiDto
DTO che rappresenta un allegato alla fattura.
stringNome del file allegato (min 1, max 60 caratteri)
stringnullable - Algoritmo di compressione utilizzato (max 10 caratteri)
stringnullable - Formato del file allegato (max 10 caratteri)
stringnullable - Descrizione dell'allegato (min 1, max 100 caratteri)
stringContenuto del file allegato codificato in base64
SDI
Questi DTO sono utilizzati per la comunicazione con il Sistema di Interscambio (SDI).
InvResponseDto
DTO che rappresenta la risposta del SDI, comprensiva di log e di dati che aiutano a identificare la fattura e il driver utilizzato per inviarla.
InvSdiResponseLogDto
DTO che rappresenta il log di risposta del SDI. Qui viene anche salvata una collezione di errori che potrebbero essere presenti nella risposta del SDI.
stringstringstringstringInvSdiResponseErrorDto
DTO che rappresenta un errore segnalato dal SDI. Il messaggio viene utilizzato nel log di risposta del SDI.
stringstringstring🎛️ Enums
SdiStatusEnum
stringINVInviataDIDa inviareRCRicevuta consegnaMCMancata consegnaNSNotifica di scarto