Passa al contenuto principale

Creare una fattura elettronica

La chiamata che dovrai fare per creare una fattura elettronica avrà le seguenti caratteristiche.

Chiamata
Endpoint: 

https://www.app.fattura24.com/api/v0.3/SaveDocument

Parametri da passare in Post:

apiKey: API KEY associata al proprio account;
xml: una stringa simile alla seguente, contenente i dati del contatto da creare.

Esempio XML:

<?xml version="1.0" encoding="UTF-8"?>
<Fattura24>
<Document>
<DocumentType>FE</DocumentType>
<CustomerName><![CDATA[Ferramenta Tal Dei Tali Srl]]></CustomerName>
<CustomerAddress><![CDATA[Via Roma n.49]]></CustomerAddress>
<CustomerPostcode>00100</CustomerPostcode>
<CustomerCity>Roma</CustomerCity>
<CustomerProvince>RM</CustomerProvince>
<CustomerCountry>IT</CustomerCountry>
<CustomerFiscalCode/>
<CustomerVatCode>01993350332</CustomerVatCode>
<CustomerCellPhone>test@test.com</CustomerCellPhone>
<CustomerEmail>test@test.it</CustomerEmail>
<Object><![CDATA[Vendita alla cassa]]></Object>
<FeCustomerPec>test@pec.it</FeCustomerPec>
<FeDestinationCode>0000000</FeDestinationCode>
<FePaymentCode>MP05</FePaymentCode>
<PaymentMethodName>UBI Banca</PaymentMethodName>
<PaymentMethodDescription>IT87A031110321</PaymentMethodDescription>
<TotalWithoutTax>220.00</TotalWithoutTax>
<VatAmount>44.00</VatAmount>
<Total>264.00</Total>
<FootNotes/>
<SendEmail>false</SendEmail>
<Rows>
<Row>
<Description><![CDATA[Prodotto A]]></Description>
<Qty>1</Qty>
<Price>100.00</Price>
<VatCode>22</VatCode>
<VatDescription>22%</VatDescription>
</Row>
<Row>
<Description><![CDATA[Prodotto B]]></Description>
<Qty>1</Qty>
<Um/>
<Price>100.00</Price>
<VatCode>22</VatCode>
<VatDescription>22%</VatDescription>
</Row>
<Row>
<Description><![CDATA[Spese di spedizione]]></Description>
<Qty>1</Qty>
<Price>20.00</Price>
<VatCode>0</VatCode>
<VatDescription>0%</VatDescription>
<FeVatNature>N4</FeVatNature>
</Row>
</Rows>
</Document>
</Fattura24>
ESEMPIO

In questo file potrai trovare un file XML di esempio per creare una semplice fattura elettronica: Fe.xml.

Quando la fattura elettronica si sarà creata nel tuo account in Fattura24 (sezione fatture elettroniche), il campo tipo-documento assumerà di default il valore "TD01" (fattura); potrai cambiarlo manualmente all'interno della scheda-fattura tramite l'apposito campo di selezione posizionato in alto a sinistra.

Attenzione

Tramite API non è possibile creare documenti con ritenuta di acconto, cassa previdenziale o contributo INPS

Per quanto concerne il bollo virtuale nelle Fatture elettroniche, questo si intende a carico del cedente/prestatore; nel documento sarà apposta solo un'indicazione per la corretta trasmissione a SdI. Il nostro consiglio è di confrontarsi con il proprio commercialista.

ATTENZIONE

Non è possibile creare fatture elettroniche accompagnatorie, quindi eventuali tag con le informazioni sull'indirizzo di spedizione (vedi tag Delivery descritti nella sezione 'Crea un documento') verranno ignorate.

Attenzione
  • per le Fatture elettroniche l'invio della email contenente la copia PDF è disabilitata;
  • non vogliamo rischiare che vengano inviate ai clienti copie di documenti che potrebbero essere, invece poi, scartati da SdI;
  • anche se è presente e valorizzato, il tag <SendEmail> verrà ignorato per i motivi sopra indicati.

Come avrai notato l'XML è praticamente identico all'XML utilizzato per creare un documento generico o una fattura tradizionale in formato PDF.

Ci sono però 5 campi in più che devi tenere in considerazione perché specifici per la fatturazione elettronica:

  • VatType andrà aggiunto se è necessario indicare l'Esigibilità IVA (I: immediata, S: Split payment, D: Differita);
  • FeVirtualStamp andrà aggiunto nel caso di applicazione del Bollo Virtuale in Fattura elettronica (V: attivo);
  • FeCustomerPec andrà valorizzato con l'indirizzo PEC (se disponibile) del cliente al quale si sta emettendo fattura;
  • FeDestinationCode andrà valorizzato con il codice destinatario del cliente (se disponibile);
  • FePaymentCode andrà valorizzato con uno di questi valori:
    • MP01 per i pagamenti in contanti;
    • MP05 per i pagamenti tramite bonifico;
    • MP08 per i pagamenti tramite carta di credito;
    • MP12 per i pagamenti tramite Riba

Se e solo se viene utilizzato MP05 dovrai fare attenzione a valorizzare correttamente nell'xml il blocco di elementi relativi al pagamento. In particolare PaymentMethodDescription dovrà contenere l'IBAN del cliente. Segui l'esempio qui sotto come linea guida:

    <FePaymentCode>MP05</FePaymentCode>
<PaymentMethodName>UBI Banca</PaymentMethodName>
<PaymentMethodDescription>ITXXXXXXXXXXXXXXXXXX</PaymentMethodDescription>

In FeVatNature andrà aggiunto nel tag 'row' di dettaglio dei prodotti e/o servizi se e solo se l'aliquota di riferimento è allo 0%. Il campo serve per indicare all'Agenzia delle Entrate la tipologia di aliquota (allo 0%) e andrà valorizzato con uno di questi valori:

  • N1 escluse ex art. 15;
  • N2.# non soggette;
  • N3.# non imponibili;
  • N4 esenti;
  • N5 regime del margine;
  • N6.# inversione contabile (reverse charge);
  • N7 IVA assolta in altro stato UE (servizi ex art. 7-octies, comma 1, lett. a, b e art. 74.sexies d.P.R. 633/72).

Nel precedente elenco la voce # andrà sostituita con una delle sotto codifiche previste dall'Agenzia delle Entrate (ad esempio: N2.3).

IMPORTANTE

I campi FeCustomerPec e FeDestinationCode sono da considerarsi non obbligatori se il destinatario della fattura è un consumatore finale senza P.IVA, diversamente almeno uno dei due campi dovrà essere correttamente valorizzato.

Attualmente le API di Fattura24 non permettono la creazione di nota di credito elettroniche.

ATTENZIONE

L'uso delle API consente solo la creazione automatica di una fattura elettronica dentro l'account in Fattura24, ma NON consente l'invio automatico all'Agenzia delle Entrate.

Pertanto, sarà vostra cura entrare in Fattura24, aprire le fatture create tramite API, verificare che i dati dei vostri clienti e gli altri dati descrittivi e numerici siano corretti e quindi inviare la fattura all'Agenzia delle Entrate cliccando sull'apposito pulsante Invia a Sdi.