Skip to content

Repository files navigation

InvoiceFlow_AI — Extraction automatique de factures

Objectif

InvoiceFlow_AI permet d'analyser automatiquement une facture PDF et d'afficher les informations extraites dans une interface web simple.

L'utilisateur importe directement un fichier PDF depuis l'interface. Le système extrait les informations importantes de la facture et affiche :

  • le fournisseur ;
  • la date ;
  • le numéro de facture ;
  • les lignes produits ;
  • les montants HT et TTC ;
  • les éventuels avertissements nécessitant une vérification humaine.

Installation rapide

1. Cloner le projet

git clone <url-du-repo>
cd InvoiceFlow_AI

2. Configuration de l'environnement Python

Créer et activer l'environnement virtuel :

python -m venv .venv

.\.venv\Scripts\activate

Installer les dépendances :

pip install pymupdf mistralai python-dotenv pydantic fastapi "uvicorn[standard]" python-multipart

3. Configurer la clé API Mistral

Créer un fichier .env à la racine du projet :

MISTRAL_API_KEY=votre_cle_api_mistral

Lancement de l'application

L'application est composée de deux parties :

  • une API FastAPI qui réalise l'extraction ;
  • une interface React permettant d'importer et consulter les factures.

1. Démarrer l'API

Depuis la racine du projet :

uvicorn api:app --reload --port 8000

L'API est disponible sur :

http://localhost:8000

2. Démarrer l'interface web

Ouvrir un nouveau terminal :

cd frontend

Installer les dépendances (première utilisation uniquement) :

npm install

Démarrer l'application :

npm run dev

Puis ouvrir l'adresse indiquée par Vite :

http://localhost:5173

Utilisation

  1. Ouvrir l'interface web.
  2. Cliquer sur "Importer une facture PDF".
  3. Sélectionner un fichier PDF.
  4. Attendre l'extraction automatique.
  5. Vérifier les informations affichées.

Les champs incertains ou non détectés sont signalés afin de permettre une validation humaine.


Fonctionnement général

PDF
 |
 ↓
API FastAPI
 |
 ↓
Pipeline d'extraction
 |
 ├── Extraction texte PDF
 |
 ├── OCR Mistral si nécessaire
 |
 ↓
Extraction structurée Mistral LLM
 |
 ↓
Validation des données
 |
 ↓
Affichage dans l'interface web

Structure du projet

InvoiceFlow_AI/
│
├── api.py                    # API FastAPI
├── pipeline_ocr_normal.py    # Orchestration du pipeline d'extraction
├── extraction_normal.py      # Extraction texte PDF
├── extraction_ocr.py         # OCR des documents scannés
├── llm_extraction.py         # Extraction structurée avec Mistral
├── models.py                 # Modèles de validation
├── .env                      # Clé API Mistral
│
└── frontend/
    └── src/
        └── App.tsx           # Interface React

Technologies utilisées

  • Python
  • FastAPI
  • Mistral OCR
  • Mistral LLM
  • Pydantic
  • PyMuPDF
  • React + TypeScript
  • Vite

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages