Fatturazione elettronica B2B: programmi

di il
814 risposte

814 Risposte - Pagina 7

  • Re: Fatturazione elettronica B2B: programmi

    grigomax ha scritto:



    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
    Ciao grigomax,
    in effetti i poche fatture xml che ho ricevuto sono quelli della TAMOIL carburanti
    Ho guardato dentro i file: hai ragione mette MT se hai allegato un PDF
    Effettivamente c'è da pensare qualcosa per leggeste ste notifiche
    Ancora non ho visto le ricevute perché mai mandato una fattura in XML, solo PDF
    con email del ns. domino
    A gestire le notifiche e inserirle nel mio gestionale in automatico pensavo fosse più semplice del previsto
    Invece la procedura è rognosa se vuoi fare in automatico. Certo manualmente scarichi
    a manetta le email e le notifiche... Dopo è un casino gestirle senza automatismi
    Ciao
  • Re: Fatturazione elettronica B2B: programmi

    daspa ha scritto:


    ...
    A gestire le notifiche e inserirle nel mio gestionale in automatico pensavo fosse più semplice del previsto
    Invece la procedura è rognosa se vuoi fare in automatico. Certo manualmente scarichi
    a manetta le email e le notifiche... Dopo è un casino gestirle senza automatismi
    Ciao
    Bhè io il programmello automatico l'ho fatto.
    Essenzialmente, come detto, mi preparo un file di nome fisso (... grrrr...) con dentro tutto quello che mi interessa della email.
    A quel punto importo nel db (mysql nel mio caso) tutto quello che mi interessa (cioè tutto) e associo i file nel documentale.

    Diciamo la porzione più rompi @@ sono i nomi "a casaccio" consentiti dall'agenzia.
  • Re: Fatturazione elettronica B2B: programmi

    Ciao +m2+,
    il programmerlo devo farlo funzionare da questa interfaccia

    devo fare una chiamata shell al programmello e qui non problem
    se vedi la lista delle fatture:
    per sapere come trovare sto cavolo di xml ITPARTITAIVA _00967.xml (esempio prima della lista)
    tleggo cosa ?? Poi dove mette le cartella ?' Come si chiama ??
    Da qui in VB devo cercare la cartella dove genera gli xml scompattati se la stringa c'ha preso
    devo fare un edit per leggere i file ma quale ??
    e importare nel database le varie notifiche e aggiornare l'interfaccia
    Se hai qualche idea ben venga, grazie
  • Re: Fatturazione elettronica B2B: programmi

    Il programmello newstyle, lanciato a riga di comando su un EML, fa tutto quello che vuoi.
    Ma, prima, devi avere l'EML (cioè materialmente la PEC ricevuta in questo caso).
    Nel mio caso ci sono 3 possibilità principali

    1) la trascini da thunderbird nel programmello
    2) scarichi periodicamente tutti i messaggi e li salvi in una cartella, e per ognuno dei file li "spacchetti" col programmello (in realtà con controlli di non farlo più volte)
    3) prendi tutti gli imap di invio file e fai come (2)

    sono un po' preso, se trovo il tempo dettaglio meglio.
  • Re: Fatturazione elettronica B2B: programmi

    Buonasera Ragazzi..

    Allora quello che ho postato è la scheda tecnica delle ricevute rilasciata dall'agenzia delle entrate.. quindi la struttura esterna del file (ovvero come si chiamerà lo sappiamo..)
    Fortunatamente l'agenzia delle entrate mette a disposizione fior fior di materiale tecnico, ed anche la gestione delle simulazioni..

    Ora io a priori faccio il parsing di tutto il messaggio eml, con o senza certificazioni a me non interessa in quanto la firma cades è un martello a doppia testa. (mette una sigla all'inizio ed alla fine) ma non tocca l'interno....

    Comunque io per prima cosa mi tiro fuori dalla email tutto quello che è xml..
    Il primo è daticert, poi c'è il file che hai mandato tu IT_partitaiva_numerotuo_tipodimessaggio_numeroagenzia.XML

    da li cerco tramite parsing del file xml dell'agenzia i tag che mi servono..

    Mi sono registrato sul sito dell'agenzia nella sezione simulazione e gli ho mandato un file errato
    //-------------------
    Subject: POSTA CERTIFICATA: Notifica di scarto 6723203 (SIMULAZIONE)
    From: "Per conto di: " <>
    //------------------
    ecco i tag xml
    <IdentificativoSdI>6723203</IdentificativoSdI>
    <NomeFile>ITxxxxxxxxxxx_18aa4.xml</NomeFile>
    <DataOraRicezione>2018-11-09T12:49:04.000+01:00</DataOraRicezione>
    <ListaErrori>
    <Errore>
    <Codice>00200</Codice>
    <Descrizione>File non conforme al formato (nella descrizione del messaggio è riportata l’indicazione puntuale della non conformità) - The value '' of element 'IdDocumento' is not valid.
    riga: 72 - colonna: 42</Descrizione>
    <Suggerimento>Verificare che il file inviato sia conforme al formato previsto</Suggerimento>
    </Errore>
    <Errore>
    <Codice>00200</Codice>
    <Descrizione>File non conforme al formato (nella descrizione del messaggio è riportata l’indicazione puntuale della non conformità) - '--' is not a valid value for 'date'.
    riga: 73 - colonna: 30</Descrizione>
    <Suggerimento>Verificare che il file inviato sia conforme al formato previsto</Suggerimento>
    </Errore>
    <Errore>
    <Codice>00200</Codice>
    <Descrizione>File non conforme al formato (nella descrizione del messaggio è riportata l’indicazione puntuale della non conformità) - The value '--' of element 'Data' is not valid.
    riga: 73 - colonna: 30</Descrizione>
    <Suggerimento>Verificare che il file inviato sia conforme al formato previsto</Suggerimento>
    </Errore>
    </ListaErrori>
    <MessageId>1804018882</MessageId>

    Ecco ho messo gli xxx al posto della mia partita iva..
    la nota di scarto fa' riferimento al mio file 18aa4
    il file nota di scarto di chiama ITxxxxxxxxxxx_18aa4_NS_001.xml

    //---------DAI non male..
  • Re: Fatturazione elettronica B2B: programmi

    grigomax ha scritto:


    ..
    Ciao grigomax,
    ottimo! Ma dove li leggi gli xml ??
    Cartella dove ?? Come fai a capire che eml ti serve ??
    Dalla data ?? O cicli tutto sempre ??
  • Re: Fatturazione elettronica B2B: programmi

    Ciao Daspa..

    Allora il messaggio di pec è un rfc822 incapsulato..
    Per il momento sto' lavorando con file non certificati quindi XML è puro..
    L'unica cosa che sto' verificando è il mittente perché faccio fatica a essere sicuro della provenienza.. per ora confronto il from con il reply e poi leggo il mittente del entro il file daticert -> mittente..

    Attualmente con i file che sto' usando non son puri ma simulazioni.. di fatti mi trovo il file daticert.xml come allegato XML ed il file ITxxxx_NS_0001.xml come allegato ma non xml ma OCTET-STREAM il che penso sia per il fatto che possano esservi dentro anche altri file..

    Poi lancio una costruzioni delle parti del messaggio.. ti allego copia del array

    Array
    (
    [0] => Array
    (
    [nomefile] => daticert.xml
    [posizione] => 1.2
    )

    [1] => Array
    (
    [nomefile] => ITXXXXXXXXXXX_18aa4_NS_001.xml
    [posizione] => 1.3.1
    )

    )

    E' una funzione che cerca tutte le parti del messaggio e le assegna una posizione con cui poi prelevare la parte della email e salvarla in locale oppure lavorarla onfly..
  • Re: Fatturazione elettronica B2B: programmi

    Il programma ogni volta che fa' lo status controlla l'elenco delle cartelle all'interno della INBOX io mi collego in IMAP, facendo così ho sempre la possibilità di collegarmi con il portale (in questo caso di aruba).

    Se dall'elenco non trovo le cartelle Elaborati e accettati le creo..
    Ora ogni volta che lancio lo status SDI dal programma leggo tutte le email presenti nella cartelle indifferentemente se sono state lette o no.., a quel punto per ogni messaggio lavorato se è SDI lo sposto in elaborati, se invece è il messaggio di Accettazione lo elimino, se è la ricevuta della pec la sposto in ricevuta..

    Da notare che io ho preferito avere una casella PEC dedicata alle fatture.. altrimenti ci sono troppi messaggi e va' a finire che si crea un gran casino.. meglio tenere le cose separate.. poi a man mano che si andrà avanti si potranno implementare altre cose..

    Anche perché devo dare la possibilità a chi usa il mio programma di poter usare anche in canale FTP..

    Io mi sono organizzato così trovo che per 6 euro all'anno non valga la pena impestare la casella pec aziendale, ma visto che minimo ci saranno 3/500 pec al mese.. conviene dedicarne una, altrimenti tanto vale usare un canale..
  • Re: Fatturazione elettronica B2B: programmi

    grigomax ha scritto:


    Il programma ogni volta che fa' lo status controlla l'elenco delle cartelle all'interno della INBOX io mi collego in IMAP, facendo così ho sempre la possibilità di collegarmi con il portale (in questo caso di aruba).

    Se dall'elenco non trovo le cartelle Elaborati e accettati le creo..
    Ora ogni volta che lancio lo status SDI dal programma leggo tutte le email presenti nella cartelle indifferentemente se sono state lette o no.., a quel punto per ogni messaggio lavorato se è SDI lo sposto in elaborati, se invece è il messaggio di Accettazione lo elimino, se è la ricevuta della pec la sposto in ricevuta..

    Da notare che io ho preferito avere una casella PEC dedicata alle fatture.. altrimenti ci sono troppi messaggi e va' a finire che si crea un gran casino.. meglio tenere le cose separate.. poi a man mano che si andrà avanti si potranno implementare altre cose..

    Anche perché devo dare la possibilità a chi usa il mio programma di poter usare anche in canale FTP..

    Io mi sono organizzato così trovo che per 6 euro all'anno non valga la pena impestare la casella pec aziendale, ma visto che minimo ci saranno 3/500 pec al mese.. conviene dedicarne una, altrimenti tanto vale usare un canale..
    Ciao grigomax,
    con Windows live mail o Thunderbird con è possibile in IMAP
    dirottare in cartella locale senza aprire una pec nuova, esempio:
    fatture sdi (cartella solo per fatture)
    se ricevo da email ?
  • Re: Fatturazione elettronica B2B: programmi

    Ciao grigomax,
    con Windows live mail o Thunderbird con è possibile in IMAP
    dirottare in cartella locale senza aprire una pec nuova, esempio:
    fatture sdi (cartella solo per fatture)
    se ricevo da email ?
    Ciao daspa..

    Con thunderbird quando lo usavo (usato pochissimo.. purtroppo perché non mi sono mai trovato troppo lento e macchinoso) so' che si potevano inserire i filtri..

    crei una cartella e poi metti i filtri presumo che si possano fare anche da windows live (ma non so perché non uso windows dal 2000).

    Comunque se non mi sbaglio in webmail di aruba si possono creare dei filtri direttamente dal portale..

    Io preferisco connettermi direttamente via IMAP dal mio programma di posta e come ti dicevo per sei euro l'anno preferisco avere una pec dedicata..

    comuque anche se fosse basta fare una sottocartella alla cartella fatture.. nulla di che..

    Ora non so in che linguaggio programmi, ma quasi tutti i linguaggi hanno già librerie dedicate ai xml e imap..

    intanto ciao
  • Re: Fatturazione elettronica B2B: programmi

    C'è però un problema, nell'utilizzo di IMAP, ed è la lentezza con cui viene, tipicamente, scaricato l'elenco delle email.
    Fino a quando sono un numero contenuto non ci sono particolari problemi, poi c'è un rallentamento più o meno marcato.
    Personalmente supporto tutte e 3 le possibilità: IMAP, POP3s e thunderbird.

    Quest'ultimo è assai favorito dai clienti, perchè consente facilmente il drag-and-drop


    Ho aggiornato un pochino xml2pdf con spacchettamento EML e rimozione firma p7m

    https://www.iprogrammatori.it/forum-programmazione/programmatori/fatturazione-elettronica-b2b-programmi-t36534.html#p8610134
  • Re: Fatturazione elettronica B2B: programmi

    [quote="grigomax"][quote]

    VBA, ma pian piano salteranno furi delle idee nuove
    Ideale sarebbe scaricare con WINDOWS LIVE MAIL e
    dirottarle in una cartella dedicata, ciclare
    con
    Open "h:71F06AA1-00000110.eml" For Input As #1

    Do While Not EOF(1)
    Line Input #1, strLine
    If strLine = "<IdFiscaleIVA>" Then

    MsgBox strLine
    End If
    Loop

    Close #1
    già provato funziona. Ora c'è da incastrate l'algoritmo
    e trasportare nel DB i vari messaggi.
    Ci riuscirò, per me la migliore soluzione
    Alla fine mi serve sono per le notifiche; si, no, scarto, letto...
    Poi vedremo in rete che succederà ci saranno sicuramente degli esempi poi..
    Ciao grigomax!
  • Re: Fatturazione elettronica B2B: programmi

    Ti segnalo che la ricerca non funziona, e non può funzionare, sulle fatture ricevute.
    Perchè non è "in chiaro", bensì in codifica mime64.
    E, inoltre, non è neppure "consecutiva", bensì spezzata "in righe".
    Essenzialmente bisogna prima "spacchettare" tutto il contenuto, POI puoi vedere di cosa si tratta.
  • Re: Fatturazione elettronica B2B: programmi

    +m2+ ha scritto:


    (2) XML2PDF

    Programma per applicazione foglio di stile senza supporto del browser

    Lo si può vedere qui (0.6)

    https://ufile.io/gvgx


    SHA1: f8d170fc652cd6778fecb6b14d77193c6e75ae0f

    essenzialmente "se ne frega" dell'XSL presente, o meno, nel file, applica il suo.
    La versione 0.2 può essere usata a riga di comando con esattamente 3 parametri

    xml2pdf.exe "z:\ce\ilbelfile.xml" "s:\ilmiofogliodistile.xsl" "c:\temp\dovevoglioilpdf.pdf"

    La versione 0.3 può "iniettare" il PDF dentro l'XML.
    In questo demo viene creato un nuovo file (nel caso va rinominato).
    Quando OK ovviamente si può sovrascrivere il file iniziale

    La versione 0.4, durante la conversione a riga di comando, è "silente"

    La versione 0.5 consente di fare l'iniezione a riga di comando, con 4 nomi file
    nomexml nomexsl nomepdf nomexmliniettato

    La versione 0.6 toglie le firme p7m usando openssl.exe (anche a più file).
    "Spacchetta" una PEC EML di una fattura elettronica
    Sistemato il problema visualizzazione con il foglio stile di ASSOINVOICE ?
  • Re: Fatturazione elettronica B2B: programmi

    daspa ha scritto:



    Sistemato il problema visualizzazione con il foglio stile di ASSOINVOICE ?
    francamente non ci ho neppure guardato
Devi accedere o registrarti per scrivere nel forum
814 risposte