Carrefour NC · Skazy Data

Océrisation
des factures
fournisseurs

Pipeline IA · Hybride · Gemini
6
6SVC
Microservices
Mail2Docs · ClassiDocs
BillScan · DocHub
ocr-main · Orchestration
Stack technique
PythonServices IA
Gemini FlashOCR · Classification
LaravelHub central API
Docker ComposeOrchestration
StreamlitInterfaces métier
MariaDBPersistance
Pipeline de traitement
01Mail2DocsIMAP · Graph API
02ClassiDocsGemini · PyPDF
03BillScanOCR structuré
04DocHubLaravel · RBAC
05Export METIFAMLF.* · CFP
À propos

Pipeline end-to-end d'acquisition, classification IA, extraction OCR et export METIFA pour la gestion automatisée des factures fournisseurs Carrefour Nouvelle-Calédonie. Devise locale XPF, format METI.

Sortie finale
MLF.{ref}
AAA · FFE · FFG · FFH
FFL × N lignes article
FFP · ZZZ
Devise CFP · MTTVA = 0
skazy.nc · Nouvelle-Calédonie
Service 01 · Acquisition
01
Mail2Docs

Collecte automatique des pièces jointes PDF depuis une boîte mail dédiée via IMAP ou Microsoft Graph API.

  • Fonctionnalités
  • 4 modes d'authentification
  • Filtres expéditeur, sujet, date, extension
  • Mark as read + archivage automatique
  • Nommage SHA-1 anti-collision
  • Logs structurés temps réel

Schéma animé

Fournisseur scan PDF Boîte mail dédiée IMAP Graph SSL · OAuth2 Backend main.py DL · filtre hash · archive Stockage ./data/ YYYY-MM-DD/ {hash}.pdf Streamlit UI live logs subprocess.Popen → IMAP/Graph → DL MIME → hash + écriture → logs UI PROTOCOLES VOLUMES · SORTIE IMAP Basic Auth basic / xoauth2 · SSL · Azure AD Microsoft Graph API Auth Azure AD · app token ./data/ PJ brutes · YYYY-MM-DD/ ./logs/ job_*.log lus en temps réel

Authentifications

IMAP Basic Auth
Gmail · App Password
basic
XOAUTH2 IMAP
Gmail · OAuth2
xoauth2
Microsoft 365
Device Code · Azure AD
xoauth2_365
Microsoft Graph
Office 365 · OAuth2
graph_app

Structure de sortie

DATA_DIR /
YYYY / MM / DD /
{date}_{hash10}_{sujet}.pdf

Variables de filtrage

FROM_FILTER
SUBJECT_FILTER
DAYS_BACK
UNREAD_ONLY
ALLOWED_EXTENSIONS
ARCHIVE
MARK_AS_READ
GRAPH_TOP
Service 02 · Classification
02
ClassiDocs

Classification IA et découpe de PDFs multi-documents par fournisseur et type, via Gemini Files API page par page.

  • Fonctionnalités
  • Upload PDF via Gemini Files API
  • Classification page par page
  • Listes fournisseurs / magasins injectées
  • Arizona → Express, Champion → Market
  • Découpe PyPDF + nommage structuré

Schéma animé — découpe intelligente

PDF multi-docs pages mélangées GEMINI Files API page par page → groupe_doc CLASSIF. JSON {"type":"Facture" "groupe":1 "fournisseur":"X" "magasin":"Y"} par page PYPDF Découpe 1 PDF / groupe OUT Fac/ Four/ YYYY/ MM/DD ↑ Listes /shops + /suppliers depuis DocHub → injection dans prompts Gemini

Pipeline

PDF entrant
multi-docs
Files API
upload Gemini
Classification
page par page
Groupement
groupe_document
Découpe PDF
PyPDF
Classement
fournisseur/date

Types

Facture
Document de facturation
Avoir
Note de crédit
Autre
BL, devis, etc.

Règles prompt

  • Listes magasins injectées
  • Listes fournisseurs injectées
  • groupe_document (int)
  • Date ISO YYYY-MM-DD
  • Page blanche nouveau groupe

Sortie

documents_decoupes/
YYYY/MM/DD/
{type}/
{fournisseur}/
Facture_{N°}.pdf
google-genaiPyPDFStreamlit
Service 03 · Extraction OCR
03
BillScan

Extraction OCR structurée des lignes articles depuis tickets et factures PDF. Contrôles arithmétiques HT/TTC automatiques.

  • Fonctionnalités
  • Prompt bilingue FR + Anglo-saxon
  • Montants XPF entiers purs
  • Contrôles Decimal ROUND_HALF_UP
  • reference vs code_ean (EAN-13)
  • Envoi API DocHub optionnel

Schéma animé — extraction + contrôles

FACTURE PDF N lignes OCR HYBRIDE Traditionnel + LayoutLM + NLP entités + Gemini Flash formats FR + EN JSON GEMINI [{"code_ean" "quantite" "prix_unit_ht" "tgc" "designation"},…] COHÉRENCE ht=unit×qte Σ ligne_ht ht×(1+tgc) Σ ttc_ligne Erreur bloquante : identification incorrecte → empêche injection METI Alerte non bloquante : écart prix → opérateur statue en connaissance de cause

Schéma JSON Gemini

libellestring
referencecode interne
code_eanEAN-13
quantiteentier
tgc% NC
prix_unitaire_htXPF
prix_total_htXPF

Formats numériques

Français
1 234,56 → 1234
Anglo-saxon
48,106.00 → 48106
XPF NC
ROUND_HALF_UP · 0 décimale

Contrôles arithmétiques

ht = unit × quantite
Cohérence ligne
✓ bloquant
Σ ht_ligne = total_ht
Cohérence totaux
✓ bloquant
ttc = ht × (1 + tgc)
Cohérence TGC
✓ bloquant
Σ ttc_ligne = total_ttc
Cohérence TTC
△ alerte
Service 04 · Hub central
04
DocHub

API centrale Laravel. Réception OCR, validation métier tri-phases, RBAC et export METIFA vers le système central METI NC.

  • Fonctionnalités
  • Pipeline 3 phases : Produit → Prix → TGC
  • RBAC route-level avec wildcards group.*
  • API REST Basic Auth : shops, suppliers, document
  • Export METIFA : FFE + FFL + FFP, devise CFP
  • Livewire UI · prévisualisation PDF proxy

Schéma animé — pipeline JSON → METI NC

BillScan JSON POST /api PHASE 1 Product Validator EAN → produit supplier_ref PHASE 2 Price Validator vs METI · promos PHASE 3 Tax Validator TGC vs TVA REMÉDIATION Interface Livewire RBAC 3 rôles METI NC CSV METI → DocHub · CRON quotidien · suppression + réimport validated errored pending done done_errors

Modèles de données

Document

ref · date
supplier_id
store_id
total_ht · ttc
status · type

Document\Line

name · ean
qty · tax
unit_price
total_price
product_id

Supplier

code · name
alias
type (F/L/E)
api_enabled

CostPrice

meti_ref
supplier · store
tar_dttr
cost_price

Pipeline de validation

Phase 1

ProductValidator

  • article non identifié
  • doublon fournisseur
  • fournisseur non trouvé
Phase 2

PriceValidator

  • prix promo incorrect
  • prix unitaire HT
  • prix non trouvé
Phase 3

TaxValidator

  • TGC incorrecte

Référentiel METI solution

CSV exportés depuis METI
dépôt sur la VM, dossier dédié
CRON quotidien · purge + réimport
articles · codes-barres · tarifs · promos

API REST

GET/api/shopsCODE_MAGASIN + alias
GET/api/suppliersFOU_CDFO, FOU_NM + alias
POST/api/documentImport OCR validation document

Export METIFA METI NC

AAAFFEFFGFFHFFLFFPZZZ

Texte largeur fixe · Devise CFP (≠ ISO XPF) · MTTVA = 0 · ZIP multi-documents

Gouvernance & contrôle

Au-delà
de l'extraction

La solution gère aussi les droits utilisateurs, le rapprochement des avoirs et le suivi de complétude des lots.

Sécurité

RBAC à 3 rôles

Droits fins par profil métier.

Administrateur · seuils + utilisateurs
Comptable · remédiation
Auditeur · lecture seule + logs
Comptabilité

Avoirs quanti / quali

Deux logiques de rapprochement.

Quantitatif · Bon de Réception
Qualitatif · dossiers de litiges ERP
Monitoring

Contrôle de complétude

Dashboard de suivi des lots.

Fichiers déposés vs passés en OCR
zéro perte entre source et injection