4D Write Pro: Generazione di fatture elettroniche!

Tradotto automaticamente da Deepl

4D V20 R4 introduce un’entusiasmante funzione in 4D Write Pro: ora vi consente di generare fatture elettroniche. Ma cosa intendiamo esattamente per fatture elettroniche?

Una fattura elettronica (o e-fattura) viene generata, trasmessa, ricevuta e archiviata elettronicamente, consentendo una gestione più efficiente ed ecologica delle transazioni commerciali.

Se da un lato offrono molti vantaggi, dall’altro presentano dei vincoli specifici, soprattutto in termini di complessità del processo di generazione. Tuttavia, con 4D Write Pro, ci siamo resi conto che la gestione di questa complessità è molto più gestibile di quanto inizialmente percepito!

HDI: generazione di fatture elettroniche

Perché le fatture elettroniche?

Le fatture elettroniche possono avere diversi formati digitali, come il PDF (che utilizzeremo), e possono essere trasmesse tramite portali online, CRM e così via. La loro elaborazione può essere automatizzata, riducendo i tempi di gestione, il rischio di errori, la necessità di stampa, l’archiviazione fisica, l’impatto ecologico, ecc.
È anche noto come formato intelligente o ibrido, perché può essere letto da un essere umano e da un computer.
È anche un formato che diventerà obbligatorio e indispensabile nei prossimi mesi o anni nei Paesi di tutto il mondo (Factur-x in Europa), in particolare per tutte le questioni governative.

4D Write Pro e il formato Factur-X/ZUGFeRD

4D Write Pro consente già di produrre file in formato PDF e, da 4D V20 R3, anche nei formati PDF/A2 e PDF/A3. Per le fatture elettroniche si utilizzerà il formato PDF/A3, che consente di integrare file esterni. Nel caso di una fattura elettronica, è necessario un solo file esterno, un file XML. Questo deve essere il primo se vengono integrati molti file.

In sintesi, possiamo dire che PDF/A3 + XML = Factur-X (in Francia) / ZUGFeRD (in Germania) saranno realizzati in un solo passaggio da 4D Write Pro!

Quali contenuti per l’XML?

Il file XML di Factur-X/ZUGFeRD contiene informazioni strutturate sulla fattura, come i dati del venditore e dell’acquirente, le righe di fatturazione, gli importi, le imposte, ecc.
I modelli standard europei come MINIMUM, BASICWL, EN 16931, BASIC ed EXTENDED sono i più comuni.
È possibile utilizzare anche formati “personalizzati”, ma la loro convalida (su cui torneremo) sarà meno evidente e il loro uso limitato.

Informazioni complete su questi formati sono disponibili sul sito web fnfe-mpe.org: https://fnfe-mpe.org/factur-x/factur-x_en/.

Come si genera un Factur-x/ZUGFeRD?

Non dimentichiamo che una fattura elettronica è innanzitutto un PDF in cui sono state inserite nuove informazioni. Due nuovi attributi sono stati aggiunti a quelli esistenti per l’esportazione in PDF.

Iniziamo con “facturx”.

Questo attributo, facturX, è un oggetto che contiene solo due attributi opzionali.
Ciò significa che la sola presenza di questo oggetto, anche vuoto, sarà sufficiente a generare un documento Factur-X/ZUGFeRD valido.

$options:={}
$options.facturX:={}
$options.facturX.profile:="BASIC" // optional (when passed, it must match the first file XML content)
$options.facturX.version:="1.0" // default value

Poi vengono i “file”

In un documento PDF/A3 possono essere inclusi molti file. Ecco perché l’attributo files è una collezione che conterrà oggetti, ognuno dei quali descrive il file da includere.

Questi oggetti avranno attributi diversi a seconda della funzione del file. Nel caso di una fattura elettronica (promemoria: primo file dell’elenco), la maggior parte degli attributi è facoltativa, tranne, ovviamente, il contenuto XML che può essere inviato tramite l’attributo data (come testo) o l’ attributo file (come 4D.File).

Note:
L’XML deve essere pre-generato e soddisfare tutti i requisiti dello standard (la demo HDI mostra un esempio di creazione di XML basato sul profilo BASIC ). 4D Write Pro non controlla il contenuto del file XML, quindi assicuratevi di convalidarlo prima di inserirlo nella fattura elettronica Factur-X / ZUGFeRD.

$xmlFile:={} // creates the first file object
$xmlFile.name:="factur-x.xml"  // default value
$xmlFile.description:="Factur-X/ZUGFeRD Invoice"  // default value
$xmlFile.mimeType:="text/xml"  // default value
$xmlFile.data:=$xmlText  // MUST be valid, NOT checked by 4D
$xmlFile.relationship:="Data" // default value

$options.files:=[$file]  // more files could be added, the first one always is for facturX/ZUGFeDR

oppure (variante, invece di $xmlFile.data)

$xmlFile.file:=$xmlFile // actual file on disk that must be a valid xml file

Convalida online

Come già detto, 4D Write Pro non convalida il contenuto. Viene controllata solo la struttura. Tuttavia, esistono dei validatori online. I più affidabili sembrano essere veraPDF(https://demo.verapdf.org) e fnfe-mpe.org (https://services.fnfe-mpe.org/account/home). Il secondo ha il doppio vantaggio di poter convalidare l’XML stesso e, in secondo luogo, una fattura completa (vedere l’HDI per un esempio completo).

Conclusione

Questa nuova funzionalità risponde a una crescente domanda di modernità e soddisfa i requisiti legali e amministrativi.

Generare fatture elettroniche in serie sarà semplice, grazie a modelli generici e a metodi per generare XML correttamente formattati.

In definitiva, la parte più complicata potrebbe essere la scelta tra i vari profili possibili, ma spesso è l’uso a dettare questa scelta.

Condividete i vostri commenti e le vostre opinioni su questa nuova funzione nei Forum 4D.

Roland Lannuzel
- Product Owner ed esperto di 4D - Dopo aver studiato elettronica, Roland è passato all'IT industriale come sviluppatore e consulente, realizzando soluzioni per i clienti con una varietà di database e tecnologie. Alla fine degli anni '80 si è innamorato di 4D e lo ha utilizzato per scrivere applicazioni aziendali che includono sistemi di contabilità, fatturazione e posta elettronica. Entrato a far parte dell'azienda nel 1997, Roland ha dato il suo prezioso contributo progettando specifiche, strumenti di test e demo, oltre a formare e parlare alla comunità 4D in occasione di numerose conferenze. Continua a plasmare attivamente il futuro di 4D definendo nuove funzionalità e strumenti di sviluppo di database.