Skip to main content

CSV to FatturaPA Mapping Reference

This document describes how the standard Transfer CSV fields are mapped to the Italian FatturaPA XML invoice format.

Mapping

FatturaPA FieldCSV SourceReq.DefaultConditionDescription
fatturaElettronicaHeader.datiTrasmissione.pecDestinatariorecipient_pecNoComputed: businessRegistry.pec. Converted to lowercase
fatturaElettronicaHeader.datiTrasmissione.codiceDestinatariorecipient_codeNoConverted to uppercase. Transform: strReplace
fatturaElettronicaHeader.datiTrasmissione.formatoTrasmissioneNoFPR12
fatturaElettronicaHeader.soggettoEmittenteNoCCisSelfInvoice()
fatturaElettronicaHeader.cedentePrestatore.datiAnagrafici.idFiscaleIva.idPaeserecipient_countryNo!isSelfInvoice() || !empty(get(row, "recipient_vat_number"))
isSelfInvoice() || !empty(businessRegistry.vatNumber)
Computed: businessRegistry.country. Converted to uppercase
fatturaElettronicaHeader.cedentePrestatore.datiAnagrafici.idFiscaleIva.idCodicerecipient_vat_numberNo!isSelfInvoice() || !empty(get(row, "recipient_vat_number"))
isSelfInvoice() || !empty(businessRegistry.vatNumber)
Computed: businessRegistry.vatNumber
fatturaElettronicaHeader.cedentePrestatore.datiAnagrafici.codiceFiscalerecipient_fiscal_codeNoComputed: businessRegistry.fiscalCode
fatturaElettronicaHeader.cedentePrestatore.datiAnagrafici.regimeFiscaleNoRF01
fatturaElettronicaHeader.cedentePrestatore.datiAnagrafici.anagrafica.denominazionerecipient_business_nameNoComputed: businessRegistry.businessName
fatturaElettronicaHeader.cedentePrestatore.datiAnagrafici.anagrafica.nomerecipient_nameNo(isSelfInvoice() && empty(get(row, "recipient_business_name"))) || (!isSelfInvoice() && empty(businessRegistry.businessName))Computed: businessRegistry.name
fatturaElettronicaHeader.cedentePrestatore.datiAnagrafici.anagrafica.cognomerecipient_last_nameNo(isSelfInvoice() && empty(get(row, "recipient_business_name"))) || (!isSelfInvoice() && empty(businessRegistry.businessName))Computed: businessRegistry.lastName
fatturaElettronicaHeader.cedentePrestatore.sede.indirizzorecipient_addressNoComputed: businessRegistry.address
fatturaElettronicaHeader.cedentePrestatore.sede.comunerecipient_cityNoComputed: businessRegistry.city
fatturaElettronicaHeader.cedentePrestatore.sede.cAPrecipient_postal_codeNoComputed: businessRegistry.postalCode
fatturaElettronicaHeader.cedentePrestatore.sede.nazionerecipient_countryNoComputed: businessRegistry.country
fatturaElettronicaHeader.cedentePrestatore.sede.provinciarecipient_provinceNoComputed: businessRegistry.province
fatturaElettronicaHeader.cessionarioCommittente.datiAnagrafici.idFiscaleIva.idPaeserecipient_countryNoisSelfInvoice() || !empty(get(row, "recipient_vat_number"))
!isSelfInvoice() || !empty(businessRegistry.vatNumber)
Computed: businessRegistry.country
fatturaElettronicaHeader.cessionarioCommittente.datiAnagrafici.idFiscaleIva.idCodicerecipient_vat_numberNoisSelfInvoice() || !empty(get(row, "recipient_vat_number"))
!isSelfInvoice() || !empty(businessRegistry.vatNumber)
Computed: businessRegistry.vatNumber
fatturaElettronicaHeader.cessionarioCommittente.datiAnagrafici.codiceFiscalerecipient_fiscal_codeNoComputed: businessRegistry.fiscalCode
fatturaElettronicaHeader.cessionarioCommittente.datiAnagrafici.anagrafica.denominazionerecipient_business_nameNoComputed: businessRegistry.businessName
fatturaElettronicaHeader.cessionarioCommittente.datiAnagrafici.anagrafica.nomerecipient_nameNo(!isSelfInvoice() && empty(get(row, "recipient_business_name"))) || (isSelfInvoice() && empty(businessRegistry.businessName))Computed: businessRegistry.name
fatturaElettronicaHeader.cessionarioCommittente.datiAnagrafici.anagrafica.cognomerecipient_last_nameNo(!isSelfInvoice() && empty(get(row, "recipient_business_name"))) || (isSelfInvoice() && empty(businessRegistry.businessName))Computed: businessRegistry.lastName
fatturaElettronicaHeader.cessionarioCommittente.sede.indirizzorecipient_addressNoComputed: businessRegistry.address
fatturaElettronicaHeader.cessionarioCommittente.sede.cAPrecipient_postal_codeNoComputed: businessRegistry.postalCode
fatturaElettronicaHeader.cessionarioCommittente.sede.nazionerecipient_countryNoComputed: businessRegistry.country
fatturaElettronicaHeader.cessionarioCommittente.sede.comunerecipient_cityNoComputed: businessRegistry.city
fatturaElettronicaHeader.cessionarioCommittente.sede.provinciarecipient_provinceNoComputed: businessRegistry.province
fatturaElettronicaBody[0].datiGenerali.datiGeneraliDocumento.tipoDocumentodocument_typeNo
fatturaElettronicaBody[0].datiGenerali.datiGeneraliDocumento.datainvoice_dateNoFormatted as date (d/m/Y)
fatturaElettronicaBody[0].datiGenerali.datiGeneraliDocumento.numeroinvoice_numberNogetNumero({invoice_series})Transform: substitute
fatturaElettronicaBody[0].datiGenerali.datiGeneraliDocumento.causaleinvoice_subjectNo!empty(get(row, "invoice_subject"))Transform: cast
fatturaElettronicaBody[0].datiGenerali.datiGeneraliDocumento.divisaNoEUR
fatturaElettronicaBody[0].datiBeniServizi.dettaglioLineeNoGrouped by line_number
fatturaElettronicaBody[0].datiBeniServizi.datiRiepilogoNo``Computed: getValue(output, "fatturaElettronicaBody[0].datiBeniServizi.dettaglioLinee"). Transform: calculateInvoiceItDatiRiepilogo
fatturaElettronicaBody[0].datiGenerali.datiGeneraliDocumento.importoTotaleDocumentoNo0.00Computed: getValue(output, "fatturaElettronicaBody[0].datiBeniServizi.datiRiepilogo"). Transform: calculateInvoiceItTotalAmount
fatturaElettronicaBody[0].datiPagamento[0].condizioniPagamentoNoTP02
fatturaElettronicaBody[0].datiPagamento[0].dettaglioPagamento[0].modalitaPagamentopaymentNo
fatturaElettronicaBody[0].datiPagamento[0].dettaglioPagamento[0].importoPagamentoNo0.00Computed: getValue(output, "fatturaElettronicaBody[0].datiBeniServizi.datiRiepilogo"). Transform: calculateInvoiceItTotalAmount
fatturaElettronicaBody[0].datiPagamento[0].dettaglioPagamento[0].ibanpayment_ibanNo
fatturaElettronicaBody[0].datiPagamento[0].dettaglioPagamento[0].data_scadenza_pagamentopayment_due_dateNoFormatted as date (d/m/Y)

fatturaElettronicaBody[0].datiBeniServizi.dettaglioLinee

FatturaPA FieldCSV SourceReq.DefaultConditionDescription
numeroLinealine_numberNo
descrizioneline_descriptionNo
aliquotaIVAline_vat_rateNoTransform: formatString
naturaline_vat_natureNoget(row, 'line_vat_rate') == 0
quantitaline_quantityNoTransform: formatString
prezzoUnitarioline_unit_priceNoTransform: numberFormat
prezzoTotaleNo0Computed: get(row, 'line_quantity') * get(row, 'line_unit_price'). Transform: numberFormat