Uploader une plaquette comptable
Formats acceptés, taille max, ce qui est lu automatiquement par l'IA.
L'upload de la plaquette comptable est la première étape de tout dossier AGOA dans PV-Express. Une seule plaquette PDF suffit : l'IA en extrait automatiquement l'identité de la société, les données financières et l'identité des dirigeants.
Formats acceptés
| Format | Statut | Détail |
|---|---|---|
| PDF natif (texte sélectionnable) | Recommandé | Lecture directe sans OCR, plus rapide et plus fiable |
| PDF scanné (image) | Supporté | Passe par l'OCR Mistral souverain UE |
| PDF CERFA pré-rempli | Supporté | OCR + détection des cases |
| Excel / CSV (.xlsx, .csv) | V2 (à venir) | Pas encore supporté, prévu Q3 2026 |
| Liasse fiscale EDI | Non supporté | Format technique sans structure de plaquette |
| Image isolée (JPG, PNG) | Non supporté | Compresser dans un PDF avant upload |
Taille maximum
- Limite par fichier : 50 Mo
- Limite recommandée : < 20 Mo pour un traitement < 30 secondes
- Au-delà de 50 Mo : compresser via Adobe ou un outil comme Smallpdf avant upload, ou contacter le support pour augmenter la limite sur votre plan.
Le pipeline 3 étapes
Une fois le PDF uploadé, le pipeline IA enchaîne automatiquement :
1. OCR — Mistral souverain UE
Si le PDF n'est pas natif (texte non sélectionnable), il passe par l'OCR Mistral hébergé dans l'UE. Aucun envoi vers des serveurs hors UE, conforme RGPD strict.
2. Extraction LLM
Le texte brut est envoyé à Claude Sonnet 4.7 avec un prompt structuré qui extrait :
- Identification société (raison sociale, SIREN, forme juridique, capital, adresse, RCS)
- Exercice (date d'ouverture, date de clôture, durée)
- Données financières (CA, résultat net, total bilan, capitaux propres, réserve légale, report à nouveau)
- Dirigeants (président, gérant, DG, avec date de nomination)
- Cabinet expert-comptable (raison sociale, ordre, contact)
3. Parsing structuré
Le retour LLM est validé contre un schéma Zod strict, puis stocké dans
le champ raw_extraction du dossier. La page de révision affiche ces
données pour validation par le collaborateur.
Durées typiques
| Étape | Durée |
|---|---|
| Upload PDF (10 Mo, fibre) | 2 s |
| OCR Mistral (PDF scanné 10 pages) | 12 s |
| Extraction LLM Claude Sonnet | 18 s |
| Parsing + sauvegarde DB | 2 s |
| Total | ~35 s |
Pour un PDF natif, l'étape OCR est sautée — le total descend à ~22 s.
Limites techniques
Chunking PDF
Au-delà de 700 Ko de texte brut extrait, le PDF est automatiquement découpé en chunks pour rester sous la limite de l'API d'extraction. Chaque chunk est traité indépendamment puis fusionné. La logique de fusion privilégie le chunk avec le score de confiance le plus élevé en cas de conflit.
Retry exponentiel
L'OCR peut échouer sur un PDF mal encodé. Le pipeline applique
3 tentatives avec backoff exponentiel (0 s, 2 s, 5 s) avant de
remonter une erreur. En cas d'échec final, le dossier passe en statut
error avec un message explicite et un bouton "Réessayer" sur la
fiche dossier.
Fallback LLM
Si Claude Sonnet retourne une erreur 5xx ou un timeout, le pipeline
bascule automatiquement sur Mistral Large 2 (souverain UE). Le résultat
est annoté dans raw_extraction.fallback_used: true pour audit.
Cas non supportés actuellement
- Excel et CSV : prévu en V2 (Q3 2026). En attendant, exporter l'Excel en PDF via Excel > Fichier > Exporter > PDF.
- Liasse fiscale CERFA en EDI : format technique réservé aux télédéclarations DGFiP, pas de structure de plaquette exploitable.
- Photos prises au smartphone : trop bruitées pour un OCR fiable. Scanner le document avec une app dédiée (Adobe Scan, Microsoft Lens) qui produit un PDF propre.
Sécurité de l'upload
Tous les PDFs sont stockés dans Supabase Storage avec chiffrement at-rest AES-256. L'accès est limité au tenant via Row Level Security (RLS) Postgres : aucun cabinet ne peut accéder aux PDFs d'un autre cabinet, même par exploitation d'une faille applicative. Voir Audit log pour la traçabilité complète.
Et après ?
Une fois l'extraction terminée, le dossier passe automatiquement au
statut review. Direction la page de révision pour valider ou corriger
les champs : voir Réviser et valider les données extraites.