da lucio guerra » 08/05/2015, 9:36
Mi sembra opportuno evidenziare con apposito post che nella fattura elettronica molto spesso è presente anche uno o più allegati posti all'interno del file xml, che altro non è che la "vecchia" fattura cartacea, che ripropone tutti i contenuti di quella elettronica, ma molto meglio leggibile e più contenuta nelle dimensioni
è necessario avere un programma di visualizzazione degli allegati all'xml (è di fatto un allegato derivato - noi lo abbiamo all'interno del protocollo informatico)
quindi in sostanza :
- hai anche la fattura nel vecchio formato
- in più hai il file xml che importandolo all'interno della finanziaria/ragioneria, ti trovi molti dati già scritti in automatico
sicuramente meglio di prima e più rapida
P.S. non tutte le fatture elettroniche contengolo gli allegati, ma sono sicuramente contenute in tutte le fatture delle utenze (ENEL - TELECOM - GAS - ACQUA ) ecc. che poi sono quelle per le quali è necessario un maggior dettaglio e migliore leggibilità
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Tecnicamente ed informaticamente la struttura dalla quale derivano gli allegati è la seguente
Alla fattura elettronica può essere allegato anche un documento in formato PDF (oppure altri allegati) che è contenuto sempre all’interno del file xml, come attachment di un il file binario codificato utilizzando l’algoritmo Base64Binary.
La codifica Base64 (definita dalla RFC 1521) utilizza un sottinsieme dell'US_ASCII (65 caratteri) per codificare qualunque sequenza di bit.
APPROFONDIMENTO
Nota: se l’allegato contiene uno o più dati già presenti nel tracciato XML, i primi non possono essere in alcun modo sostitutivi, qualora diversi, dei secondi che restano quelli ufficialmente validi
[2.5.3] FormatoAttachment
Obbligatorietà: NO.
Utilità: serve per indicare il formato del file allegato (TXT, XML, PDF, ….).
Criteri di valorizzazione: non è stabilito alcun criterio particolare; la modalità di valorizzazione del campo è demandata, nel rispetto delle caratteristiche stabilite dallo schema XSD, alla valutazione dell’utente secondo esigenza.
[2.5.5] Attachment
Obbligatorietà: SI, ma solo se si allega un file.
Utilità: rappresenta il file vero e proprio da allegare.
Criteri di valorizzazione: il file allegato deve essere codificato utilizzando l’algoritmo Base64Binary; la sua dimensione massima non è fissata a priori, ma deve necessariamente tenere conto dei vincoli dimensionali previsti per la fattura elettronica (rif. “Specifiche attuative delle regole tecniche”).
Base64 è un sistema di numerazione posizionale che usa 64 simboli.
Viene usato principalmente come codifica di dati binari nelle e-mail, per convertire i dati nel formato ASCII.
Codifica Base64
La codifica Base64 (definita dalla RFC 1521) utilizza un sottinsieme dell'US_ASCII (65 caratteri) per codificare qualunque sequenza di bit.
La scelta di tali caratteri è guidata da alcuni criteri fondamentali:
• consentire la trasmissione in sistemi di posta elettronica
• è l'intersezione di tutte le varianti dello standard ISO-646 (specifica definita nel 1972 intorno alla codifica ASCII)
• tutti i caratteri presi in considerazione hanno la stessa rappresentazione in tutte le varianti della codifica EBCDIC (Extended Binary Coded Decimal Information Code) codifica nata nell'era delle schede perforate (1964), ancora in uso in alcune architetture mainframe IBM).
L'algoritmo per codificare in Base64 è molto semplice:
1. si suddivide la sequenza di bit in segmenti di 6 bit ciascuno
2. ogni segmento di 6 bit viene trasformato in un carattere secondo le seguenti regole:
o ai valori da 0 a 25 sono fatti corrispondere i caratteri da 'A' a 'Z' (lettere maiuscole)
o ai valori da 26 a 51 sono fatti corrispondere i caratteri da 'a' a 'z' (lettere minuscole)
o ai valori da 52 a 61 sono fatti corrispondere i caratteri da '0' a '9' (cifre)
o il valore 62 corrisponde al carattere '+'
o il valore 63 corrisponde al carattere '/'
3. se la sequenza di bit originale non è multipla di 6, vengono aggiunti bit di valore zero in fondo
4. la stringa risultante in Base64 deve essere multipla di quattro caratteri (ogni tre byte di input danno origine a quattro caratteri Base64), se necessario viene aggiunto un certo numero di occorrenze del carattere '='
5. le stringhe Base64 sono infine organizzate in linee della lunghezza massima di 76 caratteri, seguiti da CR e LF