Workflow Riconciliazione Fatture (3-Way Match)

Visualizzazione del processo ibrido Agente AI / Operatore Umano

AGENTE AI (Automatico)
LOGICA (Check)
OPERATORE UMANO (Eccezione)
COMPLETATO
graph TD %% STILI DEI NODI classDef ai fill:#eff6ff,stroke:#3b82f6,stroke-width:2px,color:#1e3a8a,rx:5px,ry:5px; classDef human fill:#fef2f2,stroke:#ef4444,stroke-width:2px,color:#991b1b,rx:5px,ry:5px; classDef decision fill:#fff7ed,stroke:#f97316,stroke-width:2px,color:#9a3412,rx:50px,ry:50px; classDef success fill:#f0fdf4,stroke:#22c55e,stroke-width:2px,color:#14532d,rx:5px,ry:5px; classDef input fill:#f1f5f9,stroke:#64748b,stroke-width:2px,stroke-dasharray: 5 5,color:#334155; %% NODI INPUT Start[📥 Ingestione: XML SDI o PDF Email]:::input --> Parse(🤖 AI: Estrazione & Parsing Dati):::ai %% FASE 1: RICERCA Parse --> SearchPO{🔍 Ricerca Ordine Acquisto}:::ai SearchPO -->|Non Trovato| HumanPO[👤 UMANO: Identificazione Ordine]:::human SearchPO -->|Trovato| CheckPrice{💶 Prezzo Coerente?}:::decision %% FASE 2: CHECK PREZZO CheckPrice -->|Sì| CheckQty{📦 Quantità Coerente?}:::decision CheckPrice -->|No| CalcDiff[🤖 Calcola Delta Prezzo]:::ai CalcDiff --> Tolleranza{< 1€ Tolleranza?}:::decision Tolleranza -->|Sì| CheckQty Tolleranza -->|No| HumanPrice[👤 BUYER: Accetta o Contesta?]:::human %% FASE 3: CHECK QUANTITÀ CheckQty -->|Sì| AutoPost[🚀 REGISTRAZIONE CONTABILE]:::success CheckQty -->|No| CheckTransit{Merce in transito?}:::ai CheckTransit -->|Sì - Attesa 3gg| Wait[⏳ Sospendi e Riprova domani]:::ai CheckTransit -->|No - Merce Mancante| HumanWhs[👤 MAGAZZINO: Verifica Entrata]:::human %% GESTIONE UMANA RISOLUTIVA HumanPO -->|Corretto| CheckPrice HumanPrice -->|Accetta| UpdatePO[🤖 Aggiorna Prezzo Ordine]:::ai HumanPrice -->|Rifiuta| Dispute[📧 Email Reclamo Fornitore]:::input UpdatePO --> AutoPost HumanWhs -->|Trovata| FixGr[🤖 Carico Merce Retroattivo]:::ai FixGr --> AutoPost HumanWhs -->|Non Arrivata| Dispute
Fase 1: Ingestione & Match
L'Agente intercetta la fattura (XML/PDF) h24. Estrae i dati chiave e cerca nel gestionale l'Ordine di Acquisto corrispondente. Se i dati (Prezzo e Qtà) coincidono perfettamente, la fattura viene registrata senza toccare mano.
Fase 2: Gestione Prezzi
Se il prezzo differisce, l'AI verifica se rientra nella "soglia di tolleranza" (es. < 1€). Se la differenza è alta, blocca tutto e notifica il Buyer sulla Dashboard. Il Buyer decide se accettare (aggiornando l'ordine) o contestare.
Fase 3: Gestione Logistica
Se la fattura c'è ma la merce no (bolla mancante), l'AI verifica se è solo una questione di tempi tecnici (merce in viaggio). Se la merce manca davvero, attiva il magazziniere per un controllo fisico o avvia la contestazione.