Guida rapida per la composizione di una distinta di

Incassi SDD XML-CBI SEPA pain00.01.00

Introduzione 

Se siete alla ricerca di un software che vi permetta di creare distinte SDD con flussi in formato XML partendo da una semplice tabella Excel, siete sul sito giusto. Se non avete interesse a capire come si compone la struttura di un Flusso XML, ma necessitate per le vostre elaborazioni dei software che generino detti flussi, potete vedere dare uno sguardo ai programmi BBS.

Se invece volete cimentarvi in proprio, di seguito vedremo come procedere alla creazione di una distinta SDD.

Molti gestionali aziendali non integrano al loro interno moduli specifici al trattamento dei flussi SDD e la maggior parte degli Home Banking, anche di grandi Banche, non prevedono per questo prodotto finanziario un sistema di data-entry che permetta la creazione specifica di distinte SDD.

Da qui la necessità di dotarsi di strumenti e conoscenze tali al fine di sopperire a questa mancanza.

Se siete alla ricerca di un software che partendo semplicemente da una tabella Excel riesca nella creazione di una distinta SDD con relativo flusso XML importabile in qualsiasi Home Banking, potete provare l’applicativo SDD-BBS chiedendo una copia di valutazione direttamente all’indirizzo mail babons@babons.it .

Oppure se intendete avventurarvi nella compilazione manuale di una distinta dovete dotarvi di un buon editor di testo e seguire le indicazioni sotto riportate. L’operazione non è particolarmente difficile se il lavoro si limita alla compilazione di poche disposizioni, altrimenti ve lo sconsiglio in quanto la struttura del file XML è molto rigida e non permette errori ortografici. 

Questo documento non è altro che un adattamento semplificato di varie informazioni che sono presenti sulla rete internet e lo scopo di questo documento è quello di fornire le indicazioni pratiche per poter generare distinte di Incasso SDD XML SEPA compatibili con quanto previsto dagli standard CBI e che possano, quindi, essere importate e spedite, senza problemi, utilizzando qualsiasi remote banking CBI.

Al fine di rendere il più semplice possibile la questione, di seguito illustriamo come costruire passo passo una distinta contente solo i dati strettamente necessari all’effettuazione di normali disposizioni di incasso.

Eventualmente la documentazione completa è disponibile sul sito del Consorzio CBI (cfr. http://www.cbi-org.eu > Standard > Area Incassi).

Da un punto di vista concreto, un file XML è un normalissimo file di testo, che contiene dei dati strutturati secondo delle regole ben definite; di conseguenza possiamo creare una distinta di prova aprendo semplicemente un nuovo documento di testo con il Blocco Note (Notepad) o con un altro editor di testo semplice (non WORD per esempio, che inserisce nel testo anche istruzioni di formattazione).

STRUTTURA XML

La struttura di una distinta di Incasso SDD XML SEPA, basata sullo standard ISO20022, è abbastanza semplice; in maniera schematica possiamo dire che è formata dai seguenti blocchi di dati, inseriti uno dopo l’altro:

  • Una testata, con i riferimenti alla regole di composizione del file (schema xml, busta, body, ..)
  • Un blocco <GrpHdr>, contenente le informazioni generali del flusso (mittente, numero e importo totale delle disposizioni,…)
  • Un blocco <PmtInf>, con informazioni contabili comuni a tutta la distinta (data esecuzione, conto di addebito,…)
  • Tanti blocchi <DrctDbtTxInf>tante quante sono le singole disposizioni da inserire nella distinta;
  • Una coda, con la chiusura dei marcatori (<tag>) aperti in precedenza.

La distinta deve essere omogenea per data scadenza, tipologia di debitore, sequenza di addebito e per conto di accredito, mentre può contenere contemporaneamente disposizioni di incasso, dirette sia verso l’Italia che verso gli altri paesi dell’area SEPA.

In un flusso possono coesistere più distinte (vari blocchi <PmtInf>).

Procediamo come costruire passo passo una distinta.

Inizio struttura:

 Testata xml

Questo blocco ha lo scopo di dichiarare le regole a cui ci si attiene per la composizione del file; si tratta di dati fissi che devono essere variati solo se cambia la versione dello standard CBI, caratterizzata dal numero “00.01.00”; in questo caso dovremmo sostituirlo, sia qui che in tutte le altre righe del file XML dove compare, con il numero corrispondente alla nuova versione.

Per iniziare a costruire la nostra distinta di prova, copiamo e incolliamo il seguente testo nel nostro file di testo, ancora vuoto.

La presente versione è la più semplice disponibile, possono essere utilizzate anche strutture più complesse che si differenziano da questa, ma che otterranno lo stesso scopo

  • <?xml version=”1.0″ encoding=”UTF-8″?>
  • <CBISDDReqLogMsg xmlns=”urn:CBI:xsd:CBISDDReqLogMsg.00.01.00″>

………… 

Blocco <GrpHdr> … </GrpHdr>

 Contiene informazioni generali sulla distinta; al suo interno è necessario valorizzare i seguenti campi:

  • Identificativo univoco messaggio <MsgId> [Max35Text]

Riferimento assegnato dal Mittente per identificare univocamente la distinta (Messaggio logico); dev’essere univoco a parità di data creazione e Mittente.

Poiché NON è possibile riutilizzare lo stesso identificativo per più distinte, si consiglia di utilizzare valori dinamici calcolati, ad esempio, sulla base di data e ora che ne garantiscono l’univocità, come ad esempio “DistintaXml-050214-18.19”; evitare invece di inserire un valore statico come potrebbe essere il nome dell’azienda o più banalmente “Incassi”.

  • Data e Ora di Creazione <CreDtTm> [ISO DateTime, es. “2014-02-05T18:19:00+01:00”]
  • Numero transazioni incluse nella distinta <NbOfTxs> [Max15NumericText]
  • Totale importi delle transazioni incluse nelle distinta <CtrlSum> [DecimalNumber es “180.51”].

L’importo deve essere compreso tra 0.01 e 999999999999999.99; la parte decimale deve essere max di 2 cifre ma può essere anche assente; come separatore decimale deve essere utilizzato il punto.

  • Nome azienda mittente <InitgPty><Nm> [Max70Text]
  • Codice CUC azienda mittente <OrgId><Othr><Id> [8Text]

Codice Unico CBI, già assegnato a ciascuna azienda; sostituisce il codice SIA e può essere richiesto alla vostra filiale.

Per indicare che la distinta verrà spedita dall’azienda “PIPPO PLUTO SPA” avente CUC pari a “0123456Z” e che comprende 1 disposizione per un totale di 910,25 euro, andremo ad aggiungere le seguenti righe in coda al nostro documento aperto con il Blocco Note, tramite copia/incolla:

In rosso sono evidenziati i campi variabili.

……….

    • <GrpHdr >
      • <MsgId>DistintaXml-050214-18.19</MsgId>
      • <CreDtTm>2014-02-05T18:19:00+01:00</CreDtTm>
      • <NbOfTxs>1</NbOfTxs>
      • <CtrlSum>910.25</CtrlSum>
      • <InitgPty>
        • <Nm>PIPPO PLUTO SPA</Nm>
        • <Id>
          • <OrgId>
            • <Othr>
              • <Id>0123456Z</Id>
              • <Issr>CBI</Issr>
            • </Othr>
          • </OrgId>
        • </Id>
      • </InitgPty>
    • </GrpHdr>

………..

 Blocco <PmtInf>

 Contiene informazioni contabili comuni a tutta la distinta e relative al creditore;  al suo interno è necessario valorizzare i seguenti campi:

  • Identificativo informazioni di addebito <PmtInfId> [Max35Text]
  • Modalità di Esecuzione <BtchBookg>true</BtchBookg>

con “true” esecuzione multipla (un  addebito e tanti accrediti) oppure “false” (tanti addebiti e tanti accrediti)  

  • Tipologia di Debitore <LclInstrm><Cd>

Dove possono essere utilizzati i codici “B2B” per le Aziende e “COR” per Aziende e Privati 

  • Sequenza del debito <SeqTp>

Può essere indicato il codice “FRST” alla prima disposizione di addebito, ma non è obbligatorio. Più semplicemente possiamo utilizzare sempre il solo codice “RCUR”. Esistono poi altri codici per tipologie particolari di addebito. 

  • Data di scadenza della disposizione richiesta < ReqdColltnDt > [ISODate, es. “2014-02-14”]
  • Nome azienda ordinante <Cdtr> <Nm> [Max70Text]
  • IBAN conto di addebito <CdtrAcct> <Id> <IBAN> [IBAN2007Identifier]
  • Abi Banca debitore <DbtrAgt> <FinInstnId> <ClrSysMmbId> <MmbId> [Max5Text]
  • CREDITOR-ID del Creditore <Id><PrvtId><Othr><Id>

Codice che identifica l’Azienda, (in genere assegnato dalla Banca delegata agli incassi), indicato nel mandato SDD originale, dato dal codice IT per l’Italia, un suffisso di due caratteri, tre codici a disposizione dell’Azienda Creditrice per differenziare gli incassi, la partita Iva ampliata a 16 caratteri

 Per indicare che la data di esecuzione richiesta per tutte le disposizioni sia ad esempio il 13/01/2017 e che il debitore sia  “PIPPO PLUTO SPA” con relativo indirizzo e Creditor ID, IBAN, che la banca di addebito è caratterizzata per esempio dall’ABI della BNL corrispondente al codice 01005, andremo ad aggiungere, tramite copia/incolla, le seguenti righe al nostro documento:

……….

    • <PmtInf>
      • <PmtInfId>DistintaXml-050214-18.19</PmtInfId>
      • <PmtMtd>DD</PmtMtd>
      • <BtchBookg>true</BtchBookg>
      • <PmtTpInf>
        • <SvcLvl>
          • <Cd>SEPA</Cd>
        • </SvcLvl>
        • <LclInstrm>
          •  <Cd>B2B</Cd>
        • </LclInstrm>
        • <SeqTp>RCUR</SeqTp>
      • </PmtTpInf>
      • <ReqdColltnDt>2017-01-17</ReqdColltnDt>
      • <Cdtr>
        •  <Nm>PIPPO PLUTO SPA</Nm>
        •  <PstlAdr>
          • <Ctry>IT</Ctry>
          •  <AdrLine>Piazza Italia  11</AdrLine>
          •  <AdrLine>Venezia</AdrLine>
        • </PstlAdr>
      • </Cdtr>
      • <CdtrAcct>
        •  <Id>
          • <IBAN>IT99X0100525959001020304050</IBAN>
        • </Id>
      • </CdtrAcct>
      • <CdtrAgt>
        • <FinInstnId>
          • <ClrSysMmbId>
            • <MmbId>01005</MmbId>
          • </ClrSysMmbId>
        • </FinInstnId>
      • </CdtrAgt>
      • <CdtrSchmeId>
        • <Nm>PIPPO PLUTO SPA</Nm>
        • <Id>
          • <PrvtId>
            • <Othr>
              • <Id>IT5500100000056723413258</Id>
            • </Othr>
          • </PrvtId>
        • </Id>
      • </CdtrSchmeId>

………

Blocco < DrctDbtTxInf > … </ DrctDbtTxInf  >

Contiene il dettaglio delle singole disposizioni facenti parte della distinta; nella prima disposizione di esempio analizziamo la composizione di un bonifico verso l’Italia; al suo interno è necessario valorizzare i seguenti campi:

  • Progressivo disposizione <InstrId> [Max35Text]

Identificativo univoco, a livello di distinta, assegnato all’istruzione dal Mittente nei confronti della sua Banca; si consiglia di utilizzare una numerazione sequenziale (1,2,3,…): la prima disposizione sarà quindi caratterizzata dal valore 1, la seconda dal valore 2, la terza dal valore 3, …

  • Identificativo end-to-end <EndToEndId> [Max35Text]

Identificativo URI assegnato dal Mittente e che identifica la singola disposizione di incasso per tutta la catena di pagamento fino al debitore.

  • Divisa e importo <Amt> <InstdAmt> [ActiveOrHistoricCurrencyAndAmount]

E’ consentito indicare come divisa solo EUR, l’importo deve essere compreso tra 0.01 e 999999999.99; la parte decimale deve essere max di 2 cifre ma può essere anche assente; come separatore decimale deve essere utilizzato il punto.

  • Dati mandato sottoscritto dal Debitore: numero mandato <DrctDbtTx><MndtRltdInf><MndtId>
  • Data sottoscrizione mandato <DrctDbtTx><MndtRltdInf><DtOfSgntr>
  • Variazione del mandato <MndtRltdInf> e <AmdmntInd> utilizzato per effettuare variazioni al mandato originale. Se impostato a “true” occorre indicare i tag identificativi dei dati variati.
  • Nome del beneficiario <Dbtr> <Nm> [Max35Text]

Nome del titolare del conto corrente di addebito.

  • Indirizzo del debitore <PstlAdr><TwnNm>/<CtrY>/<AdrLine>
  • Codice Fiscale / Partita IVA del debitore <Id><PrvtId><Othr><Id>

IBAN conto del debitore <DbtrAcct> <Id> <IBAN> [IBAN2007Identifier]

  • Informazioni/Causale <RmtInf> <Ustrd> [Max140Text]

Informazioni sul pagamento comunicate dall’ordinante al beneficiario (Remittance Information); ad esempio “Pagamento fattura 10 del 13/03/12”, “Bolletta numero del..”.

Queste sono le righe che andremo ad aggiungere nella distinta in fase di costruzione per un incasso generico di 910,25 euro indirizzato a Caio Sempronio da addebitare sul codice IBAN di sua pertinenza:

………….

      • <DrctDbtTxInf>
        • <PmtId>
          • <InstrId>1</InstrId>
          • <EndToEndId>DistintaXml-161128-09.00-0001</EndToEndId>
        • </PmtId>
        • <InstdAmt Ccy=”EUR”>910,25</InstdAmt>
        • <DrctDbtTx>
        • <MndtRltdInf>
          • <MndtId>109064264</MndtId>
          • <DtOfSgntr>2015-12-01</DtOfSgntr>
          • <AmdmntInd>false</AmdmntInd>
        • </MndtRltdInf>
      • </DrctDbtTx>
      • <Dbtr>
        • <Nm>CAIO SEMPRONIO</Nm>
        • <PstlAdr>
          • <TwnNm>ROVIGO</TwnNm>
          • <Ctry>IT</Ctry>
          • <AdrLine>VIA DE GASPERI 181</AdrLine>
        • </PstlAdr>
        • <Id>
          • <PrvtId>
            • <Othr>
              • <Id>CAISPR03D18G705K</Id>
            • </Othr>
          • </PrvtId>
        • </Id>
      • </Dbtr>
      • <DbtrAcct>
        • <Id>
          • <IBAN>IT88C0110115240000001254689</IBAN>
        • </Id>
      • </DbtrAcct>
      • <Purp>
        • <Cd>PADD</Cd>
      • </Purp>
      • <RmtInf>
        • <Ustrd>BOLLETTA 105074164 SCADENZA 01/01/2017</Ustrd>
      • </RmtInf>
      • </DrctDbtTxInf>

……………

Da qui possiamo inserire ulteriori blocchi di addebito.

Chiusura struttura

Alla fine del flusso, dopo aver inserito tutte le disposizioni, si chiude il blocco della distinta <PmtInf> e dopo il tag di apertura flusso

…………

    •  </PmtInf>
  • </ CBISDDReqLogMsg >

 

Fine flusso

Ricordo che nel flusso non possono essere utilizzati né caratteri speciali quali °#@^”!£$%&()=?’^ etc.. né lettere accentate àèéìùò etc.

Alla pagina Tracciato SDD potete trovare le specifiche CBI complete.