# Introduzione

L’obbligo a fare fatturazione elettronica è partito per tutti (esclusi gli esentati) il primo gennaio 2019. L’eventuale fattura cartacea non ha più alcun valore e chi non si adegua alle nuove disposizioni va incontro a sanzioni.

Il decreto fiscale collegato alla Legge di Bilancio 2019 ha ufficializzato l’introduzione dell’obbligo di fatturazione elettronica tra privati, indicando alcune novità come le categorie esentate e le proroghe delle sanzioni. La fattura elettronica dal 1 luglio 2019 dovrà essere emessa entro dieci giorni dalla prestazione professionale, per poi essere registrata entro il 15 del mese successivo.

## Magento

Il modulo per la generazione della fattura per Magento offre l'opportunità di creare una fattura XML secondo lo standard del sistema di interscambio delle agenzie delle entrate.

L'esercente Magento dovrà caricare il file presso il servizio desiderato, ad esempio Aruba, Infocert, ecc...

{% hint style="info" %}
Grazie al lavoro della [deved](https://github.com/deved-it/fattura-elettronica) la generazione della fattura potrà essere sostenuta da un lavoro ben realizzato. L'implementazione delle funzionalità richieste per la fatturazione sono delegate alla suddetta classe. Tutti i diritti sono della deved secondo la licenza MIT License. Tutte le altre sezioni del software sono state progettate e realizzate dalla Shine Software.
{% endhint %}


# Cos'è un file XML?

In informatica XML (sigla di eXtensible Markup Language) è un metalinguaggio per la definizione di linguaggi di markup, ovvero un linguaggio marcatore basato su un meccanismo sintattico che consente di definire e controllare il significato degli elementi contenuti in un documento o in un testo.

**Dal primo gennaio del 2019, l'Agenzia delle Entrate richiede l'invio delle fatture in un formato totalmente nuovo ai meno esperti di informatica chiamato XML. Tale file è essenzialmente un file di testo. E' possibile aprirlo con un editor di testo e può essere modificato senza alcun software specifico.** Basta saperlo leggere!

Il file contiene tutti i dati della classica fattura e non si presenta graficamente con un logo e/o i colori dell'azienda ma semplicemente come mostrato qui in basso.

```
<?xml version="1.0" encoding="UTF-8"?>
<p:FatturaElettronica versione="FPR12" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <FatturaElettronicaHeader>
  <DatiTrasmissione>
   <IdTrasmittente>
    <IdPaese>IT</IdPaese>
    <IdCodice>09734140016</IdCodice>
   </IdTrasmittente>
   <ProgressivoInvio>2</ProgressivoInvio>
   <FormatoTrasmissione>FPR12</FormatoTrasmissione>
   <CodiceDestinatario>12345</CodiceDestinatario>
   <PECDestinatario>gbucchieri@shinesoftware.it</PECDestinatario>
  </DatiTrasmissione>
  <CedentePrestatore>
   <DatiAnagrafici>
    <CodiceFiscale>XXXXXXXXXXXX</CodiceFiscale>
    <Anagrafica/>
    <RegimeFiscale>RF01</RegimeFiscale>
   </DatiAnagrafici>
   <Sede>
    <Indirizzo/>
    <CAP/>
    <Comune/>
    <Nazione/>
   </Sede>
   <IscrizioneREA>
    <Ufficio>xx</Ufficio>
    <NumeroREA>123ABC</NumeroREA>
    <SocioUnico>SU</SocioUnico>
    <StatoLiquidazione>LS</StatoLiquidazione>
   </IscrizioneREA>
  </CedentePrestatore>
  <CessionarioCommittente>
   <DatiAnagrafici>
    <IdFiscaleIVA>
     <IdPaese>IT</IdPaese>
     <IdCodice>BCCGPP80A01H501T</IdCodice>
    </IdFiscaleIVA>
    <CodiceFiscale>BCCGPP80A01H501T</CodiceFiscale>
    <Anagrafica>
     <Denominazione>Shine Software</Denominazione>
    </Anagrafica>
   </DatiAnagrafici>
   <Sede>
    <Indirizzo>Piazza della Borsa, 6</Indirizzo>
    <CAP>34123</CAP>
    <Comune>Trieste</Comune>
    <Nazione>IT</Nazione>
   </Sede>
  </CessionarioCommittente>
 </FatturaElettronicaHeader>
 <FatturaElettronicaBody>
  <DatiGenerali>
   <DatiGeneraliDocumento>
    <TipoDocumento>TD01</TipoDocumento>
    <Divisa>EUR</Divisa>
    <Data>2021-02-09</Data>
    <Numero>2/AB</Numero>
    <ImportoTotaleDocumento>6.00</ImportoTotaleDocumento>
   </DatiGeneraliDocumento>
  </DatiGenerali>
  <DatiBeniServizi>
   <DettaglioLinee>
    <NumeroLinea>1</NumeroLinea>
    <CodiceArticolo>
     <CodiceTipo>FORN</CodiceTipo>
     <CodiceValore>tshirt-01-Standard Color Blue-XS</CodiceValore>
    </CodiceArticolo>
    <Descrizione>T-Shirt Colorata</Descrizione>
    <Quantita>1.00</Quantita>
    <UnitaMisura>pz</UnitaMisura>
    <PrezzoUnitario>1.00</PrezzoUnitario>
    <PrezzoTotale>1.00</PrezzoTotale>
    <AliquotaIVA>0.00</AliquotaIVA>
   </DettaglioLinee>
   <DettaglioLinee>
    <NumeroLinea>2</NumeroLinea>
    <Descrizione>Shipping and Handling</Descrizione>
    <Quantita>1.00</Quantita>
    <UnitaMisura>pz</UnitaMisura>
    <PrezzoUnitario>5.00</PrezzoUnitario>
    <PrezzoTotale>5.00</PrezzoTotale>
    <AliquotaIVA>0.00</AliquotaIVA>
    <Natura>N1</Natura>
   </DettaglioLinee>
   <DatiRiepilogo>
    <AliquotaIVA>0.00</AliquotaIVA>
    <Natura>N1</Natura>
    <ImponibileImporto>1.00</ImponibileImporto>
    <Imposta>0.00</Imposta>
    <EsigibilitaIVA>I</EsigibilitaIVA>
   </DatiRiepilogo>
   <DatiRiepilogo>
    <AliquotaIVA>0.00</AliquotaIVA>
    <ImponibileImporto>5.00</ImponibileImporto>
    <Imposta>0.00</Imposta>
    <EsigibilitaIVA>I</EsigibilitaIVA>
   </DatiRiepilogo>
  </DatiBeniServizi>
  <DatiPagamento>
   <CondizioniPagamento>TP02</CondizioniPagamento>
   <DettaglioPagamento>
    <ModalitaPagamento>MP05</ModalitaPagamento>
    <DataScadenzaPagamento>2021-02-09</DataScadenzaPagamento>
    <ImportoPagamento>6.00</ImportoPagamento>
   </DettaglioPagamento>
  </DatiPagamento>
 </FatturaElettronicaBody>
</p:FatturaElettronica>

```

Il file viene letto da un software dell'Agenzia delle Entrate chiamato "parser" che non fa altro che registrare in un grande archivio (database) tutti i dati inseriti nella fattura. Se tali dati non sono corretti, il sistema dell'Agenzia delle Entrate avvisa chi ha inviato il file (commercialista, servizi esterni vedi Aruba, oppure direttamente il commerciante/professionista) della richiesta di intervento.


# Funzionalità

Il modulo integra dentro il negozio Magento nuove funzionalità che permettono la creazione della fattura ed anche la gestione dei nuovi dati richiesti ai clienti: codice destinatario, email PEC e codice fiscale.

* Generazione della fattura XML via click su un bottone presente nella scheda della fattura &#x20;
* Download immediato del file xml &#x20;
* Download massivo di gruppi di fatture in un file zip &#x20;
* Invio notifica di inserimento del codice destinatario con link diretto alla scheda del profilo del cliente &#x20;
* Integrazione di alcuni campi personalizzati nella scheda degli indirizzi del cliente e nel profilo del cliente (sdi\_identity, sdi\_fiscalcode, sdi*pec, sdi\_birthplace*) &#x20;
* Integrazione dei campi nella pagina di checkout di Magento e nell'indirizzo di fatturazione del cliente &#x20;
* Registrazione dell'ID incrementale legato ad ogni singola fattura anche in modalità multistore &#x20;
* Controllo in fase di creazione della fattura dell'inserimento di almeno un campo fra il Codice Destinatario, Codice fiscale e dell'email PEC.
* Separazione delle informazioni degli indirizzi dai metodi di pagamento nella pagina di checkout&#x20;

Il modulo inoltre permette di inviare un "reminder" o notifica via email ai clienti che si desidera completino il loro profilo con le suddette informazioni al fine di generare una fattura. Infatti senza tali dati non è possibile per gli esercenti italiani poter effettuare una fattura corretta.

Inoltre il modulo consente l'invio della notifica in copia all'esercente Magento per poter controllare l'esattezza del messaggio inviato al cliente.

{% hint style="info" %}
L'estensione non include la generazione delle note di credito poichè l'unica differenza fra fattura e nota di credito è il codice relativo alla tipologia di documento, ed i valori negativi negli importi da stornare.
{% endhint %}

Infine il modulo consente la personalizzazione dei propri dati PEC e Codice Destinatario/Esercente potendo cosi a nostra volta comunicare i dati della propria attività all'altra azienda qualora debba effettuare delle fatture elettroniche.


# Requisiti

Requisiti funzionali ed eccezioni.

### OneStepCheckout

Vi sono decine di aziende che producono estensioni per la semplificazione dei carrelli incrementando così la velocità di inserimento dati da parte dei clienti. Tali moduli vengono generati nei più disparati modi di integrazione e molte volte tendono a fortemente personalizzare l'aspetto grafico della pagina di checkout.

Il progetto SDI Fatturazione Elettronica per Magento si adatta al comune modulo di Checkout di Magento sfruttando le classi ereditate dal CORE di Magento 2 offrendo un'integrazione immediata nel vostro negozio. Oltretutto permette di utilizzare la modalità di integrazione "Visualizzazione indirizzo di fatturazione" disponibile di Magento 2 (Store  > Configuration > Opzioni di Checkout > Visualizzazione indirizzo di fatturazione) che consente di mostrare il modulo di fatturazione slegandolo dal metodo di pagamento.

**Il modulo SDI si integra con Amasty OneStepCheckout.** All'interno della configurazione del modulo OneStepCheckout bisogna impostare l'opzione Display Billing Address On > Payment Page

![Interfaccia di configurazione di Amasty OneStepCheckout](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-MW0I8iAPCYqp7l9TpRG%2F-MW0Il36vQGUcFTdVDy2%2FSelection_255.jpg?alt=media\&token=3c2ed3dd-16f6-4427-81a7-81e565ff610a)

![Interfaccia di configurazione dei campi riconosciuti da Amasty](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-MW0I8iAPCYqp7l9TpRG%2F-MW0IvlQ6GUB4Po641Gq%2Fimage.png?alt=media\&token=477dfe0e-e6d9-4948-82cd-856293389d9a)

{% hint style="info" %}
**ATTENZIONE**: Non tutte le estensioni di Checkout sono compatibili con uno standard di progettazione dell'estensioni. Vista l'**impossibilità di recesso** vi consigliamo caldamente di chiedere sempre prima un test per controllare se il modulo può essere installato. Qualora non venga eseguita tale richiesta ed avete già acquistato il modulo è possibile richiedere una personalizzazione del vostro carrello all'azienda produttrice oppure richiederci una personalizzazione per l'integrazione sul vostro carrello.
{% endhint %}


# Installazione

Procedura necessaria per l'installazione del modulo in Magento 2

Installare il modulo nel vostro negozio Magento 2 è molto semplice ma bisogna tener presente alcuni passi necessari.

{% hint style="info" %}
Prima di ogni installazione e modifica strutturale di Magento, **è caldamente consigliato effettuare un backup dei dati e dei files** ed accertarsi di aver effettuato un backup corretto. Solo dopo tale operazione potrete effettuare l'**installazione prima nel vostro ambiente di sviluppo** e successivamente nel vostro ambiente di produzione.
{% endhint %}

### Installazione via Shell

Se si desidera installare il modulo via shell bisogna eseguire il seguente comando dalla root di Magento.

```
composer config repositories.core vcs git@bitbucket.org:shinesoftware/core.git
composer config repositories.sdi vcs git@bitbucket.org:shinesoftware/sdi.git
composer require shinesoftware/core:dev-master
composer require shinesoftware/sdi:dev-master
```

All'esecuzione del comando il software *composer* avvierà la procedura di recupero del *repository* presso bitbucket.org.

{% hint style="info" %}
Bisogna fare attenzione all'ultimo comando che determina la versione da scaricare. Verrà sempre installata l'ultima versione del modulo ma nello stesso tempo bisogna fare attenzione alle dipendenze da installare. Vedi capitolo [dipendenze](/setup/dipendenze).
{% endhint %}

**Per poter connettere il vostro composer al repository ufficiale serve una chiave SSH valida che permetterà al sistema Bitbucket.org di inviarvi il pacchetto.**

{% hint style="info" %}
Per poter recuperare la chiave pubblica in un server unix-like dovrete eseguire il seguente comando nel terminale linux:

cat \~/.ssh/id\_rsa.pub
{% endhint %}

> Dopo aver copiato la chiave pubblica dovrete aprire una segnalazione su <https://shinesoftware.it/> e richiedere la registrazione della chiave pubblica per il dominio indicato in fase di acquisto. **La chiave pubblica deve essere inviata nella segnalazione** completa e senza alcuna modifica.

{% hint style="info" %}
Molte volte le chiavi pubbliche di un server vengono registrate in bitBucket e non possono essere utilizzate anche per il suddetto uso.&#x20;
{% endhint %}

In questi casi bisogna creare una nuova chiave ed utilizzarla all'aggiornamento del modulo attivandola con i seguenti comandi:

```
ssh-keygen << creare una chiave con il nome id_shinesoftware
cat ~/.ssh/id_shinesoftware.pub << chiave da inviare alla shinesoftware
eval $(ssh-agent) << attivazione dell'agente ssh
ssh-add ~/.ssh/id_shinesoftware << attivazione della nuova chiave nel vostro server
```


# Disinstallazione

La disinstallazione di un modulo dentro Magento 2.x è molto semplice, eseguite i comandi riportati qui in basso.

```
composer remove shinesoftware/sdi
composer remove shinesoftware/core
composer config --unset repositories.sdi
composer config --unset repositories.core
```

Bisogna anche pulire il proprio database e per poterlo fare eseguite quanto riportato qua in basso.

{% hint style="info" %}
Aprire il proprio database collegato a Magento e cancellare le occorrenze legate alla configurazione del modulo dentro la cartella **core\_config\_data** per rendere il proprio archivio pulito.
{% endhint %}

Aprire una shell MySQL o il vostro client database ed eseguire la query:

```
DELETE FROM core_config_data WHERE path like 'sdi/%'
```


# Dipendenze

Il modulo SDI necessita di una dipendenza. In questa sezione è possibile scoprire i metodi standard per includere la dipendenza.

Per installare le dipendenze richieste dall'applicazione bisogna utilizzare il software via shell Composer.

### Installazione via Shell

Se si desidera installare la dipendenza via shell bisogna eseguire il seguente comando dalla root di Magento.

```
composer config repositories.shinesoftware vcs https://github.com/shinesoftware/fattura-elettronica 
composer require deved/fattura-elettronica:dev-shineFix --ignore-platform-reqs
```

{% hint style="info" %}
L'opzione **--ignore-platform-reqs** ignora tutti i requisiti di piattaforma e forza l'installazione, anche se la macchina locale non soddisfa questi criteri..
{% endhint %}

### Installazione via file composer.json

E' possibile aprire il file composer.json del proprio negozio Magento ed inserire le seguenti righe nelle apposite sezioni.

```
"require": {
   ....
   "deved/fattura-elettronica": "dev-shineFix",
   ....
}
```

Sempre nello stesso file bisogna indicare il riferimento al VCS connesso utilizzando un "repository" personalizzato:

```
"repositories": [
        ...
        {
            "type": "vcs",
            "url": "https://github.com/shinesoftware/fattura-elettronica"
        }
    ],
```

Al termine della modifica eseguire il seguente comando via shell:

```
# composer update
```

###


# Configurazione

Il modulo SDI permette la generazione della fattura partendo dai dati presenti dentro l'applicazione Magento, quindi i dati presenti dentro Magento in ogni sezione devono essere necessariamente corretti. Dati di esempio o test potrebbero portare ad una invalidazione del file di fattura dall'Agenzia delle Entrate.

Il pannello di controllo di configurazione del modulo è presente nell'area amministrativa di Magento e precisamente nella sezione Store > Configuration > Shine Software > SDI


# Generale

### Attivazione del Modulo

Per attivare il modulo bisogna impostare il parametro Active su YES ed inserire il codice di licenza rilasciata dalla Shine Software all'acquisto.

![Abilitazione del Modulo SDI (foto 1)](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-Lvir2Ip0tdjwOaAhL7a%2F-LvirXnSdCe1-QMZ6mF7%2Fimage.png?alt=media\&token=75ac3dfc-931e-410c-9815-5c56b48acb93)

{% hint style="info" %}
Per attivare l'estensione e riceverne gli aggiornamenti bisogna registrare la propria licenza nel campo License Key. In caso contrario il modulo non sarà licenziato e gli aggiornamenti non saranno disponibili.
{% endhint %}


# SDI Configuration

### SDI Configuration

La configurazione del modulo segue con le impostazioni generali dell'esercente che dovrà impostare i campi come da foto 2.  Bisogna tener presente che se il codice fiscale non venisse inserito il sistema cercherà la partita IVA impostata nella scheda generale del negozio.

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-MTLP8CxvSSliJEgqOlU%2F-MTLQu2NAgvvjxLUBDmT%2Fimage.png?alt=media\&token=cf69a41f-7aae-46ab-8b59-e61bcbfedb14)

| Campo               | Descrizione                                                  |
| ------------------- | ------------------------------------------------------------ |
| Codice Esercente    | Utilizzato per l'invio della notifica email al cliente       |
| Indirizzo eMail PEC | Utilizzato per l'invio della notifica email al cliente       |
| Codice Fiscale      | Utilizzato nell'intestazione della fattura (dati anagrafici) |

### Informazioni Aziendali Personalizzate

Molte aziende gestiscono differenti store con Magento e le informazioni impostate nella sezione General > General > Store Information non possono essere uguali per tutti i negozi. Tale funzionalità permette di distinguere le informazioni aziendali da quelle inserite nell'area di configurazione globale di Magento.

Per maggiori dettagli consultare la sezione [Informazioni Negozio](/configurazione/sdi-configuration/informazioni-negozio).

### Utilizza Iscrizione REA

Alcune aziende necessitano l'inserimento del codice di Iscrizione REA all'interno della fattura elettronica. Con questa funzionalità l'estensione potrà recuperare tali informazioni precedentemente inserite dentro la configurazione per poter generare la porzione necessaria di XML necessaria all'Agenzia delle Entrate.

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-MTLb1iF8PdnouR61__b%2F-MTLs-y3mlBkLTcTissW%2Fimage.png?alt=media\&token=8cbda03e-bdcf-4dce-8b55-97e0777b9f7f)


# Informazioni Negozio

### Configurazione Store Magento

Per poter generare una fattura avremo bisogno dei dati dell'esercente. Tali dati dovranno essere inseriti nella sezione dedicata da Magento: Store > Configuration > General >  Store Information.&#x20;

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-Lvir2Ip0tdjwOaAhL7a%2F-Lvj6kbUBUmFw85t5wTM%2Fimage.png?alt=media\&token=1d0caf43-d9ce-4534-87cc-247237a64692)

Qualora si desiderasse usare il modulo in un ambiente di tipo multistore e si desidera che le aziende che generino le fatture siano diverse bisogna impostare il campo: Use Custom Store Information su YES. Tale parametro abiliterà una lista di campi che potranno essere configurati con i dati aziendali. [Ulteriori informazioni](broken://pages/-LfKlzISD5i45wMc87Od)

![Impostazione Informazioni tore Personalizzato (foto 3)](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-Lvir2Ip0tdjwOaAhL7a%2F-LvitduTruPC9H6Rj3nr%2Fimage.png?alt=media\&token=77e342a2-35a6-455d-a440-c9cf5c5c7841)


# Opzioni Checkout

Durante la fase di checkout / scelta di metodo di pagamento è possibile **integrare alcuni campi personalizzati** che permetteranno al cliente di descrivere la propria posizione fiscale. Tali campi saranno **visibili solamente nella sezione dell'Indirizzo di Fatturazione** per il **pubblico italiano** e potranno essere mostrati oppure nascosti.

L'amministratore del negozio può mostrarli nell'area su indicata e nella pagina del profilo del cliente cosicché quest'ultimo potrà completare la sua posizione fiscale e mantenere una scheda aggiornata.

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-MTpahsTrUsTMYWsEhlP%2F-MTpbOj-njXicIVoD6ld%2FSelection_213.jpg?alt=media\&token=dac6af02-c744-4072-a0d5-2d533ad42999)

Tali campi saranno visibili direttamente nell'area di checkout quando il visitatore si troverà nello step di Pagamento. I campi saranno visibili solamente se:

* il cliente non è registrato.
* il cliente è registrato ma sceglie di modificare il proprio indirizzo di fatturazione.
* l'amministratore ha scelto di mostrare il modulo degli indirizzi nella pagina di pagamento (vedi Negozi > Vendite > Checkout > Opzioni Checkout > Visualizzazione indirizzo di fatturazione > **Pagina di Pagamento**) e non annidati all'interno di ogni singolo metodo di pagamento. In caso contrario i campi non saranno visibili nel checkout.

I suddetti campi saranno visibili solamente se il cliente non è registrato.

{% hint style="info" %}
Per poter visualizzare i campi personalizzati bisogna impostare la Visualizzazione indirizzo di fatturazione: **Pagina di Pagamento**
{% endhint %}

In caso contrario se l'opzione non venisse impostata i campi personalizzati non potranno essere creati dal modulo.

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-MTM7RIpSy-xyjiRl5kP%2F-MTM9eC6FNlnWtSXuNJx%2Fimage.png?alt=media\&token=356c9d31-f304-4723-8b6d-d59931cd8fca)

il modulo degli indirizzi apparirà scollegato ed all'esterno del modulo di pagamento:

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-MTM7RIpSy-xyjiRl5kP%2F-MTMATVLj7XnJmYcOb2g%2Fimage.png?alt=media\&token=6e607ae9-5ae2-4950-b5b0-41b775ed00cc)

I campi personalizzati appariranno alla fine dei campi standard di Magento solamente se la nazione scelta nella lista è: Italia.

Infatti tali campi personalizzati aggiuntivi appariranno solamente ai visitatori che impostano un indirizzo di fatturazione ubicato nel territorio italiano.

<div align="left"><img src="https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-MTpahsTrUsTMYWsEhlP%2F-MTpdEJ79Agpyoe4vHty%2FSelection_214.jpg?alt=media&amp;token=6fb7debc-1f80-4c40-acd8-c621ba99edb9" alt=""></div>

Il campo codice fiscale può essere impostato come obbligatorio o facoltativo ma la loro correttezza è data dalla validazione gestita. Vedi figura.

<div align="left"><img src="https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-MTpahsTrUsTMYWsEhlP%2F-MTpewpn2IpZEPekLolP%2Fsdi-valid-fiscalcode.gif?alt=media&amp;token=c3dcd97b-0afa-4706-b8e6-53b01f406ab1" alt=""></div>

Se il visitatore è un'azienda o un professionista potrà richiedere la fattura selezionando l'opzione Azienda presente sotto il campo: numero di telefono. I campi aggiuntivi verranno convalidati durante l'inserimento da parte del visitatore. vedi figura.

<div align="left"><img src="https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-MTpahsTrUsTMYWsEhlP%2F-MTpfe6fgZVsHfSGWh6d%2Fsdi-valid-field.gif?alt=media&amp;token=940c3f88-4d96-4ac7-989c-bc582a220df6" alt=""></div>

{% hint style="info" %}
Se non si desidera mostrare i campi SDI - Codice Destinatario ed eMail PEC ma solamente il codice fiscale del cliente, l'estensione rimuoverà l'opzione "Richiedo la fattura per" e mostrerà solamente il campo di codice fiscale.
{% endhint %}

<div align="left"><img src="https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-MTpahsTrUsTMYWsEhlP%2F-MTphuoZoVPjVhEHwQxt%2FSelection_215.jpg?alt=media&amp;token=135bf4f7-0848-4d8b-8556-b14c5626cf6b" alt=""></div>

Come indicato in precedenza i campi personalizzati possono essere nascosti e nello stesso tempo controllati durante l'acquisto del prodotto/servizio sul negozio.&#x20;

**Se i campi sono stati impostati come nascosti nel checkout,** l'estensione controllerà la nazione impostata dal cliente e se corrisponde all'Italia imposterà a sua volta i seguenti valori di default ai campi personalizzati:

* Codice Fiscale > 00000000000
* eMail PEC > Vuota
* SDI - Codice Destinatario > 0000000 (7 zeri)

Se l'utente sceglie una nazione diversa dall'Italia, l'estensione imposterà i seguenti valori:

* Codice Fiscale > 00000000000 (11 zeri)
* eMail PEC > Vuota
* SDI - Codice Destinatario > XXXXXXX (7 X)

**Se i campi sono stati impostati come visibili nel checkout,** l'estensione controllerà la nazione impostata dal cliente e se corrisponde all'Italia imposterà a sua volta i seguenti valori di default ai campi personalizzati:

* Codice Fiscale > **Campo obbligatorio e controllo formale del codice fiscale**
* eMail PEC > Vuota (nessun obbligo ma avviene il controllo formale dell'email)
* SDI - Codice Destinatario > Obbligatorio e se inserito viene controllato il valore. Se vuoto l'estensione utilizzerà:  0000000 (7 zeri)


# SDI Notification Message

Il modulo consente altresi di inviare un messaggio ai clienti per informarli sui propri dati fiscali. Inoltre il sistema di notifica richiederà di completare il profilo reindirizzando il cliente direttamente nella pagina relativa alla rubrica degli indirizzi dove quest'ultimo potrà inserire i propri dati fiscali.

![SDI Notification Message (foto 4)](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-Lvir2Ip0tdjwOaAhL7a%2F-Lviv--NttXj1zmHaFGp%2Fimage.png?alt=media\&token=31d8d8eb-0b14-4fb9-830d-0970d6a6d2ae)

###


# Invoice Transmitter

La sezione Invoice Transmitter serve ad identificare colui che trasmetterà il documento al sistema SDI. Il file generato al termine dell'esportazione della fattura avrà il campo IdTrasmittente con i suoi parametri {IdPaese, IdCodice} compilati con i valori impostati in questa scheda.

![Invoice Transmitter (foto 5)](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-Lvir2Ip0tdjwOaAhL7a%2F-Lviv9rE1_OaXaH4AhCj%2Fimage.png?alt=media\&token=db834df1-2611-472c-9453-3ff50e687cae)


# XML Custom Options

Lista delle opzioni offerte dal modulo di fatturazione

Le seguenti opzioni determinano il funzionamento della generazione delle fatture in formato XML.

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-MTLb1iF8PdnouR61__b%2F-MTLrLYjXXZYiLidWY1e%2Fimage.png?alt=media\&token=a8d58070-3b52-4a5a-9534-482ff2f4e125)

## Multistore

Per tutti i multistore che emettono fatture con intestazioni differenti è possibile impostare la separazione dei codici progressivi. Il parametro **Multistore** se impostato su YES discriminerà la provenienza dell'assegnazione del codice "**progressivo invio**" della fattura recuperando tutti i progressivi dalle fatture provenienti dallo store dal quale l'ordine è stato generato. Tale funzionalità è stata realizzata allo scopo di mantenere separati i parametri di invio per singoli store in ambienti multistore. Tale funzionalità permetterà di generare differenti file XML per negozio. Tale funzionalità non è compatibile con la gestione della numerazione personalizzata della fattura.

## Skip ID

Il codice ID si riferisce al campo della fattura "**ProgressivoInvio**". Il parametro **Skip ID** permette di escludere un determinato "**progressivo invio**" durante la generazione delle fatture. Se ad esempio una fattura viene generata attraverso un gestore esterno a Magento il successivo progressivo invio dovrà essere "ignorato" passando direttamente al successivo. Il parametro Skip ID permette attraverso una stringa separata da virgole di ignorare dei progressivi già realizzati.

## "Starting From"

Per tutti gli esercenti che utilizzavano un altro software ed installano il modulo per Magento questa funzionalità sarà perfetta! Se si desidera avviare la numerazione del codice **ProgressivoInvio** partendo da un numero diverso da uno, basterà indicare l'ultimo codice generato con il precedente software.&#x20;

{% hint style="info" %}
Il modulo genererà un ProgressivoInvio partendo proprio dal numero successivo a quello indicato nel campo presente nella configurazione del modulo.&#x20;
{% endhint %}

## Use Custom Invoice Identity

Il parametro FatturaElettronicaBody > DatiGenerali > Numero presente nella fattura viene recuperato dal codice fattura generato da Magento. Se si desidera creare una propria numerazione bisognerà attivare la presente opzione generando così una numerazione personalizzata delle fatture.

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-MTLsQsubiG7cxJ6_i4g%2F-MTLweCs-MZzQpWQJYw6%2Fimage.png?alt=media\&token=08464d3e-939e-40de-bf07-8d0f10322667)

Nel campo **Custom Invoice Format** bisogna indicare il codice personalizzato desiderato, sfruttando il campo dinamico {incremental} per generare un numero progressivo.

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-MTM2aWj9z__yf18wlDF%2F-MTM46yczpfFgueseg1K%2Fimage.png?alt=media\&token=1dc8143d-79cf-4548-95f4-fb9de333b764)

Qualora si volesse azzerare la numerazione personalizzata e ripartire da zero, è possibile far click sul bottone "Clear the Custom Invoice Number". L'operazione cancellerà la numerazione personalizzata ed il collegamento a tutte le fatture.

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-MTLsQsubiG7cxJ6_i4g%2F-MTLx_0Ewj02IMxzZ05c%2Fimage.png?alt=media\&token=63e4ba4a-c7dd-44b9-af54-14ac601540a9)


# SDI XML Invoice

Questa sezione indica tutte le opzioni disponibili per l'emissione delle fatture. Durante la loro generazione tutti i valori impostati in questa sezione verranno letti ed inseriti nel file XML generato dall'estensione.

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-MTLxbFBltxFrh2vIdbw%2F-MTM0ZPG531z2AoxH5fP%2Fimage.png?alt=media\&token=e698b1f1-cb07-4aff-865e-d2a60b018440)

## Tax Regime

Il parametro consente di impostare il regime fiscale in FatturaElettronicaHeader > CedentePrestatore > DatiAnagrafici > RegimeFiscale

## Document Type

Impostazione di default per il codice legato alla tipologia di documento da generare.

## Shipping VAT Nature

Valore Natura da applicare alle spedizioni nel caso di una vendita con costo di spedizione pari a zero.


# Template Indirizzi

Come visualizzare i nuovi campi nelle sezioni degli indirizzi del cliente

## Campi Personalizzati & Attributi

Il modulo SDI consente l'inserimento di nuovi campi nella scheda degli indirizzi del cliente. Tali campi possono essere chiamati anche attributi. La lista degli attributi realizzati all'installazione del modulo sono:&#x20;

* sdi\_identity
* sdi\_fiscalcode
* sdi\_pec

I tre attributi verranno inseriti dentro la scheda chiamata "rubrica" che il cliente gestisce in varie sezioni del negozio Magento.

Gli attributi sono presenti nelle sezioni:

* Checkout
* Rubrica

{% hint style="info" %}
L'amministratore potrà gestire gli attributi direttamente nella scheda del cliente sotto la voce Indirizzi dopo aver selezionato il cliente
{% endhint %}

Una volta installata l'estensione SDI tali campi faranno parte del progetto Magento e non potranno essere eliminati senza compromettere il corretto funzionamento del progetto.

### Template Indirizzi

Per visualizzare tali attributi dentro la rubrica degli indirizzi bisognerà aggiungere alcune righe dentro la sezione Customer Configuration che rappresentano i segnaposti dei valori degli attributi generati dal modulo SDI.

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-LvfpoaAojELzusJbm7V%2F-Lvfs-8YABMck8mVSYrk%2Fimage.png?alt=media\&token=5d5757e9-429c-48a8-8127-4f45c755f9da)

La sezione su indicata nella foto richiede un minimo di attenzione per essere configurata correttamente.

#### Sezione Text

```
{{depend sdi_identity}}SDI: {{var sdi_identity}}{{/depend}}
{{depend sdi_pec}}PEC: {{var sdi_pec}}{{/depend}}
{{depend sdi_fiscalcode}}CF: {{var sdi_fiscalcode}}{{/depend}}
```

#### Text One Line

```
{{depend sdi_identity}}, {{var sdi_identity}}{{/depend}}
```

#### HTML

```
{{depend sdi_identity}}<br />SDI: {{var sdi_identity}}{{/depend}}
{{depend sdi_pec}}<br />PEC: {{var sdi_pec}}{{/depend}}
{{depend sdi_fiscalcode}}<br />CF: {{var sdi_fiscalcode}}{{/depend}}
```

#### PDF

```
{{depend sdi_identity}}SDI: {{var sdi_identity}}{{/depend}}
{{depend sdi_pec}}PEC: {{var sdi_pec}}{{/depend}}
{{depend sdi_fiscalcode}}CF: {{var sdi_fiscalcode}}{{/depend}}
```


# Fattura Elettronica

Per creare una fattura elettronica bisogna accedere nell'area delle fatture di Magento (area amministrativa) ed accedere ad ogni singola fattura. Nell'area amministrativa della fattura sarà presente un tasto per la generazione della fattura elettronica con l'etichetta: SDI XML

![Amministrazione Fattura](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-Lvir2Ip0tdjwOaAhL7a%2F-Lvj12bQ1NcoqmE6Y3ej%2Fimage.png?alt=media\&token=48b50ec7-fb28-444e-9a0f-d11e65ac4c1d)

Al click sul bottone SDI XML il modulo chiederà se si desidera la generazione del file XML. Non vi sarà modo di modificare il codice d'invio ma si potrà semplicemente azzerarne l'assegnazione.

![Avviso sulla generazione del file XML](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-Lvir2Ip0tdjwOaAhL7a%2F-Lvj1bRFP7nQLCZ8Vcr-%2Fimage.png?alt=media\&token=e1be85fd-b8df-42df-a694-9ad8d67a30e1)

Se il cliente o l'amministratore del negozio non ha impostato nel profilo fiscale al quale assegnare la fattura uno dei campi obbligatori per l'emissione della fattura, il sistema mostrerà un messaggio di errore. Per risolvere il problema basterà impostare il codice fiscale, e/o la Partita IVA ed il codice SDI Identity.

{% hint style="info" %}
Nel caso il cliente non avesse il suo codice SDI basterà impostare 7 volte zero: 0000000.
{% endhint %}

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-Lvir2Ip0tdjwOaAhL7a%2F-Lvj2879xXWLjLExVAHN%2Fimage.png?alt=media\&token=3d531d20-6dea-40ad-a709-f0eacf09c72b)

Il numero presente nel bottone con il prefisso ID si riferisce al numero progressivo d'invio generato dal software. E' possibile visualizzare lo stesso codice nella lista delle fatture.

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-LfKluti0gwZXT6eojC_%2F-LfKlzRro2Mf5S2dDdU2%2Fsdi-invoice-cols.png?generation=1558364813858337\&alt=media)

E' possibile ricercare il codice incrementale SDI anche utilizzando un filtro come mostrato nel precedente screenshot.


# Fattura Magento & SDI

Lista delle opzioni per la fatturazione elettronica

L'interfaccia amministrativa di Magento integrerà una sezione dedicata alla gestione delle opzioni richieste dall'Agenzia dell'Entrate che permetterà di specificare la causale del documento, la natura delle operazioni e l'eventuale esigibilità delle tasse.

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-MTM0dkLx-dycl42jVLA%2F-MTM1dLxUUR_-DZ8r3x2%2Fimage.png?alt=media\&token=f5227948-2fc4-40d1-ac0b-495acd064040)

### Causale Documento <a href="#document_reason" id="document_reason"></a>

Attraverso questa sezione puoi indicare la causale della fattura che stai creando. La causale del documento offre l'occasione di registrare una fattura indicando la motivazione relativa all'emissione dello stesso documento. E' un campo di testo semplice.&#x20;

### Natura <a href="#nature" id="nature"></a>

Codice che esprime la natura delle operazioni che non rientrano tra quelle imponibili. Se l’elemento AliquotaIVA precedente è pari a zero, l’elemento Natura è obbligatorio; viceversa non deve essere presente se l’elemento AliquotaIVA è diverso da zero; in caso contrario il file viene scartato rispettivamente con codice errore 00429 e 00430. Inoltre non può assumere valore N6 (reverse charge) se il successivo elemento EsigibilitaIVA viene valorizzato con S (scissione pagamenti); in caso contrario il file viene scartato con codice errore 00420.

### Esigibilità <a href="#chargeability" id="chargeability"></a>

Codice che esprime il regime di esigibilità dell’IVA (differita o immediata) o la modalità di versamento dell’imposta (scissione dei pagamenti). Non può assumere valore S (scissione dei pagamenti) se il precedente elemento Natura viene valorizzato con N6 (reverse charge); in caso contrario il file viene scartato con codice errore 00420.


# Download Fatture

Per poter scaricare tutte le fatture presenti dentro Magento in un file **zip compresso** basta accedere nella pagina delle fatture e selezionare i record desiderati spuntando la casella di controllo e facendo click sul menù a tendina nel quale apparirà la voce "Create XML Invoice".

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-LfKluti0gwZXT6eojC_%2F-LfKlzS2oCYOT3BauDFb%2Fsdi-invoices-mass.png?generation=1558364813837134\&alt=media)

Il software genererà i file xml utilizzando i dati inseriti all'interno della configurazione del progetto evitando di utilizzare vecchi file in cache. Questo significa che eventuali modifiche delle vecchie specifiche verrebbero sovrascritte dalle nuove impostazioni.

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-LfKluti0gwZXT6eojC_%2F-LfKlzS4xbIZYWZX7XwO%2Fsdi-invoice-mass2.png?generation=1558364813878792\&alt=media)


# Fattura XML

Esempio di fattura XML generata dal sistema SDI dedicato a Magento.

L'esempio mostrato qui di seguito mostra un file XML generato da Magento utilizzando il modulo **SDI Fatturazione Elettronica per Magento** <https://shinesoftware.it/sdi-fatturazione-elettronica-magento.html>

Ogni elemento del file XML viene gestito dall'area amministrativa di Magento ed in particolare dal pannello di controllo dell'estensione SDI e dalle impostazioni presenti nella pagina dell'ordine generato, nonchè di Magento.&#x20;

{% hint style="info" %}
**Attenzione:** Ogni azienda utilizza determinati campi nella fattura XML. Alcuni campi da voi attesi potrebbero non essere visibili in questo esempio. Se desiderate una conferma inviate un'email direttamente a <customers@shinesoftware.com> con la vostra fattura in XML in allegato. I nostri tecnici controlleranno l'esistenza e l'uso dei campi presenti nel vostro file con i campi generati dal nostro software.
{% endhint %}

```
<?xml version="1.0" encoding="UTF-8"?>
<p:FatturaElettronica versione="FPR12" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <FatturaElettronicaHeader>
  <DatiTrasmissione>
   <IdTrasmittente>
    <IdPaese>IT</IdPaese>
    <IdCodice>AAABBB55A11C351F</IdCodice>
   </IdTrasmittente>
   <ProgressivoInvio>347</ProgressivoInvio>
   <FormatoTrasmissione>FPR12</FormatoTrasmissione>
   <CodiceDestinatario>XXBNB2R</CodiceDestinatario>
  </DatiTrasmissione>
  <CedentePrestatore>
   <DatiAnagrafici>
    <IdFiscaleIVA>
     <IdPaese>IT</IdPaese>
     <IdCodice>04504220123</IdCodice>
    </IdFiscaleIVA>
    <CodiceFiscale>AAABBB55A11C351F</CodiceFiscale>
    <Anagrafica>
     <Denominazione>Shine Software</Denominazione>
    </Anagrafica>
    <RegimeFiscale>RF01</RegimeFiscale>
   </DatiAnagrafici>
   <Sede>
    <Indirizzo>Piazza della Borsa, 7</Indirizzo>
    <CAP>34124</CAP>
    <Comune>Trieste</Comune>
    <Provincia>TS</Provincia>
    <Nazione>IT</Nazione>
   </Sede>
  </CedentePrestatore>
  <CessionarioCommittente>
   <DatiAnagrafici>
    <Anagrafica>
     <Denominazione>Shine Software</Denominazione>
    </Anagrafica>
   </DatiAnagrafici>
   <Sede>
    <Indirizzo>Piazza della Borsa, 6</Indirizzo>
    <CAP>34123</CAP>
    <Comune>Trieste</Comune>
    <Provincia>Trieste</Provincia>
    <Nazione>IT</Nazione>
   </Sede>
  </CessionarioCommittente>
 </FatturaElettronicaHeader>
 <FatturaElettronicaBody>
  <DatiGenerali>
   <DatiGeneraliDocumento>
    <TipoDocumento>TD01</TipoDocumento>
    <Divisa>EUR</Divisa>
    <Data>2021-03-18</Data>
    <Numero>10/AB</Numero>
    <ImportoTotaleDocumento>6.72</ImportoTotaleDocumento>
   </DatiGeneraliDocumento>
  </DatiGenerali>
  <DatiBeniServizi>
   <DettaglioLinee>
    <NumeroLinea>1</NumeroLinea>
    <CodiceArticolo>
     <CodiceTipo>FORN</CodiceTipo>
     <CodiceValore>tshirt-01-Standard Color Blue-XS</CodiceValore>
    </CodiceArticolo>
    <Descrizione>T-Shirt Colorata</Descrizione>
    <Quantita>1.00</Quantita>
    <UnitaMisura>pz</UnitaMisura>
    <PrezzoUnitario>1.00</PrezzoUnitario>
    <PrezzoTotale>1.00</PrezzoTotale>
    <AliquotaIVA>22.00</AliquotaIVA>
   </DettaglioLinee>
   <DettaglioLinee>
    <NumeroLinea>2</NumeroLinea>
    <Descrizione>Shipping and Handling</Descrizione>
    <Quantita>1.00</Quantita>
    <UnitaMisura>pz</UnitaMisura>
    <PrezzoUnitario>5.00</PrezzoUnitario>
    <PrezzoTotale>5.00</PrezzoTotale>
    <AliquotaIVA>10.00</AliquotaIVA>
   </DettaglioLinee>
   <DatiRiepilogo>
    <AliquotaIVA>22.00</AliquotaIVA>
    <ImponibileImporto>1.00</ImponibileImporto>
    <Imposta>0.22</Imposta>
    <EsigibilitaIVA>I</EsigibilitaIVA>
   </DatiRiepilogo>
   <DatiRiepilogo>
    <AliquotaIVA>10.00</AliquotaIVA>
    <ImponibileImporto>5.00</ImponibileImporto>
    <Imposta>0.50</Imposta>
    <EsigibilitaIVA>I</EsigibilitaIVA>
   </DatiRiepilogo>
  </DatiBeniServizi>
  <DatiPagamento>
   <CondizioniPagamento>TP02</CondizioniPagamento>
   <DettaglioPagamento>
    <ModalitaPagamento>MP05</ModalitaPagamento>
    <DataScadenzaPagamento>2021-03-18</DataScadenzaPagamento>
    <ImportoPagamento>6.72</ImportoPagamento>
   </DettaglioPagamento>
  </DatiPagamento>
 </FatturaElettronicaBody>
</p:FatturaElettronica>

```


# Notifica SDI

Il modulo consente di generare una notifica via email al cliente di inserimento del codice destinatario nell'anagrafica presente nel profilo utente di Magento.

In tutte le schede dei clienti vi è un'opzione generata dal modulo che consente di inviare un messaggio al cliente. Il click al bottone è preceduto da una richiesta di conferma.

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-LfKluti0gwZXT6eojC_%2F-LfKlzRjHA7TOW8V9FX7%2Fsdi-customer.png?generation=1558364814272729\&alt=media)

Per conoscere i dettagli dell'email e personalizzarne il contenuto basta usare l'editor Wysiwyg.

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-LfKluti0gwZXT6eojC_%2F-LfKlzRod_nIw2U2RdAD%2Fsdi-notification.png?generation=1558364814583856\&alt=media)


# Aruba & Fattura XML

I file generati dal modulo SDI sono delle vere e proprie fatture in formato XML. Il file esportato dal pannello di controllo di Magento può essere inviato all'agenzia delle entrate oppure ad uno degli intermediari che si trovano online come Aruba. Consigliamo Aruba per la semplicità del servizio e per l'assistenza tecnica a disposizione dell'esercente via telefonica ma anche per il tool di importazione molto utile durante il caricamento dei file XML.

Ecco il pannello di controllo di Aruba.

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-LfKluti0gwZXT6eojC_%2F-LfKlzS8K-KrUMbVIA4B%2Fsdi-aruba.png?generation=1558364813865063\&alt=media)

Per caricare i files basta far click sul bottone Carica Fattura e successivamente Seleziona Documenti. Una finestra di dialogo apparirà per consentirvi di caricare i file xml. E' possibile anche trascinare i file direttamente nella finestra proprio sul bottone per poter completare l'operazione velocemente.

Appena viene trascinato il file dentro il sito internet apparirà la lista dei file pronta per essere inviata all'Agenzia delle Entrate.

![](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-LfKluti0gwZXT6eojC_%2F-LfKlzSAYVw1cAg6yHfW%2Fsdi-aruba-xml.png?generation=1558364814120973\&alt=media)


# Versioni & Changelog

In questa pagina racchiudiamo tutte le modifiche effettuate al modulo e dei suoi sottomoduli ed i loro rilasci. La versione del proprio modulo nel file module.xml presente nel pacchetto nel percorso app/etc/module.xml.

**Attenzione**: Il modulo è in continua evoluzione e per questo motivo vi invitiamo a seguirci su Twitter <https://goo.gl/KvbP5A> ed a pubblicare una recensione al primo utilizzo per ricevere oltretutto uno sconto alla scadenza dell'assistenza tecnica direttamente al link: <https://goo.gl/N0vzzo>.

## Versioni

Magento è in continua evoluzione così come le estensioni realizzate dalla Shine Software. Le funzionalità vengono analizzate, programmate, sviluppate e testate. Di seguito le funzionalità esposte dal metodo di pagamento ed integrate nelle versioni di Magento.

| Funzionalità          | Magento 2.1 | Magento 2.2 | Magento 2.3 | Magento 2.4 |
| --------------------- | ----------- | ----------- | ----------- | ----------- |
| Generazione XML       | Incluso     | Incluso     | Incluso     | Incluso     |
| Reminder              | Incluso     | Incluso     | Incluso     | Incluso     |
| Mass Download         | Incluso     | Incluso     | Incluso     | Incluso     |
| Integrazione Checkout | Incluso     | Incluso     | Incluso     | Incluso     |
|                       |             |             |             |             |


# Errori Comuni

Durante la creazione dell'ordine potrebbero capitare di visualizzare i seguenti comportamenti:

* **Creazione di un ordine senza anagrafica cliente.**
  * Tale problema appare quando il metodo di pagamento, ad esempio Paypal Express Checkout  salta la fase di registrazione dell'anagrafica del cliente reindirizzandolo direttamente nella pagina di pagamento. Tale comportamento non può essere modificato e bisognerà inserire i dati mancanti manualmente nella scheda dell'ordine.
  * Quando un'estensione collegata al checkout risponde con un errore nel file exception.log di Magento alcune informazioni potrebbero perdersi non consentendo così la registrazione dei dettagli dell'anagrafica del cliente. Chiedere un debug del checkout al proprio reparto tecnico.
* **Paypal Express non registra gli attributi personalizzati SDI.**&#x20;
  * Il modulo di Paypal ed in particolare la modalità express permette di inviare il totale da pagare da Magento verso i server della Paypal e le informazioni relative all'acquirente vengono sostituite con quelle impostate nel profilo Paypal. Quindi le informazioni impostate dall'utente nel checkout non vengono registrate. Se si desiderano i dati di fatturazione Paypal Express deve avere l'opzione "Require Customer's Billing Address" attiva. In ogni caso tale opzione è ormai stata cancellata da  [Paypal](https://developer.paypal.com/docs/nvp-soap-api/set-customer-billing-agreement-nvp/). Vedi immagine in basso.
  * Un bug di Magento impedisce la registrazione dei campi personalizzati creati dall'SDI
* **Metodi di Pagamento non visibili.**
  * Durante la composizione della pagina di checkout di Magento, quest'ultimo recupera tutti i file javascript necessari per richiamare a loro volta i metodi di pagamento. Quando i file non vengono recuperati nel giusto tempo e/o non sono presenti in cache, tale "chiamata" non avviene ed i metodi di pagamento non vengono visualizzati. Controllare la gestione della cache di Magento e la velocità di scaricamento dei file nella pagina di checkout.

![Paypal Express non registra gli attributi personalizzati SDI. ](https://2976934141-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LfKlq0R_fUhCgdD4aXA%2F-M_ynXUnE6xAYA0OWkmn%2F-M_yscHNlg6BmCaymrox%2Fimage.png?alt=media\&token=3a729702-ee85-4163-83e5-245fbcfdf110)


# Logging

Tutto quello che succede durante l'uso del modulo SDI

## Controllo delle operazioni

Qualsiasi operazione viene registrata in un file di log e può essere utilizzato per il supporto, il test e operazioni di debug dai tecnici del negozio Magento.

Per attivare il log nelle versioni precendenti alla versione 2.3 bisogna accedere alla seguente sezione:

{% hint style="info" %}
"Stores" -> "Configuration" -> "Advanced" -> "Developer" -> "Debug" -> "Log to File"
{% endhint %}

Per attivare il sistema di registrazione log di Magento 2.3 bisogna accedere via shell ed eseguire il seguente comando:

{% hint style="info" %}
php bin/magento setup:config:set --enable-debug-logging=true && php bin/magento cache:flush
{% endhint %}

Dopo aver attivato il sistema di log e salvato la configurazione, il software magento creerà uno o più file di testo con estensione .log all'interno della cartella del progetto /var/log. La cartella /var/log deve avere i permessi di scrittura per poter creare i file. Per ulteriori informazioni contattare il servizio assistenza del piano hosting.


