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
- Carica le regole attive dell'utente da
data-service. - Carica i movimenti
UNRECONCILED,AI_SUGGESTED,NEEDS_REVIEW,ERROR. - Applica eventuale scope: globale, proprietà, contratto, bank account.
- Calcola uno score per ogni regola candidata.
- Applica la prima regola che supera la soglia.
- Scrive audit in
reconciliation_decisions. - Aggiorna il movimento in
bank_transactions. - Crea split, spese o match verso elementi attesi.
Stati del movimento
| Stato | Significato |
|---|---|
UNRECONCILED | Movimento ancora da lavorare. |
AUTO_RECONCILED | Movimento riconciliato automaticamente. |
MANUALLY_RECONCILED | Movimento riconciliato manualmente. |
IGNORED | Movimento riconciliato ma non rilevante. |
AI_SUGGESTED | Movimento con proposta AI da confermare. |
NEEDS_REVIEW | Movimento che richiede revisione. |
ERROR | Movimento 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.