Skip to content

Ucf-b/Receipt-Expense-Tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Receipt-Expense-Tracker

Projet Python permettant d’analyser des tickets de caisse (format pdf), d’associer automatiquement chaque article à une catégorie de dépense via une base SQLite locale, puis de générer un fichier Excel de suivi budgétaire avec une synthèse des dépenses par catégorie.

Disclaimer:

Ce projet n’est ni affilié, ni sponsorisé, ni approuvé par Intermarché.

Objectif

L’objectif du projet est de :

  • Lire un ticket de caisse brut
  • Extraire et structurer les articles
  • Associer chaque article à une catégorie de dépense
  • Exporter les données vers un fichier Excel
  • Générer automatiquement une synthèse des montants par catégorie

Il permet ainsi de transformer des tickets de caisse en un outil simple de suivi budgétaire.

Architecture du projet

Le projet est organisé en 4 fichiers principaux :

DB_manager.py

Contient :

  • L’initialisation de la base de données SQLite mappings.db
  • La gestion des connexions Les fonctions permettant :
  • d’ajouter des mappings (article → catégorie)
  • de récupérer les catégories
  • de maintenir la base de correspondances Base utilisée :
  • SQLite (sqlite3)

Fichier local : mappings.db

formatting.py

Responsable du parsing des tickets :

  • Extraction des lignes utiles
  • Séparation des articles
  • Nettoyage du texte
  • Utilisation d’expressions régulières (re)
  • Retour d’une liste structurée d’articles

Receipt_Reader.py

Fichier principal (main). Il :

  • Lit un ticket de caisse
  • Appelle le module formatting
  • Associe chaque article à une catégorie via DB_manager
  • Crée / met à jour un fichier Excel
  • Écrit les données structurées

Librairies utilisées :

  • pandas
  • openpyxl
  • sqlite3
  • pathlib
  • typing
  • os
  • subprocess

sum_by_cat.py

Script exécuté après génération du fichier Excel. Il :

  • Lit le fichier Excel
  • Calcule la somme des montants par catégorie
  • Génère une seconde feuille récapitulative
  • Met en forme les résultats (ex: police en gras via openpyxl.styles.Font)

Dépendances

pip install pandas openpyxl

Utilisation

Initialiser la base de données

Au premier lancement, DB_manager.py crée automatiquement mappings.db.

Lancer le programme principal

python Receipt_Reader.py Cela :

  • Parse le ticket
  • Génère / met à jour le fichier Excel
  • Ajoute les lignes d’achats

Générer la synthèse par catégorie

python sum_by_cat.py Une seconde feuille est ajoutée au fichier Excel avec :

  • Les catégories
  • Le total dépensé par catégorie

About

Outil Python permettant de parser des tickets de caisse Intermarché, associer les articles à une base de données locale de catégories de dépenses (SQLite) et générer un fichier Excel de suivi budgétaire avec synthèse automatique par catégorie.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages