Come sviluppatore di Filemaker Pro ho negli anni creato diversi applicativi per la fatturazione. Ora che con il 2019 è in arrivo la fatturazione elettronica tra imprese mi sono trovato a dover affrontare questo problema. Senza entrare nel dettaglio di come funziona la fatturazione elettronica qui parlo solo della generazione della fattura in formato XML.

Il formato XML per il sistema di interscambio va generato secondo un tracciato record ben distinto. Un file di Excel di 270 righe lo definisce nel dettaglio. Il tracciato prevede molte opzioni, nell'uso comune se ne utilizzano molto poche a parte ovviamente quelle obbligatorie. Il file e la documentazione è scaricabile qui.

Il primo step è quello di creare o adeguare il proprio database secondo la struttura del tracciato record. Quindi arriva il momento dell'esportazione. Filemaker esporta in formato XML ma è un formato con una grammatica propria: FMPDSORESULT o FMPXMLRESULT. Per trasformare l'XML di Filemaker in un XML come lo vogliamo noi bisogna usare un foglio stile XSLT.

Ho visto in rete che quasi nessuno sceglie questa strada optando per la generazione dell'XML in un campo calcolato. Soluzione sicuramente valida. Io ho preferito optare per la creazione di un XSLT.

Il foglio stile XSLT è un po' complesso da creare e in rete si triva poca documentazione specifica. Sono comunque riuscito a crearne uno e generare così il file XML compatibile con il formato di interscambio.

Nelle imamgini che seguono alcuni esempi:

La struttura base (con i campi essenziali) del db in Filemaker Pro

struttura db

Il file XML RAW generato dalla grammatica FMPXMLRESULT

xml

infine il file XML convertito dal XSLT che ho creato

xmlpa