Come esportare/inviare la ricevuta dei contributi effettuati in un dato periodo

Dato un periodo selezionato, l'intento è quello di esportare un PDF contenente un elenco di contributi oppure inviare a donatori un PDF contenente i contributi ad essi associati e presenti nel periodo selezionato.

CiviCRM permette l'invio al donatore di una ricevuta collegata ad un contributo effettuato dal donatore stesso.

L'esigenza è di integrare questo strumento con la possibilità di inviare/stampare manualmente gruppi di PDF ciascuno dei quali contenente l'elenco dei contributi associato ad un singolo donatore. I contributi inviati possono essere selezionati all'interno di un periodo di tempo definito.

Per ottenere il risultato richiesto è possibile utilizzare gli strumenti messi a disposizione da CiviCRM.

Selezionando dal menù principale Contributi la voce Trova Contributi, si accede ad una maschera di ricerca in cui possono essere definiti vari filtri. Tra questi esistono i filtri per la selezione del Tipo di Finanziamento (es. Donazioni) e per la selezione delle date/intervalli data contributo.

Modulo Trova Contributi

Cliccando il pulsante Ricerca si accede ad un elenco di Contributi filtrati. Una volta selezionai i contributi desiderati dal menu a tendina Azioni scegliere Lettera di ringraziamento Contributi in PDF.

Contributi

Viene presentata una pagina in cui può essere definita la lettera ed il PDF da inviare/stampare.

Lettera Ringraziamento per Ricevuta

La maschera presente permette la creazione oppure modifica di un Modello di Messaggio con configurazione dei parametri/campi esistenti. Il PDF creato deve essere associato ad un donatore collegato ai contributi selezionati.

I principali parametri/campi da impostare sono i seguenti:

  • Aggiornamento o meno della data di ringraziamento per i contributi selezionati
  • Raggruppamento Contributi (ad esempio per Donatore), ciò permette l'invio di un unico PDF contenente tutti i contributi selezionati ed associati al donatore
  • Opzioni di stampa
    • Genera PDF per stampa  (un unico file PDF, una pagina per ogni contributo)
    • Invia Email dove possibile. Genera PDF stampabili per contatti che non possono ricevere email
    • Invia Email dove possibile. Genera PDF stampabili per tutti i contatti
  • Selezione modello di messaggio (opzionale)
  • Modifica/Creazione Corpo del messaggio
  • Aggiornamento modello selezionato oppure creazione di un nuovo modello

La parte centrale della Lettera di ringraziamento è il Corpo del messaggio in cui è possibile utilizzare dei token (segnaposto) per gestire i dati donatore e contributi da inserire. I token non sono altro che dei riferimenti a campi del database. Tra essi sono presenti quelli associati al donatore ed ai contributi.

I modelli di messaggio possono utilizzare Smarty in modo da includere in maniera desiderata token, variabili e funzioni. Ciò è indispensabile per poter raggiungere l'obiettivo richiesto.

Affinché questa modalità sia attiva è necessario modificare il file di impostazioni /sites/default/civicrm.settings.php valorizzando ad '1' la costante CIVICRM_MAIL_SMARTY:

    define( 'CIVICRM_MAIL_SMARTY', 1 );

Di seguito viene proposta una bozza in Html tratta dall'articolo Sending receipts and thank you letters. Tale bozza può essere inserita (e modificata) nel Corpo del Messaggio. Il codice seguente permette la visualizzazione di una tabella in cui sono elencati i contributi associati al donatore

    <p>Dear {contact.first_name}</p>
<p>Thank you for donating ${$contribution_aggregate} to help the arts during the 2014 financial year</p>
<p>Your donation is tax deductible and the details are given below.</p>
<p>with appreciation for your generosity,</p>
<p>the CEO</p>
  <table class="table" style="width: 500px;" border="1" cellspacing="0" cellpadding="2" align="left">
    <tbody>
      <tr>
        <th>Date</th>
        <th>Amount</th>
        <th>Receipt Number</th></tr>
    <!--
    {foreach from=$contributions item=contribution} {assign
    var="date" value=$contribution.receive_date|date_format:"%d %B
    %Y"}
  -->
      <tr>
        <td>{$date}</td>
        <td>{$contribution.total_amount}</td>
        <td>{$contribution.id}</td>
      </tr>
   <!--
    {/foreach}
 --></tbody>