UNPKG

@openade/common

Version:

Common types, validators, and XML builders for Italian fiscal receipts

372 lines 10.8 kB
export interface DatiTrasmissione { idTrasmittente: { idPaese: string; idCodice: string; }; progressivoInvio: string; formatoTrasmissione: 'FPR12' | 'FPA12'; codiceDestinatario: string; contattiTrasmittente?: { telefono?: string; email?: string; }; pecDestinatario?: string; } export interface DatiAnagrafici { idFiscaleIVA?: { idPaese: string; idCodice: string; }; codiceFiscale?: string; anagrafica: { denominazione?: string; nome?: string; cognome?: string; }; alberoProfessionale?: string; regimeFiscale?: string; } export interface Indirizzo { indirizzo: string; numeroCivico?: string; cap: string; comune: string; provincia?: string; nazione: string; } export interface CedentePrestatore { datiAnagrafici: DatiAnagrafici & { idFiscaleIVA: { idPaese: string; idCodice: string; }; }; sede: Indirizzo; stabileOrganizzazione?: Indirizzo; iscrizioneREA?: { ufficio: string; numeroREA: string; capitaleSociale?: string; socioUnico?: 'SU' | 'SM'; statoLiquidazione: 'LS' | 'LN'; }; contatti?: { telefono?: string; fax?: string; email?: string; }; riferimentoAmministrazione?: string; } export interface CessionarioCommittente { datiAnagrafici: DatiAnagrafici; sede: Indirizzo; stabileOrganizzazione?: Indirizzo; rappresentanteFiscale?: { idFiscaleIVA: { idPaese: string; idCodice: string; }; denominazione?: string; nome?: string; cognome?: string; }; } export interface DettaglioLinee { numeroLinea: number; tipoCessionePrestazione?: 'SC' | 'PR' | 'AB' | 'AC'; codiceArticolo?: Array<{ codiceTipo: string; codiceValore: string; }>; descrizione: string; quantita?: number; unitaMisura?: string; dataInizioPeriodo?: string; dataFinePeriodo?: string; prezzoUnitario: number; scontoMaggiorazione?: Array<{ tipo: 'SC' | 'MG'; percentuale?: number; importo?: number; }>; prezzoTotale: number; aliquotaIVA: number; ritenuta?: 'SI'; natura?: 'N1' | 'N2' | 'N3' | 'N4' | 'N5' | 'N6' | 'N7'; riferimentoAmministrazione?: string; altriDatiGestionali?: Array<{ tipoDato: string; riferimentoTesto?: string; riferimentoNumero?: number; riferimentoData?: string; }>; } export interface DatiRiepilogoFE { aliquotaIVA: number; natura?: 'N1' | 'N2' | 'N3' | 'N4' | 'N5' | 'N6' | 'N7'; speseAccessorie?: number; arrotondamento?: number; imponibileImporto: number; imposta: number; esigibilitaIVA?: 'I' | 'D' | 'S'; riferimentoNormativo?: string; } export interface DatiPagamentoFE { condizioniPagamento: 'TP01' | 'TP02' | 'TP03'; dettaglioPagamento: Array<{ beneficiario?: string; modalitaPagamento: 'MP01' | 'MP02' | 'MP03' | 'MP04' | 'MP05' | 'MP06' | 'MP07' | 'MP08' | 'MP09' | 'MP10' | 'MP11' | 'MP12' | 'MP13' | 'MP14' | 'MP15' | 'MP16' | 'MP17' | 'MP18' | 'MP19' | 'MP20' | 'MP21' | 'MP22' | 'MP23'; dataRiferimentoTerminiPagamento?: string; giorniTerminiPagamento?: number; dataScadenzaPagamento?: string; importoPagamento: number; codUfficioPostale?: string; cognomeQuietanzante?: string; nomeQuietanzante?: string; cfQuietanzante?: string; titoloQuietanzante?: string; istitutoFinanziario?: string; iban?: string; abi?: string; cab?: string; bic?: string; scontoPagamentoAnticipato?: number; dataScontoPagamentoAnticipato?: string; penalitaPagamentiRitardati?: number; dataPenalitaPagamentiRitardati?: string; codicePagamento?: string; }>; } export interface DatiGenerali { datiGeneraliDocumento: { tipoDocumento: 'TD01' | 'TD02' | 'TD03' | 'TD04' | 'TD05' | 'TD06' | 'TD16' | 'TD17' | 'TD18' | 'TD19' | 'TD20' | 'TD21' | 'TD22' | 'TD23' | 'TD24' | 'TD25' | 'TD26' | 'TD27' | 'TD28'; divisa: string; data: string; numero: string; datiRitenuta?: { tipoRitenuta: 'RT01' | 'RT02' | 'RT03' | 'RT04' | 'RT05' | 'RT06'; importoRitenuta: number; aliquotaRitenuta: number; causalePagamento: string; }; datiBollo?: { bolloVirtuale: 'SI'; importoBollo: number; }; datiCassaPrevidenziale?: Array<{ tipoCassa: 'TC01' | 'TC02' | 'TC03' | 'TC04' | 'TC05' | 'TC06' | 'TC07' | 'TC08' | 'TC09' | 'TC10' | 'TC11' | 'TC12' | 'TC13' | 'TC14' | 'TC15' | 'TC16' | 'TC17' | 'TC18' | 'TC19' | 'TC20' | 'TC21' | 'TC22'; alCassa: number; importoContributoCassa: number; imponibileCassa?: number; aliquotaIVA: number; ritenuta?: 'SI'; natura?: 'N1' | 'N2' | 'N3' | 'N4' | 'N5' | 'N6' | 'N7'; riferimentoAmministrazione?: string; }>; scontoMaggiorazione?: Array<{ tipo: 'SC' | 'MG'; percentuale?: number; importo?: number; }>; importoTotaleDocumento?: number; arrotondamento?: number; causale?: string[]; art73?: 'SI'; }; datiOrdineAcquisto?: Array<{ riferimentoNumeroLinea?: number[]; idDocumento: string; data?: string; numItem?: string; codiceCommessaConvenzione?: string; codiceCUP?: string; codiceCIG?: string; }>; datiContratto?: Array<{ riferimentoNumeroLinea?: number[]; idDocumento: string; data?: string; numItem?: string; codiceCommessaConvenzione?: string; codiceCUP?: string; codiceCIG?: string; }>; datiConvenzione?: Array<{ riferimentoNumeroLinea?: number[]; idDocumento: string; data?: string; numItem?: string; codiceCommessaConvenzione?: string; codiceCUP?: string; codiceCIG?: string; }>; datiRicezione?: Array<{ riferimentoNumeroLinea?: number[]; idDocumento: string; data?: string; numItem?: string; codiceCommessaConvenzione?: string; codiceCUP?: string; codiceCIG?: string; }>; datiFattureCollegate?: Array<{ riferimentoNumeroLinea?: number[]; idDocumento: string; data?: string; numItem?: string; codiceCommessaConvenzione?: string; codiceCUP?: string; codiceCIG?: string; }>; datiDDT?: Array<{ numeroDDT: string; dataDDT: string; riferimentoNumeroLinea?: number[]; }>; datiTrasporto?: { datiAnagraficiVettore?: { idFiscaleIVA?: { idPaese: string; idCodice: string; }; codiceFiscale?: string; anagrafica: { denominazione?: string; nome?: string; cognome?: string; }; numeroLicenzaGuida?: string; }; mezzoTrasporto?: string; causaleTrasporto?: string; numeroColli?: number; descrizione?: string; unitaMisuraPeso?: string; pesoLordo?: number; pesoNetto?: number; dataOraRitiro?: string; dataInizioTrasporto?: string; tipoResa?: string; indirizzoResa?: Indirizzo; dataOraConsegna?: string; }; fatturaPrincipale?: { numeroFatturaPrincipale: string; dataFatturaPrincipale: string; }; } export interface FatturaElettronicaBody { datiGenerali: DatiGenerali; datiBeniServizi: { dettaglioLinee: DettaglioLinee[]; datiRiepilogo: DatiRiepilogoFE[]; }; datiVeicoli?: { data: string; totalePercorso: string; }; datiPagamento?: DatiPagamentoFE[]; allegati?: Array<{ nomeAttachment: string; algorithmCompressione?: string; formatoAttachment?: string; descrizioneAttachment?: string; attachment: string; }>; } export interface FatturaElettronicaHeader { datiTrasmissione: DatiTrasmissione; cedentePrestatore: CedentePrestatore; rappresentanteFiscale?: { datiAnagrafici: { idFiscaleIVA: { idPaese: string; idCodice: string; }; anagrafica: { denominazione?: string; nome?: string; cognome?: string; }; }; }; cessionarioCommittente: CessionarioCommittente; terzoIntermediarioOSoggettoEmittente?: { datiAnagrafici: DatiAnagrafici; }; soggettoEmittente?: 'CC' | 'TZ'; } export interface FatturaElettronica { '@_versione': 'FPR12' | 'FPA12'; '@_xmlns:ds'?: string; '@_xmlns:p'?: string; '@_xmlns:xsi'?: string; fatturaElettronicaHeader: FatturaElettronicaHeader; fatturaElettronicaBody: FatturaElettronicaBody | FatturaElettronicaBody[]; } export type ReceiptType = 'RC' | 'NS' | 'MC' | 'NE' | 'MT' | 'DT'; export interface RicevutaConsegna { identifcativoSdI: string; nomeFile: string; hash: string; dataOraRicezione: string; dataOraConsegna: string; destinatario: { codice?: string; descrizione?: string; }; messaggioPEC?: { identificativo?: string; }; } export interface NotificaScarto { identifcativoSdI: string; nomeFile: string; hash: string; dataOraRicezione: string; riferimentoFattura?: { numeroFattura: string; annoFattura: string; posizione: number; }; listaErrori: Array<{ errore: { codice: string; descrizione: string; suggerimento?: string; }; }>; messaggioPEC?: { identificativo?: string; }; } export interface NotificaMancataConsegna { identifcativoSdI: string; nomeFile: string; hash: string; dataOraRicezione: string; descrizione: string; messaggioPEC?: { identificativo?: string; }; } export interface NotificaEsito { identifcativoSdI: string; riferimentoFattura: { numeroFattura: string; annoFattura: string; posizione: number; }; esito: 'EC01' | 'EC02'; descrizione?: string; messageIdCommittente?: string; pecCommittente?: string; dataOraRicezione: string; } export interface InvoiceTransmissionResult { success: boolean; identifcativoSdI?: string; error?: string; warnings?: string[]; } //# sourceMappingURL=fe.d.ts.map