Une application web Streamlit pour la vérification en masse de numéros de TVA européens via l'API VIES (Validation Information Exchange System) de la Commission Européenne.
- Validation en masse : Traitement de fichiers Excel contenant plusieurs numéros TVA
- Interface intuitive : Interface web simple et claire avec Streamlit
- Gestion d'erreurs robuste : Retry automatique, gestion des timeouts, traitement par lots
- Export multiple formats : Téléchargement des résultats en Excel et CSV
- Statistiques en temps réel : Suivi de la progression et statistiques de validation
- Configuration avancée : ParamÚtres personnalisables pour les délais et tentatives
MS Code: Code pays à 2 lettres (FR, DE, IT, ES, etc.)VAT Number: Numéro de TVA à valider
Requester MS Code: Code pays du demandeurRequester VAT Number: Numéro TVA du demandeur
Si les colonnes optionnelles sont absentes, les valeurs par défaut configurées dans l'interface seront utilisées.
MS Code | VAT Number | Requester MS Code | Requester VAT Number
FR | 12345678901 | FR | 98765432109
DE | 123456789 | |
IT | 12345678901 | |
- Charger un fichier Excel avec les colonnes requises
- Configurer les paramÚtres dans la barre latérale (optionnel)
- Lancer la vérification et suivre la progression
- Consulter les résultats et statistiques
- Télécharger les résultats en Excel ou CSV
- Requester MS : Code pays par défaut du demandeur (défaut: FR)
- Requester VAT : Numéro TVA par défaut du demandeur
- Delay : DĂ©lai entre les requĂȘtes API (dĂ©faut: 1.5s)
- Retries : Nombre de tentatives en cas d'échec (défaut: 2)
- Chunk size : Taille des lots de traitement (défaut: 10)
- Chunk pause : Pause entre les lots (défaut: 3s)
- Timeout : Timeout des requĂȘtes HTTP (dĂ©faut: 10s)
- Python 3.8+
- pip
# Cloner le repository
git clone https://github.com/votre-username/smdlabtech-vat-vies-validator-batch-excel.git
cd smdlabtech-vat-vies-validator-batch-excel
# Installer les dépendances
pip install -r requirements.txt
# Lancer l'application
streamlit run app/main.pyL'application sera disponible sur http://localhost:8501
Cette application utilise l'API REST VIES officielle de la Commission Européenne :
- URL :
https://ec.europa.eu/taxation_customs/vies/rest-api/check-vat-number - Méthode : POST
- Format : JSON
- Limite de taux : Respect nĂ©cessaire des limites (d'oĂč les dĂ©lais configurables)
Tous les pays membres de l'Union Européenne : AT, BE, BG, CY, CZ, DE, DK, EE, ES, FI, FR, GR, HR, HU, IE, IT, LT, LU, LV, MT, NL, PL, PT, RO, SE, SI, SK
- MS Code : Code pays d'origine
- VAT Number : Numéro TVA vérifié
- valid : Statut de validation (True/False)
- name : Nom de l'entreprise (si disponible)
- address : Adresse de l'entreprise (si disponible)
- Requester MS Code : Code pays du demandeur
- Requester VAT Number : Numéro TVA du demandeur
- Attempts : Nombre de tentatives effectuées
- timestamp : Horodatage de la vérification
- error : Message d'erreur (si applicable)
smdlabtech-vat-vies-validator-batch-excel/
âââ app/
â âââ main.py # Application Streamlit principale
âââ requirements.txt # DĂ©pendances Python
âââ .streamlit/
â âââ config.toml # Configuration Streamlit
âââ README.md # Documentation
âââ LICENSE # Licence MIT
âââ Test_Check_VAT.xlsx # Fichier de test
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
- Timeout Streamlit Cloud : Sessions limitées à quelques minutes
- Taille de fichier : Limité par la mémoire disponible
- Pas de stockage persistant : Les données ne sont pas sauvegardées entre les sessions
- Fichiers volumineux : Diviser en plusieurs fichiers plus petits
- Erreurs 429 : Augmenter les dĂ©lais entre requĂȘtes
- Timeouts : Augmenter la valeur du timeout pour les connexions lentes
- Traitement par lots : Ajuster la taille des chunks selon les performances
- L'API VIES peut ĂȘtre temporairement indisponible
- Certains numĂ©ros TVA valides peuvent ĂȘtre rejetĂ©s par l'API
- Les réponses peuvent varier selon la charge du serveur VIES
Pour signaler un bug ou demander une fonctionnalité :
- Ouvrir une issue sur GitHub
- Fournir un fichier de test Excel
- Inclure les paramÚtres utilisés et les messages d'erreur
Les contributions sont les bienvenues ! Merci de :
- Fork le projet
- Créer une branche pour votre fonctionnalité
- Commiter vos changements
- Pousser vers la branche
- Ouvrir une Pull Request