1 Realizzare il nuovo Corporate Banking Interbancario Disposizione di pagamento XML Rif. STIP-ST-001 (002) (003) v 00.03.00 A cura della Segreteria Tecnica, Associazione per il CBI – ACBI – www.acbi.it 2 Agenda www.acbi.it 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 1.1 Workflow di servizio 1.2 Struttura dei messaggi veicolati 1.3 Tracciato dei messaggi veicolati 2 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 1.1 Overview www.acbi.it Caratteristiche funzionali principali unico standard XSD con regole applicative di gestione (controlli) diverse sulla base di tre tipologie di distinte: Bonifici SEPA Bonifici Italia Emissione Assegni Disposizioni di pagamento Italia Lo standard si chiama “Disposizioni di Pagamento XML” e a tendere dovrà sostituire l’attuale servizio di PORTING-PC Ai fini della veicolazione e per fornire un riscontro immediato al cliente verranno pubblicati sul Directory ACBI due servizi differenti: Disposizioni di pagamento SEPA Disposizioni di pagamento Italia I messaggi di stato avanzamento inviati all’ordinante a seguito dei controlli sostanziali rivestono carattere di selettività (solo su richiesta del Mittente/Ordinante) per i Bonifici SEPA e i Bonifici Italia, mentre sono automatici per le richieste di emissione assegni I messaggi fisici di richiesta di servizio rispettano il seguente criterio di omogeneità relativo alla tipologia di distinte ivi contenute, in coerenza con i due servizi pubblicati: Tutte le distinte sono relative a bonifici SEPA Tutte le distinte sono relative a bonifici Italia o emissione assegni 3 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 1.1 Workflow di servizio – Definizioni preliminari www.acbi.it Messaggio fisico di richiesta servizio (richiesta servizio) Rappresenta il messaggio XML veicolato sulla rete CBI Ogni messaggio di richiesta servizio risulta omogeneo per: mittente “logico” (Banca Mittente); destinatario “logico” (Banca Ricevente); soggetto di riferimento del destinatario “logico” (es. STD, GPA); indirizzo di Rete Logica del soggetto di riferimento; tipologia di entità logiche veicolate (cfr. definizioni seguenti) Ogni richiesta di servizio sarà veicolata in modalità file+messaggio qualora la dimensione della stessa superi 1MB Messaggio logico di richiesta pagamento (richiesta pagamento) Rappresenta l’entità logica di base tramite la quale l’ordinante richiede alla Banca Passiva, tramite la propria Banca Proponente, il pagamento di una distinta. Ogni richiesta di pagamento contiene solo una distinta la quale a sua volta è composta da più disposizioni di accredito Messaggio logico di stato avanzamento (stato avanzamento) Rappresenta l’entità logica di base tramite la quale la Banca Passiva fornisce alla Banca Proponente il risultato dei controlli applicati sulle richieste di pagamento ricevute (ciascuna richiesta contiene una sola distinta) 4 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 1.1 Definizione dei livelli di controllo – Overview www.acbi.it Al fine di definire in modo preciso i controlli da effettuare alla ricezione di una richiesta di servizio, sono stati definiti i tre livelli di controllo di seguito riportati: Step di controlli in carico al ricevente Livello 2: controlli sostanziali Livello 1: controlli applicativi Livello 0: controlli formali (XSD) Ricezione richiesta di servizio 5 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 1.1 Definizione dei livelli di controllo – livello 0 6 www.acbi.it Livello 0: controlli formali Rientrano in questo livello tutti i controlli volti alla verifica che i dati veicolati rispettino il formalismo imposto dagli standard definiti o adottati da ACBI. In considerazione del fatto che tutti i Nuovi Servizi CBI vengono erogati tramite messaggistica XML, per tali servizi l’insieme dei controlli formali coincide con l’insieme dei controlli di rispondenza dei messaggi scambiati ai corrispondenti schema XSD forniti da ACBI (controlli XSD) Nel caso in cui i controlli di livello 0 diano esito negativo, vengono scartate tutte le entità logiche presenti nella richiesta di servizio e si segnala l’errore tramite invio di un messaggio General Purpose con codice di errore DG01 6 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 1.1 Definizione dei livelli di controllo – livello 1 7 www.acbi.it Livello 1: controlli applicativi Sono i controlli che non possono essere effettuati tramite semplice validazione XSD dei messaggi ricevuti, ma necessitano di ulteriori verifiche di tipo applicativo che coinvolgono dati e logiche rientranti direttamente nella sfera di competenza ACBI. A titolo esemplificativo e non esaustivo, rientrano in questo livello le seguenti tipologie di controlli: controlli incrociati di coerenza tra i valori assunti da due o più campi in uno stesso messaggio o messaggi differenti (riconciliazione); controlli di validità dei codici CUC; verifica hash firma digitale; controlli di validità su singoli campi (es. codice IBAN); controlli di omogeneità Controlli su coerenza tipo distinta (es. SEPA) Nel caso in cui i controlli di livello 1 diano esito negativo, lo scarto viene effettuato selettivamente sulle singole entità logiche errate mediante uso di un messaggio di stato avanzamento 7 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 1.1 Definizione dei livelli di controllo – livello 2 8 www.acbi.it Livello 2: controlli sostanziali Rappresentano i controlli di competenza Banca strettamente correlati al tipo di servizio erogato. In alcuni casi possono essere applicati mediante accesso ad informazioni esterne alle logiche CBI. A titolo esemplificativo e non esaustivo, rientrano in questo livello le seguenti tipologie di controlli: verifica di disponibilità fondi per l’erogazione di un pagamento controllo di corrispondenza tra ordinante e intestatario del conto di addebito verifica del rispetto delle clausole contrattuali firmate dal cliente verifica dei poteri di firma Nel caso in cui i controlli di livello 2 diano esito negativo, lo scarto viene effettuato selettivamente sulle singole entità logiche o sotto entità errate mediante uso di un messaggio di stato avanzamento 8 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 1.1 Schema Logico del servizio www.acbi.it Nell’ambito della richiesta di servizio, il Mittente/Ordinante può richiedere alla Banca di inviare un esito di addebito anche verso il Beneficiario Illustrativo Invio richiesta Verifica della rispondenza delle informazioni allo standard definito Inoltro della richiesta con indicazione tipologia Esecuzione della richiesta secondo quanto stabilito dallo standard Invio esito di addebito Mittente/ Ordinante CBI Ricezione esito di addebito Banca Proponente Invio esito verso Beneficiario Inoltro esito verso Beneficiario Banca Passiva Ordinante Circuito di regolamento SEPA/IT Ricezione esito verso Beneficiario Beneficiario CBI Banca Proponente Tratta interbancaria Servizio “Disposizione di pagamento XML” con esito di addebito verso l’Ordinante Servizio di “Esito verso Beneficiario” su richiesta del cliente Ordinante Banca Passiva Beneficiario 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 10 1.1 Analisi del workflow di servizio – Sequence diagram e livelli di controllo www.acbi.it Workflow di Servizio: Sequence diagram e livelli di controllo Banca Passiva dell’Ordinante/STD Banca Proponente dell’Ordinante/STD Controlli in ricezione 1: Invio richiesta di servizio 2: Parsing del messaggio (validazione XML/XSD) 3: Controlli applicativi sui dati ricevuti 4: Invio stato avanzamento relativo a controlli formali e applicativi 6: Invio stato avanzamento di “work in progress” 7: Invio stato avanzamento KO relativo a controlli sostanziali su intera distinta 9: Invio stato avanzamento relativo a controlli sostanziali sulle singole disposizioni di accredito (contiene il CRO o numero assegno) Messaggio obbligatorio Messaggio facoltativo Livello 0 Livello 1 5: Verifica sostanziale dei dati relativi (es. verifica conto dell’ordinante - cioè che il conto indicato corrisponda effettivamente a quello intestato all’ordinante) Livello 2 8: Verifica della disponibilità per l’esecuzione dell’addebito Livello 2 Obbligatorio in caso di emissione assegni 10 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 11 1.1 Analisi del workflow di servizio – Sequence diagram del workflow di veicolazione www.acbi.it Workflow di veicolazione: messaggi di controllo Banca Passiva dell’Ordinante/STD Banca Proponente dell’Ordinante/STD 1: Invio richiesta di servizio 2: Parsing del messaggio (validazione XML/XSD) 4: Invio stato avanzamento relativo a controlli formali e applicativi 6: Invio stato avanzamento di “work in progress” 6.1: Parsing del messaggio (validazione XML/XSD) 6.2: Controlli applicativi sui dati ricevuti 7.1: Parsing del messaggio (validazione XML/XSD) 7.2: Controlli applicativi sui dati ricevuti 10.1: Parsing del messaggio (validazione XML/XSD) 10.2: Controlli applicativi sui dati 10.4: Inoltro a Banca Proponente Beneficiario 5: Verifica sostanziale dei dati relativi (es. verifica conto dell’ordinante - cioè che il conto indicato corrisponda effettivamente a quello intestato all’ordinante) 6.3: Invio messaggio di controllo veicolazione 7: Invio stato avanzamento KO relativo a controlli sostanziali su intera distinta 7.3: Invio messaggio di controllo veicolazione 9: Invio stato avanzamento relativo a controlli sostanziali sulle singole disposizioni di accredito (contiene il CRO o numero assegno) 9.1: Parsing del messaggio (validazione XML/XSD) 9.2: Controlli applicativi sui dati ricevuti 3: Controlli applicativi sui dati ricevuti 8: Verifica della disponibilità per l’esecuzione dell’addebito 9.3: Invio messaggio di controllo veicolazione 10: Invio stato avanzamento relativo a controlli sostanziali sulle singole disposizioni di accredito al Beneficiario 10.3: Invio messaggio di controllo veicolazione 11 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 1.1 Analisi del workflow di servizio – Modalità di gestione www.acbi.it Workflow di servizio: modalità di gestione (1/2) Con riferimento al sequence diagram riportato nella slide precedente valgono i seguenti principi: Ogni messaggio fisico di richiesta servizio (1) contiene uno o più richieste di pagamento (distinte) I messaggi fisici di stato avanzamento di livello 1 (4) di sono posti in corrispondenza 1:1 con le richieste di servizio; ogni messaggio fisico (4) deve referenziare tutti i messaggi logici contenuti nella richiesta di servizio corrispondente I messaggi logici di stato avanzamento, generati a seguito dei controlli sostanziali, possono essere di tre tipologie: messaggi di “work in progress” (6) messaggi di stato avanzamento KO sull’intera distinta (7) messaggi di stato avanzamento con il dettaglio relativo alle singole disposizioni (9) I messaggi di “work in progress” (6) sono sempre facoltativi I messaggi logici di stato avanzamento (7), (9) verso l’ordinante rivestono carattere di facoltatività per i Bonifici SEPA e i Bonifici Italia, mentre sono obbligatori per le richieste di emissione assegni 12 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 1.1 Analisi del workflow di servizio – Modalità di gestione www.acbi.it Workflow di servizio: modalità di gestione (2/2) Con riferimento al sequence diagram riportato nella slide precedente valgono i seguenti principi: Il messaggio (4) viene indirizzato al “return address” indicato nell’header di tratta della richiesta di servizio (1) I messaggi (6) (7) e (9) vengono indirizzati attraverso accesso al Directory A fronte di una richiesta di servizio possono essere generati più messaggi fisici di stato avanzamento (6), (7), (9), pertanto la corrispondenza risulta 1:N 13 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 1.1 Analisi del workflow di servizio – State diagram singola distinta www.acbi.it Workflow di Servizio – State diagram distinta (dal punto di vista del Cliente) Distinta KO Controlli applicativi KO Distinta accettata Distinta inviata Stato avanzamento 4 OK Distinta con controlli sostanziali KO Stato avanzamento 7 Distinta con controlli applicativi OK Tutte disposizioni OK Verifiche in corso (stato avanzamento 6 - work in progress) Stato avanzamento 9 per alcune disposizioni Distinta parzialmente accettata Alcune disposizioni KO Stato avanzamento 9 per tutte le disposizioni Distinta con disposizioni ancora da esitare Stato avanzamento 9 per tutte le disposizioni Stato avanzamento 9 per alcune disposizioni Distinta rifiutata Distinta con tutte le disposizioni esitate Tutte disposizioni KO 14 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 1.1 Analisi del workflow di servizio – Regole di governance www.acbi.it Regole di governance In caso di fallimento dei controlli formali applicati dalla Banca Passiva/Banca Proponente sulla richiesta di servizio ricevuta, viene effettuato lo scarto di tutte le distinte ivi contenute mediante invio di un messaggio di errore “General Purpose” Il fallimento dei controlli applicativi (livello 1) porta allo scarto selettivo delle singole distinte 15 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 1.1 Analisi del workflow di servizio – Indirizzamento richieste di servizio www.acbi.it DIRECTORY ACBI Indirizzamento richiesta di servizio Banca Proponente ► Banca Passiva per disposizioni di pagamento Italia Indirizzamento richiesta di servizio Banca Proponente ► Banca Passiva per Bonifici SEPA Indirizzamento richiesta di servizio Banca Passiva ► Banca Proponente per stati avanzamento 6-7-9 o=cbi o=cbi o=cbi o=CUC Banca Passiva o=CUC Banca Passiva o=CUC Banca Proponente ou=Servizi CBI ou=Servizi CBI ou=Servizi CBI ou=servizi non profilati ou=servizi non profilati ou=servizi profilati cn=DISP-PAG-ITA cn=DISP-PAG-SEPA cn=STAT-RPT-DISP-PAG 16 17 Agenda www.acbi.it 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 1.1 Workflow di servizio 1.2 Struttura dei messaggi veicolati 1.3 Tracciato dei messaggi veicolati 17 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 1.2 Struttura dei messaggi veicolati – Richiesta di servizio www.acbi.it Messaggio fisico di richiesta servizio (richiesta servizio) Rappresenta il messaggio XML veicolato sulla rete CBI contenente uno o più messaggi logici Ogni messaggio di richiesta servizio risulta omogeneo per: - mittente “logico” (Banca Mittente) - destinatario “logico” (Banca Ricevente); - soggetto di riferimento del destinatario “logico” (es. STD, GPA); - indirizzo di Rete Logica del soggetto di riferimento; - tipologia di distinte ivi contenute * Ogni richiesta di servizio sarà veicolata in modalità file+messaggio qualora la dimensione della stessa superi 1MB Blocco sul quale apporre la <CBI_BON_MSG> firma * Si possono presentare i seguenti casi: tutte le distinte sono relative a bonifici SEPA tutte le distinte sono relative a bonifici Italia o emissione assegni (disposizioni Italia) <HTRT> [1..1] <HE2E> [1..1] <MSG_BODY> [1..1] <ENVEL> [1..N] <DATA> [0..1] OR logico <SIG_INFO> [0..10] 18 Cfr. slide successiva per la composizione del singolo messaggio logico 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 1.2 Struttura dei messaggi veicolati – Messaggio logico richiesta di servizio www.acbi.it Messaggio logico di richiesta di pagamento (distinta) Rappresenta l’entità logica tramite la quale il Mittente/Ordinante (Initiating Party) ordina alla propria Banca Passiva (Debtor Agent) il pagamento di una distinta Ogni messaggio logico (distinta) risulta omogeneo per: - Mittente/Ordinante * - Tipologia distinta (SEPA/Disposizione di pagamento Italia) * - Metodo di pagamento (trasferimento fondi, trasferimento fondi con esito, assegni) * - Coordinate bancarie di addebito * - Data richiesta esecuzione * - Provenienza da Marketplace (medesimo codice Marketplace) ISO compliant Blocco <DATA> sul quale apporre la firma; posto in OR logico con il blocco contenente le informazioni sulla firma <ENVEL> <LOGICAL_MSG> [1..1] <GROUP_HEADER> [1..1] <PAYMENT_INFO> [1..1] * garantito dalla struttura del messaggio logico <PAYMENT_TRX> <SIG_INFO> [0..10] [1..N] 19 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 1.2 Struttura dei messaggi veicolati – Stato avanzamento/esito www.acbi.it Messaggio fisico di stato avanzamento/esito Messaggio XML tramite il quale la Banca Passiva dell’Ordinante comunica al Mittente/Ordinante lo stato di processamento delle disposizioni ricevute Rappresenta l’esito di uno dei livelli di controllo (0, 1, 2) definiti (es. esito Banca sui messaggi logici precedentemente inviati) Ogni messaggio fisico risulta omogeneo per: - mittente “logico” (Banca Mittente) - destinatario “logico” (Banca Ricevente); - soggetto di riferimento del destinatario “logico” (es. STD, GPA); - indirizzo di Rete Logica del soggetto di riferimento Blocco sul quale apporre la firma <RIC_INV_MSG> <HTRT> [1..1] <HE2E> [1..1] <MSG_BODY> [1..1] <DATA> <SIG_INFO> [0..1] [0..10] OR logico Cfr. slide successiva per la composizione del singolo messaggio logico 20 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 1.2 Struttura dei messaggi veicolati – Messaggio logico stato avanzamento/esito www.acbi.it Messaggio logico di stato avanzamento/esito Rappresenta lo stato del processamento della singola entità logica (gruppo di distinte) inviato dalla Banca Passiva dell’Ordinante Come per il messaggio logico contenuto nella richiesta di servizio, ogni messaggio logico (distinta) risulta omogeneo per: - Mittente/Ordinante - Tipologia distinta (SEPA/disposizione di pagamento Italia) - Coordinate bancarie di addebito - Provenienza da Marketplace (medesimo codice Marketplace) ISO compliant In caso di errore su univocità (MsgID + Creation Date Time + CUC Mittente), la Banca Passiva scarta solo le distinte duplicate Blocco <DATA> sul quale apporre la firma; posto in OR logico con il blocco contenente le informazioni sulla firma <MSG_BODY> <ENVEL_STS> [1..1] <LOG_MSG_STS> <SIG_INFO> [1..N] <GROUP_HEADER> [1..1] <ORGNL_GRP_STS> [1..1] <TRX_INF_STS> [0..N] [0..10] 21 22 Agenda www.acbi.it 1 Nuovo Servizio CBI “Disposizioni di pagamento XML” 1.1 Workflow di servizio 1.2 Struttura dei messaggi veicolati 1.3 Tracciato dei messaggi veicolati 22 Tracciato Richiesta di servizio 1.3 Principali campi di informazione – Messaggio logico di richiesta servizio <DISP_PAG> [1..1] [1..1] <GROUP_HEADER> • • • • www.acbi.it Assegnato dal Mittente/Ordinante (id. distinta) Message Identification Creation Date Time Number Of Transactions Control Sum [1..1] <PAYMENT_INFO> • • • • • BIC facoltativo ABI obbligatorio IBAN obbligatorio solo per Disp. SEPA Payment Method Service Level Debtor Debtor Account Debtor Agent <PAYMENT_TRX> • • • • • • • • Possibili valori: “TRF”, “TRA”, “CHK” Valorizzare il campo con “SEPA” per bonifici SEPA IBAN obbligatorio [1..N] Instruction Identification EndToEnd Identification Amount Cheque Type Creditor Agent Creditor Creditor Account Remittance Information Assegnato dal Mittente/Ordinante Contiene l’URI Obbligatorio (BIC) per bonifico SEPA cross-border (IBAN≠IT ) “Strutturate” o “Non strutturate” Cfr. documento Excel il dettaglio dei campi e dei controlli previsti dallo standard Tracciato Stato avanzamento/esito 1.3 Principali campi di informazione – Messaggio logico di stato avanzamento/esito www.acbi.it <ADV_STS> <GROUP_HEADER> • Message Identification • Creation Date Time • IDE2E [1..1] Identificativo CBI del messaggio di richiesta originario <ORGNL_GRP_STS> [1..1] Identificativo distinta riportato nel messaggio originario • Original Message Identification • Group Status Status della distinta (“ACTC”, “ACSC”, • Status reason Information “RJCT”; “PNDG”; “PART”) <TRX_INF_STS> • • • • • • [0..N] Status Identification Original Instruction Identification Original EndToEnd Identification Transaction Reference Number Transaction Status Status Reason Information CRO (contiene il numero di assegno in caso di emissione assegni) Status della singola disposizione di accredito (“ACSC”, “RJCT”) Cfr. documento Excel il dettaglio dei campi e dei controlli previsti dallo standard Casi d’uso Remittance Information 1.3 Regole e contenuti Remittance Information – casi d’uso www.acbi.it Considerato che il messaggio interbancario per bonifici SEPA consente di veicolare un solo blocco (“strutturato” o “non strutturato”) di informazioni di riconciliazione al massimo di 140 caratteri, sono state definite le seguenti regole per la gestione delle “remittance information” e del campo “URI”: Casistiche nella gestione delle “Remittance Information” a) se nel tracciato è presente un solo blocco (strutturato entro 140 chrt o non strutturato), tale blocco è utilizzato dalla passiva per essere veicolato nell'interbancario unitamente all'URI (obbligatorio secondo lo standard ISO); b) se nel tracciato sono presenti esclusivamente 1 o più blocchi di remittance information strutturate, tutti > 140 chrt, la banca passiva utilizza le informazioni di remittance solo nella tratta CBI, veicolando esclusivamente l'URI nell'interbancario - in tale caso è evidente che il cliente riconcilierà con l'esito all'ordinante unitamente all'URI ricevuto dall'interbancario; c) se nel tracciato sono presenti esclusivamente 1 o più blocchi di remittance information strutturate, di cui almeno uno entro i 140 chrt, la banca passiva veicola nell'interbancario il primo blocco contenuto entro i 140 chrt unitamente all' URI; d) se nel tracciato è presente un blocco non strutturato e da 0 ad n blocchi strutturati (indipendentemente dalla dimensione di questi ultimi), la banca passiva veicola nell'interbancario il blocco non strutturato unitamente all' URI; e) se nel tracciato sono presenti 1 o più blocchi non strutturati e da 0 a n blocchi strutturati (indipendentemente dalla dimensione di questi ultimi), la banca passiva veicola nell'interbancario il primo blocco non strutturato unitamente all' URI; f) se nel tracciato non è presente alcun blocco di informazioni di remittance non vengono trasportate remittance information nell’interbancario ma esclusivamente l’URI. Sintesi: Come naturale conseguenza delle casistiche precedenti, se presente almeno un blocco non strutturato viene trasportato nell’interbancario sempre il primo di questi. Se al contrario non sono presenti remittance information non strutturate viene veicolato nell’interbancario esclusivamente il primo blocco di remittance information strutturato contenuto entro i 140 chrt.