Automatic generation and e-mailing of french fiscal receipts (cerfa 11580).
Génération et envoi automatique de reçus fiscaux par e-mail (cerfa 11580*3) à partir de données individuelles au format CSV, sous linux.
Il n'y a pas d'installation à proprement parler, sinon des dépendances.
$ git clone https://github.com/fdebellabre/fiscal-receipts && cd fiscal-receipts
Création d'un environnement virtuel (facultatif), par exemple :
$ virtualenv venv
$ . venv/bin/activate
Installation des dépendances :
$ sudo apt-get install pdfjam pdftk ps2pdf imagemagick
$ python3 -m pip install -r requirements.txt
pdfjam
requiert une installation à jour de LaTeX comportant le paquet pdfpages
.
Génération de reçus fiscaux dans le dossier output/pdf
:
$ python3 fiscal-receipts/__main.py__
Génération et envoi automatique d'e-mails :
$ python3 fiscal-receipts/__main.py__ --send
Le programme garde trace des e-mails envoyés. Si une erreur survient au cours de l'envoi, il suffit de relancer le programme pour poursuivre l'envoi des e-mails (le programme reprendra là où il s'était arrêté et n'enverra pas deux fois le même e-mail).
Remplacer les fichiers du dossier input
:
contacts.csv
est le CSV contenant les données individuelles et doit comprendre les colonnesnom
,prenom
,adresse
,code
,commune
,montant
. Il peut aussi contenir les colonnesemail
,date
,forme
,nature
,mode
,num_ordre
, pour spécifier l'adresse mail du donateur, la date du don, sa forme, sa nature, son mode de versement, le numéro d'ordre du reçu.params.json
spécifie le montant minimum à partir duquel il faut générer un reçu fiscal, ainsi que les valeurs par défaut pour les colonnesdate
,forme
,nature
,mode
, lorsqu'elles sont incomplètes ou absentes (pour ces trois dernières,0
correspond à ne rien cocher,1
à cocher la première modalité,2
la deuxième, etc.).organisation.json
spécifie les caractéristiques du bénéficiaire (nom, adresse, objet). Pour l'attributtype
, rentrer le numéro de la case à cocher (par exempl5
pour Musée de France).email.json
spécifie les paramètres liés à l'envoi des e-mails (adresse, serveur SMTP, objet des mails).email.txt
est le corps de l'e-mail. Il peut être personnalisé à l'aide des arguments{prenom}
,{nom}
,{montant}
et{date}
.signature.*
est la signature du bénéficiaire des dons (au formatjpg
,png
,svg
,pdf
, etc.).
En cas d'absence de numéro d'ordre du reçu, un numéro à 20 chiffres sera généré automatiquement. Ses 6 premiers chiffres correspondent à la date du don (format yymmdd
) et les 14 chiffres suivants sont générés à partir des caractéristiques individuelles. Cela donne un numéro ordonné selon la date du don et unique, conformément à ce que demande la loi.
En cas d'utilisation d'un compte Gmail, il faut commencer par activer la connexion depuis des applications "moins sécurisées".
Les paramètres SMTP sont spécifiques au fournisseur de messagerie. En voici quelques exemples :
Fournisseur de messagerie | Serveur SMTP | Port |
---|---|---|
Gmail | smtp.gmail.com | 587 |
Outlook | smtp.office365.com | 587 |
Yahoo | smtp.mail.yahoo.com | 587 |