Skip to main content

Flusso di riconciliazione

Il motore viene eseguito tramite reconciliation-service.

Endpoint principale:

POST /reconciliation-service/reconciliation/run

Esempio:

{
"scopeType": "GLOBAL",
"scopeId": null,
"dryRun": false,
"limit": 100,
"minScore": 0.75,
"triggerType": "MANUAL"
}

Passi eseguiti

  1. Carica le regole attive dell'utente da data-service.
  2. Carica i movimenti UNRECONCILED, AI_SUGGESTED, NEEDS_REVIEW, ERROR.
  3. Applica eventuale scope: globale, proprietà, contratto, bank account.
  4. Calcola uno score per ogni regola candidata.
  5. Applica la prima regola che supera la soglia.
  6. Scrive audit in reconciliation_decisions.
  7. Aggiorna il movimento in bank_transactions.
  8. Crea split, spese o match verso elementi attesi.

Stati del movimento

StatoSignificato
UNRECONCILEDMovimento ancora da lavorare.
AUTO_RECONCILEDMovimento riconciliato automaticamente.
MANUALLY_RECONCILEDMovimento riconciliato manualmente.
IGNOREDMovimento riconciliato ma non rilevante.
AI_SUGGESTEDMovimento con proposta AI da confermare.
NEEDS_REVIEWMovimento che richiede revisione.
ERRORMovimento non processato correttamente.

Dry run

Con dryRun: true il motore calcola i match ma non scrive:

  • decisioni;
  • split;
  • spese;
  • match affitto/spese;
  • update dei movimenti.

È utile per testare una nuova regola prima di applicarla.