Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Visualizzare fattura elettronica

1,806 views
Skip to first unread message

jugin

unread,
Sep 11, 2018, 6:06:12 AM9/11/18
to
Salve,
Ho aggiornato un programma di fatturazione con la creazione
del file XML della fattura B2B secondo le specifiche dell' Agenzia delle entrate.

Ora vorrei visualizzare il file XML con un mio foglio di stile XSL.

Vorrei farlo con Delphi 7 enterprise e/o con componenti reperibili
su Torry o altro.

Esistono programmi simili:
Assoinvoice della infocert
Visfatt di Migg
InChiaro di AdsDoc

Consentono di cambiare il foglio di stile a run time in un menu a cascata
come appunto vorrei fare io e alcuni sono fatti con Delphi.

Ho fatto qualche prova con XMLdocument e WebBrowser ma non
ho ancora visto quello che mi serve.

Qualcuno ha una dritta?
Grazie. :-)

enrico....@gmail.com

unread,
Sep 11, 2018, 10:12:35 AM9/11/18
to
> Ora vorrei visualizzare il file XML con un mio foglio di stile XSL.
>
> Vorrei farlo con Delphi 7 enterprise e/o con componenti reperibili
> su Torry o altro.
>

Ciao Eugenio,

io ho trovato questo per delphi 5 ma credo possa andare bene anche per delphi 7, spero che ti sia di aiuto.

Ciao da Enrico Giudici c/o anthelios

enrico....@gmail.com

unread,
Sep 11, 2018, 10:13:56 AM9/11/18
to
ops !!! Scusami, dimenticato il link http://edn.embarcadero.com/article/27106

jugin

unread,
Sep 11, 2018, 3:13:04 PM9/11/18
to
On Tue, 11 Sep 2018 07:13:55 -0700 (PDT), enrico....@gmail.com wrote:

>ops !!! Scusami, dimenticato il link http://edn.embarcadero.com/article/27106
>
>Ciao da Enrico Giudici c/o anthelios

Grazie mille Enrico,
sembra interessante, ora me lo studio un po'.
Ciao :-)

Alessandro B.

unread,
Sep 12, 2018, 2:43:44 AM9/12/18
to
Ciao,
io ho seguito un approccio diverso.

Partendo dal fatto che il file xml può contenere un lotto di fatture, ho preferito generalizzare la visualizzazione "estraendo" la fattura che voglio visualizzare e creando un file xml temporaneo.

In questo file, inserisco il tag relativo al collegamento con il file xsl che abbiamo realizzato.
(tra l'altro utilizzo se possibile quello online se il collegamento internet è disponibile, altrimenti una copia locale che potrebbe essere meno aggiornata)

A questo punto passo la visualizzazione ad una finestra del mio programma con il componente WebBrowser.

Potrei in realtà a questo punto lanciare direttamente un browser (chrome, firefox, edge, explorer, ...) ma preferisco al momento far sembrare come visualizzato dall'interno del programma

jugin

unread,
Sep 12, 2018, 7:01:25 AM9/12/18
to
Per i lotti di fatture mi pare di aver letto che riguardano uno stesso cliente
ed è un caso che non ho preso in considerazione.
(sarebbe stato diverso se si trattava di fatture di clienti diversi)

Ho provato ad inserire una riga tipo :
<?xml-stylesheet type="text/xsl" href="fatturaordinaria_v1.2.1.xsl"?>
e già così facendoci un click sopra parte il browser e la visualizza
con l'xsl ministeriale (se presente nella stessa cartella)

Quindi (potendo sostituire quella riga) sarebbe sufficiente il componente WebBrowser.

ma come si assegna il nome del file XLM a TwebBrowser?



enrico....@gmail.com

unread,
Sep 12, 2018, 7:28:50 AM9/12/18
to
> Quindi (potendo sostituire quella riga) sarebbe sufficiente il componente WebBrowser.
>
> ma come si assegna il nome del file XLM a TwebBrowser?

Ciao Eugenio,

prova a vedere al link https://stackoverflow.com/questions/26919603/viewing-xml-like-that-of-ie-on-vista-with-twebbrowser mi sembra che dovrebbe andarti bene.

Ciao da Enrico Giudici c/o Anthelios

jugin

unread,
Sep 12, 2018, 1:18:10 PM9/12/18
to
On Tue, 11 Sep 2018 23:43:43 -0700 (PDT), "Alessandro B." <alessand...@gmail.com> wrote:

>Ciao,
>io ho seguito un approccio diverso.

>In questo file, inserisco il tag relativo al collegamento con il file xsl che abbiamo realizzato.

>A questo punto passo la visualizzazione ad una finestra del mio programma con il componente WebBrowser.

Ho capito, pensavo anche io di fare cosě.
mi mancava solo di capire come visualizzare il file xlm con WebBrowser
ho trovato: Navigate
e mi basta questo.

procedure TForm1.BitBtn1Click(Sender: TObject);
var
url : widestring;
begin
url:='H:\Program Files (x86)\Borland\Delphi7\Projects\provaXLM4\xml.xml';
webbrowser1.Navigate(url);
end;

enrico....@gmail.com

unread,
Sep 13, 2018, 4:41:05 AM9/13/18
to
Ciao Eugenio,

scusa se mi permetto di inserirmi quasi a gamba tesa e forse in OT, spero di non alterare l'ira di qualcuno all'interno di questo ng.

Dato che, come al solito mio cognato si è svegliato solo ora riguardo la fatturazione elettronica, volevo chiederti la cortesia se potevi rispondermi alle seguenti domande visto che non mi è mai capitato di gestire file XML.

1) Per la creazione dell'XML hai utilizzato il componente nativo di Delphi 7 XMLDocument o qualche altro componente ?
2) Come ti sei trovato con la creazione della fattura ? Io ho scaricato qualcosa dal sito delle entrate ma se tu ti sei trovato bene con uno o più documenti potresti per cortesia indicarmi i link dove poterli scaricare ?
3) Per l'invio dell'XML come lo hai gestito ?

Mi scuso ancora con tutti gli altri del ng per questo post praticamente privato ad Eugenio, chiedo eventualmente ad Eugenio ( se è disponibile ) proseguire il thread in privato.

Ciao e grazie a tutti, soprattutto ad Eugenio, da Enrico Giudici c/o Anthelios

Luigi

unread,
Sep 13, 2018, 5:06:43 AM9/13/18
to
Se posso intromettermi nella discussione:

Il 13/09/2018 10.41, enrico....@gmail.com ha scritto:
>
> 1) Per la creazione dell'XML hai utilizzato il componente nativo di Delphi 7 XMLDocument o qualche altro componente ?

io ho utilizzato il TjvSimpleXML della libreria Jedi e mi sono trovato bene.

> 2) Come ti sei trovato con la creazione della fattura ? Io ho scaricato qualcosa dal sito delle entrate ma se tu ti sei trovato bene con uno o più documenti potresti per cortesia indicarmi i link dove poterli scaricare ?

Non credo che esista qualcosa di automatizzabile, ma forse non ho capito
la domanda...

> 3) Per l'invio dell'XML come lo hai gestito ?
>

Io vorrei inviarlo via pec automatizzando la firma con dike (che
dovrebbe accettare il nome del file da firmare dalla riga di comando)
utilizzando la shellexecute ma, mon ho ancora implementato questa parte.

Ciao.

enrico....@gmail.com

unread,
Sep 13, 2018, 5:31:35 AM9/13/18
to
Ciao Luigi,

> Non credo che esista qualcosa di automatizzabile, ma forse non ho capito
> la domanda...

Intendevo se dalla documentazione era chiaro su come creare l'XML.

> Io vorrei inviarlo via pec automatizzando la firma con dike (che
> dovrebbe accettare il nome del file da firmare dalla riga di comando)
> utilizzando la shellexecute ma, mon ho ancora implementato questa parte.

Infatti c'e' anche il problema della firma che non ho la più pallida idea di come fare.

Ciao e grazie da Enrico Giudici c/o Anthelios.

Luigi

unread,
Sep 13, 2018, 5:43:42 AM9/13/18
to
Il 13/09/2018 11.31, enrico....@gmail.com ha scritto:
>
> Intendevo se dalla documentazione era chiaro su come creare l'XML.
>

Si intuisce abbastanza. Mi rimangono dei dubbi con l'imputazione
dell'imposta di bollo. Mi è stato suggerito, vedi altro post, di
inserirlo in una riga di dettaglio come se si trattasse di qualsiasi
altra cosa oppure in un campo "spesa accessoria" ma non ho ancora
provato ad inviare una fattura che contiene il bollo.

>
> Infatti c'e' anche il problema della firma che non ho la più pallida idea di come fare.
>
Il problema della firma c'è se vuoi effettuare tu l'invio, se deleghi la
trasmissione allo sdi un soggetto terzo, poiché firmerà lui, tu non devi
firmare il file.

Ciao.

enrico....@gmail.com

unread,
Sep 13, 2018, 5:54:04 AM9/13/18
to
Ciao Luigi,

> Si intuisce abbastanza. Mi rimangono dei dubbi con l'imputazione
> dell'imposta di bollo. Mi è stato suggerito, vedi altro post, di
> inserirlo in una riga di dettaglio come se si trattasse di qualsiasi
> altra cosa oppure in un campo "spesa accessoria" ma non ho ancora
> provato ad inviare una fattura che contiene il bollo.

anch'io avrò lo stesso problema visto che ho l'esigenza di definire anche il bollo virtuale. Se non ti chiedo troppo mi indicheresti per cortesia i documenti su cui ti sei appoggiato per la creazione dell'XML e dove scaricarli ?

> Il problema della firma c'è se vuoi effettuare tu l'invio, se deleghi la
> trasmissione allo sdi un soggetto terzo, poiché firmerà lui, tu non devi
> firmare il file.

Dal tuo post ho visto che volevi implementare di persona la firma tramite dike, secondo te è fattibile ? Mio cognato a fine mese manda circa una ventina di fatture e sarebbe carino avere un processo automatico.

Luigi

unread,
Sep 13, 2018, 6:23:13 AM9/13/18
to
Il 13/09/2018 11.54, enrico....@gmail.com ha scritto:
> anch'io avrò lo stesso problema visto che ho l'esigenza di definire anche il bollo virtuale. Se non ti chiedo troppo mi indicheresti per cortesia i documenti su cui ti sei appoggiato per la creazione dell'XML e dove scaricarli ?
>
leggi qui:
<http://www.fatturapa.gov.it/export/fatturazione/it/normativa/f-2.htm> è
il sito dedicato alla FE del ministero e ci trovi di tutto.

>
> Dal tuo post ho visto che volevi implementare di persona la firma tramite dike, secondo te è fattibile ? Mio cognato a fine mese manda circa una ventina di fatture e sarebbe carino avere un processo automatico.
>

Non ho ancora fatto prove ma credo che la semplice chiamata ShellExecute
a Dike6, vedi qui: (<software gratuito di Infocert)
<https://www.firma.infocert.it/prodotti/dike6.php>) dopo aver inserito
la cns dovrebbe bastare per firmare.

Ciao.

enrico....@gmail.com

unread,
Sep 13, 2018, 6:46:24 AM9/13/18
to
Ciao Luigi,

> leggi qui:
> <http://www.fatturapa.gov.it/export/fatturazione/it/normativa/f-2.htm> è
> il sito dedicato alla FE del ministero e ci trovi di tutto.

> Non ho ancora fatto prove ma credo che la semplice chiamata ShellExecute
> a Dike6, vedi qui: (<software gratuito di Infocert)
> <https://www.firma.infocert.it/prodotti/dike6.php>) dopo aver inserito
> la cns dovrebbe bastare per firmare.

grazie 1000, gentilissimo.

Ciao da Enrico Giudici c/o Anthelios

enrico....@gmail.com

unread,
Sep 13, 2018, 9:01:32 AM9/13/18
to
Ciao Luigi,

ultima cosa, ho installato il componente che mi dicevi per la creazione dell'XML, a parte che in giro non ho trovato esempi su cui lavorare ma continuo a cercare, non riesco a creare la seguente struttura di prova :

<data>
<vehicle>
<type>Car</type>
<model>2005</model>
<number>1568</number>
</vehicle>
<vehicle>
<type>Car</type>
<model>2009</model>
<number>1598</number>
</vehicle>
</data>

Mi sapresti dire per cortesia che metodo devo usare ?

Infine, quando creo l'XML mi crea la seguente riga :

<?xml version="1.0" encoding="Windows-1252" standalone="no"?>

mentre guardando l'esempio di una fattura di prova presa dal sito non esiste, c'e' modo di non farla creare in automatico ?

Ciao e grazie da Enrico Giudici c/o Anthelios.

Luigi

unread,
Sep 13, 2018, 10:25:29 AM9/13/18
to
Il 13/09/2018 15.01, enrico....@gmail.com ha scritto:
>
> Mi sapresti dire per cortesia che metodo devo usare ?
>

var
xmlDoc: TJvSimpleXML;
xmlData,
xmlVehicle: TJvSimpleXMLElem;
begin
xmlDoc := TJvSimpleXML.Create(Self);
xmlDoc.Options := [sxoAutoIndent];
xmlData := xmlDoc.Root.Items.Add('data');

xmlVehicle := xmlDoc.Items.Add('vehicle');
mxlVehicle.Items.Add('type', 'Car');
mxlVehicle.Items.Add('model', '2005');
mxlVehicle.Items.Add('number', '1568');

xmlVehicle := xmlDoc.Items.Add('vehicle');
mxlVehicle.Items.Add('type', 'Car');
mxlVehicle.Items.Add('model', '2009');
mxlVehicle.Items.Add('number', '1598');
end;

> c'e' modo di non farla creare in automatico ?
>

Non ho capito come fare.
Da me manca la parte "standalone="no"?" ma non da fastidio, il file xml
viene accettato dallo sdi senza problemi.

Ciao.

enrico....@gmail.com

unread,
Sep 13, 2018, 10:51:28 AM9/13/18
to
Ciao Luigi,

> var
> xmlDoc: TJvSimpleXML;
> xmlData,
> xmlVehicle: TJvSimpleXMLElem;
> begin
> xmlDoc := TJvSimpleXML.Create(Self);
> xmlDoc.Options := [sxoAutoIndent];
> xmlData := xmlDoc.Root.Items.Add('data');
>
> xmlVehicle := xmlDoc.Items.Add('vehicle');
> mxlVehicle.Items.Add('type', 'Car');
> mxlVehicle.Items.Add('model', '2005');
> mxlVehicle.Items.Add('number', '1568');
>
> xmlVehicle := xmlDoc.Items.Add('vehicle');
> mxlVehicle.Items.Add('type', 'Car');
> mxlVehicle.Items.Add('model', '2009');
> mxlVehicle.Items.Add('number', '1598');
> end;

grazie 1000, non ci sarei neanche lontanamente arrivato.

> Non ho capito come fare.
> Da me manca la parte "standalone="no"?" ma non da fastidio, il file xml
> viene accettato dallo sdi senza problemi.

Meno male.

Grazie ancora e spero vivamente di non "romperti" più le scatole :-)

Luigi

unread,
Sep 13, 2018, 11:40:42 AM9/13/18
to
Il 13/09/2018 16.51, enrico....@gmail.com ha scritto:
>
> Grazie ancora e spero vivamente di non "romperti" più le scatole :-)
>

Nessuna "rottura" lo scambio di info è sempre ben accetto sia in
"entrata" che in "uscita" ;(

Ciao.

Luigi

unread,
Sep 13, 2018, 11:55:05 AM9/13/18
to
Il 13/09/2018 17.40, Luigi ha scritto:
>
> Nessuna "rottura" lo scambio di info è sempre ben accetto sia in
> "entrata" che in "uscita" ;(
>
Voleva essere ;)

jugin

unread,
Sep 13, 2018, 12:00:34 PM9/13/18
to
On Thu, 13 Sep 2018 12:23:11 +0200, Luigi <Lu...@ls.it> wrote:

>Non ho ancora fatto prove ma credo che la semplice chiamata ShellExecute
>a Dike6, vedi qui: (<software gratuito di Infocert)
><https://www.firma.infocert.it/prodotti/dike6.php>) dopo aver inserito
>la cns dovrebbe bastare per firmare.
>
>Ciao.

Con Dike 6 ho fatto alcune prove e ho provato anche Firmacerta

Ho acquistato una CNS (carta nazionale dei servizi) alla camera di commercio,
con quella ho acquistato la licenza d'uso di Dike 6 PRO che consente
la firma massiva delle fatture.

Ne ho firmata qualcuna (singola) poi ho provato la simulazione
messa a disposizione dalla Ade e ho inviato un fattura
ad un mio cliente per prova.

So arrivato qua, aspetto risposte mentre lavoro ad un
programma che dovrebbe fare tutto :
firma spedizione e conservazione.

Ciao :-)



Luigi

unread,
Sep 13, 2018, 12:22:54 PM9/13/18
to
Il 13/09/2018 18.00, jugin ha scritto:
>
> Ne ho firmata qualcuna (singola)
>
hai utilizzato una chiamata a Shellexecute?


> So arrivato qua, aspetto risposte

ehm, da chi? ;)

>mentre lavoro ad un
> programma che dovrebbe fare tutto :
> firma spedizione e conservazione.
>

la conservazione preferisco la faccia l'Agenzia delle Entrate (gratis)
tanto le fatture passando dallo sdi sono già passate dall'ade e allora
che se la smazzi lei la conservazione sostitutiva :)

Ciao.

jugin

unread,
Sep 13, 2018, 12:37:54 PM9/13/18
to
On Tue, 11 Sep 2018 23:43:43 -0700 (PDT), "Alessandro B." <alessand...@gmail.com> wrote:

Alessandro scusa
potresti confermarmi se l'indirizzo web del foglio di stile 'ministeriale' è questo?
<?xml-stylesheet type="text/xsl" href="http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.2/fatturaordinaria_v1.2.xsl"
?>

Grazie,
Eugenio

jugin

unread,
Sep 13, 2018, 12:43:57 PM9/13/18
to
On Thu, 13 Sep 2018 18:22:54 +0200, Luigi <Lu...@ls.it> wrote:

>Il 13/09/2018 18.00, jugin ha scritto:
>>
>> Ne ho firmata qualcuna (singola)
>>
>hai utilizzato una chiamata a Shellexecute?

Si, solo per prova

procedure TFwps.Button4Click(Sender: TObject);
var prg:string;
begin
prg:='c:\program files (x86)\infocert\dike 6\dike.exe';
shellExecute(Handle,'open',pchar(prg),nil,nil,sw_Shownormal)
end;

vorrei provare con firmacerta passandogli dei parametri
perchè con Dike 6 non sembra possibile.

>
>
>> So arrivato qua, aspetto risposte
>
>ehm, da chi? ;)

dal cliente a cui ho inviato una fattura elettronica via Sdi
per simulazione

>
>>mentre lavoro ad un
>> programma che dovrebbe fare tutto :
>> firma spedizione e conservazione.
>>
>
>la conservazione preferisco la faccia l'Agenzia delle Entrate (gratis)
>tanto le fatture passando dallo sdi sono già passate dall'ade e allora
>che se la smazzi lei la conservazione sostitutiva :)
>

non so se la faranno, sarebbe giusto ma non ho conferme.

>Ciao.

Ciao.

Luigi

unread,
Sep 13, 2018, 1:40:05 PM9/13/18
to
Il 13/09/2018 18.43, jugin ha scritto:
>
> dal cliente a cui ho inviato una fattura elettronica via Sdi
> per simulazione
>
Scusa se cerco di precisare: hai inviato una fattura di prova da qui?
<https://sdi.fatturapa.gov.it/SdI2FatturaPAWeb/login.jsp>

in questo caso non mi aspetto che la fattura arrivi al cliente ma che il
sdi ti comunichi l'esito dei controlli approfonditi che vengo eseguiti
"dopo" l'invio al sdi.

>
> non so se la faranno, sarebbe giusto ma non ho conferme.
>

Confermo che la faranno, io non sono un programmatore professionista ma
un consulente del lavoro (i programmi che scrivo generalmente servono a
me per lavoro anche se uno l'ho messo Online, gratuitamente).

Per attivare la conservazione sostitutiva da parte dell'ade il
contribuente deve registrarsi a FiscoOnLine, accedere a "fatture &
Corrispettivi" ed attivare la conservazione sostitutiva.


Ciao.

jugin

unread,
Sep 13, 2018, 2:49:02 PM9/13/18
to
On Thu, 13 Sep 2018 19:40:03 +0200, Luigi <Lu...@ls.it> wrote:

>Il 13/09/2018 18.43, jugin ha scritto:
>>
>> dal cliente a cui ho inviato una fattura elettronica via Sdi
>> per simulazione
>>
>Scusa se cerco di precisare: hai inviato una fattura di prova da qui?
><https://sdi.fatturapa.gov.it/SdI2FatturaPAWeb/login.jsp>
>
>in questo caso non mi aspetto che la fattura arrivi al cliente ma che il
>sdi ti comunichi l'esito dei controlli approfonditi che vengo eseguiti
>"dopo" l'invio al sdi.

Dopo l'invio a:
sd...@pec.fatturapa.it
ho ricevuto due notifiche:
questa è una:
--------------------------

Il giorno 11/09/2018 alle ore 18:13:29 (+0200) il messaggio
"" proveniente da "EUGENIO...@ARUBAPEC.IT"
ed indirizzato a "sd...@pec.fatturapa.it"
è stato consegnato nella casella di destinazione.
Identificativo messaggio: opec288.2018091118...@pec.aruba.it

--------------------------
Penso che per casella di destinazione si intenda quella del destinatario
della fattura ma non ne sono certo.


>
>>
>> non so se la faranno, sarebbe giusto ma non ho conferme.
>>
>
>Confermo che la faranno, io non sono un programmatore professionista ma
>un consulente del lavoro (i programmi che scrivo generalmente servono a
>me per lavoro anche se uno l'ho messo Online, gratuitamente).
>
>Per attivare la conservazione sostitutiva da parte dell'ade il
>contribuente deve registrarsi a FiscoOnLine, accedere a "fatture &
>Corrispettivi" ed attivare la conservazione sostitutiva.

ok, spero con una CNS l'accesso sia più semplice
che ottenere la password per accedere a fisconline.

Io mi ero iscritto ma mi hanno segato l'account
perchè ho verificato lo spesometro di un mio cliente.
entrando con la mia password in fisconline.

>
>Ciao.
Ciao.

Alessandro B.

unread,
Sep 13, 2018, 3:22:43 PM9/13/18
to
> Alessandro scusa
> potresti confermarmi se l'indirizzo web del foglio di stile 'ministeriale' è questo?
> <?xml-stylesheet type="text/xsl" href="http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.2/fatturaordinaria_v1.2.xsl"
> ?>
>
> Grazie,
> Eugenio

Mi dispiace, non utilizzo il foglio ministeriale, quindi non ti so rispondere...

Ho preferito incaricare uno dei miei ragazzi per la realizzazione di un foglio di stile che fosse più consono al formato classico di una fattura.

Se dai quella vista ad un "contabile" non ci capisce nulla, anzi non capisce neppure se è una fattura

Alessandro B.

unread,
Sep 13, 2018, 3:31:03 PM9/13/18
to
> la conservazione preferisco la faccia l'Agenzia delle Entrate (gratis)
> tanto le fatture passando dallo sdi sono già passate dall'ade e allora
> che se la smazzi lei la conservazione sostitutiva :)

Non voglio intromettermi, ma a me risulta che l'Agenzia delle Entrate faccia la conservazione per 5 anni (obbligo fiscale) e non per 10 anni (obbligo civilistico). Almeno così mi hanno riferito (spero tanto di essere contraddetto)

Inoltre se poi si dovesse andare a un contenzioso, l'AdE si troverebbe nella posizione di essere chi richiede i documenti e avrebbe dovuto anche conservarli...

Io ho consigliato i miei clienti di seguire strade diverse, anche se ovviamente con dei costi non banali.

Non dimenticate poi che anche le fatture passive (ricevute) vanno conservate...

Ho provato anche la strada Aruba, ma mi risulta che la gestione sia a singolo file (come anche per l'AdE).

Anche questo non aiuta chi deve gestire qualche centinaio di fatture al mese... Se i numeri sono inferiori allora l'invio uno ad uno credo sia percorribile

Alessandro

Alessandro B.

unread,
Sep 13, 2018, 3:45:24 PM9/13/18
to
> Infatti c'e' anche il problema della firma che non ho la più pallida idea di come fare.

Per il problema della firma, mi sembra che per le fatture tra aziende, non sia più obbligatoria; resta obbligatoria per le fatture verso la pubblica amministrazione.

Comunque io preferisco che le fatture che vengono inviate (utilizzo un intermediario) vengano tutte firmate in modo massivo.


Alessandro B.

unread,
Sep 13, 2018, 3:52:26 PM9/13/18
to
> Per il problema della firma, mi sembra che per le fatture tra aziende, non sia più obbligatoria; resta obbligatoria per le fatture verso la pubblica amministrazione.
>
Nel frattempo ho trovato un riferimento:
Provvedimento_89757-30042018.pdf

Al punto 2.6 si trova:
"Nel caso in cui il file della fattura sia firmato elettronicamente, il SdI effettua un controllo sulla validità del certificato di firma..."

jugin

unread,
Sep 13, 2018, 4:35:11 PM9/13/18
to
io ho questo documento :
http://www.fatturapa.gov.it/export/fatturazione/sdi/Specifiche_tecniche_SdI_v1.6.pdf

sulla firma dice:

2.1 FORMATI DI FIRMA ELETTRONICA E RIFERIMENTO TEMPORALE
Il SdI accetta come fattura elettronica un documento informatico che:
- se destinato ad una pubblica amministrazione (art.1, comma 211, legge 24
dicembre 2007 n. 244), sia provvisto di un riferimento temporale e firmato
elettronicamente tramite un certificato di firma elettronica qualificata, non
contenente macroistruzioni o codici eseguibili tali da attivare funzionalità che
possano modificare gli atti, i fatti o i dati nello stesso rappresentati;
- se destinato ad un soggetto diverso da pubblica amministrazione (art. 1,
comma 2, decreto legislativo 127/2015), sia firmato o secondo la modalità
precedente, oppure in formato XAdES con certificato di firma CA Agenzia
delle Entrate.
Nel primo caso, il certificato di firma elettronica qualificata deve essere rilasciato da
un certificatore accreditato, presente nell’elenco pubblico dei certificatori gestito
dall’Agenzia per l’Italia Digitale così come disciplinato dall’art. 29, comma 1, del
DLGS 7 marzo 2005 n. 82 e successive modifiche. I formati ammessi per firmare
elettronicamente la fattura sono i seguenti:
- CAdES-BES (CMS Advanced Electronic Signatures) con struttura aderente
alla specifica pubblica ETSI TS 101 733 V1.7.4, così come previsto dalla
normativa vigente in materia a partire dal 1 settembre 2010;
- XAdES-BES (XML Advanced Electronic Signatures), con struttura aderente alla
specifica pubblica ETSI TS 101 903 versione 1.4.1, così come previsto dalla
normativa vigente in materia a partire dal 1 settembre 2010
------------------------------------------------------------------------------------------------

credo sia quello più aggiornato.


Alessandro B.

unread,
Sep 14, 2018, 1:11:37 AM9/14/18
to
L'allegato tecnico
Versione 1.1 del 5 giugno 2018

disponibile al link:

https://www.agenziaentrate.gov.it/wps/file/Nsilib/Nsi/Schede/Comunicazioni/Fatture+e+corrispettivi/Fatture+e+corrispettivi+ST/ST+invio+di+fatturazione+elettronica/ST+Fatturazione+elettronica+-+Allegato+A/Allegato+A+-+Specifiche+tecniche+vers+1.1_22062018.pdf

riporta:

1.2.1 FORMATI DI FIRMA ELETTRONICA E RIFERIMENTO TEMPORALE
Il SdI gestisce sia fatture elettroniche prive di firma elettronica che fatture elettroniche alle quali sia apposta firma elettronica.
Nel caso si scelga di apporre la firma elettronica, il SdI verifica che le fatture elettroniche siano...

Luigi

unread,
Sep 14, 2018, 3:22:50 AM9/14/18
to
Il 13/09/2018 20.48, jugin ha scritto:
>
> Dopo l'invio a:
> sd...@pec.fatturapa.it

In questo caso hai inviato una fattura elettronica valida ai fini
fiscali, non una prova.


>
> Il giorno 11/09/2018 alle ore 18:13:29 (+0200) il messaggio
> "" proveniente da "EUGENIO...@ARUBAPEC.IT"

Attento che ti arriva spam a frotte indicando una email in chiaro in un
ng. :(


> --------------------------
> Penso che per casella di destinazione si intenda quella del destinatario
> della fattura ma non ne sono certo.
>
Penso anch'io visto che hai effettuato un invio "fiscale".


>
> ok, spero con una CNS l'accesso sia più semplice
> che ottenere la password per accedere a fisconline.
>
Hanno detto che dismetteranno le credenziali e, mi sembra, anche la cns
in favore dello SPID.


> Io mi ero iscritto ma mi hanno segato l'account
> perchè ho verificato lo spesometro di un mio cliente.
> entrando con la mia password in fisconline.
>

Be, puoi sempre iscriverti nuovamente o accedere tramite cns o, meglio,
con lo spid.

Ciao.

Luigi

unread,
Sep 14, 2018, 3:29:01 AM9/14/18
to
Il 13/09/2018 21.31, Alessandro B. ha scritto:
>
> Non voglio intromettermi, ma a me risulta che l'Agenzia delle Entrate faccia la conservazione per 5 anni (obbligo fiscale) e non per 10 anni (obbligo civilistico). Almeno così mi hanno riferito (spero tanto di essere contraddetto)
>

Nel disciplinare che devi accettare e firmare per attivare la
conservazione sostitutiva dell'ade viene indicato 15 anni di
conservazione sostitutiva.

> Inoltre se poi si dovesse andare a un contenzioso, l'AdE si troverebbe nella posizione di essere chi richiede i documenti e avrebbe dovuto anche conservarli...
>
Se se ne incarica *deve* conservarli e renderli disponibili all'utente.
Se non lo fa sarebbe passibile di risarcimento degli eventuali danni
subiti dall'utente.


> Io ho consigliato i miei clienti di seguire strade diverse, anche se ovviamente con dei costi non banali.
>
> Non dimenticate poi che anche le fatture passive (ricevute) vanno conservate...
>

L'ade conserva anche queste.


> Ho provato anche la strada Aruba, ma mi risulta che la gestione sia a singolo file (come anche per l'AdE).
>
> Anche questo non aiuta chi deve gestire qualche centinaio di fatture al mese... Se i numeri sono inferiori allora l'invio uno ad uno credo sia percorribile
>
> Alessandro
>

Il problema con i privati è che:
a) se decidi di cambiare devi prima scaricare in locale i documenti,
conservarli a norma fintanto che non li carichi da qualche altra parte.
b) se il privato "chiude" passi al punto a)
c) se il privato "fallisce" sei fregato :(

Ciao.

Luigi

unread,
Sep 14, 2018, 3:46:51 AM9/14/18
to
Il 13/09/2018 21.45, Alessandro B. ha scritto:
>
> Comunque io preferisco che le fatture che vengono inviate (utilizzo un intermediario) vengano tutte firmate in modo massivo.
>
>

Per massivo intendi gruppi di fatture? in questo caso se, per esempio,
venisse scartata una fattura (caso più frequente partita iva cessata o
inesistente) viene scartato tutto il file compreso le altre fatture
corrette.

Ciao.

jugin

unread,
Sep 14, 2018, 5:05:48 AM9/14/18
to
On Fri, 14 Sep 2018 09:22:51 +0200, Luigi <Lu...@ls.it> wrote:

>Il 13/09/2018 20.48, jugin ha scritto:
>>
>> Dopo l'invio a:
>> sd...@pec.fatturapa.it
>
>In questo caso hai inviato una fattura elettronica valida ai fini
>fiscali, non una prova.

Ho attivato il servizio di simulazione poi ne ho inviata
una facendo l'upload dal sito dell'ade e un'altra via PEC
cmq
la fattura era di 1,10 (un caffč)
posso sempre fare una Nota credito
Era un privato non una PA.



>>
>> Il giorno 11/09/2018 alle ore 18:13:29 (+0200) il messaggio
>> "" proveniente da "xx...@ARUBAPEC.IT"
>
>Attento che ti arriva spam a frotte indicando una email in chiaro in un
>ng. :(

non me ne sono accorto.


>> --------------------------
>> Penso che per casella di destinazione si intenda quella del destinatario
>> della fattura ma non ne sono certo.
>>
>Penso anch'io visto che hai effettuato un invio "fiscale".
>
>
>>
>> ok, spero con una CNS l'accesso sia piů semplice
>> che ottenere la password per accedere a fisconline.
>>
>Hanno detto che dismetteranno le credenziali e, mi sembra, anche la cns
>in favore dello SPID.
>
>
>> Io mi ero iscritto ma mi hanno segato l'account
>> perchč ho verificato lo spesometro di un mio cliente.
>> entrando con la mia password in fisconline.
>>
>
>Be, puoi sempre iscriverti nuovamente o accedere tramite cns o, meglio,
>con lo spid.
>
>Ciao.

Vedrň cosa fare per lo Spid.

Ciao, :-)


jugin

unread,
Sep 14, 2018, 5:16:54 AM9/14/18
to
Però ci vorrebbe una conferma ufficiale e specifica da parte dell' Ade
su questo argomento.
Io ci ho speso dei soldi e sto per farlo fare anche ai miei clienti.


enrico....@gmail.com

unread,
Sep 14, 2018, 5:34:51 AM9/14/18
to
Ciao Luigi,

> Nessuna "rottura" lo scambio di info è sempre ben accetto sia in
> "entrata" che in "uscita" ;(

come volevasi dimostrare, spero ti ricorderai delle parole qui sopra :-D

Sto diventando matto per cercare di fa funzionare il tuo codice per la creazione dell'XML tramite il componente TJvSimpleXML, qui di seguito il problema :

var
xmlDoc: TJvSimpleXML;
xmlData,
xmlVehicle: TJvSimpleXMLElem;
begin
xmlDoc := TJvSimpleXML.Create(Self);
xmlDoc.Options := [sxoAutoIndent];
xmlData := xmlDoc.Root.Items.Add('data');

xmlVehicle := xmlDoc.Items.Add('vehicle'); <--- ERRORE --- >
mxlVehicle.Items.Add('type', 'Car');
mxlVehicle.Items.Add('model', '2005');
mxlVehicle.Items.Add('number', '1568');

xmlVehicle := xmlDoc.Items.Add('vehicle');
mxlVehicle.Items.Add('type', 'Car');
mxlVehicle.Items.Add('model', '2009');
mxlVehicle.Items.Add('number', '1598');
end;

A parte che non ci prendo molto, ho provato ad utilizzare altri oggetti ma non riesco ad andare avanti.

Potresti per cortesia dirmi se occorre qualcos'altro ?

Non esiste da nessuna parte che tu sappia dove trovare degli esempi sull'utilizzo del componente ?

Luigi

unread,
Sep 14, 2018, 6:16:10 AM9/14/18
to
Il 14/09/2018 11.34, enrico....@gmail.com ha scritto:
> var
> xmlDoc: TJvSimpleXML;
> xmlData,
> xmlVehicle: TJvSimpleXMLElem;
> begin
> xmlDoc := TJvSimpleXML.Create(Self);
> xmlDoc.Options := [sxoAutoIndent];
> xmlData := xmlDoc.Root.Items.Add('data');
>
> xmlVehicle := xmlDoc.Items.Add('vehicle'); <--- ERRORE --- >
> mxlVehicle.Items.Add('type', 'Car');
> mxlVehicle.Items.Add('model', '2005');
> mxlVehicle.Items.Add('number', '1568');
>
> xmlVehicle := xmlDoc.Items.Add('vehicle');
> mxlVehicle.Items.Add('type', 'Car');
> mxlVehicle.Items.Add('model', '2009');
> mxlVehicle.Items.Add('number', '1598');

hai ragione, scusa, il codice corretto è questo:

var
xmlDoc: TJvSimpleXML;
xmlData,
xmlVehicle: TJvSimpleXMLElem;
begin
xmlDoc := TJvSimpleXML.Create(Self);
xmlDoc.Options := [sxoAutoIndent];
xmlData := xmlDoc.Root.Items.Add('data');

xmlVehicle := xmlData.Items.Add('vehicle');
xmlVehicle.Items.Add('type', 'Car');
xmlVehicle.Items.Add('model', '2005');
xmlVehicle.Items.Add('number', '1568');

xmlVehicle := xmlData.Items.Add('vehicle');
xmlVehicle.Items.Add('type', 'Car');
xmlVehicle.Items.Add('model', '2009');
xmlVehicle.Items.Add('number', '1598');
end;

Ciao.

enrico....@gmail.com

unread,
Sep 14, 2018, 6:42:35 AM9/14/18
to
Ciao Luigi,

> hai ragione, scusa, il codice corretto è questo:
>
> var
> xmlDoc: TJvSimpleXML;
> xmlData,
> xmlVehicle: TJvSimpleXMLElem;
> begin
> xmlDoc := TJvSimpleXML.Create(Self);
> xmlDoc.Options := [sxoAutoIndent];
> xmlData := xmlDoc.Root.Items.Add('data');
>
> xmlVehicle := xmlData.Items.Add('vehicle');
> xmlVehicle.Items.Add('type', 'Car');
> xmlVehicle.Items.Add('model', '2005');
> xmlVehicle.Items.Add('number', '1568');
>
> xmlVehicle := xmlData.Items.Add('vehicle');
> xmlVehicle.Items.Add('type', 'Car');
> xmlVehicle.Items.Add('model', '2009');
> xmlVehicle.Items.Add('number', '1598');
> end;

ti ringrazio moltissimo, funziona perfettamente.

Mi mandi a quel paese se ti chiedo ancora un paio di cosettine ? :-D

1) Ho notato nella documentazione scaricata dal link che mi hai dato che c'e' un campo progressivo invio, se non ho visto male di 10 ct., sai per caso cosa significa "xs:normalizedString" nella colonna "Tipo Info" ?

2) Ho letto in rete che esiste la possibilità di allegare all'XML il PDF della fattura in formato "encode base64" ( non so bene esattamente come fare ma lo vedrò più tardi ), nel mio caso potrebbe essere interessante visto che io genero la fattura in PDF.
Domanda : alleghi anche tu il PDF all'XML oppure non è obbligatorio per cui ognuno decide a modo suo cosa fare ?

Ciao da Enrico Giudici c/o Anthelios.

jugin

unread,
Sep 14, 2018, 10:04:43 AM9/14/18
to
Ho mandato un messaggio con una richiesta di chiarimento al servizio assistenza sul sito Ade
la risposta è questa:


La informiamo che la sua richiesta di assistenza del 14/09/18 11:27, è stata trattata ed ha ricevuto la seguente soluzione:

Gentile Utente,

in merito alla Sua richiesta La informiamo che le fatture tra privati da luglio 2018 possono essere inviate anche NON
firmate/sigillate. La firma digitale rimane invece obbligatoria per le fatture inviate verso la PA.

Cordiali Saluti,

Servizio Assistenza.


Luigi

unread,
Sep 14, 2018, 10:32:25 AM9/14/18
to
Il 14/09/2018 12.42, enrico....@gmail.com ha scritto:
>
> Mi mandi a quel paese se ti chiedo ancora un paio di cosettine ? :-D
>
No che non ti ci mando ;)

> 1) Ho notato nella documentazione scaricata dal link che mi hai dato che c'e' un campo progressivo invio, se non ho visto male di 10 ct., sai per caso cosa significa "xs:normalizedString" nella colonna "Tipo Info" ?
>

E' una stringa come le altre ma il processore XML rimuoverà eventuali
ritorni a capo e tebulazione, vedi qui:
<http://www.w3im.com/it/xml/schema_dtypes_string.html>

> Domanda : alleghi anche tu il PDF all'XML oppure non è obbligatorio per cui ognuno decide a modo suo cosa fare ?
>

No e, credo di non smentirmi nel dire che, *non lo farò mai!* La fattura
Elettronica è già complessa di suo per cui più la creo semplice e meglio
è. :)

Ciao.

enrico....@gmail.com

unread,
Sep 14, 2018, 11:25:30 AM9/14/18
to
Ciao Luigi,

> > 1) Ho notato nella documentazione scaricata dal link che mi hai dato che c'e' un campo progressivo invio, se non ho visto male di 10 ct., sai per caso cosa significa "xs:normalizedString" nella colonna "Tipo Info" ?
> >
>
> E' una stringa come le altre ma il processore XML rimuoverà eventuali
> ritorni a capo e tebulazione, vedi qui:
> <http://www.w3im.com/it/xml/schema_dtypes_string.html>
>
> > Domanda : alleghi anche tu il PDF all'XML oppure non è obbligatorio per cui ognuno decide a modo suo cosa fare ?
> >
>
> No e, credo di non smentirmi nel dire che, *non lo farò mai!* La fattura
> Elettronica è già complessa di suo per cui più la creo semplice e meglio
> è. :)

un sentito ringraziamento da parte mia, approfitto anche di ringraziare Eugenio per gli approfondimenti.

Luigi, avrei un'ultima domandina ma magari te la farò più avanti riguardo al nome del file + progressivo. Adesso ho tanto di quel materiale a disposizione che mi metterò a testa bassa a produrre.

Ciao da Enrico c/o Anthelios.

Alessandro B.

unread,
Sep 20, 2018, 3:35:45 PM9/20/18
to
Buona sera,
nel caso di una fattura elettronica con ritenuta d'acconto, il dato 2.1.1.5.1 <Tipo Ritenuta> che deve essere compilato con il valori RT01 (ritenuta persone fisiche) o RT02 (ritenuta persone giuridiche).

Questo valore deve essere riferito a chi emette la fattura (cedente/prestatore) oppure a chi la riceve (cessionario/committente)?

enrico....@gmail.com

unread,
Sep 21, 2018, 7:26:02 AM9/21/18
to
> Buona sera,
> nel caso di una fattura elettronica con ritenuta d'acconto, il dato 2.1.1.5.1 <Tipo Ritenuta> che deve essere compilato con il valori RT01 (ritenuta persone fisiche) o RT02 (ritenuta persone giuridiche).
>
> Questo valore deve essere riferito a chi emette la fattura (cedente/prestatore) oppure a chi la riceve (cessionario/committente)?

Ciao Alessandro,

dato che mi sto leggendo il pdf "Suggerimenti per la compilazione della fattura PA 1.2" ho trovato questo :

"Il cedente/prestatore è soggetto a ritenuta a titolo di acconto o a titolo definitivo".

Luigi

unread,
Sep 21, 2018, 9:49:52 AM9/21/18
to
Cedente/Prestatore.

Ciao.

enrico....@gmail.com

unread,
Sep 21, 2018, 9:58:27 AM9/21/18
to
>
> Cedente/Prestatore.

Ciao Luigi,

eccomi qui ancora a chiedere, come ti sei gestito il progressivo nel nome del file che deve essere univoco ? Praticamente il codice di 5 ct dopo il codice fiscale.

Luigi

unread,
Sep 21, 2018, 1:17:21 PM9/21/18
to
Il 21/09/2018 15.58, enrico....@gmail.com ha scritto:
>
> eccomi qui ancora a chiedere, come ti sei gestito il progressivo nel nome del file che deve essere univoco ? Praticamente il codice di 5 ct dopo il codice fiscale.
>

Nel mio database ho un ID (integer) di ogni documento creato.

Per il momento trasformo il mio ID in esadecimale così posso lavorare
più a lungo in tranquillità.

Dovrò cambiarlo perché se mi occorre inviare nuovamente lo stesso
documento per superare un scarto il nome del file sarebbe uguale ad uno
già trasmesso e mi verrebbe scartato perché duplicato.

Credo che la cosa migliore sia un numeratore progressivo, sempre in
esadecimale, da utilizzare solo per questo.

Ciao.

jugin

unread,
Sep 21, 2018, 2:00:27 PM9/21/18
to
Io ho utilizzato i 5 caratteri per un numero da 1 a 99 999.
Per me il numero del file XML corrisponde al tag del progressivo invio.
Ad ogni nuova creazione avanzo con il progressivo
anche se si tratta di fatture scartate.
Per lo zip ho un altro numero che comincia con la lettera Z
e va da 1 a 9 999.
Non vedo il numero della fattura nel nome del file
ma se fosse in esadecimale non sarebbe immediatamente
comprensibile lo stesso.
Penso che proverò a fare una ricerca per nome cliente
e per numero fatture cercando nei tag dei files XML
Oppure legherò il numero del file ai movimenti
contabili della fattura in modo di vedere il numero
del file nella scheda contabile del cliente.
Non ho ancora deciso...



Luigi

unread,
Sep 22, 2018, 3:10:16 AM9/22/18
to
Il 21/09/2018 20.00, jugin ha scritto:
>
> Io ho utilizzato i 5 caratteri per un numero da 1 a 99 999.
> Per me il numero del file XML corrisponde al tag del progressivo invio.
> Ad ogni nuova creazione avanzo con il progressivo
> anche se si tratta di fatture scartate.
> Per lo zip ho un altro numero che comincia con la lettera Z
> e va da 1 a 9 999.

Credo sia la cosa migliore da fare. Esporre in esadecimale questo numero
consentirebbe di poter andare molto oltre 99999. Pensa alle aziende con
migliaia di fatture l'anno.

> Non vedo il numero della fattura nel nome del file
> ma se fosse in esadecimale non sarebbe immediatamente
> comprensibile lo stesso.

Forse mi sono espresso male, non inserisco il numero della fattura nel
nome del file ma l'ID del documento (un numero progressivo che distingue
ogni documento all'interno del mio database.

Ciao.

enrico....@gmail.com

unread,
Sep 22, 2018, 4:14:42 AM9/22/18
to
> Credo sia la cosa migliore da fare. Esporre in esadecimale questo numero
> consentirebbe di poter andare molto oltre 99999. Pensa alle aziende con
> migliaia di fatture l'anno.
>
> Forse mi sono espresso male, non inserisco il numero della fattura nel
> nome del file ma l'ID del documento (un numero progressivo che distingue
> ogni documento all'interno del mio database.

Ciao Luigi,
dato che il nome del file è composto dal codice fiscale + progressivo pensavo di associare un progressivo ad ogni codice fiscale cioè :
XXXZZZ99X88X111X_00001
AAABBB11X22X222X_00002
XXXZZZ99X88X111X_00002

e così via, cosa ne pensi ?

Molto valida dell'idea dell'esadecimale.

Ciao da Enrico Giudici c/o Anthelios

Luigi

unread,
Sep 22, 2018, 4:27:30 AM9/22/18
to
Il 22/09/2018 10.14, enrico....@gmail.com ha scritto:
>
> Ciao Luigi,
> dato che il nome del file è composto dal codice fiscale + progressivo pensavo di associare un progressivo ad ogni codice fiscale cioè :
> XXXZZZ99X88X111X_00001
> AAABBB11X22X222X_00002
> XXXZZZ99X88X111X_00002
>
> e così via, cosa ne pensi ?
>

E' così che deve essere, preceduto da "IT" che vale per Italia.

> Molto valida dell'idea dell'esadecimale.
>

Consente di ottenere fino a 1048575 (FFFFF) file diversi.

Ciao


Alessandro B.

unread,
Sep 22, 2018, 3:12:55 PM9/22/18
to
pensavo di associare un progressivo ad ogni codice fiscale cioè :
> > XXXZZZ99X88X111X_00001
> > AAABBB11X22X222X_00002
> > XXXZZZ99X88X111X_00002
> >
Attenzione che il codice fiscale / partita iva è quello di chi trasmette il file, non del cliente/fornitore...

>
> E' così che deve essere, preceduto da "IT" che vale per Italia.
Corretto

> > Molto valida dell'idea dell'esadecimale.
> Consente di ottenere fino a 1048575 (FFFFF) file diversi.
Il progressivo è unico per tutti gli anni a venire...
Per non pormi limiti particolari, utilizzo una procedura di conversione che utilizza non solo i caratteri per l'esadecimale (0..F), ma bensì tutti fino alla zeta (non saprei con che nome definirla).
Cosi la base invece che 16 diventa 10+26=36.
Ho visto anche casi in cui differenziano tra minuscole e maiuscole, aumentando ancora il numero di combinazioni (10+26+26).

Bisogna poi considerare che nel caso di notifica di scarto della fattura, questa deve essere inviata con un nuovo progressivo.
Quindi non potete utilizzare l'id del documento come suggerito, serve un progressivo separato.

Luigi

unread,
Sep 24, 2018, 3:18:41 AM9/24/18
to
Il 22/09/2018 21.12, Alessandro B. ha scritto:
>
>>> Molto valida dell'idea dell'esadecimale.
>> Consente di ottenere fino a 1048575 (FFFFF) file diversi.
> Il progressivo è unico per tutti gli anni a venire...
> Per non pormi limiti particolari, utilizzo una procedura di conversione che utilizza non solo i caratteri per l'esadecimale (0..F), ma bensì tutti fino alla zeta (non saprei con che nome definirla).
> Cosi la base invece che 16 diventa 10+26=36.
> Ho visto anche casi in cui differenziano tra minuscole e maiuscole, aumentando ancora il numero di combinazioni (10+26+26).
>
> Bisogna poi considerare che nel caso di notifica di scarto della fattura, questa deve essere inviata con un nuovo progressivo.
> Quindi non potete utilizzare l'id del documento come suggerito, serve un progressivo separato.
>

Corretto. E' proprio per questo che ho detto che dovrò cambiare la mia
procedura.

Interessante la notazione in base 36+26 ;)

Ciao.

enrico....@gmail.com

unread,
Sep 24, 2018, 3:44:14 AM9/24/18
to
> Attenzione che il codice fiscale / partita iva è quello di chi trasmette il file, non del cliente/fornitore...
>
Ciao Alessandro,

con questa tua risposta mi hai completamente spiazzato, io ero convinto che il codice fiscale era quello del cliente, dato che mio cognato produce n fatture a :
ROSSI MARIO
VERDI FRANCO
i file da produrre erano
IT_CF_ROSSIMARIO_00001.xml
IT_CF_VERDIFRANCO_00001.xml

Allora dovrebbe essere :

IT_CF_MIOCOGNATO_00001.xml ( Fattura di Rossi )
IT_CF_MIOCOGNATO_00002.xml ( Fattura di Verdi )

> Cosi la base invece che 16 diventa 10+26=36.
> Ho visto anche casi in cui differenziano tra minuscole e maiuscole, aumentando ancora il numero di combinazioni (10+26+26).

Se non sono troppo sfacciato e se non ti è costato tanto ( non voglio approfittarmene ) potresti postare la routine per il progressivo ? Magari potrebbe interessare anche a Luigi.

NB
Chiaramente sempre se non ti è costato tanto lavoro e hai voglia di condividerlo, non mi va di avere la pappa pronta sul lavoro di altri.

Ciao e grazie da Enrico Giudici c/o Anthelios.

Alessandro B.

unread,
Sep 25, 2018, 2:57:00 PM9/25/18
to
> ... potresti postare la routine per il progressivo ? Magari potrebbe interessare anche a Luigi.

Prima di tutto mi costruisco un stringa con i caratteri da utilizzare, ordinata in modo opportuno: "0123456789ABCDEFGH..."

Se la stringa fosse "0123456789ABCDEF" la funzione potrebbe essere utilizzata per convertire il numero a esadecimale.

Mi calcolo la lunghezza di questa stringa e questa sarà la mia base.

Al momento evito il problema di numeri negativi con un Abs()

Poi seguo lo stesso metodo di calcolo dei numeri esadecimali:
div e mod del numero corrente per estrarre i valori che mi servono

Compongo quindi il risultato estraendo dalla stringa iniziale il carattere nella posizione corrispondente.

function NumToAlf( n: longint ): string;
var h,b: longint;
s,t: string;
begin
{ --- Stringa Base --- }
t := '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
b := Length(t);

{ --- Valore Assoluto del numero --- }
n := abs(n);

{ --- Ciclo Principale --- }
s := '';
while n > 0 do begin
h := n mod b;
n := n div b;

s := copy( t,h+1,1 ) + s;
end;

{ --- Risultato --- }
Result := s;
end;


In realtà la funzione che uso non è proprio questa... utilizzo un insieme come parametro ulteriore di passaggio per definire la base di calcolo...

function NumToAlf( n: longint; Mode: TSetOfAlfToAlf ): string;
begin
{ --- Stringa Base --- }
t := StrBaseAlf( Mode );
...
end;

e compongo la stringa base a con l'insieme che preferisco.


La chiamata effettiva che utilizzo poi è:

{ --- Converte a Stringa --- }
R.ProgXs := NumToAlf( R.ProgId,[_aaNumber,_aaUpper] );

{ --- Aggiustamento Dimensione --- }
/// aggiungo zeri iniziali fino ad avere lunghezza 5


per comodità mi sono costruito anche la funzione inversa, anche se al momento non la utilizzo (non si sa mai)

function AlfToNum( s: string; Mode: TSetOfAlfToAlf ): longint;
...

Al momento utilizzo ancora longint come variabili di passaggio/servizio, anche se sicuramente sarebbe più corretto utilizzare Int64

enrico....@gmail.com

unread,
Sep 26, 2018, 2:57:57 AM9/26/18
to
> Al momento utilizzo ancora longint come variabili di passaggio/servizio, anche se sicuramente sarebbe più corretto utilizzare Int64

Ciao Alessandro,

grazie 1000, la studio e vediamo cosa salta fuori.

Approfitto per porre/porti un paio di domandine :

1) mio cognato emette una fattura con delle voci tipo :
Spese Vive yyy €
Competenze zz €
Imponibile www €
Iva ii €
Totale ttt €

nella sezione "Dati di Pagamento" cosa devo mettere ? A parte i riferimenti nel footer della fatture delle varie banche dove è possibile pagare mio cognato non sa come pagherà il cliente, es. contanti, bonifico o quant'altro.
Spero di essere stato chiaro.

2) Oltre all'emissione della fattura al punto 1 mio cognato emette anche un PDF con le voci che comportano tale fattura, n movimenti, tipo :
Fotocopie xxx €
Impagniazione xxx €
Etc................
Secondo voi basta l'XML della fattura di riepilogo o devo inserire anche tutti i movimenti, tenete presente che la fattura ufficiale è quella al punto 1 mentre il documento dei movimenti è solo ad uso del cliente per vedere il dettaglio.

Un grazie sentito a tutti.

Luigi

unread,
Sep 26, 2018, 8:44:08 AM9/26/18
to
Il 26/09/2018 08.57, enrico....@gmail.com ha scritto:
>
> nella sezione "Dati di Pagamento" cosa devo mettere ? A parte i riferimenti nel footer della fatture delle varie banche dove è possibile pagare mio cognato non sa come pagherà il cliente, es. contanti, bonifico o quant'altro.
> Spero di essere stato chiaro.
>

la parte relativa al pagamento non è obbligatoria e se manca la fattura
viene accettata per buona.
In ogni caso, sei tu a dover definire una tipologia di pagamento che se
il tuo cliente segue bene altrimenti, l'importante è che arrivino i soldi ;)


> 2) Oltre all'emissione della fattura al punto 1 mio cognato emette anche un PDF con le voci che comportano tale fattura, n movimenti, tipo :
> Fotocopie xxx €
> Impagniazione xxx €
> Etc................
> Secondo voi basta l'XML della fattura di riepilogo o devo inserire anche tutti i movimenti, tenete presente che la fattura ufficiale è quella al punto 1 mentre il documento dei movimenti è solo ad uso del cliente per vedere il dettaglio.
>
Questo pdf non fa parte della fattura elettronica, pertanto puoi farlo
inviare a parte al cliente oppure allegarlo alla fattura elettronica.

Ciao

enrico....@gmail.com

unread,
Sep 26, 2018, 8:54:28 AM9/26/18
to
> la parte relativa al pagamento non è obbligatoria e se manca la fattura
> viene accettata per buona.
> In ogni caso, sei tu a dover definire una tipologia di pagamento che se
> il tuo cliente segue bene altrimenti, l'importante è che arrivino i soldi ;)
> >
> Questo pdf non fa parte della fattura elettronica, pertanto puoi farlo
> inviare a parte al cliente oppure allegarlo alla fattura elettronica.
>

Grazie 1000 Luigi sei stato chiarissimo e gentilissimo.

Alessandro B.

unread,
Sep 26, 2018, 1:51:40 PM9/26/18
to
> la parte relativa al pagamento non è obbligatoria e se manca la fattura
> viene accettata per buona.
> In ogni caso, sei tu a dover definire una tipologia di pagamento che se
> il tuo cliente segue bene altrimenti, l'importante è che arrivino i soldi
Concordo
Al momento lo compiliamo con le scadenze presenti nella fattura, ma già qualche cliente ci ha chiesto la possibilità di "escluderli".

> > 2) Oltre all'emissione della fattura al punto 1 mio cognato emette anche un PDF con le voci che comportano tale fattura, n movimenti, tipo...
> Questo pdf non fa parte della fattura elettronica, pertanto puoi farlo
> inviare a parte al cliente oppure allegarlo alla fattura elettronica.
Anche in questo caso concordo.
Aggiungo che il file pdf (o altri analoghi, xls, zip, ...) potrebbero essere inclusi nella fattura elettronica, fino ad un massimo di 5MB.
Quando poi lo porterete in conservazione (non sto parlando di quella dell'Agenzia delle Entrate che non conosco) il peso potrebbe influire nel costo complessivo.

Noi stiamo consigliando di non eseguire questa inclusione.
Suggeriamo invece di concordare tra le parti (cliente/fornitore) se sia il caso di inviare anche il "vecchio" documento fattura pdf per via tradizionale (es. mail).

Questo perché la fattura elettronica nasce da quella per la pubblica amministrazione e le informazioni che possono essere inserite sono prettamente amministrative e poco o niente operative.

Quindi alcune informazioni a cui eravamo abituati non sono presenti.
Ad esempio non è previsto uno tag per la matricola o per il lotto/scadenza (obbligatori in alcuni settori economici)
Si possono includere in modo descrittivo, ma questo non consente poi di "estrarli" e utilizzarli direttamente per l'import in un gestionale.

Questa situazione dovrebbe cambiare con l'avvento della fatturazione elettronica Europea (2020?), che a quanto sembra dovrebbe avere un formato simile se non uguale a quello "Peppol" dove molte di queste informazioni sono presenti

enrico....@gmail.com

unread,
Oct 9, 2018, 3:30:59 AM10/9/18
to
Ciao,

eccomi ancora qui, sperando ancora nella comprensione di qualcuno.

La stesura dell'XML, grazie all'Excel scaricato dal sito dell'Ade prosegue abbastanza bene, sono arrivato al dettaglio della fattura di mio cognato, avendo varie tipologie mi trovo in difficoltà sui punti indicati qui di seguito :

1) mio cognato non ha la ritenuta di acconto per cui chiedo conferma che non devo scrivere il tag <DatiRitenuta> [RT01]: ritenuta pers. fisiche
[RT02]: ritenuta pers. giurid." e tutto quello che ne consegue.
2) Avendo una fattura con le seguenti voci :
SPESE ANTICIPATE (art.15 DPR 633/72) (come da elenco analitico allegato) 54,00
IMPONIBILE: 1.050,00
IVA 22% Su Imponibile 231,00
RITENUTA D'ACCONTO 4% Su Imponibile 42,00
Come devo inserire la ritenuta di acconto ? Per caso come riga di dettaglio ? Ed il 4% ?
3) Avendo una fattura con le seguenti voci :
SPESE ANTICIPATE (art.15 DPR 633/72) (come da elenco analitico allegato) 94,72
IMPONIBILE: 100,00
IVA 22% Su Imponibile 22,00
SPLIT PAYMENT -22,00
Marca su Fattura 2,00
Come devo inserire lo Split Payment ?

Un sentito ringraziamento a tutti.

Luigi

unread,
Oct 9, 2018, 3:57:37 AM10/9/18
to
Il 09/10/2018 09.30, enrico....@gmail.com ha scritto:
> 1) mio cognato non ha la ritenuta di acconto per cui chiedo conferma che non devo scrivere il tag <DatiRitenuta> [RT01]: ritenuta pers. fisiche
> [RT02]: ritenuta pers. giurid." e tutto quello che ne consegue.

Confermo.

> 2) Avendo una fattura con le seguenti voci :
> SPESE ANTICIPATE (art.15 DPR 633/72) (come da elenco analitico allegato) 54,00
> IMPONIBILE: 1.050,00
> IVA 22% Su Imponibile 231,00
> RITENUTA D'ACCONTO 4% Su Imponibile 42,00
> Come devo inserire la ritenuta di acconto ? Per caso come riga di dettaglio ? Ed il 4% ?

??? prima dici che tuo cognato non è soggetto a ritenuta e poi c'è la
ritenuta? Spiega meglio...


> 3) Avendo una fattura con le seguenti voci :
> SPESE ANTICIPATE (art.15 DPR 633/72) (come da elenco analitico allegato) 94,72
> IMPONIBILE: 100,00
> IVA 22% Su Imponibile 22,00
> SPLIT PAYMENT -22,00
> Marca su Fattura 2,00
> Come devo inserire lo Split Payment ?
>

Lo split payment (scissione pagamenti) va inserito solo per le fatture
nei confronti della pubblica amministrazione e va inserito nel tag:
EsigibilitaIVA> dove metterai
- "S" se soggetto a split payment (scissione pagamenti)
- "I" se *non* soggetto a split payment (scissione pagamenti)

Ciao.

enrico....@gmail.com

unread,
Oct 9, 2018, 4:12:14 AM10/9/18
to
Ciao Luigi,

> ??? prima dici che tuo cognato non è soggetto a ritenuta e poi c'è la
> ritenuta? Spiega meglio...

Infatti lui mi ha detto che non ha la ritenuta di acconto ma nella fattura al cliente XXXX ( che ha la ritenuta di acconto ) lo mette come voce. Spero di essere stato chiaro.

> Lo split payment (scissione pagamenti) va inserito solo per le fatture
> nei confronti della pubblica amministrazione e va inserito nel tag:
> EsigibilitaIVA> dove metterai
> - "S" se soggetto a split payment (scissione pagamenti)
> - "I" se *non* soggetto a split payment (scissione pagamenti)

Senza importo ? Basta solo questo TAG ?

Ciao e grazie da Enrico Giudici c/o Anthelios

Luigi

unread,
Oct 9, 2018, 4:40:07 AM10/9/18
to
Il 09/10/2018 10.12, enrico....@gmail.com ha scritto:
>
> Infatti lui mi ha detto che non ha la ritenuta di acconto ma nella fattura al cliente XXXX ( che ha la ritenuta di acconto ) lo mette come voce. Spero di essere stato chiaro.
>

Per niente ;)
Scusa se ti chiedo:
- Che mestiere fa tuo cognato?
- Quale regime fiscale adotta?

>> Lo split payment (scissione pagamenti) va inserito solo per le fatture
>> nei confronti della pubblica amministrazione e va inserito nel tag:
>> EsigibilitaIVA> dove metterai
>> - "S" se soggetto a split payment (scissione pagamenti)
>> - "I" se *non* soggetto a split payment (scissione pagamenti)
>
> Senza importo ? Basta solo questo TAG ?
>

Questo tag è interno al tag <DatiRiepilogo> dove inserisci il dettaglio
dell'iva.

Ciao.

enrico....@gmail.com

unread,
Oct 9, 2018, 4:57:48 AM10/9/18
to
> Per niente ;)
> Scusa se ti chiedo:
> - Che mestiere fa tuo cognato?
> - Quale regime fiscale adotta?

Mio cognato ha una società di grafica ed ha regime fiscale ordinario senza ritenuta di acconto.

Le fatture che emette con la ritenuta di acconto sono ai condomini che hanno tale tipologia, infatti nell'anagrafica dei clienti il condominio XXXX ha il campo ritenuta di acconto impostato a S.

Ciao e grazie da Enrico Giudici c/o Anthelios.

Luigi

unread,
Oct 9, 2018, 5:31:31 AM10/9/18
to
Il 09/10/2018 10.57, enrico....@gmail.com ha scritto:
>> Per niente ;)
>> Scusa se ti chiedo:
>> - Che mestiere fa tuo cognato?
>> - Quale regime fiscale adotta?
>
> Mio cognato ha una società di grafica ed ha regime fiscale ordinario senza ritenuta di acconto.
>
> Le fatture che emette con la ritenuta di acconto sono ai condomini che hanno tale tipologia, infatti nell'anagrafica dei clienti il condominio XXXX ha il campo ritenuta di acconto impostato a S.
>

Allora, in questo caso devi mettere tutto il blocco dati 2.1.1.5
<DatiRitenuta> valorizzando il tag <TipoRitenuta> a
- [RT01]: se tuo cognato è pers. fisica
- [RT02]: se tuo cognato è pers. giuridica


Ciao.

enrico....@gmail.com

unread,
Oct 9, 2018, 8:04:16 AM10/9/18
to
> Allora, in questo caso devi mettere tutto il blocco dati 2.1.1.5
> <DatiRitenuta> valorizzando il tag <TipoRitenuta> a
> - [RT01]: se tuo cognato è pers. fisica
> - [RT02]: se tuo cognato è pers. giuridica

ok, grazie 1000, pensavo che, essendo la ritenuta appartenente al cliente ( condominio ), dovevo mettere una riga di dettaglio con la percentuale e l'importo della ritenuta e non a carico di mio cognato.

Grazie ancora.

Ciao da Enrico Giudici c/o Anthelios


Luigi

unread,
Oct 9, 2018, 9:25:01 AM10/9/18
to
Il 09/10/2018 14.04, enrico....@gmail.com ha scritto:
>
> ok, grazie 1000, pensavo che, essendo la ritenuta appartenente al cliente ( condominio ), dovevo mettere una riga di dettaglio con la percentuale e l'importo della ritenuta e non a carico di mio cognato.
>

La ritenuta non è a carico di qualcuno, è una somma che viene trattenuta
dal cliente e versata come acconto in favore del fornitore del servizio.

In pratica a tuo cognato viene trattenuto l'importo corrispondente
alla ritenuta ma l'anno prossimo si ritrova già versati in conto
IRPEF/IRES l'importo corrispondente come se avesse già versato un
acconto sulle tasse.

Ciao.

enrico....@gmail.com

unread,
Oct 9, 2018, 9:55:28 AM10/9/18
to
> La ritenuta non è a carico di qualcuno, è una somma che viene trattenuta
> dal cliente e versata come acconto in favore del fornitore del servizio.
>
> In pratica a tuo cognato viene trattenuto l'importo corrispondente
> alla ritenuta ma l'anno prossimo si ritrova già versati in conto
> IRPEF/IRES l'importo corrispondente come se avesse già versato un
> acconto sulle tasse.

ok, chiarissimo come sempre.

enrico....@gmail.com

unread,
Oct 10, 2018, 5:28:09 AM10/10/18
to
Ciao,

eccomi di nuovo qui, sto impazzendo per creare la fatidica fattura con la ritenuta di acconto, mio cognato fa questa tipologia di fattura ai condomini.
Ho scaricato il programma per simulare la creazione delle fatture dal sito dell'Ade per cui ufficiale ma non si riesce a farla, quando clicco sui dati di riepilogo mi esce il messaggio "Il totale del documento non è compilato automaticamente" e mi da le seguenti opzioni "Ignora - Correggi - Ingora tutti".
Qui di seguito le parti inserite :

[DatiGenerali][DocumentoFattura] metto :
Tipo Ritenuta : RT02 ( persone giuridiche )
Importo : 42,00 €
Aliquota : 4%
Causale Pagamento : A ( non sapendo cosa mettere )

[LineeDiDettaglio] metto :
Numero Linea : 1
Descrizione : SPESE ANTICIPATE (art.15 DPR 633/72)
Quantità : 1
Prezzo Unitario : 54,00 €
Aliquota Iva : 0
Natura : N1 ( Escluse Ex Art 15 )
Prezzo Totale : 54,00 € ( calcolato dal programma )
---------------------------------------------------
Numero Linea : 2
Descrizione : IMPONIBILE
Quantità : 1
Prezzo Unitario : 1.050,00 €
Aliquota Iva : 22
Prezzo Totale : 1.050,00 € ( calcolato dal programma )

Vado nel riepilogo e mi esce il messaggio sopra indicato con il totale documento calcolato dal sistema di 1.335,00 €

Qui di seguito la fattura cartacea di come deve uscire :

SPESE ANTICIPATE (art.15 DPR 633/72) : 54,00 €
IMPONIBILE : 1.050,00 €
IVA 22% Su Imponibile : 231,00 €
RITENUTA D'ACCONTO 4% Su Imponibile : 42,00 €
TOTALE FATTURA : 1.293,00 €

Mi sarei aspettato che il totale documento calcolato dal sistema fosse 1.293,00 €.

Un sentito ringraziamento a tutti per l'eventuale supporto.

Ciao da Enrico Giudici c/o Anthelios.

Luigi

unread,
Oct 10, 2018, 11:24:32 AM10/10/18
to
Il 10/10/2018 11.28, enrico....@gmail.com ha scritto:
>
> Vado nel riepilogo e mi esce il messaggio sopra indicato con il totale documento calcolato dal sistema di 1.335,00 €
>

Corretto.

> Qui di seguito la fattura cartacea di come deve uscire :
>
> SPESE ANTICIPATE (art.15 DPR 633/72) : 54,00 €
> IMPONIBILE : 1.050,00 €
> IVA 22% Su Imponibile : 231,00 €
> RITENUTA D'ACCONTO 4% Su Imponibile : 42,00 €
> TOTALE FATTURA : 1.293,00 €
>
> Mi sarei aspettato che il totale documento calcolato dal sistema fosse 1.293,00 €.
>

Sbagliato ;) € 1.293,00 *non* *è* *il* *totale* *della* *fattura*

il riepilogo, corretto è il seguente:

SPESE ANTICIPATE (art.15 DPR 633/72) : 54,00 € +
IMPONIBILE : 1.050,00 € +
IVA 22% Su Imponibile : 231,00 € +
TOTALE FATTURA : 1.335,00 € =
RITENUTA D'ACCONTO 4% Su Imponibile : 42,00 € -
TOTALE NETTO A PAGARE : 1.293,00 € =

Ciao.

Luigi

unread,
Oct 10, 2018, 11:48:30 AM10/10/18
to
Il 10/10/2018 11.28, enrico....@gmail.com ha scritto:
>
> Causale Pagamento : A ( non sapendo cosa mettere )
>

Credo debba essere "W" ma credo sia più corretto chiedere al suo
commercialista.

Ciao.

enrico....@gmail.com

unread,
Oct 11, 2018, 3:49:43 AM10/11/18
to
Ciao Luigi,

intanto ti ringrazio per il supporto e la sopportazione nei miei confronti.

Allora se non ho capito male, il totale del documento è 1.335,00 € mentre l'importo da pagare nei pagamenti è 1.293,00 €, ma a questo punto mi sorge una domanda, nei thread precedenti la sezione dei pagamenti mi sembrava di aver capito che si poteva omettere, infatti quasi tutti non la mettevano, ma in questo caso, se non metto i pagamenti il cliente come fa a sapere che il totale della fattura da pagare è di 1.293,00 e non 1.335,00 ?

enrico....@gmail.com

unread,
Oct 11, 2018, 3:50:19 AM10/11/18
to
> Credo debba essere "W" ma credo sia più corretto chiedere al suo
> commercialista.

Grazie 1000.

Luigi

unread,
Oct 11, 2018, 4:07:09 AM10/11/18
to
Il 11/10/2018 09.49, enrico....@gmail.com ha scritto:
>
> Allora se non ho capito male, il totale del documento è 1.335,00 € mentre l'importo da pagare nei pagamenti è 1.293,00 €, ma a questo punto mi sorge una domanda, nei thread precedenti la sezione dei pagamenti mi sembrava di aver capito che si poteva omettere, infatti quasi tutti non la mettevano, ma in questo caso, se non metto i pagamenti il cliente come fa a sapere che il totale della fattura da pagare è di 1.293,00 e non 1.335,00 ?
>
> Ciao e grazie da Enrico Giudici c/o Anthelios
>

L'esposizione della r.a. è una cortesia che si fa al proprio cliente per
ricordargli che deve trattenerla, non è un obbligo: è lui che *deve*
sapere che *deve* fare la ritenuta.

Infatti, l'indicazione della r.a. nella f.e. non serve per la cortesia
da fare al cliente ma per informare l'a.d.e. che l'imponibile è soggetto
a ritenuta di acconto.

Il cliente, ricostruendo la f.e. capirà (o dovrebbe) che deve trattenere
la r.a.

E' un po come per la p.a. il totale della fattura non corrisponde
all'importo da corrispondere perché c'è la scissione dei pagamenti e
l'iva non verrà pagata al proprio fornitore ma l'importo della fattura e
la scadenza del pagamento è sempre il totale iva compresa.

Ciao.

enrico....@gmail.com

unread,
Oct 11, 2018, 4:23:39 AM10/11/18
to
> L'esposizione della r.a. è una cortesia che si fa al proprio cliente per
> ricordargli che deve trattenerla, non è un obbligo: è lui che *deve*
> sapere che *deve* fare la ritenuta.
>
> Infatti, l'indicazione della r.a. nella f.e. non serve per la cortesia
> da fare al cliente ma per informare l'a.d.e. che l'imponibile è soggetto
> a ritenuta di acconto.
>
> Il cliente, ricostruendo la f.e. capirà (o dovrebbe) che deve trattenere
> la r.a.
>
> E' un po come per la p.a. il totale della fattura non corrisponde
> all'importo da corrispondere perché c'è la scissione dei pagamenti e
> l'iva non verrà pagata al proprio fornitore ma l'importo della fattura e
> la scadenza del pagamento è sempre il totale iva compresa.

Più che il cliente a trattenere la r.a. secondo me dovrebbe essere mio cognato a trattenerla e a pagarla visto che il cliente ha l'importo pulito senza r.a.

Secondo te è sempre meglio inserire il tag dei pagamenti con l'importo corretto per il cliente ? Così potrebbe essere più chiara per il cliente.

Inoltre, sulla fattura mio cognato scrive sempre due riferimenti per l'eventuale bonifico da parte del cliente, esempio :

Eventuale Vostro Bonifico presso :
BPM, ITXXXXXXXXXXXXXXXXXXXXXXXXX Swift-Bic: AAAAAAAA
BPS, ITYYYYYYYYYYYYYYYYYYYYYYYYY Swift-Bic: BBBBBBBB

Secondo te potrebbe essere opportuno inserire nel tag dei pagamenti i 2 riferimenti qui sopra con sempre il totale da pagare ?

Ciao e grazie da Enrico Giudici c/o Anthelios.

Luigi

unread,
Oct 11, 2018, 5:14:57 AM10/11/18
to
Il 11/10/2018 10.23, enrico....@gmail.com ha scritto:
>
> Più che il cliente a trattenere la r.a. secondo me dovrebbe essere mio cognato a trattenerla e a pagarla visto che il cliente ha l'importo pulito senza r.a.
>

Chi emette la fattura *non* può trattenere nulla perché è a lui che deve
essere trattenuta la r.a. In pratica il soggetto che deve essere inciso
della r.a. è tuo cognato significa che tiuo cognato deve prendere il 4%
in meno. Questa è la legge e finché non sarà cambiata è così :(


> Secondo te è sempre meglio inserire il tag dei pagamenti con l'importo corretto per il cliente ? Così potrebbe essere più chiara per il cliente.
>

il blocco <DatiPagamento> è facoltativo per cui non so se vengono
eseguiti controlli di congruità, dovresti provare e vedere se passa i
controlli del sdi.

> Inoltre, sulla fattura mio cognato scrive sempre due riferimenti per l'eventuale bonifico da parte del cliente, esempio :
>
> Eventuale Vostro Bonifico presso :
> BPM, ITXXXXXXXXXXXXXXXXXXXXXXXXX Swift-Bic: AAAAAAAA
> BPS, ITYYYYYYYYYYYYYYYYYYYYYYYYY Swift-Bic: BBBBBBBB
>
> Secondo te potrebbe essere opportuno inserire nel tag dei pagamenti i 2 riferimenti qui sopra con sempre il totale da pagare ?
>

vedi sopra. Purtroppo finché non ci sono i passaggi dal sdi non avremo
certezze.

Giusto ieri ho chiamato il numero verde per l'assistenza del mef per la
f.e. per chiarire l'imputazione dei campi Denominazione, Cognome e Nome
e mi è stato detto che solo dopo che il sdi avrà, eventualmente,
rilevato degli errori sulla base di questi errori potranno rispondermi
ma "consulenza" non ne fanno :(

Ciao.

enrico....@gmail.com

unread,
Oct 11, 2018, 8:20:22 AM10/11/18
to
> il blocco <DatiPagamento> è facoltativo per cui non so se vengono
> eseguiti controlli di congruità, dovresti provare e vedere se passa i
> controlli del sdi.
>
> vedi sopra. Purtroppo finché non ci sono i passaggi dal sdi non avremo
> certezze.

Ciao Luigi,

ho fatto delle prove di convalida tramite il sito dell'ADE e sembra tutto a posto.

Ciao e grazie ancora da Enrico Giudici c/o Anthelios.

enrico....@gmail.com

unread,
Oct 14, 2018, 5:20:29 AM10/14/18
to
> Non ho capito come fare.
> Da me manca la parte "standalone="no"?" ma non da fastidio, il file xml
> viene accettato dallo sdi senza problemi.

Ciao Luigi,

finalmente dopo varie peripezie e grazie a te e a tutti i componenti del ng sono riuscito a creare il "famigerato" XML di una fattura semplice di mio cognato.

Come te mi sono trovato molto bene ad utilizzare il componente TJvSimpleXML, c'e' però una cosa che non so come risolvere e ti chiedo come hai fatto tu.

Mi spiego, il componente in questione mi crea in automatico come prima riga questo :

<?xml version="1.0" encoding="Windows-1252" standalone="no"?>

Se cerco di validare l'XML sul sito dell'Ade mi da l'errore 200 con la seguente descrizione :

File non conforme al formato (nella descrizione del messaggio è riportata lâ¬"indicazione puntuale della non conformità ) - Errore nella parse del file (idSdi 6366126 ): The markup in the document following the root element must be well-formed.

Se invece inserisco la seguente riga dopo la mia :

<p:FatturaElettronica versione="FPR12" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#">

e come ultima riga questa :

</p:FatturaElettronica>

la convalida va a buon fine.

A questo punto ti chiederei la cortesia se puoi dirmi come faccio ad inserire le suddette righe ? Credo solo la prima, la seconda dovrebbe venire in automatico.

Luigi

unread,
Oct 14, 2018, 10:41:07 AM10/14/18
to
Il 14/10/2018 11.20, enrico....@gmail.com ha scritto:
> Se invece inserisco la seguente riga dopo la mia :
>
> <p:FatturaElettronica versione="FPR12" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#">
>
> e come ultima riga questa :
>
> </p:FatturaElettronica>
>
> la convalida va a buon fine.
>
> A questo punto ti chiederei la cortesia se puoi dirmi come faccio ad inserire le suddette righe ? Credo solo la prima, la seconda dovrebbe venire in automatico.
>

devi utilizzare la proprietà "Properties" del TjvSimpleXMLElem, questo è
il mio codice:
...
var
xmlDoc: TJvSimpleXML;
xmlNodo: TJvSimpleXMLElem;
begin
xmlNodo := xmlDoc.Root.Items.Add('p:FatturaElettronica');
xmlNodo.Properties.Add('versione', FormatoTrasmissione);
xmlNodo.Properties.Add('xmlns:p',
'http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2');
...

Ciao.

enrico....@gmail.com

unread,
Oct 15, 2018, 3:48:41 AM10/15/18
to
> devi utilizzare la proprietà "Properties" del TjvSimpleXMLElem, questo è
> il mio codice:
> ...
> var
> xmlDoc: TJvSimpleXML;
> xmlNodo: TJvSimpleXMLElem;
> begin
> xmlNodo := xmlDoc.Root.Items.Add('p:FatturaElettronica');
> xmlNodo.Properties.Add('versione', FormatoTrasmissione);
> xmlNodo.Properties.Add('xmlns:p',
> 'http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2');

Ciao Luigi,

ti ringrazio tantissimo, stasera ci riprovo, speriamo bene.

Ciao da Enrico Giudici c/o Anthelios

enrico....@gmail.com

unread,
Oct 15, 2018, 5:37:54 PM10/15/18
to
> devi utilizzare la proprietà "Properties" del TjvSimpleXMLElem, questo è
> il mio codice:
> ...
> var
> xmlDoc: TJvSimpleXML;
> xmlNodo: TJvSimpleXMLElem;
> begin
> xmlNodo := xmlDoc.Root.Items.Add('p:FatturaElettronica');
> xmlNodo.Properties.Add('versione', FormatoTrasmissione);
> xmlNodo.Properties.Add('xmlns:p',
> 'http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2');
> ...

Ciao Luigi,

scusami tanto ma nonostante il tuo suggerimento non riesco a far scrivere correttamente le righe, qui di seguito il mio codice :

Doc := TJvSimpleXML.Create(Self);
Nodo := Doc.Root.Items.Add('p:FatturaElettronica');
Nodo.Properties.Add('versione', 'FPR12');
mi crea :

<?xml version="1.0" encoding="Windows-1252" standalone="no"?>
<p:FatturaElettronica versione="FPR12" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2"/>

però non mi crea l'ultima riga e cioè :

</p:FatturaElettronica>

Ho notato che le righe corrette da inserire sono :

<p:FatturaElettronica versione="FPR12" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2">

come seconda riga

</p:FatturaElettronica>

come ultima riga.

Se guardi bene la differenza della seconda riga tra quella errata e quella corretta sta nel penultimo carattere, la /

Luigi

unread,
Oct 16, 2018, 3:02:24 AM10/16/18
to
Il 15/10/2018 23.37, enrico....@gmail.com ha scritto:
>
>
> mi crea :
>
> <?xml version="1.0" encoding="Windows-1252" standalone="no"?>
>

Questa riga non so toglierla ma non da fastidio.


>
> </p:FatturaElettronica>
>
> come ultima riga.
>
> Se guardi bene la differenza della seconda riga tra quella errata e quella corretta sta nel penultimo carattere, la /
>

Non so dirti il perché, sopratutto per quel "/" alla fine della seconda
riga :(

Che versione della libreria Jedi hai installato? Io ho la versione 3.4.9
con Delphi 2010 pro, che sia questo il problema?

Ciao.

enrico....@gmail.com

unread,
Oct 16, 2018, 3:08:43 AM10/16/18
to
> > <?xml version="1.0" encoding="Windows-1252" standalone="no"?>
> >
>
> Questa riga non so toglierla ma non da fastidio.

Infatti non mi da problemi.

> Non so dirti il perché, sopratutto per quel "/" alla fine della seconda
> riga :(
>
> Che versione della libreria Jedi hai installato? Io ho la versione 3.4.9
> con Delphi 2010 pro, che sia questo il problema?

Stasera verifico, ma non credo di avere l'ultima versione della libreria, la installai tanto tempo fa, come da tanto tempo utilizzo Delphi 7.

Intanto un sentito ringraziamento da parte mia.

Ciao da Enrico Giudici c/o Anthelios.

Luigi

unread,
Oct 16, 2018, 3:39:06 AM10/16/18
to
Il 16/10/2018 09.08, enrico....@gmail.com ha scritto:
>>
>> Che versione della libreria Jedi hai installato? Io ho la versione 3.4.9
>> con Delphi 2010 pro, che sia questo il problema?
>
> Stasera verifico, ma non credo di avere l'ultima versione della libreria, la installai tanto tempo fa, come da tanto tempo utilizzo Delphi 7.
>
Non penso dipenda da Delphi 7 ma, forse, dalla versione della libreria.

Ciao.

enrico....@gmail.com

unread,
Oct 16, 2018, 4:59:34 AM10/16/18
to
> Non penso dipenda da Delphi 7 ma, forse, dalla versione della libreria.

Ciao Luigi,

non dipende ne da Delphi 7 ne dalla versione della libreria, dipende solamente dal fatto che l'unico neurone che mi è rimasto è andato in ferie ( beato lui ).

Ho risolto il problema, era dovuto alla gerarchia di come creavo i nodi, praticamente dopo aver inserito il tuo codice dovevo collegare tutti i nodi sottostanti a quello.

Ciao e grazie per l'infinita pazienza che hai nei miei confronti.

Enrico Giudici c/o Anthelios

enrico....@gmail.com

unread,
Oct 23, 2018, 4:32:57 AM10/23/18
to
Ciao a tutti,

stamattina mi sono alzato con un dubbio atroce, ma se una fattura mi viene scartata per qualche dato non corretto la fattura con il dato corretto da re-inviare avrà lo stesso progressivo o uno nuovo ?

Luigi

unread,
Oct 23, 2018, 4:53:57 AM10/23/18
to
Il 23/10/2018 10.32, enrico....@gmail.com ha scritto:
> Ciao a tutti,
>
> stamattina mi sono alzato con un dubbio atroce, ma se una fattura mi viene scartata per qualche dato non corretto la fattura con il dato corretto da re-inviare avrà lo stesso progressivo o uno nuovo ?
>
Meglio con lo stesso progressivo ma nuovo nome del file.

Ciao.

enrico....@gmail.com

unread,
Oct 23, 2018, 5:18:34 AM10/23/18
to
> >
> Meglio con lo stesso progressivo ma nuovo nome del file.

Ciao Luigi,

per cui :

ITXXXZZZ99A99W999Y_00001.xml ( fattura 2018-01 scartata )
ITXXXZZZ99A99W999Y_00002.xml ( fattura 2018-01 corretta )

Se è così devo rivedere il progressivo nel nome del file, adesso mettevo l'anno + numero della fattura, es. 18001

Ciao e grazie da Enrico Giudici c/o Anthelios.

Luigi

unread,
Oct 23, 2018, 7:04:48 AM10/23/18
to
Il 23/10/2018 11.18, enrico....@gmail.com ha scritto:
>>>
>
> per cui :
>
> ITXXXZZZ99A99W999Y_00001.xml ( fattura 2018-01 scartata )
> ITXXXZZZ99A99W999Y_00002.xml ( fattura 2018-01 corretta )
>
> Se è così devo rivedere il progressivo nel nome del file, adesso mettevo l'anno + numero della fattura, es. 18001
>

E' così, c'è un controllo nel nome del file e non sono accettati
duplicati neanche se si tratta di ritrasmettere una fattura scartata.

Ciao.

mariaenr...@gmail.com

unread,
Jun 25, 2019, 4:26:23 AM6/25/19
to
Il giorno martedì 11 settembre 2018 12:06:12 UTC+2, jugin ha scritto:
> Salve,
> Ho aggiornato un programma di fatturazione con la creazione
> del file XML della fattura B2B secondo le specifiche dell' Agenzia delle entrate.
>
> Ora vorrei visualizzare il file XML con un mio foglio di stile XSL.
>
> Vorrei farlo con Delphi 7 enterprise e/o con componenti reperibili
> su Torry o altro.
>
> Esistono programmi simili:
> Assoinvoice della infocert
> Visfatt di Migg
> InChiaro di AdsDoc
>
> Consentono di cambiare il foglio di stile a run time in un menu a cascata
> come appunto vorrei fare io e alcuni sono fatti con Delphi.
>
> Ho fatto qualche prova con XMLdocument e WebBrowser ma non
> ho ancora visto quello che mi serve.
>
> Qualcuno ha una dritta?
> Grazie. :-)

paolocarfi

unread,
Jul 6, 2019, 6:19:46 AM7/6/19
to
in uses aggiungi
MSXML, xmldom, XMLIntf, XMLDoc

metti un bottone nella forma e al click aggiungi

var
Modifica: TStringList;
nuovofile: string;
ilfile, II: string;
ilmemo: TMemo;
xmlfattura, xslStyle : IXMLDOMDocument;
begin
if Fatture.IsEmpty then
exit;
if scarica.Active then
scarica.Close;
// cerco la fattura xml e il nome della fattura dal database
scarica.ParamByName('azienda').asstring := Fatture.FieldByName('azienda').AsString;
scarica.ParamByName('seriale').AsInteger := Fatture.FieldByName('SERIALE').AsInteger;
scarica.ParamByName('progressivo').AsInteger := Fatture.FieldByName('PROGRESSIVO').AsInteger;
scarica.Open;
nuovofile := scarica.FieldByName('nomefile').asstring;
// assegno la path
nuovofile := FMajorDomo.PathMajorDomo + 'xsd\' + nuovofile;
scarica.FieldByName('FXML').SaveToFile(nuovofile);
// uso il foglio in stile
xmlfattura := CoDOMDocument.Create;
xslStyle := CoDOMDocument.Create;
xmlfattura.load(nuovofile);
xslStyle.load(FmajorDomo.PathMajorDomo + 'xsd\FoglioStileTabellare.xsl'); //foglio in stile da usare
try
Ilmemo := TMemo.Create(nil);
ilmemo.Text := xmlfattura.transformNode(xslStyle); // la pagina html che mi necessita
ilmemo.Lines.SaveToFile(FmajorDomo.PathMajorDomo + 'msxml.htm');
finally
ilmemo.Free;
end;
try
Application.CreateForm(TVisualizza, Visualizza);
Visualizza.ft := FmajorDomo.PathMajorDomo + 'msxml.htm'; // ft e una variabile public mentre la form ha un webbrowser con una sola istruzione in formshow ovvero WebBrowser1.Navigate(ft);

Visualizza.ShowModal;
finally
DeleteFile(nuovofile);
Visualizza.free;
end;


salvi la fatturaelettronica.xml in html utilizzanto il foglio in stile

jugin

unread,
Jul 7, 2019, 6:02:41 AM7/7/19
to
On Sat, 6 Jul 2019 03:19:45 -0700 (PDT), paolocarfi <paolo...@gmail.com> wrote:

Ti ringrazio, appena posso ci provo.
Eugenio. -)

0 new messages