La Wiki di ScuolaSemplice

Hai una domanda?

Inserisci una o più parole chiave e trova la risposta!

Creazione di una fattura tramite modello ODT


→  Scarica questa guida in formato PDFDownload PDF


IMPORTANTE: il file deve essere in formato .odt e non .doc, si sconsiglia dunque l’uso di word. E’ bensì altamente consigliato l’uso di OpenOffice.

Questa mini guida sulla configurazione della fattura della scuola da modello ODT, è suddivisa nei seguenti paragrafi:

  1. INTRODUZIONE
  2. DEFINIZIONE SEGNAPOSTI
  3. LISTE DI SEGNAPOSTI
  4. SEGNAPOSTI IN TABELLE
  5. BLOCCHI CONDIZIONALI
  6. FILTRI
  7. ELENCO SEGNAPOSTI DISPONIBILI
  8. CARICAMENTO A SISTEMA DEL MODELLO
  9. UTILIZZO DEL MODELLO DI FATTURA
  10. MODELLI DI ESEMPIO

1. INTRODUZIONE

Un modello di fattura ODT è un file in formato odt che caricato a gestionale nella sezione Configurazione → Contratti & Report  permette di generare documenti in formato PDF contenenti informazioni dinamiche, utilizzando un file .odt, chiamato modello, nel quale sono inseriti degli appositi segnaposti, che, nel documento finale generato, verranno sostituiti dal valore indicato dal segnaposto.

ATTENZIONE: modello si riferisce, nel contesto di questa documentazione, ad un normale file .odt contente dei segnaposti, il file deve essere in formato documento di testo ODF, estensione .odt.

I segnaposti possono essere inseriti in un contesto di scrittura normale. Possono essere inseriti anche in tabelle e possono essere mostrati con blocchi condizionali o filtri.

2. DEFINIZIONE DEI SEGNAPOSTI

La sintassi per definire un segnaposto è {oggetto.attributo}, il nome dell’oggetto è la parte del nome a sinistra del punto, il nome dell’attributo è la parte a destra del punto; quindi, ad esempio, per mostrare nel documento finale il nome del corso si usa {course.name}, per mostrare la sede del corso si usa {location.location}.

Se il nome dell’oggetto è al plurale, significa che verrà generata una lista di valori che può essere utilizzata all’interno di una tabella o per creare un elenco nel documento finale. In questo senso è possibile utilizzare una apposita sintassi per indicare l’inizio e la fine della tabella.

E’ possibile creare dei segnaposti aggiuntivi utilizzando dei campi personalizzati, la sintassi di questi segnaposti è: {oggetto.customfields[codice]}, verrà mostrato il campo personalizzato che ha il codice inserito tra parentesi quadre.

3. LISTE DI VALORI

La sintassi per utilizzare una lista di valori, prevede di indicare dove inizia la lista e dove finisce, nel blocco di testo racchiuso tra i due marcatori si inseriscono i segnaposti per mostrare i valori di ogni elemento della lista, ad esempio per elencare i nomi completi e l’indirizzo email di ogni studente del corso:

[! -- BEGIN students --]

{students.fullName} {students.email}

[!-- END students --]

Per le liste di valori è disponibile un segnaposto speciale, il segnaposto _total, che restituisce il totale degli elementi della lista.

Se si rendesse necessaria l’esigenza di inserire due liste identiche all’interno dello stesso documento, sarà possibile farlo inserendo nel segnaposto della seconda lista un trattino basso ( _ )

[!-- BEGIN students_ --]

{students_.fullName} {students_.email}

[!-- END students_ --]

4. SEGNAPOSTI IN TABELLE

La sintassi per utilizzare una lista di valori all’interno di una tabella, prevede di indicare dove inizia la riga della tabella e dove finisce, nel blocco di testo racchiuso tra i due marcatori si inseriscono i segnaposti per mostrare i valori di ogni elemento della lista, ad esempio per elencare i nomi completi, l’indirizzo email ed il telefono mobile di ogni studente dell’esame, all’interno di una tabella dovremo inserire:

[!-- BEGIN row.students --] {students.fullName}
{students.email}
{students.mobile}

[!-- END row.students --]

la riga della tabella tra [!-- BEGIN row.students --] e [!-- END row.students --] sarà ripetuta per ogni studente, nella tabella del documento.

Se si rendesse necessaria l’esigenza di inserire due liste identiche all’interno dello stesso documento, sarà possibile farlo inserendo nel segnaposto della seconda lista un trattino basso ( _ )

[!-- BEGIN row.students_ --] {students_.fullName}
{students_.email}
{students_.mobile}

[!-- END row.students_ --]

5. BLOCCHI CONDIZIONALI

Il blocco condizionale è una parte del documento, delimitato da appositi marcatori, al quale è associato una condizione che può essere vera o falsa, se è vera il contenuto del blocco viene mostrato nel documento finale, se falsa il contenuto del blocco viene eliminato dal documento finale.

Come condizione per il blocco può essere usato uno dei campi personalizzati definiti o le condizioni indicate nella sezione CONDIZIONE dell’elenco dei segnaposti disponibili.
La condizione che usa un campo personalizzato è vera se il campo è valorizzato, è falsa se è vuoto.

La sintassi per definire il blocco condizionale prevede di indicare l’inizio e la fine del blocco, indicando la condizione associata, ad esempio per definire un blocco condizionale da mostrare solo se l’ordine è scontato:

[!-- IF order.isDiscounted --]

Sconto: {order.discount}

[!-- ENDIF order.isDiscounted --]

order.isDiscounted è la condizione, se è vera l’ordine è scontato e viene mostrato lo sconto applicato, se è false l’ordine non è scontato e la riga dello sconto non verrà inserita nel documento finale.

Si può invertire il controllo della condizione aggiungendo NOT alla sintassi per definire il blocco condizionale, ad esempio per definire un blocco condizionale da mostrare solo se l’ordine non è scontato:

[!-- IF NOT order.isDiscounted --]
Sconto non applicabile.
[!-- ENDIF NOT order.isDiscounted --]

order.isDiscounted è la condizione, se è vera l’ordine è scontato ed il testo “Sconto non applicabile” non verrà mostrato nel documento finale, se è false l’ordine non è scontato e quindi il testo “Sconto non applicabile” verrà mostrato nel documento finale.

Per usare un campo personalizzato come condizione usare la seguente sintassi:

[!-- IF student.customfields[CERTIFICAZIONI] --]
Certificazioni: {student.customfields[CERTIFICAZIONI]}
[!-- ENDIF student.customfields[CERTIFICAZIONI] --]

la riga all’interno del blocco verrà mostrata solo le certificazioni dello studente sono state indicate, cioè se il campo personalizzato con codice CERTIFICAZIONI dello studente non è vuoto.

6. FILTRI

I Filtri permettono di eseguire un’operazione che modifica il valore del singolo segnaposto inserito nel documento e sono disponibili per ogni tipo di report odt, indipendentemente dalla sezione.

I filtri disponibili sono i seguenti:

  • cut permette di limitare la lunghezza di un testo entro il valore indicato, ad esempio per limitare la lunghezza del nome del corso ad un massimo di 5 caratteri possiamo usare il segnaposto {course.name|cut[5]}
  • daysbefore permette di calcolare una data anteriore alla data del segnaposto valorizzato, ad esempio se vogliamo ottenere la data corrispondente a 2 settimane prima dell’inizio del corso possiamo usare il segnaposto {course.startDate|daysbefore[14]}
  • daysafter permette di calcolare una data posteriore alla data del segnaposto valorizzato, ad esempio se vogliamo ottenere la data corrispondente a 1 settimana dopo l’inizio del corso possiamo usare il segnaposto {course.startDate|daysafter[7]}
  • lowercase cambia il valore del segnaposto in minuscolo, ad esempio per mostrare il nome del corso tutto in minuscolo usare il segnaposto {course.name|lowercase}
  • uppercase cambia il valore del segnaposto in maiuscolo, ad esempio per mostrare il nome del corso tutto in maiuscolo usare il segnaposto {course.name|uppercase}
  • uppercasefirst cambia il valore del segnaposto mettendo in maiuscolo la prima lettera, ad esempio per mostrare il nome del corso con la prima lettera in maiuscolo usare il segnaposto {course.name|uppercasefirst}

Se nel documento dovessero essere necessarie due versioni dello stesso segnaposto, una filtrata ed una non filtrata, basterà aggiungere un _ (trattino basso) alla seconda occorrenza del segnaposto, ad esempio usare {course.name|cut[5]} per mostrare il nome del corso abbreviato e {course_.name} per mostrare successivamente il nome del corso completo.

7. ELENCO SEGNAPOSTI DISPONIBILI PER I MODELLI DI FATTURA

Segnaposto company sezione ordini

Dati della azienda che emette la fattura. Le aziende in questione sono quelle configurate nel gestionale sotto Gestione fiscale → Impostazioni fiscali

Segnaposto invoice

Segnaposto items

Dati relativi ai dettagli della fattura, lista

Segnaposto vatrates

Dati relativi agli importi raggruppati per tipo di IVA

segnaposto installments sezione fatture

pagamenti rateizzati della fattura sezione fattura, lista

Segnaposto order sezione fattura

dati dell'ordine sezione fattura

Segnaposto orders sezione fattura

dati degli ordini sezione fattura, lista

Segnaposto course sezione ordini

dati relativi al corso sezione ordini, segnaposto valorizzato solo se nell'ordine è presente un solo corso, se nell'ordine è presente un modello di corso i dati vengono recuperati dal modello di corso

Segnaposto courses sezione ordini

dati relativi ai corsi sezione ordini, se nell'ordine sono presenti i modelli di corso i dati vengono recuperati dal modelli di corso, lista

Segnaposto student sezione ordini

dati dello studente dell'ordine sezione ordini, valorizzato solo se nell'ordine vi è un solo studente

Segnaposto students sezione ordini

dati degli studenti dell'ordine sezione ordini, lista

8. CARICAMENTO A SISTEMA DEL MODELLO DI FATTURA

Per inserire il modello della fattura nel sistema navigare su Configurazione → Reports e cliccare il pulsante “Aggiungi report“.
Dalla prossima schermata compilare i seguenti campi:

  • Nome*: il nome del report (ad esempio “Fattura personalizzata”, “Fattura Azienda 1”, “Fattura custom”, etc)
  • Descrizione: eventuale descrizione del modello di fattura
  • Tipo di report: da modello odt
  • Sezione in cui mostrare il report *: Fatture
  • Estensione del modello: OpenOffice Write (.odt)
  • Modello del report: caricare il modello di contratto in formato ODT
  • Seleziona tipo: selezionare il tipo di estensione del file che dovrà avere il contratto in sede di scaricamento o invio al cliente,  potendo scegliere tra:
    • OpenOffice Write (.odt)
    • Portable Document Format (.pdf)
  • Ordine *: l’ordine di elencazione dei report (es. 1, 2, 3, etc)

Cliccare il pulsante “Aggiungi report” per salvare l’operazione.

Dopo aver caricato il modello, entrare in modifica dello stesso (cliccando l’icona con la pennetta di modifica) e spuntare il checkbox “Abilitato” per abilitare l’esportazione del report dai corsi e cliccare uno dei due pulsanti in fondo alla pagina per salvare l’operazione.

Infine, cliccare l’icona sulla riga del modello caricato, per abilitare gli account amministrativi che potranno utilizzare il modello inserito.

9. UTILIZZO DEL MODELLO DI FATTURA

Entrando nella sezione Gestione Fiscale → Impostazioni fiscali e in modifica di una delle società sarà possibile scegliere il modello caricato come predefinito.

Con questa operazione al momento in cui verrà effettuato il download del pdf delle fatture nella sezione Gestione Fiscale → Fatture / Note di Credito il modello personalizzato verrà mostrato come predefinito nel menù a tendina.

10. MODELLO DI ESEMPIO

Lascia un commento

Devi essere loggato per lasciare un commento.