Skip to content
README.md 2.12 KiB
Newer Older
Anthony Jacob's avatar
Anthony Jacob committed
# script-invoice

Anthony Jacob's avatar
Anthony Jacob committed
script-invoice est un script python qui permet de générer des factures au format docx et pdf à partir \
Anthony Jacob's avatar
Anthony Jacob committed
d'un fichier Excel (paramètre **EXCEL_FILE** dans le fichier .env)
Anthony Jacob's avatar
Anthony Jacob committed

Anthony Jacob's avatar
Anthony Jacob committed
Le script permet de choisir depuis quelle feuille générer les factures. \
Il prend en compte une ligne de début et une ligne de fin. \
Parmi ces lignes, seules celles avec un numéro de facture seront prises en compte pour la génération des factures
Anthony Jacob's avatar
Anthony Jacob committed

Anthony Jacob's avatar
Anthony Jacob committed
le script se sert d'un template docx comme modèle (**TEMPLATE_WORD** dans le fichier .env) 

Chaque facture sera ensuite générée et placée dans un sous dossier par client 
(l'emplacement des factures et des sous dossier se définit avec le paramètre **INVOICE_FOLDER** dans le fichier .env) 

Anthony Jacob's avatar
Anthony Jacob committed
## Installation
Anthony Jacob's avatar
Anthony Jacob committed

Anthony Jacob's avatar
Anthony Jacob committed
j'ai développé ce projet avec Python 3.8.2
Anthony Jacob's avatar
Anthony Jacob committed

Anthony Jacob's avatar
Anthony Jacob committed
il nécessite Microsoft Windows, Microsoft Word et [Microsoft Visual C++ Redistributable ](https://learn.microsoft.com/fr-fr/cpp/windows/latest-supported-vc-redist?view=msvc-170)

Anthony Jacob's avatar
Anthony Jacob committed

Anthony Jacob's avatar
Anthony Jacob committed
**Cloner le repo avec**
Anthony Jacob's avatar
Anthony Jacob committed

```
Anthony Jacob's avatar
Anthony Jacob committed
git clone https://gitlab.anthony-jacob.com/anthony.jacob/script-invoice.git
Anthony Jacob's avatar
Anthony Jacob committed
```

Anthony Jacob's avatar
Anthony Jacob committed
**Creer un environement virtuel Python**
Anthony Jacob's avatar
Anthony Jacob committed

Anthony Jacob's avatar
Anthony Jacob committed
```
cd script-invoice
python -m venv venv
```
Anthony Jacob's avatar
Anthony Jacob committed

Anthony Jacob's avatar
Anthony Jacob committed
**Activer l'environement virtuel**
Anthony Jacob's avatar
Anthony Jacob committed

Anthony Jacob's avatar
Anthony Jacob committed
`venv\Scripts\activate.bat`
Anthony Jacob's avatar
Anthony Jacob committed

Anthony Jacob's avatar
Anthony Jacob committed
**Installer les dépendances**
Anthony Jacob's avatar
Anthony Jacob committed

Anthony Jacob's avatar
Anthony Jacob committed
`pip install -r requirements.txt`
Anthony Jacob's avatar
Anthony Jacob committed

Anthony Jacob's avatar
Anthony Jacob committed
si l'installation de [lxml](https://lxml.de/installation.html) échoue, \
vous pouvez utiliser [les binaires sur PyPI](https://pypi.org/project/lxml/#files) \
ou [les builds non officiel de Christoph Gohlke](https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml)

**Configurer le programme**

le fichier *.env* contient 3 paramètres \
EXCEL_FILE=le chemin vers le fichier Excel contenant les informations de facturation
INVOICE_FOLDER=le dossier qui contiendra tous les sous dossier client
TEMPLATE_WORD=le chemin vers le template docx utilisé pour générer les factures


Anthony Jacob's avatar
Anthony Jacob committed
**Lancer le programme**
Anthony Jacob's avatar
Anthony Jacob committed

Anthony Jacob's avatar
Anthony Jacob committed
soit en ligne de commande: 
Anthony Jacob's avatar
Anthony Jacob committed

Anthony Jacob's avatar
Anthony Jacob committed
`python main.py`
Anthony Jacob's avatar
Anthony Jacob committed

Anthony Jacob's avatar
Anthony Jacob committed
soit en double cliquant sur **generer.bat**
Anthony Jacob's avatar
Anthony Jacob committed

Anthony Jacob's avatar
Anthony Jacob committed
(generer.bat permet d'activer l'environnement virtuel Python avant d'exécuter main.py\
il faut cependant **modifier le fichier pour y indiquer le bon chemin**)
Anthony Jacob's avatar
Anthony Jacob committed