Non voglio monopolizzare la discussione e portarla fuori tema, pero’:
Il mio timore e’ che purtroppo nessuno e’ in grado di parlare alle macchine e imporre loro sul momento di eseguire operazioni anche ragionevoli, occorre sempre un po’ di progettazione e programmazione, operazione quest’ultima che è prerogativa di pochi e, in un sistema avviato, e’ prerogativa di chi detiene il sistema. In questo caso direi il PT, l’EC ha ben poca voce in capitolo sui dettagli specie quando si parla delle caldeggiate soluzioni SaaS.
E’ parzialmente cosi’: la scadenza è un dato che il PT non chiede ai gestionali che dialogano con lui; i pagamenti, come dicevo, restano in vita a tempo indeterminato. Fino a poco tempo fa ci dava possibilità solo di cancellarli (o disabilitarli) da sua interfaccia web o da comando del gestionale. Dopo alcune interlocuzioni ha implementato dei meccanismi per consentire agli EC di modificare alcuni dati a IUV invariato (questo solo da comando del gestionale).
Tirando le somme, la disabilitazione/cancellazione/indisponibilità del pagamento dell’avviso dipende da più software che operano con logiche differenti. Nel nostro caso in realta’ i software sono 3: il gestionale del servizio, un “middleware” che raccoglie le esigenze di pagamento di tutti i gestionali e dialoga col PT, il software del PT che gestisce i pagamenti in attesa e il dialogo col nodo dei pagamenti. Visto che ciascun software, in assenza di standard, linee guida o indicazioni, ha implementato suoi metodi per gestire la scadenza, mi ritrovo in questa situazione:
- il PT si attende che il middleware gli comunichi di disabilitare l’avviso;
- il middeware gli avrebbe volentieri comunicato al’inizio di disabilitarlo dopo D (variabile) giorni dalla data di scadenza pagamento ma, non avendolo potuto fare, adesso si attende che sia il gestionale a comunicare la cessazione dell’esigenza di pagamento cosi’ da comunicare al PT di disabilitare il corrispondente avviso;
- il gestionale del servizio è in grado di comunicare la cessazione dell’esigenza di pagamento solo se quel pagamento non ha mai avuto ragione di essere, non perche’ si intenda mandarlo alla riscossione coattiva (in un circolo kafkiano, se volessi avviare un procedimento di riscossione coattiva di un debito dovrei cancellare dal mio sistema la traccia-presupoosto del debito).
Cosi’ quando decideremo (presto) di passare ala riscossione coattiva di qualche migliaia di avvisi, o accettiamo di mantenere gli avvisi iniziali attivi o cancelliamo le posizioni debitorie dai nostri sistemi rinunciando alle prove dei debiti insoluti. Oppure ancora estraiamo i dati degli avvisi da bloccare e chiediamo al PT di intervenire manualmente, cosa che non è particolarmente elegante.
A parole la soluzione è anche facile ma, a parte la programmazione prerogativa di chi programma e gestisce quei software, c’e’ anche da considerare che si tratta di software commercializzati verso la pluralità di amministrazioni e che in ogni amministrazione si trovano potenzialmente a interagire con altri software.
Si è capito che la gestione del database condiviso dei pagamenti pagoPA in attesa in tutta Italia è “fuori dal perimetro di pagoPA”, che si preoccupa solo del formato di scambio attraverso il nodo. Per il resto ogni EC (cioè ogni PT) si tiene il suo pezzo di database con la struttura dati e le logiche che preferisce.
Per quello proponevo, e posso farlo sul github se ritenete, che l’esplicitazione verso il nodo di una data di scadenza dell’avviso che viaggia sempre insieme ai dati scambiati fra gli attori di pagoPA potrebbe spingere i vari sistemi di pagamenti pagoPA degli EC/PT a uniformare le logiche di funzionamento.
Conclusione: servirebbe qualcuno che si preoccupi anche di cosa avviene fuori dal perimetro, altrimenti e’ la giungla.