Fatturazione elettronica B2B: programmi

di il
814 risposte

814 Risposte - Pagina 6

  • Re: Fatturazione elettronica B2B: programmi

    +m2+ ha scritto:


    Non è esattamente così
    essendo una pec ha 3 allegati: xml descrittivo, payload, smime
    Da xml descrittivo puoi prendere dati quale mittente (è proprio quello il tag xml) e se c'è fatturepa dentro sei bello che sicuro (indipendentemente da oggetto).
    Questo serve nel caso ti arrivi un inoltra (cambia mittente, cambia oggetto), cioè una fattura inoltrata da qualcuno che a sua volta lha ricevuta.
    Diciamo che copri tutti i casi.
    poi estrai il payload, dentro cui tipicamente trovi (a memoria) la fattura firmata (io almeno quelle ho ricevuto) e un ulteriore xml agenzia entrate con un po' di info.
    come detto sono a casa e vado a memoria, ma grosso modo sono così
    Si Grazie sei anche troppo gentile...

    Io quando leggo e-mail la leggo tutta intera.. leggo il file quello che si trasferiscono i sever, poi devo estrapolarmi la parte del corpo che mi interessa, indifferentemente se questa sia allegata o meno.. poi devo ricreare la struttura della email per prendermi i nomi di eventuali allegati ed il tipo di formato per fare encode tipo 64 bit ecc..

    dopo di che li lavoro..
    dello smime, lo salto a priori, mi leggo i daticert.xml che all'interno dei tag o le date ecc.. poi cerco all'interno del corpo eventuali allegati tipo fattura.xml ecc..

    In teoria da quello che scrive lo sdi dovrebbe mandarti, una pec per ogni fattura ricevuta ricevuta dai tuoi fornitori con i allegato un xml firmato cades (p7m)

    però oppunto non sappiamo se all'interno del file xml per esempio di enel c'è anche pdf della loro fattura.. ed in caso andrebbe ricomposto ed salvato a parte. nel file XML è sotto il tag allegati

    Intanto grazie
  • Re: Fatturazione elettronica B2B: programmi

    Tutto corretto tranne un dettaglio.
    gli allegati non sono nella 'prima' email bensì sono a loro volta allegati a uno degli allegati della pec. postacert.
    L'opera di spacchettamento è proprio quella che fa tleggo.exe
  • Re: Fatturazione elettronica B2B: programmi

    Si certo Gli allegati sono all'interno di un sottogruppo.. ma è solo una cosa virtuale... in realtà la posta elettronica non ha allegati, nel file della posta elettronica è tutto un file di testo unico, dove dentro ci sono suddivise in boundary le parti del messaggio.. e da li capisci se è un allegato una sottoparte, una incapsulata RFC822 ecc...
    Ora la mia domanda era..
    E' vero che lo sdi ti manda una e-mail per ogni fattura.. ? perché allora vuol dire che c'è un modello.. tutto qui..
    se dal modello in allegato ha XML con la ricevuta (di scarto ecc..) oppure la fattura in xml del fornitore ed a quel punto era interessante anche sapere l'oggetto del messaggio così a priori sai se all'interno della e-mail c'è una fattura, una consegna, una nota di scarto ecc...

    sai già cosa cercare..
  • Re: Fatturazione elettronica B2B: programmi

    +m2+ ha scritto:


    (1) Primissimo programmello.

    Spedire una PEC

    Esistono tantissimi programmi per inviare email, con o senza supporto SSL, più o meno complessi. Sembra banale, ma in realtà non lo è, o almeno non necessariamente.
    Posto quindi un programmello pensato per essere il più semplice possibile.

    Rullo di tamburi... ecco... tposto (vabbè appena ho tempo metto qualcosa di più)

    https://ufile.io/ep7b
    Ciao +m2+ da quello che posso aver intesto sviluppi in delphi, il mio stesso linguaggio di programmazione, poiche volevo implementare in un mio software la possibilità di inviare la fattura elettronica direttamente dal mio programma (sviluppato in delphi) il programma tposto è sviluppato in Delphi ? Hai usato le Indy ? Sarebbe possibile visionare il codice sorgente o parte di esso per poterlo studiare ? Mi faresti risparmiare un pò di tempo poter studiare un modulo già funzionante. Grazie anticipatamente.
  • Re: Fatturazione elettronica B2B: programmi

    grigomax ha scritto:


    Si certo Gli allegati sono all'interno di un sottogruppo.. ma è solo una cosa virtuale... in realtà la posta elettronica non ha allegati, nel file della posta elettronica è tutto un file di testo unico, dove dentro ci sono suddivise in boundary le parti del messaggio.. e da li capisci se è un allegato una sottoparte, una incapsulata RFC822 ecc...
    Non è esattamente così, nel senso che mentre è vero che il messaggio di testo è consustanziale con gli allegati, questi ultimi possono essere entro-contenuti, anche più volte.
    E' frequente, e come accennato può capitare facilmente con gli "inoltra" delle PEC, che vengono man mano incapsulate a loro volta.
    A me capita nel caso in cui un cliente, cui è arrivata la fattura PEC, me la ri-spedisce per studiarla, proprio con una PEC (perchè da niubbo fanno "inoltra", ovviamente).
    Comunque finora non ho riscontrato problemi, è piuttosto banale.
    era interessante anche sapere l'oggetto del messaggio così a priori sai se all'interno della e-mail c'è una fattura, una consegna, una nota di scarto ecc...

    sai già cosa cercare..
    non è che l'oggetto della PEC sia poi così utile. Questo è un esempio reale
    POSTA CERTIFICATA: Invio File 114683093
    cui corrisponde, non sorprendentemente,
    <IdentificativoSdI>114683093</IdentificativoSdI>
  • Re: Fatturazione elettronica B2B: programmi

    enko ha scritto:


    Ciao +m2+ da quello che posso aver intesto sviluppi in delphi, il mio stesso linguaggio di programmazione, poiche volevo implementare in un mio software la possibilità di inviare la fattura elettronica direttamente dal mio programma (sviluppato in delphi) il programma tposto è sviluppato in Delphi ? Hai usato le Indy ? Sarebbe possibile visionare il codice sorgente o parte di esso per poterlo studiare ? Mi faresti risparmiare un pò di tempo poter studiare un modulo già funzionante. Grazie anticipatamente.
    Ti suggerisco questo
    https://www.clevercomponents.com/articles/article035
  • Re: Fatturazione elettronica B2B: programmi

    Grazie per la segnalazione, sono librerie che conoscevo già ma il software su cui sto mettendo le mani usa pesantemente INDY (è un software che ho creato molti anni fa) e rivedere tutta la parte relativa a http, ftp, smtp + soap + rest con altre librerie non è attualmente pianificato.
    Speravo che avessi realizzato il modulo con INDY e volevo confrontare ciò che ho già sviluppato per inviare su server di posta SSL (gmail ad esempio) se andava bene per inviare posta certificata. Farò qualche test al buio per vedere cosa succede. Grazie comunque
  • Re: Fatturazione elettronica B2B: programmi

    +m2+ ha scritto:


    grigomax ha scritto:


    Si certo Gli allegati sono all'interno di un sottogruppo.. ma è solo una cosa virtuale... in realtà la posta elettronica non ha allegati, nel file della posta elettronica è tutto un file di testo unico, dove dentro ci sono suddivise in boundary le parti del messaggio.. e da li capisci se è un allegato una sottoparte, una incapsulata RFC822 ecc...
    Non è esattamente così, nel senso che mentre è vero che il messaggio di testo è consustanziale con gli allegati, questi ultimi possono essere entro-contenuti, anche più volte.
    E' frequente, e come accennato può capitare facilmente con gli "inoltra" delle PEC, che vengono man mano incapsulate a loro volta.
    A me capita nel caso in cui un cliente, cui è arrivata la fattura PEC, me la ri-spedisce per studiarla, proprio con una PEC (perchè da niubbo fanno "inoltra", ovviamente).
    Comunque finora non ho riscontrato problemi, è piuttosto banale.
    era interessante anche sapere l'oggetto del messaggio così a priori sai se all'interno della e-mail c'è una fattura, una consegna, una nota di scarto ecc...

    sai già cosa cercare..
    non è che l'oggetto della PEC sia poi così utile. Questo è un esempio reale
    POSTA CERTIFICATA: Invio File 114683093
    cui corrisponde, non sorprendentemente,
    <IdentificativoSdI>114683093</IdentificativoSdI>

    Certo hai ragione tutti fanno inoltra e quindi ti trovi più messaggi incapsulati.. ma in realta come già ben sai il messaggio di posta elettronica non è altro che un semplice file di testo..

    l'interessante era capire se nell'oggetto della e-mail c'era scritto per esempio notifica di scarto, ricevuta di consegna o fattura elettronica.. così di prima partenza (sempre dopo il fatto che sia una e-mail dello sdi) facevi un parsing della email più mirato senza dover a priori leggere il file xml o il corpo del messaggio..

    il mi sono scritto il gestionale aziendale e sto' facendo una parte dedicata allo sdi per interagire direttamente con la pec / aruba / Sdi.. facendo così mi aggiorno tutte le fatture uscenti e mi carico in automatico le fatture in ingresso..

    comunque nessun problema..
    faccio il farsing della email e mi cerco a cosa fa' riferimento..

    Intanto Grazie,, !!! sempre molto gentili..

    Saluti
    Massimo
  • Re: Fatturazione elettronica B2B: programmi

    grigomax ha scritto:


    Certo hai ragione tutti fanno inoltra e quindi ti trovi più messaggi incapsulati.. ma in realta come già ben sai il messaggio di posta elettronica non è altro che un semplice file di testo..
    Ci ho fatto la tesi, sulla email
    l'interessante era capire se nell'oggetto della e-mail c'era scritto per esempio notifica di scarto, ricevuta di consegna o fattura elettronica.. così di prima partenza (sempre dopo il fatto che sia una e-mail dello sdi) facevi un parsing della email più mirato senza dover a priori leggere il file xml o il corpo del messaggio..
    AHAHAHAHAAH

    No.

    L'oggetto è semplicemente "POSTA CERTIFICATA: Invio File 114683093".
    La ricevuta è descritta nell'allegato A della normativa tecnica.
    Ha un nome che è un delirio, tipo
    IT00484960588_AAA_MT_001.xml
    da cui dovresti capire che è una MT.
    Ovviamente il contatore finale può essere diverso.

    In pratica ho dovuto fare un "lavorone" per individuare il nome della fattura (cosa non scontata, può avere o meno p7m), poi il nome della ricevuta "a ritroso", e infine controllare che le 3 (cioè xml, xml.p7m se presente, ricevuta xml) siano coerenti (non si sa mai nella vita).

    Ovviamente possono esserci codici fiscali,e partite IVA, non italiane, e quindi non è per nulla banale capire quale sia l'esatto nome del file fattura.
    ---
    Sarebbe stata una cosa troppo intelligente chiamare il file
    STICAZZI.XML e dentro metterci i vari dati, così da non dover ogni volta fare un "circo Medrano".
    Comunque con un 15 minuti di bestemmie si fa.
  • Re: Fatturazione elettronica B2B: programmi

    enko ha scritto:


    Grazie per la segnalazione, sono librerie che conoscevo già ma il software su cui sto mettendo le mani usa pesantemente INDY (è un software che ho creato molti anni fa) e rivedere tutta la parte relativa a http, ftp, smtp + soap + rest con altre librerie non è attualmente pianificato.
    Speravo che avessi realizzato il modulo con INDY e volevo confrontare ciò che ho già sviluppato per inviare su server di posta SSL (gmail ad esempio) se andava bene per inviare posta certificata. Farò qualche test al buio per vedere cosa succede. Grazie comunque
    E perchè mai dovresti rifarle?
    Tienile, alla peggio aggiungi qualcosina.
    Io stesso uso (pure) indy, ma non mi passa per l'anticamera del cervello di sostituirla.

    Ad ogni modo ti posso confermare che quella indicata spedisce sia PEC vere e proprie che "non PEC" (gmail via smtp SSL).
  • Re: Fatturazione elettronica B2B: programmi

    [quote="+m2/]-[quote]
    Il programmino TLEGGO funzia, ma non riesco a capire con ricercare un fattura.
    oggetto: POSTA CERTIFICATA: Invio File 126461389
    esempio: se do il comando
    tleggo subject "invio file"
    non trova nulla.
    Funziona così
    tleggo subject "invio file 126461389"
    ma io non conosco il numero del file e nemmeno di chi è

    Esiste un metodo di ricerca interna al file xml ??
    tipo ricerca per P.I. CLIENTE ?

    oppure Tu che sei bravissimo che ricerca si potrebbe fare
    per scaricare nella cartella l'xml delle notifiche ??
    Grazie, ciao
  • Re: Fatturazione elettronica B2B: programmi

    La versione corrente del programmello (che funziona solo per mittenti con PIVA, sono pigro), dato un EML, cioè un file PEC di consegna fattura, crea un file tipo questo
    (si tratta di una fattura con XML firmato p7m, con attachment ZIP con dentro due file PDF, penso copra grosso modo la maggior parte dei casi)
    
    mittente=IT00484960588
    nomefattura=IT00484960588_BQTVF
    nomefatturaxml=IT00484960588_BQTVF.xml
    nomefatturaxmlp7m=IT00484960588_BQTVF.xml.p7m
    nomericevuta=IT00484960588_BQTVF_MT_001.xml
    tipomessaggio=MT Notifica dei metadati
    allegato0=IT00484960588_BQTVF.xml_000112997429706257.zip
    allegato1=IT00484960588_BQTVF.xml_00707504.pdf
    allegato2=IT00484960588_BQTVF.xml_29706257.pdf
    identificativosdi=114683093
    hash=5b7a0dd5a30dc88f600580884ab57d0a567a3806bb27080d17cfb823f196a83d
    codicedestinatario=0000000
    tentativiinvio=1
    messageid=955593221
    codicedestinatario=0000000
    pecdestinatario=chebelchebel@pec.it
    cessionariocommittente_idfiscaleiva_idcodice=02345678901
    
    cui corrisponde una cartella
    
     Directory di C:\Users\utente\AppData\Local\Temp\__ZJ\eml1\lavorata
    
    08/11/2018  16:05    <DIR>          .
    08/11/2018  16:05    <DIR>          ..
    08/11/2018  16:05           232.843 IT00484960588_BQTVF.xml
    08/11/2018  16:05           236.682 IT00484960588_BQTVF.xml.p7m
    08/11/2018  16:05           169.736 IT00484960588_BQTVF.xml_000112997429706257.zip
    13/08/2018  15:05           101.104 IT00484960588_BQTVF.xml_00707504.pdf
    13/08/2018  15:05           100.871 IT00484960588_BQTVF.xml_29706257.pdf
    08/11/2018  16:05               596 IT00484960588_BQTVF_MT_001.xml
    08/11/2018  16:05               550 rapporto.txt
                   7 File        842.382 byte
    In sostanza, leggendo il file rapporto.txt (CHE HA SEMPRE LO STESSO NOME, ade 'potessino!!!!) un programma esterno può attingere direttamente a tutto quello presente, caricarselo su DB o insomma fare quello che vuole.
    Utilizza openssl.exe per la firma (quindi non richiede libreria a pagamento)

    Può essere utile?

    Ovviamente è un frammento di "trascina da thunderbird", "scarica da IMAP", "scarica da POP3s" etc.
  • Re: Fatturazione elettronica B2B: programmi

    daspa ha scritto:


    Esiste un metodo di ricerca interna al file xml ??
    tipo ricerca per P.I. CLIENTE ?
    Che sappia io no, o meglio si potrebbe anche, ma abbastanza difficile
    (ci sono le andate a capo). Non impossibile, ma rognosetta.
    oppure Tu che sei bravissimo che ricerca si potrebbe fare
    per scaricare nella cartella l'xml delle notifiche ??
    Grazie, ciao
    Il metodo è abbastanza rozzo: si scaricano tutte le PEC (o le si trascinano dentro al programma), le si "digeriscono", e a quel punto vedi (finalmente) la PIVA/codice fiscale del destinatario, oltre a tutto il resto.
  • Re: Fatturazione elettronica B2B: programmi

    +m2+ ha scritto:


    grigomax ha scritto:


    Certo hai ragione tutti fanno inoltra e quindi ti trovi più messaggi incapsulati.. ma in realta come già ben sai il messaggio di posta elettronica non è altro che un semplice file di testo..
    Ci ho fatto la tesi, sulla email
    l'interessante era capire se nell'oggetto della e-mail c'era scritto per esempio notifica di scarto, ricevuta di consegna o fattura elettronica.. così di prima partenza (sempre dopo il fatto che sia una e-mail dello sdi) facevi un parsing della email più mirato senza dover a priori leggere il file xml o il corpo del messaggio..
    AHAHAHAHAAH

    No.

    L'oggetto è semplicemente "POSTA CERTIFICATA: Invio File 114683093".
    La ricevuta è descritta nell'allegato A della normativa tecnica.
    Ha un nome che è un delirio, tipo
    IT00484960588_AAA_MT_001.xml
    da cui dovresti capire che è una MT.
    Ovviamente il contatore finale può essere diverso.

    In pratica ho dovuto fare un "lavorone" per individuare il nome della fattura (cosa non scontata, può avere o meno p7m), poi il nome della ricevuta "a ritroso", e infine controllare che le 3 (cioè xml, xml.p7m se presente, ricevuta xml) siano coerenti (non si sa mai nella vita).

    Ovviamente possono esserci codici fiscali,e partite IVA, non italiane, e quindi non è per nulla banale capire quale sia l'esatto nome del file fattura.
    ---
    Sarebbe stata una cosa troppo intelligente chiamare il file
    STICAZZI.XML e dentro metterci i vari dati, così da non dover ogni volta fare un "circo Medrano".
    Comunque con un 15 minuti di bestemmie si fa.
    Si in realtà faccio il parsing del nome del file.. così vedo se è una mt..

    Poi leggo xml così mi prendo i tag che mi servono per l'elaborazione

    almeno sui nomi dei file c'è scritto..

    ecco:
    ---------------------
    Il Tipo di messaggio può assumere i seguenti valori:
    Valore
    RC
    NS
    MC
    MT
    Descrizione
    Ricevuta di consegna
    Ricevuta di scarto
    Ricevuta di impossibilità di recapito
    Notifica dei metadati
    Il Progressivo univoco deve essere una stringa alfanumerica di lunghezza
    massima 3 caratteri e con valori ammessi [a-z], [A-Z], [0-9] che identifica
    univocamente ogni notifica / ricevuta relativa al file inviato.
    Il carattere di separazione degli elementi componenti il nome file
    corrisponde all’underscore (“_”), codice ASCII 95, l’estensione è sempre
    “.xml”.
    Se il SdI ha ricevuto un file di tipo compresso, di cui al precedente
    paragrafo 1.2.2 lett. b), (es.: ITAAABBB99T99X999W_00001.zip ) e non è
    possibile accedere al suo contenuto perché “corrotto”, il nome del file con
    il quale il SdI inoltra al soggetto trasmittente la notifica di scarto è il
    seguente:
    ITAAABBB99T99X999W_00001_NS_001.xml
  • Re: Fatturazione elettronica B2B: programmi

    E come fai, se non spacchetti postacert?
    il nome del file non mi risulta esserci in daticert

    Quindi se mi dici 'spacchetto e parso' fai esattamente la mia stessa procedura.

    Magari però c'è altra strada spiega per favore
Devi accedere o registrarti per scrivere nel forum
814 risposte