Rabo Direct Connect Handleiding
Juni 2015
Inhoud 1.
INLEIDING
4
2.
MOGELIJKHEDEN
4
3.
4.
5.
2
Formaten
4
Randvoorwaarden voor gebruik
5
HET INRICHTEN VAN RDC VOOR GEBRUIK
5
Het inrichtingsformulier RDC
5
Het wijzigen of beëindigen van de overeenkomst
5
Het tot stand brengen van de sFTP connectie met de Rabobank
5
Het RDC certificaat voor ondertekening
6
PKCS#7
6
Base64 encoding
6
Het aanvragen van een certificaat voor ondertekening
6
Het verifiëren van de bestanden van de Rabobank
7
Test scenario’s
7
Het testen van de sFTP koppeling:
7
Het testen in productie middels ‘penny tests’:
7
Het testen van de bestanden:
7
Service berichten
8
Go live beslissing
8
DE KLANT ACCEPTATIE OMGEVING
8
Beschrijving van de Klant Acceptatie omgeving
8
Wat kunt u testen met de Klant Acceptatie omgeving
8
Technische test
8
Testen statusinformatie
8
Testen van betaalformaten:
9
Testen verantwoordingsinformatie
9
Aanvragen Klant Acceptatie omgeving
9
Zelf-ondertekend certificaat
9
Disclaimer
9
INITITATIE
10
Het initiëren van een incasso of betaalopdracht
10
Het initiatie bestand
10
De header
10
Controle
11
De payload file
11
ZIP archive – DEFLATE
12
De initiatie stap voor stap
12
Wat kunt u verwachten indien er iets niet goed gaat?
12
Rabo Direct Connect | Handleiding
6.
7.
8.
Uitvoer data en geagendeerde betalingen
13
Bulk en Batch aanlevering SCT files
14
Volumes
14
STATUS BERICHTEN EN VERANTWOORDING
14
ACK/NACK Statusberichten RDC
14
PAIN.002 status berichten
16
Bundeling verantwoordingsinformatie
16
Intradag rapportage
17
Intradag huidige boekdag
17
Intradag boekdag overschrijdend
18
Formaat
18
Vergelijkingstabel aanlevervarianten intradagrapporten
19
Verantwoordingsinformatie
20
Directe uitlevering stap voor stap
21
DE RDC PORTLET
21
Wat is de RDC portlet?
21
Hoe gebruik ik de RDC- portlet?
21
Batch level informatie bekijken
22
Transactie informatie bekijken
22
ONDERSTEUNING EN SERVICE
23
Contact gegevens
23
Noodprocedure blokkeren verbinding RDC
23
APPENDIX 1: AFKEURREDENEN
24
APPENDIX 2. CHECKLIST SIGNING
27
Verify your own signature of type RAW with openssl:
27
Verify your own signature of type PKCS#7 with openssl:
27
CHANGE LOG
3
28
Rabo Direct Connect | Handleiding
1. Inleiding RDC is een host to host oplossing voor Financial Institutions, Large Corporates en Grootzakelijke Klanten van de Rabobank. Met RDC kunnen betaalbestanden uitgewisseld worden met de Rabobank. Via dit kanaal kan een klant vanuit zijn ERP-pakket bestanden met gesignde opdrachten insturen en laten verwerken door de Rabobank. Voor het gebruik van het kanaal is dus geen gebruikersinterface nodig zoals Rabo Cash Management (RCM). De verantwoordingsinformatie kan direct worden uitgelezen in het ERP-pakket. Via een PUSH of PULL mechanisme kunt u deze als klant respectievelijk gestuurd krijgen of ophalen uit RDC.
2. Mogelijkheden Hieronder vind u een opsomming van de verschillende mogelijkheden van RDC. Insturen van opdrachten: - Eurobetaling: - Euro incasso (B2B): - Wereldbetaling:
PAIN.001.001.03 PAIN.008.001.02 BTL91
Status informatie: - Transport Ack/Nack: Ack betekent goedgekeurd; Nack betekent afgekeurd. - Statusbericht met afgekeurde of geweigerde (bedrijven) Euro incasso’s (SDD) en Euro betalingen (SCT): PAIN.002.001.03 - Status informatie kan worden aangeboden via een online portlet op www.rabobank.com/corporatesupport Verantwoordingsinformatie: - Dagafschrift einde dag: - Dagafschrift einde dag: - Intradag rapportages: - Intradag rapportages:
MT940 structured CAMT.053.001.02 MT942 Structured CAMT.052.001.02
Formaten Voor alle bovenstaande bestanden zijn er formaatbeschrijvingen beschikbaar. Deze formaatbeschrijvingen voor RDC kunt u terugvinden op: www.rabobank.com/rdc.
4
Rabo Direct Connect | Handleiding
Randvoorwaarden voor gebruik Voordat u aan de slag gaat met RDC is het belangrijk om stil te staan bij onderstaande randvoorwaarden. Indien u als klant niet kunt voldoen aan onderstaande voorwaarden, dan is het mogelijk dat de voordelen van het product RDC niet optimaal benut kunnen worden en er geen ondersteuning geboden kan worden. Houdt hier rekening mee wanneer u kiest voor dit product. -
Binnen uw bedrijf is een hoge mate van automatisering aanwezig. Binnen uw bedrijf is een professionele IT omgeving en goede infrastructuur aanwezig. Er is een hoge mate van treasury centralisatie binnen uw bedrijf. Er is een gecentraliseerde AP/AR (SSC of payment factory).
Voor het gebruik (waaronder de beveiliging) van Rabo Direct Connect is permanent beschikbare professionele ICT (beveiligings)deskundigheid bij uw bedrijf noodzakelijk.
3. Het inrichten van RDC voor gebruik Het inrichtingsformulier RDC Op het inrichtingsformulier RDC (beschikbaar via uw Rabobank) kunt u aangeven hoe u uw RDC overeenkomst wilt inrichten. Denk hierbij aan: - Welke Rabobank rekeningen u wilt gebruiken in combinatie met RDC (NB het is niet mogelijk om eindedag- of intradaginformatie van een spaarrekening te ontvangen) - Het type verantwoordingsinformatie dat u wenst te ontvangen - Of u PUSH of PULL wit gebruiken als methode om verantwoordingsinformatie te ontvangen - Of u intradag rapportages wilt ontvangen en met welke interval/op welke tijdstippen - Het type initiatie bestanden dat u wenst in te sturen - Op welk email adres u uw RDC service berichten wilt ontvangen Het is belangrijk dat u de inhoud van dit formulier goed afstemt met de Rabobank. Indien u hulp nodig heeft bij het invullen van dit formulier kunt u gebruik maken van het bijbehorende toelichtingsformulier of navraag doen bij uw Rabobank contactpersoon. Het wijzigen of beëindigen van de overeenkomst U kunt uw RDC overeenkomst ook wijzigen door gebruik te maken van het inrichtingsformulier. Hierop kunt u dan aangeven dat u een wijziging wilt doorgeven en vervolgens kunt u deze wijziging in het formulier vermelden. Het is ook mogelijk om de overeenkomst te beëindigen via dit formulier. In het toelichtingsformulier wordt duidelijk uitgelegd hoe een wijziging of beëindiging moeten worden aangegeven. Leest u deze bij onduidelijkheden eerst door. Het tot stand brengen van de sFTP connectie met de Rabobank De eerste stap die gezet moet worden is het inrichten van de secure FTP (sFTP) connectie met de Rabobank. sFTP is een Secure Shell (SSH) verbinding over één poort waarbij inloggen en versturen van bestanden in een veilige sessie plaatsvinden. Daarnaast is het op elk server platform standaard beschikbaar. (Standaard onderdeel van Linux en ook in Windows Servers beschikbaar) Dit onderdeel faciliteert een veilig transport van bestanden tussen uw organisatie en de Rabobank en bestaat altijd uit een test en productie verbinding. Voor deze connectie moet u beschikken over een sFTP client. Hierin genereert u twee SSH keys waarvan u de private keys in beheer neemt. De private keys moeten zijn opgeslagen op de locatie waar uw sFTP server draait. Van u hebben we nodig: - De public key van de SSH key voor de productie verbinding - De public key van de SSH key voor de test verbinding
5
Rabo Direct Connect | Handleiding
De uitwisseling van deze keys gebeurt tussen de IT afdelingen van de Rabobank en uw bedrijf. De initiatie voor deze uitwisseling start bij de Rabobank. Wij nemen daarvoor contact op met de contactpersoon van uw IT afdeling die u opgeeft op het inrichtingsformulier. Let er op dat deze persoon (personen) beschikbaar is (zijn) gedurende de implementatie van RDC. Naast deze SSH keys hebben we nog aanvullende informatie nodig voor de connectie. Dit kunt u aangeven op het inrichtingsformulier. Denk hierbij aan IP-adressen en de te gebruiken poorten. Het RDC certificaat voor ondertekening Naast de veilige connectie met de bank moeten de betaalbestanden worden getekend. De handtekening van het bestand is een SHA 256 hash van een file versleuteld met een 2048 bits RSA sleutel van u als klant. De SHA 256 wordt gebruikt om uit te sluiten dat er aanpassingen zijn gedaan aan de inhoud van het betaalbestand tijdens het transport. De uitwisseling van de key gebeurt door middel van het aanvragen van een certificaat bij een geautoriseerde derde partij (zie paragraaf 3.7). PKCS#7 De handtekening of getekende hash kan verstuurd worden in raw format of in PKCS#7 formaat. Beide worden geaccepteerd door RDC. Java applications genereren doorgaans het raw formaat wanneer JCE bibliotheken worden gebruikt. Als Bouncy Castle. of .NET worden gebruikt dan wordt doorgaans een PKCS#7 handtekening gegenereerd. In geval PKCS#7 wordt gebruikt dan mag de data die getekend moet worden niet toegevoegd worden aan de handtekening. Deze optie maakt de handtekening onnodig lang. Base64 encoding De binaire handtekening wordt omgezet naar tekst door gebruik te maken van base64 encoding. Deze base64 representatie van de hash file wordt toegevoegd aan de header file. Het aanvragen van een certificaat voor ondertekening Momenteel accepteert de Rabobank alleen de certificaten van onderstaande partijen. U kunt een keuze maken uit een van deze twee certificaten. Voor certificaten van andere partijen raden wij u aan om contact op te nemen met uw implementatiemanager. VeriSign Hierbij een link naar een certificaat op de site van VeriSign: http://www.symantec.com/en/uk/VeriSign/ssl-certificates/secure-site Digicert Hierbij een link naar een certificaat op de site bij Digicert: http://www.digicert.com/welcome/ssl-plus.htm Aan de aanvraag van het certificaat zijn kosten verbonden. Er is een aantal stappen die u als klant moet zetten om een correct certificaat te verkrijgen. -
6
Om bij een van de bovenstaande partijen een getekend certificaat aan te vragen dient u eerst een keystore te generen in uw eigen omgeving. Vervolgens creëert u een signing request. Een
.csr bestand. Dit .csr bestand moet worden opgestuurd naar een certificaat autoriteit (VeriSign of Digicert). De certificaat autoriteit creëert een certificaat en stuurt dit naar u op. U importeert het certificaat in uw keystore. Vervolgens stuurt u de publieke sleutel (public key) van het certificaat op naar de Rabobank. De private sleutel houdt u veilig binnen uw organisatie. Stuur de publieke sleutel op naar de
Rabo Direct Connect | Handleiding
-
Rabobank als volgt: RDCpublickey.crt.txt. Indien u het certificaat later op wenst te sturen kunt u dit aangeven op het formulier. Gebruik een nieuw inrichtingsformulier RDC (en selecteer de actie “wijzigen”) wanneer u op een later tijdstip het certificaat verstuurt en geef hierop dan aan dat het certificaat nu wel is bijgevoegd als bijlage. Lees de specifieke instructies voor het verzenden van het certificaat goed door. Deze kunt u vinden in toelichting op het inrichtingsfomulier. Vergeet niet het formulier te ondertekenen. Het certificaat heeft een geldigheidsduur. Stem dit goed af met de leverancier van het certificaat. Vermeld de geldigheidsduur van het certificaat op het inrichtingsformulier met de Rabobank. Het blijft uw eigen verantwoordelijkheid de geldigheidsdatum te bewaken en ruim voor het verstrijken van de geldigheid een nieuw certificaat aan te vragen en op te sturen naar de Rabobank. Op die manier kan Rabobank de RDC diensten zonder onderbreking aan u blijven leveren. Het verifiëren van de bestanden van de Rabobank
Rabobank voorziet bestanden die zij naar u stuurt ook van een handtekening. Deze handtekening kunt u controleren door gebruik te maken van de publieke sleutel van de Rabobank. De publieke sleutel wordt aan u ter beschikking gesteld. De publieke sleutel voor RDC kunt u vinden op www.rabobank.com/rdc bij downloads. Test scenario’s Als klant zult u het gebruik van RDC willen testen voordat u het daadwerkelijk in gebruik neemt. In deze paragraaf staan een aantal aanbevelingen voor het uitvoeren van deze tests. Voor alle testen geldt dat u vooraf met de implementatiemanager van de Rabobank afspreekt wanneer u welke test wilt uitvoeren. Alleen dan kan de bank ervoor zorgen dat de juiste begeleiding in stelling is gebracht om u te ondersteunen. Het testen van de sFTP koppeling: Nadat de IT afdelingen (van de Rabobank en u) gezamenlijk de sFTP verbinding hebben opgezet (een test en een productie koppeling) raden we aan om deze connectie te testen door het versturen van een betaalbestand over de aangelegde testverbinding. Middels deze verbinding is het mogelijk om te controleren of bestanden op de juiste manier worden getransporteerd van uw omgeving naar de Rabobank. Daarnaast kan de Rabobank u via deze connectie een bestand sturen om te controleren of bestanden correct getransporteerd worden van de bank naar uw omgeving. Het testen in productie middels ‘penny tests’: Nadat we de sFTP koppeling met een positief resultaat hebben getest in de testverbinding, raden we u aan eerst een ‘pennytest’ te doen door het versturen van één of een klein aantal minibetalingen van en naar een rekening binnen uw organisatie. Het is daarbij verstandig om voor elk betaalformaat dat u gaat gebruiken een aparte test te doen en dat u vaststelt dat de minibetaling juist werd verwerkt en als zodanig werd teruggemeld in de verantwoording Indien u ook gebruik gaat maken van de online status portlet van RDC kunt u ook direct deze functionaliteit testen. Het testen van de bestanden: Op uw verzoek kan de bank controleren of de bestanden en betalingen voldoen aan de RDC voorwaarden, beveiliging en formaatbeschrijvingen. Dit is additioneel op de testomgeving. Nadat u een betaalbestand heeft ingestuurd via de sFTP verbinding of per mail kan de Rabobank een verantwoordingsbestand met fictieve gegevens naar u terug sturen.
7
Rabo Direct Connect | Handleiding
Service berichten Via service berichten informeert de Rabobank u over onderhoud, nieuwe functionaliteit en downtime met betrekking tot RDC. Via dit kanaal zal de Rabobank u minstens 1 maand van te voren informeren over nieuwe functionaliteit zodat u voldoende tijd heeft om u voor te bereiden op de nieuwe situatie. Op het inrichtingsformulier kunt u aangeven op welke e-mailadres u deze service berichten wilt ontvangen. Indien u dit wilt wijzigen op een later tijdstip verzoeken we u om dit ook middels het inrichtingsformulier door te geven. Go live beslissing Nadat de verschillende tests succesvol zijn uitgevoerd beslist u in overleg met de Rabobank of u wilt starten met het daadwerkelijk gebruik van RDC. Indien de tests hebben uitgewezen dat hier geen belemmeringen meer voor zijn kan de RDC connectie ingezet worden voor uw reguliere betalingsverkeer. De Go-live beslissing wordt in overleg met de Rabobank genomen.
4. De klant acceptatie omgeving Beschrijving van de Klant Acceptatie omgeving Naast de productieomgeving beschikt RDC ook over een Klant Acceptatie (KA)-omgeving. Deze omgeving is gekoppeld aan uw ERP pakket middels een testkoppeling. Deze omgeving staat los van onze productie systemen en simuleert de werking van RDC. U kunt dit systeem gebruiken om te testen of uw ERP-pakket op de juiste manier is geconfigureerd voor het verzenden van initiatiebestanden en het ontvangen van verwerkingsinformatie via RDC. Als u via de testverbinding een initiatiebestand instuurt ontvangt u, mits het bestand aan alle door RDC gestelde eisen voldoet (conform de productiekoppeling), via de koppeling een ACK en vervolgens een PAIN.002 van het volgende systeem in onze keten. De PAIN.002 heeft een willekeurige afkeurcode en heeft geen betrekking op het door u aangeleverde bestand. U ontvangt deze PAIN.002 zodat u direct kunt verifiëren of uw systeem gereed is voor de ontvangst en verwerking van dit bestandstype. Als het bestand niet conform deze eisen is opgesteld ontvangt u een NACK. Hierna volgt geen PAIN.002 bericht omdat het bestand vroegtijdig in de keten werd afgekeurd. Daarnaast krijgt u een gesimuleerd verantwoordingsbestand aangeboden, naar keuze krijgt u deze in CAMT.053 of MT940 Structured Deze keuze kunt u aangeven in de inrichtingsformulieren. Wat kunt u testen met de Klant Acceptatie omgeving Technische test Testen sFTP verbinding RDC en FileAct (connectie klant – Rabo) Testen van handtekening;
Testen statusinformatie Status informatie type Ack
Nack
8
Omschrijving U ontvangt een Ack bestand wanneer de connectie , de handtekening en het bestand goedgekeurd zijn. Na een Ack ontvangt u de PAIN002 met dummy data U ontvangt een NACK wanneer
Rabo Direct Connect | Handleiding
Pain.002.001.03
er fouten in de aanlevering zijn gevonden Deze ontvangt u na een ACK en bevat dummy data
Testen van betaalformaten: Deze test de opbouw en de layout van het formaat. De inhoud wordt niet getest. Initiatie Pain.001.001.03 Pain.008.001.02 BTL91 Testen verantwoordingsinformatie Verantwoording MT940S CAMT053.001.02 De verantwoordingsinformatie ontvangt u rond 16.00 uur.(dit tijdstip kan varieren). In de productieomgeving ontvangt u de Einde dag informatie na het afsluiten van de boekdag rond middernacht.
Aanvragen Klant Acceptatie omgeving Bij het aanvragen van een Klant Acceptatie omgeving heeft u 2 mogelijkheden. U kunt uw Klant Acceptatie omgeving gelijk houden aan uw productieomgeving; dat wil zeggen dat u in uw KAomgeving dezelfde rekeningen en functionaliteiten laat opvoeren als in uw productieomgeving. Daarnaast kunt u er ook voor kiezen andere rekeningen of services op te voeren in uw KAomgeving. Zo verkleint u de kans dat er testdata in uw productieomgeving terechtkomend, wat tot onnodige afkeuringen zal leiden. Ook kunt u op die manier functionaliteiten testen die u in de toekomst zou willen toevoegen, maar waar u nu nog geen gebruik van maakt. Zelf-ondertekend certificaat Voor het gebruik van de Klant Acceptatie omgeving is een apart certificaat benodigd, u kunt deze op de in hoofdstuk 3.4 beschreven manier aanvragen bij een 3e instantie, zoals VeriSign. Echter, een zelf-ondertekend certificaat is ook een toegestane mogelijkheid binnen de KA omgeving. U mag uit veiligheidsoverwegingen geen productie certificaat gebruiken voor de Klant Acceptatie omgeving. Ter herinnering, een certificaat bevat de publieke sleutel, waarmee de handtekening wordt gecontroleerd. Bij een zelf-ondertekend certificaat, genereert u zelf een sleutel paar (RSA, 2048 bits, private en public key) en maakt vervolgens een certificaat die met deze zelfde sleutel is ondertekend. Bij een echt certificaat, wordt het certificaat ondertekend door een derde partij, na controle van de identiteit van het bedrijf en aanlevering van de publieke sleutel in een certificaat aanvraag bestand. U dient dit zelf-ondertekenend certificaat mee te sturen bij uw aanvraag voor de Klant Acceptatie omgeving, inclusief eventuele bovenliggende certificaten. Disclaimer Rabobank wil benadrukken dat in de testomgeving behaalde resultaten geen garantie bieden voor de productieomgeving en dat er geen rechten of plichten aan ontleend kunnen worden. Daarom
9
Rabo Direct Connect | Handleiding
adviseren wij u om, nadat u in de Klant Acceptatie omgeving getest heeft ook een aantal pennytesten uit te voeren over uw productie koppeling.
5. Inititatie Het initiëren van een incasso of betaalopdracht Het initiëren van een incasso of betaalopdracht kan niet algemeen worden beschreven aangezien elke organisatie hiervoor zijn eigen software gebruikt. Van daaruit worden bestanden geëxporteerd naar RDC via de opgezette sFTP koppeling zoals in hoofdstuk 3 beschreven. Over het gebruik van uw software raden we aan de hiervoor bedoelde gebruikershandleidingen te volgen afkomstig van uw boekhoudpakket/software leverancier. In dit hoofdstuk wordt wel beschreven hoe de initiatie bestanden moeten zijn opgebouwd en aan welke naamgeving de bestanden moeten voldoen. Het initiatie bestand Het initiatie bestand bestaat uit een header (paragraaf 5.3) en een payloadfile (paragraaf 5.5). Er zijn een aantal regels voor de benaming van het initiatie bestand. Vanaf hier refereren we hiernaar door middel van de filename. Voor de benaming (filename) van het gecomprimeerde bestand is ons advies om de volgende structuur te gebruiken: _<customer-id>_< contractid >_.zip Indien het om een encrypted bestand gaat dan de extensie .enc toevoegen. _<customer-id>__.zip.enc Naast bovenstaande gelden de volgende regels voor de filename: Uitleg: - Hoofdlettergevoelig, geen spaties toegestaan, underscores moeten worden gebruikt om de elementen te scheiden. - De filename mag maximaal 175 karakters bevatten. - Karakters die gebruikt mogen worden: “a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9. _”. - kan zijn SCT voor SEPA Credit Transfers, SDD voor SEPA Direct Debits of BTL voor wereld betalingen in BTL91 formaat. - <customer-id> is de klant identificatie code. Alfa numeriek en 8 karakters. - < contractid > is het identificatie nummer van de overeenkomst. Dit contract ID heeft u ontvangen van de Rabobank. - Wordt ingezet om de bestandsnaam uniek te maken, numeriek, yymmddhhmmssxx (y = jaar, m = maand, d = dag, h = uur, m = minuut, s = seconde, xx = volgnummer of honderdste seconde). Voorbeeld: SCT_HARVINST_9876543210_13070107300001.zip.enc De header Voor de benaming van de inhoud van de file geldt het volgende: .xml In de header staat de handtekening van de klant en ander meta data. De header ziet er volgt uit:
10
Rabo Direct Connect | Handleiding
ZIP file mypain001.zip header.xml 123 <PayloadAction>SCT <PayloadVersion>pain.001.001.03 1363953006682 <TimeStamp>2013-03-22T12:50:06 <Signature>SuaY3DCuv+hTJ9GxOVSOxdNTxt9f/GpdUNcFW271FbJcvPEHpa8dJQ 9lahTXepXYrk2+NBoofQ50RVAdCCKCI5Nk90D7CiHV/Bzf+bLARvBh/9EvWXS75GQ5Tkn3jgc/3 32AFWuJf8rdpPDTaqStKpZHW96TfHcoMI/bCxlavrArucwrBbVweuW3F6JPsDosT1fey+GNtKTUG GZVV7m71j+2oEosiL54TUjZoHM0HQIP0amg6+pZ6JRSmte7yuneGS5DpruVszGfpU9RfBcrQetr qXScwWqQjlCjBnlzs4HeXqd8j/fEEM609JPsX4wm+q2yrwqvDayj1B1eRcgfWg==
mypain001.xml
Veld
Toelichting
Toegestane waarden
ContractId PayloadAction
SCT SDD BTL
PayloadVersion
PAIN.001.001.03 PAIN.008.001.02 BTL91
Verplicht
Opmerking
XML type
Y Y
string string
Y
string
UniqueReference
Y
TimeStamp
Y
Signature
Y
Value from customer Value from customer Signed with customer private key
string dateTime base64Binary
Controle Met behulp van het RDCInitiationRequest.xsd bestand kunt u de XML bestanden juist creëren en valideren. Het bestand RDCInitiationRequest.xsd kunt u vinden op www.rabobank.com/rdc onder downloads. De payload file De payload file moet voldoen aan de volgende beschrijving: _< customer-id>_< contractid >_.xml (Voor SEPA betalingen) Of _< customer-id>_< contractid >_.btl (Voor BTL91 wereld betalingen) De payloadfile mag geen gemengde initiatie bestanden bevatten. Een payloadfile bevat dus SCT, SDD of BTL en niet een combinatie van die drie.
11
Rabo Direct Connect | Handleiding
Zowel de “header” en de “payload file” bestanden moeten zijn gebaseerd op de UTF-8 karakter set. De Byte Order Mark is optioneel. Als deze echter wordt gebruikt dan moet het de UTF-8 Byte Order Mark zijn. ZIP Payload file ZIP archive – DEFLATE De compressie methode die wordt ondersteund is DEFLATE. Deze compressiemethode wordt wereldwijd veel gebruikt in veel programmeer talen en operating systems tools. Hier vindt u een technische beschrijving. De initiatie stap voor stap
1) ERP-systeem genereert betaalbestand. 2) Betaalbestand wordt getekend. De handtekening (SHA-256) is nodig om de herkomst en integriteit te waarborgen. Het tekenen is vanuit beveiligingsoogpunt verplicht. De handtekening wordt versleuteld met de private key vanuit uw keystore. 3) Betaalbestand wordt gecomprimeerd. 4) Klant start sFTP sessie op. 5) De sFTP-server van de Rabobank verifieert of u bent wie u zegt te zijn (authenticatie). Als u of uw certificaat niet wordt herkend zal de verbinding worden verbroken en is het niet mogelijk bestanden naar Rabobank over te zetten. 6) Betaalbestand wordt verzonden. 7) Na ontvangst wordt het bestand gedecodeerd. 8) Wanneer het bestand gecomprimeerd is aangeboden wordt deze gedecomprimeerd. 9) Handtekeningen en klantafspraken worden gecontroleerd. Wat kunt u verwachten indien er iets niet goed gaat? Wanneer een bestand wordt verstuurd naar de Rabobank over de beveiligde verbinding (sFTP verbinding) worden de verschillende controles uitgevoerd door RDC. Indien deze negatief zijn stuurt Rabobank u een NACK (negative acknowledgement). Rabobank zal het bestand in dat geval niet verder verwerken. In Appendix 1 vindt u een overzicht van alle mogelijke afkeuringen. Hier wordt alleen op hoofdlijnen aangegeven welk type afkeuringen er zijn. Hieronder een aantal voorbeelden waarbij we u een NACK sturen. -
12
Decryptie. Indien het bestand versleuteld is decodeert Rabobank het bestand. Als het bestand niet kan worden gedecodeerd wordt een NACK bericht verstuurd. Decompressie. Indien u compressie heeft toegepast wordt het betaalbestand gedecomprimeerd bij de Rabobank. Indien dit niet lukt wordt een NACK bericht verstuurd. Het proces controleert of het bestand is gewijzigd door het controleren van de meegestuurde handtekening (SHA 256 file). Als de handtekening controle niet correct is wordt een NACK bericht verstuurd.
Rabo Direct Connect | Handleiding
-
-
RDC controleert of het bestandstype herkenbaar is en of u gerechtigd bent bestanden van dit type aan te leveren. Indien dit niet is afgesproken stuurt RDC een NACK bericht terug naar u. RDC controleert of hetzelfde bestand niet al eerder is aangeleverd om te voorkomen dat een bestand per ongeluk tweemaal verwerkt wordt. Dit gebeurt op basis van de bestandsnaam en de payload. Indien RDC een duplicaat vindt stuurt RDC een NACK bericht terug naar u. RDC kan geen duplicaten detecteren als deze via andere kanalen zijn aangeleverd. Indien u naast RDC ook andere kanalen gebruikt voor het aanleveren van betaalbestanden aan Rabobank dient u zelf te borgen dat u niet dubbel aanlevert. RDC controleert of het aangeleverde bestand verwerkbaar is. Deze controles zijn: o Voldoet het formaat van het betaalbestand aan de eisen zoals gesteld in het Rabobank formatenboek? o Wordt hierbij niet afgeweken van de voorgeschreven tekenset? o Bevat het bestand niet meer dan één soort betaalopdrachten? (SDD, SCT en BTL91 mogen niet samen in één bestand aangeleverd worden) o Wordt het maximum van 100.000 betaalopdrachten per bestand niet overschreden? o Wordt het maximum van 10.000 batches (Payment Information Blocks) in een bestand niet overschreden? o Vervolgens wordt per betalingsopdracht een aantal controles uitgevoerd. In geval deze controles een negatief resultaat hebben wordt een NACK verstuurd. o Maakt de rekening waar de betalingsopdracht voor is onderdeel uit van de RDC overeenkomst? o Is de gevraagde uitvoeringsdatum van de transactiebetaling geldig? Zie paragraaf 4.10. o Voldoet de betaalopdracht aan de eisen die vanuit wet- en regelgeving voortkomen? Uitvoer data en geagendeerde betalingen
Het agenderen van betaalopdrachten is momenteel nog niet mogelijk. Alle betaalopdrachten die u via RDC aanlevert moeten direct verwerkbaar zijn. Betaalopdrachten met een uitvoerdatum in het verleden of in de toekomst worden uitgevoerd mits de betalingen voldoen aan onderstaande bepalingen: SCT: Heeft een bestand een batch/tx met een uitvoerdatum meer dan 10 dagen in het verleden dan wordt het volledige bestand afgekeurd door RDC Heeft een bestand een batch/tx met een uitvoerdatum in de toekomst dan wordt het volledige bestand afgekeurd door RDC BTL91: Heeft een bestand een batch/tx met een uitvoerdatum in het verleden dan wordt het volledige bestand afgekeurd door RDC Heeft een bestand een batch/tx met een uitvoerdatum meer dan 10 dagen in de toekomst dan wordt het volledige bestand afgekeurd door RDC SDD: Heeft een bestand een batch/tx met een uitvoerdatum in het verleden dan wordt het volledige bestand afgekeurd door RDC Heeft een bestand een batch/tx met een uitvoerdatum meer dan 20 dagen in de toekomst dan wordt het volledige bestand afgekeurd door RDC Het kanaal RDC checkt dus niet de aanleverdatum maar de uitvoerdatum. De aanleverdata voor SDD First, Recurring Core en B2B zijn respectievelijk D-5/D-3/D-2. Wanneer u het bestand te laat levert corrigeert de bank de uitvoerdatum zolang als de initiële uitvoerdatum niet in het verleden ligt. Bij uitvoerdatum in verleden stuurt de bank een PAIN.002
13
Rabo Direct Connect | Handleiding
RDC bied geen mogelijkheid tot het insturen van een SCT met de urgentie spoed. Deze betalingen kunt u alleen middels het BTL91 formaat inzenden. RDC verwerkt betalingen conform Rabo tijdslijnen. Hier vindt u relevante informatie over betalingen: Openingstijden feestdagen Bulk en Batch aanlevering SCT files Een bestand kan meerdere batches aan betalingen bevatten met ieder haar eigen batchbooking waarde true of false. Het SEPA formaat staat dit toe. Op basis van de true/false waarden in het bestand berekent RDC het betaaltype SCT dat voor de klantaanlevering van toepassing is. Dit kan BATCH of BULK verwerking zijn. Als alle batches in de file batchbooking ‘false’ zijn wordt BULK verwerking doorgegeven aan de betaalfabriek, anders BATCH. Een BATCH-bestand kan dus verschillende waarden voor batchbooking bevatten (onzuivere aanlevering). Het bestand wordt dan conform batchverwerking door de Rabobank afgehandeld. We adviseren u om SCT bestanden zuiver aan te leveren door batchbooking allemaal of op false, of op true te zetten. Het zuiver aanleveren door u als klant heeft vooral bij ‘batch booking = false’ (en dus betaaltype BULK) een voordeel. De losse boekingen ná 13:00 uur aangeleverd tussen Rabobank rekeningen worden dan nog direct verwerkt, bij betaaltype BATCH is dit niet het geval. In algemene zin heeft zuiver aanleveren het voordeel dat de Rabobank de posten optimaal kan verwerken. Volumes Aantal transacties: Het gecomprimeerde bestand met de header en payloadfile mag maximaal 100.000 betalingen bevatten in de payloadfile. Indien er teveel betalingen in de file zit wordt de gehele file afgekeurd. U kunt indien de volumes zijn afgestemd met de Rabobank altijd meerdere gecomprimeerde files insturen.
6. Status berichten en verantwoording ACK/NACK Statusberichten RDC Voor elk bestand dat wordt ingezonden naar RDC wordt er een XML bestand teruggestuurd. In dit XML bericht staat aangegeven of het bestand is geaccepteerd door RDC of niet. Voor een geaccepteerd bestand wordt een ACK terug gestuurd en voor een afgewezen bestand een NACK. Dit ACK of NACK bericht ontvangt u binnen 15 minuten. Het ACK bericht is tevens de timestamp voor de start van de verwerking. Hieronder een voorbeeld van een NACK bericht. Voorbeeld:
14
Rabo Direct Connect | Handleiding
mypain001.zip_1363953006682_reply.xml 123 <PayloadAction>SCT <PayloadVersion>pain.001.001.03 1363953006682 <Status>NACK <TimeStamp>2013-03-22T08:00:00 <Errors> <Error> <ErrorCode>CAT_001 <ErrorMessage>
Veld
Toelichting
Toegestane waarden
ContractId PayloadAction
PayloadVersion
SCT SDD PAIN.001.001.03 PAIN.008.001.02
Y Y Y Y
UniqueReference
Status
Verplicht
ACK NACK
Y
Opmerking
Repeated from request Repeated from request Repeated from request Value from Rabobank Value from Rabobank
XML type
string string string string string
Timestamp
Y
dateTime
Errors:Error: ErrorCode
N
string
Errors:Error: ErrorMessage
N
string
Met behulp van het RDCInitiationReply.xsd bestand kunt u de XML bestanden juist creëren en valideren. Het bestand RDCInitiationReply.xsd kunt u vinden op www.rabobank.com/rdc onder downloads. Standaard benaming: originalfilename_ _reply.xml Het bericht is gebaseerd op de oorspronkelijke naam van het bestand die door u is bepaald gevolgd door een underscore en de klantreferentie. Als het door u ingestuurde bestand niet leesbaar is en de klantreferentie niet bepaald kan worden dan wordt deze ook niet gegeven. In dat geval ziet de bestandsnaam er als volgt uit: originalfilename_ reply.xml Als het bestand om wat voor reden ook twee keer wordt verstuurd ontvangt u twee reacties: originalfilename_ _reply.xml (normale ACK/NACK) Originalfilename(1)_reply.xml (NACK omdat er een duplicaat is gedetecteerd)
15
Rabo Direct Connect | Handleiding
De 1 geeft aan dat het om het eerste duplicaat gaat en bevat altijd een NACK. De referentie is in deze regel niet gespecificeerd. PAIN.002 status berichten Indien tijdens de verwerking van SCT en SDD initiaties blijkt dat een batch of individuele transactie niet uitgevoerd kan worden dan kan RDC u een melding in de vorm van een XML bericht, een zogenaamde PAIN.002, aanbieden. Op het inrichtingsformulier kunt u aangeven of u hier gebruik van wilt maken. Deze service is alleen inzetbaar voor SEPA initiaties (SCT en SDD). LET OP! Dit is een ander bericht dan de ACK/NACK berichten die RDC stuurt. Het kan in de praktijk bijvoorbeeld voorkomen dat u een ACK ontvangt van RDC, maar dat later toch blijkt dat er onvoldoende saldo op de rekening stond. Aangezien RDC geen opdrachten aanhoudt, worden deze direct afgekeurd. Dit wordt dan aan u teruggekoppeld door middel van het PAIN.002 bericht. De kenmerken: - PAIN.002 meldingen worden naast op batchniveau ook op transactieniveau teruggemeld. - Er zitten maximaal 2.500 transacties in één PAIN.002 bericht. Bij een overschrijding van deze limiet zullen aanvullende PAIN.002 berichten worden aangemaakt om alle pre settlement afgekeurde transacties terug te kunnen melden. - Pre settlement R-messages worden ook via PAIN.002 beschikbaar gesteld (naast bruto boeken op afschrift). Let op!: De afkeuring met reden op transactieniveau komt vergezeld met de volledige originele transactiedetails. In geval van een salarisbetaling heeft dit tot gevolg dat het bedrag en begunstigde worden meegestuurd in de PAIN.002. Een functionele en technische beschrijving van het PAIN.002 bericht zijn beschikbaar op www.rabobank.com/rdc, via ‘Downloads’, dan onder ‘Export formats’. In de functionele omschrijving kunt u ook de afkeurcodes vinden. De opbouw van de bestandsnaam van PAIN.002 is als volgt: _< volgnummer>-PAIN002.xml Voorbeeld, als uw originele bestand er uit is gegaan als: RDCSCT20140427.xml.zip Dan heeft de eerste PAIN.002 die u ontvangt de volgende bestandsnaam: RDCSCT20140427.xml.zip_0000-PAIN002.xml Bundeling verantwoordingsinformatie Standaard verstuurt de Rabobank per verantwoordingsservice één bundel (.zip) met daarin alle rekeningnummers die onder uw contract vallen. U kunt er echter ook voor kiezen om de verantwoordingsinformatie te splitsen in een aantal bundels. Zo kunt u bijvoorbeeld per bedrijfsonderdeel een aparte bundel instellen. Op die manier is het eenvoudig om rekeningnummers in uw administratiesysteem van elkaar gescheiden te houden en hoeft u niet alle afschriften uit 1 bundel te zoeken. Deze optie kunt u voor zowel eindedaginformatie als de intradaginformatie gebruiken. Hieronder ziet u een voorbeeld voor eindedaginformatie: Rekening
CCY
NL81RABO
CAMT.053
Bundel
EUR
X
1
NL81RABO
EUR
X
1
NL81RABO
EUR
X
1
16
MT940 Structured
Bundel
Rabo Direct Connect | Handleiding
NL81RABO
EUR
X
1
NL81RABO
USD
X
1
NL81RABO
GBP
X
1
NL81RABO
EUR
X
2;1
NL81RABO
EUR
X
2;1
NL81RABO
EUR
X
2
NL81RABO
EUR
X
3
X
2
NL81RABO
EUR
X
3
NL81RABO
EUR
X
3
NL81RABO
EUR
X
3
In dit voorbeeld vindt u rekening 1 t/m 8 in bundel 1, rekening 7 t/m 10 in bundel 2 en rekening 10 t/m 13 in bundel 3. Daarnaast zitten rekeningen 7 en 8 in zowel bundel 1 als in bundel 2 en rekening 10 in bundel 2 en 3. Het is niet mogelijk in 1 bundel zowel CAMT.053 als MT940 Structured of CAMT.052 en MT942 Structured op te voeren, deze formaten zullen altijd in verschillende bundels verzonden worden Mocht u van deze optie gebruik willen maken dan kunt u dit op uw inrichtingsformulier aangeven. In de files die u vervolgens download ziet dat er als volgt uit (waarbij het dikgedrukte deel het bundel nummer is): -
StatementType_Date_Time_ContractId_statementTransportAgreementId.zip
Voorbeeld: -
MT940S_20131118_213818_112600266_7.zip
De bundelnaam mag alleen letters en cijfers bevatten en is maximaal 8 posities lang. De bundelcode kan opgegeven worden via het inrichtingsformulier. Indien u geen bundelcode opgeeft wordt er nog wel automatisch een 4-cijferige code gegenereerd, in dat geval ontvangt u van de Rabobank tijdens uw implementatie de correcte 4-cijferige bundelnummers. Intradag rapportage U kunt een rapportage ontvangen van transacties die zijn bij- of afgeboekt vóór het afsluiten van de dag, oftewel een intradag rapportage. Hierdoor kunt u bijvoorbeeld al eerder reconciliëren, leveringen vrijgeven en/of beter bepalen wat uw cash positie is gedurende de dag. Er zijn twee varianten om uw intradagrapporten op te halen: de ‘Intradag huidige boekdag’ en ‘Intradag boekdag overschrijdend’. Uw RDC-contract kunt u via het inrichtingsformulier uitbreiden met intradag rapportages. Dit formulier kunt u later ook gebruiken om wijzigingen door te geven. Om voor een rekening intradag informatie aan te vragen, moet deze rekening al deel uitmaken van de eindedag verantwoording die via dit contract loopt. Voor het toevoegen van de rekening aan de eindedag verantwoording gebruikt u hetzelfde formulier. Intradag huidige boekdag Intradag huidige boekdag bevat alle transacties van de huidige boekdag. Elke opvraag bevat nieuwe transacties. Intradaginformatie wordt alleen uitgeleverd op werkdagen. In het weekend en/of op Target closing days wordt er geen intradaginformatie uitgeleverd. Het eerste uitlevermoment is
17
Rabo Direct Connect | Handleiding
07:00, het laatste uitlevermoment is 18:00. U kunt, via het inrichtingsformulier, ervoor kiezen om na het laatste uitlevermoment een intradagrapport te ontvangen met de resterende transacties. Dit zodat uw intradagrapport aansluit op uw eindedagrapport. De intradagrapporten kunnen per bundel uitgeleverd worden, indien in een bundel geen nieuwe intradaginformatie beschikbaar is wordt er geen intradagrapport uitgeleverd. Wilt u toch een (leeg) intradagrapport ontvangen dan kunt u dit aangeven in het inrichtingsformulier. Intradag boekdag overschrijdend Intradag boekdag overschrijdend bevat transacties over een bepaalde periode waarbij u de selectieperiode via het inrichtingsformulier kunt aanvragen. Het rapport zal boekdag overschrijdende transacties bevatten. Deze variant wordt zeven dagen per week uitgeleverd. Tevens kunt u ervoor kiezen om ook op Target closing days de intradaginformatie uitgeleverd te krijgen, dit kunt u aangeven op het inrichtingsformulier. Deze variant sluit niet aan op het eindedagrapport en is vooral geschikt indien u doorlopend intradaginformatie wilt ontvangen. De intradagrapporten kunnen per bundel uitgeleverd worden, indien in een bundel geen nieuwe intradaginformatie beschikbaar is wordt er geen intradagrapport uitgeleverd. Wilt u toch een (leeg) intradagrapport ontvangen dan kunt u dit aangeven in het inrichtingsformulier. Formaat U kunt de intradag rapportages ontvangen in twee formaten, SWIFT MT942 Structured of CAMT.052. Het voordeel van de MT942 Structured is dat dit formaat gebaseerd is op een standaard die al lange tijd door veel financiële administraties/ERP pakketten ondersteund wordt en daarmee relatief eenvoudig te importeren is in uw financiële administratie. Het voordeel van het CAMT.052 formaat is dat deze gebaseerd is op de nieuwe XML standaard en geschikt is voor volledige rapportage van alle velden die u kunt opgeven bij een Eurobetaling (SEPA Credit Transfer) of Euro-incasso (SEPA Direct Debit). Een functionele beschrijving van de verschillende intradagformaten zijn beschikbaar op www.rabobank.com/rdc, via ‘Downloads’, dan onder ‘Export formats’.
18
Rabo Direct Connect | Handleiding
Vergelijkingstabel aanlevervarianten intradagrapporten In onderstaande tabel kunt u de verschillende varianten met elkaar vergelijken. Omschrijving: Dagen waarop intradag transacties geleverd worden Eerste mogelijke levertijdstip Laatste mogelijke levertijdstip Levering op vaste tijdstippen of met vaste frequentie
Levering via Boekdagen Wat als er geen transacties te rapporteren zijn?
Beschikbare formaten
Intradag huidige boekdag Elke werkdag m.u.v. zaterdag, zondag en Target closing day1.
Intradag boekdag overschrijdend Elke werkdag, zaterdag en zondag en Target closing day2.
07:00. De eerste rapportage van de dag levert alle transacties die sinds het einde van de vorige boekdag zijn bij- of afgeschreven. 18:004.
Start van de huidige boekdag3.
Maximaal tien vaste levertijdstippen in te stellen per kwartier tussen en inclusief het eerste en laatste levermoment, bijvoorbeeld om 07:00, 11:15, 15:30, 17:00 en 18:00. Elke 15, 30, 60 of 120 minuten worden de bij- of afgeschreven transacties gerapporteerd, vanaf het eerste levertijdstip tot en met het laatste levertijdstip. Secure File Transfer Protocol (sFTP) of SWIFT FileAct5 U ontvangt alleen transacties die met boekdag vandaag geboekt zijn. U kunt er voor kiezen om intradag rapportage te ontvangen indien op geen van de rekeningen in een bundel waarvoor u intradag rapportage heeft ingesteld een transactie geboekt is sinds de vorige levering van een intradag rapportage. U kunt dit aangeven op het inrichtingsformulier. MT942 Structured en CAMT.052
Maximaal tien vaste levertijdstippen in te stellen per kwartier tussen en inclusief het eerste en laatste levermoment, bijvoorbeeld om 05:00, 11:15, 15:30, 18:00 en 23:30. Elke 15, 30, 60 of 120 minuten worden de bij- of afgeschreven transacties gerapporteerd, vanaf het eerste levertijdstip tot en met het laatste levertijdstip. Secure File Transfer Protocol (sFTP) of SWIFT Fileact5 Boekdag overschrijdend.
Einde huidige boekdag.
U kunt er voor kiezen om intradag rapportage te ontvangen indien op geen van de rekeningen in een bundel waarvoor u intradag rapportage heeft ingesteld een transactie geboekt is sinds de vorige levering van een intradag rapportage. U kunt dit aangeven op het inrichtingsformulier. MT942 Structured en CAMT.052
1
Op TARGET closing days is geen betalingsverkeer in Euro’s mogelijk, er worden dan geen transacties verwerkt. TARGET closing days zijn Nieuwjaarsdag, Goede Vrijdag, Eerste Paasdag, Dag van de Arbeid en 1ste en 2de Kerstdag. 2 U kunt ervoor kiezen om bij de voortschrijdende intradag variant om op Target closing day intradaginformatie uitgeleverd te krijgen. U kunt dit aangeven op het inrichtingsformulier. TARGET closing days zijn Nieuwjaarsdag, Goede Vrijdag, Eerste Paasdag, Dag van de Arbeid en 1ste en 2de Kerstdag. 3 Intradag boekdag overschrijdend wordt 24 uur per dag en zeven dagen in de week uitgeleverd. Het eerste uitlevermoment is om 00:00 en eindigd op 23:45. 4 Het is mogelijk dat na 18:00, of na uw laatste ingestelde levermoment, nog transacties worden verwerkt met boekdag vandaag. Het kan dan zijn dat er transacties gerapporteerd worden op uw dagafschrift (MT940S of CAMT.053) die niet gerapporteerd zijn via een intradag rapportage. U kunt er voor kiezen om deze transacties nog intradag geleverd te krijgen. 5 Via sFTP ontvangt u van ons een Zip-bestand met daarin een header bestand met handtekening en een MT942S of CAMT.052 bestand.
19
Rabo Direct Connect | Handleiding
Verantwoordingsinformatie Aan het einde van de dag wordt een verantwoordingsbestand (End of day) verzonden in het gekozen bestandsformaat (CAMT.053 of MT940 structured). Intradag verantwoording is beschikbaar in RDC via CAMT.052 en MT942 Structured. Een verantwoordingsbestand blijft 2 maanden lang beschikbaar en kan via uw sFTP koppeling worden opgehaald. Houdt u er rekening mee dat u na 2 maanden geen CAMT.053, MT940 Structured, CAMT.052 of MT942 Structured meer kunt ophalen.
ZIP file CAMT053_20130322_081011_123.zip header.xml
123 2013-03-22T08:10:11 <TimeStamp>2013-03-22T08:10:11 <PayloadList> <Payload> CAMT053.20130322_081011_123.xml <Signature>OzqpF3zVMBatlKKH/T18mhbelWM8afWgK/GzaEARF9Cc7AF2CuSSnlL ioSK9oJ07Y/+ZqdzpqqR3VzeCkGuUO6s8mCW9fkFMElNTz4szObj/uTHh3KpJTbWgOKOdD0xQo EHqLaOBgUmDEwzjLvmMOBhbON41CitJN+EpYUrHx+kHr5mPSMfZv7AvbMdMychMDWgY7khs lfMTAwwksB1bDQAVA18hi3W7v+hTPf6N3YQ2ssiWXOAlQO5ZDkdG5JIavFfIg25Bb4TPbIXl00qt Ui5dBxp30k0vdoGL6pw2l3YgvFRCy1mJyY3ofQgaAuGBDI7jnqu9ztVyKQRL70BBHA== <PayloadAction>CAMT053 <PayloadVersion>CAMT053v1.2 CAMT053_20130322_081011_123.xml
Veld
Toelichting
Toegestane waarden
Verplicht
Opmerking
XML type
UniqueReference
Y Y
Timestamp
Y
PayloadList: Payload: FileName
Y
PayloadList: Payload: Signature
Y
Value from Rabobank
string
Y
Value from Rabobank
dateTime
Y
Value from Rabobank
string
ContractId
PayloadList: Payload: PayloadAction PayloadList: Payload: PayloadVersion
20
CAMT.053 MT940 Structured CAMT.053v1.2 MT940 Structuredv1.2
Value from Rabobank Value from Rabobank Value from Rabobank
string string string dateTime
Rabo Direct Connect | Handleiding
Met behulp van het RDCInformationReply.xsd bestand kunt u de XML bestanden juist creëren en valideren. Het bestand RDCInformationReply.xsd kunt u vinden op www.rabobank.com/rdc onder downloads. Verantwoordingsinformatie wordt afgeleverd in een zip bestand met een header met daarin een handtekening. De benaming van het zip bestand is als volgt: StatementType_Date_Time_ContractId_statementTransportAgreementId.zip Voorbeelden: CAMT053_20130327_152431_1002003_590.zip MT940S_20130327_152431_1002003_8.zip Directe uitlevering stap voor stap
1) De BackOffice systemen van de Rabobank genereren de verantwoordingsinformatie die met u afgesproken is. 2) De verantwoordingsinformatie wordt indien afgestemd versleuteld. 3) De verantwoordingsinformatie wordt klaargezet. 4) Afhankelijk van uw keuze voor PUSH of PULL start u de beveiligde sFTP connectie op met de bank, of pusht Rabobank het bericht naar uw systeem. 5) De sFTP server verifieert of u bent wie u zegt te zijn. Als u niet wordt herkend wordt de verbinding verbroken. 6) Vervolgens haalt u het bestand op en verplaatst u het naar de gewenste locatie. Het is aanbevolen het bestand niet te kopiëren, maar te verplaatsen naar uw ERP omgeving. Dit voorkomt fouten en een dubbele administratie. 7) U verbreekt de verbinding met de bank en kunt het bestand in uw ERP systeem verwerken.
7. De RDC portlet Wat is de RDC portlet? De RDC status portlet maakt het u gemakkelijk online de status van uw transacties in te zien. In de portlet worden afwijzingen van de betalingen op file, batch en betalingsniveau weergegeven. U kunt zien waarom een file, batch of betaling is afgewezen. Indien u gebruik wilt maken van de RDC status portlet kunt u dit aangeven op het inrichtingsformulier. U vraagt het gebruik van de portlet aan door nieuwe passen aan te vragen of door toegang tot de portlet te koppelen aan al bestaande passen. Hoe gebruik ik de RDC- portlet? Op www.rabobank.com/supportcorporateconnect kunt u uitgebreide informatie vinden inzake het inloggen op Rabo Corporate Connect. Zodra u zich bevindt op het Rabo Corporate Connect Portaal kunt u de RDC-portlet benaderen.
21
Rabo Direct Connect | Handleiding
Nadat u bent ingelogd vindt u onder “Menu” de knop voor de RDC-portlet. Klik hierop om de portlet te openen (zie onder).
Nadat u betalingen heeft verzonden middels RDC zult u hier de status terug kunnen zien van uw betaling op file niveau. Indien dit niet het geval is kunt u contact opnemen met de Rabo Corporate Support. Aan het einde van deze handleiding vindt u de contactgegevens. Batch level informatie bekijken Indien u op het Vergrootglas klikt van een (deels) afgekeurd bestand wordt de Batch level informatie getoond. Hier ziet u op batchniveau de afgekeurde of deels afgekeurde batches met daarbij een afkeurreden. In Appendix 1 vindt u een overzicht van alle mogelijke afkeuringen. Veld / Knop
Beschrijving
Batch referentie
Vul hier de Batch referentie in indien u gebruik wilt maken van de zoekfunctionaliteit.
Zoek
Met deze knop zoekt u naar de batch referentie wat u hebt ingevuld in het veld Batch referentie.
Vergrootglas
Met deze knop kunt u de reden van afwijzing bekijken op Transactie niveau.
Bestandsstatus
Met deze knop gaat u terug naar het beginscherm van deze toepassing.
Terug
Met deze knop gaat u terug naar het vorige scherm. Transactie informatie bekijken
Nadat u nogmaals op het vergrootglas heeft geklikt van een (deels) afgekeurde batch wordt de Transactie informatie weergegeven.
22
Rabo Direct Connect | Handleiding
Veld / Knop
Beschrijving
Transactie referentie
Vul hier de Transactie referentie in indien u gebruik wilt maken van de zoekfunctionaliteit.
Zoek
Met deze knop zoekt u naar de transactie referentie die u hebt ingevuld in het veld Transactie referentie.
Bestandsstatus
Met deze knop gaat u terug naar het beginscherm van deze toepassing.
Terug
Met deze knop gaat u terug naar het vorige scherm.
8. Ondersteuning en Service Contact gegevens Na succesvolle ingebruikname van Rabo Direct Connect kunt u voor vragen of het oplossen van problemen terecht bij Rabo Corporate Support. Supportdesk: Geopend: Telefoon: Email: Website:
Rabo Corporate Support maandag t/m vrijdag van 8:00 tot 17:30 030-712 1777 [email protected] www.rabobank.com/rdc
Houdt u er rekening mee dat we voor een juiste afhandeling van uw vraag onderstaande gegevens nodig zullen hebben: -
Uw gegevens: Bedrijfsnaam of andere referentie De vraag/probleemstelling Informatie over de betreffende download/upload zoals de datum, tijd en bestandsnaam Noodprocedure blokkeren verbinding RDC
In noodgevallen kunt u uw RDC-connectie met de Rabobank blokkeren. Hiervoor bestaat een noodlijn die 24/7 bereikbaar is. U kunt dit nummer bellen in geval er misbruik wordt gemaakt van uw RDC-overeenkomst en er dus sprake is of het vermoeden bestaat van fraude. Dit nummer kan enkel voor deze noodprocedure worden ingezet. In alle andere gevallen wordt u niet ondersteund buiten kantooruren. Telefoon:
06-12205170
Wanneer u dit nummer belt zal ter verificatie gevraagd worden naar uw contract ID. Zorg ervoor dat u dit nummer bij de hand heeft wanneer u belt. Dit nummer heeft u ontvangen bij de implementatie van RDC. Bewaar dit nummer dus goed. Nadat we uw identiteit hebben bevestigd wordt de verbinding verbroken en zetten we het noodproces in gang. U wordt uiterlijk binnen twee uur teruggebeld met een bevestiging dat de RDC connectie is geblokkeerd. Daarna zullen we contact met u opnemen om te bespreken hoe we de connectie weer op een veilige manier kunnen herstellen. Indien de melding ‘s nachts is gedaan wordt u de volgende ochtend teruggebeld hierover en wanneer u de melding in het weekend heeft gedaan wordt u hierover op maandagochtend gebeld.
23
Rabo Direct Connect | Handleiding
Appendix 1: Afkeurredenen Hieronder vindt u een overzicht van alle afkeuromschrijvingen die RDC genereert. In deze paragraaf worden alle omschrijvingen weergegeven die u ook terug kunt zien in de RDC status portlet. Dit zijn de meldingen 1 t/m 40. De meldingen 100 t/m 124 zijn de afkeurredenen die verzonden worden voor BTL91 betalingen. Deze verschijnen niet in de RDC status portlet maar worden weergegeven in ACK/NACK Statusberichten RDC. Indien een afkeurcode onduidelijk is kunt u contact opnemen met Rabo Corporate support. Reject reason code
Description
NO_AGREEMENT_FOR_ACCOUNT
1, "File {0} contains one or more account(s) ({1}) which are not in the agreement." 2, "One or more Execution date(s) are not valid, payment(s) not direct processable: {0}." 3, "File {0}, contains more than {1} transactions. This is not allowed." 4, "The signature of file {0} could not be verified successfully." 5, "The sender of file {0} is not authorised to deliver payment instructions, unknown agreement." 6, "Unknown version specified (for XSD) in the header." 7, "The input file ({0}) is not a zip file." 8, "The compressed input file {0} contains one or more folders." 9, "The compressed input file {0} has too many files." 10, "The payload file is of an incorrect file type ('.zip.enc' expected): {0}." 11, "The payload file is of an incorrect file type ('.xml' or '.txt' expected): {0}." 12, "The content of the compressed input file is not conform specification (expected header or payload file cannot be found)." 13, "The compressed payload file of input file {0} contains one or more folders." 14, "The compressed payload file of input file {0} contains an incorrect file type ('.xml' or '.txt' expected)." 15, "The compressed payload file of input file {0} contains no entries." 16, "The compressed payload file of input file {0} contains too many files." 17, "The compressed payload file of input file {0} contains an entry with an invalid name." 18, "Duplicate found, the payload of this input file ({0}) has already been successfully processed." 19, "The Header of File {0} does not comply to the RDCInitiationRequest scheme. Technical reason: {1}." 20, "Header contains multiple signatures. This is not allowed."
NOT_DIRECT_PROCESSABLE TOO_MANY_TRANSACTIONS SIGNATURE_NOT_VERIFIED SENDER_NOT_AUTHORIZED XSD_VERSION_UNKNOWN INPUTFILE_NOT_A_ZIP_FILE INPUTFILE_ZIP_CONTAINS_FOLDERS INPUTFILE_ZIP_CONTAINS_TOO_MANY_FILES PAYLOAD_FILE_TYPE_NOT_ZIP_ENC PAYLOAD_FILE_TYPE_NOT_XML_OR_TXT INPUTFILE_ZIP_NOT_COMPLIANT
PAYLOADFILE_ZIP_CONTAINS_FOLDERS PAYLOADFILE_ZIP_CONTAINS_INCORRECT_FILE_TYPE PAYLOADFILE_ZIP_CONTAINS_NO_ENTRIES PAYLOADFILE_ZIP_CONTAINS_TOO_MANY_FILES PAYLOADFILE_ZIPENTRY_FILE NAME_NOT_COMPLIANT DUPLICATE_PAYLOAD HEADER_NOT_VALID TOO_MANY_SIGNATURES
24
Rabo Direct Connect | Handleiding
Reject reason code
Description
UNKNOWN_CT_XSD_VERSION
21, "Version of XSD specified in header for Credit Transfer XML is unknown!" 22, "Version of XSD specified in header for Direct Debit XML is unknown!" 23, "Version specified in header for BTL is unknown!"
UNKNOWN_DD_XSD_VERSION UNKNOWN_BTL_VERSION HEADER_NOT_WELL_FORMED
24, "The Header of File {0} is not well-formed. Technical reason: {1}."
UNKNOWN_XSD_VERSION
25, "Unknown version specified (for XSD) in the header." 26, "The payload of File {0} does not comply to the SEPA scheme ({1}). Technical reason: {2}." 27, "The payload of File {0} is not well-formed (SEPA scheme ({1}). Technical reason: {2}." 28, "More than one valid certificate available, exactly one certificate should be valid at a given time." 29, "No valid certificate available, exactly one certificate should be valid at a given time." 30, "The file {0} could not be decrypted." 31, "File {0} contains one or more (Dutch) IBAN(s) with an invalid format ({1})." 32, "The payload file name found in file {0} is invalid." 33, "Party sent an encrypted file, so at least one valid SharedSecretKey should be available." 34, "Party sent an encrypted file, so SharedSecretKey attributes are mandatory and should be available." 35, "More than one valid secret key available, only one secretKey should be valid at a given time." 36, "The input directory does not match the directory expected for the agreement of this party." 37, "The input file name ({0}) contains one or more spaces." 38, "A duplicate input file ({0}) has been detected." 39, "File {0}, contains more than {1} batches. This is not allowed." 40, "Duplicate input files ({0}, {1}) have been detected." 100, "BetaalRecord 1 was not found at line {0}."
PAYLOAD_NOT_VALID PAYLOAD_NOT_WELL_FORMED TOO_MANY_CERTIFICATES NO_CERTIFICATES FILE_CAN_NOT_BE_DECRYPTED FILE_CONTAINS_INVALID_IBANS PAYLOAD_FILE NAME_NOT_COMPLIANT NO_SHARED_SECRET_KEY MISSING_ATTRIBUTE_IN_SHARED_SECRET_KEY TOO_MANY_SHARED_SECRET_KEYS INVALID_INPUT_DIRECTORY INPUTFILE NAME_CONTAINS_SPACES DUPLICATE_INPUTFILE_DETECTED TOO_MANY_BATCHES DUPLICATE_INPUTFILES_DETECTED BETAALRECORD_1_NOT_FOUND BETAALRECORD_2_NOT_FOUND BETAALRECORD_3_NOT_FOUND BETAALRECORD_4_NOT_FOUND SLUITRECORD_NOT_FOUND UNKNOWN_RECORD_CODE INCORRECT_LINE_LENGTH INCORRECT_FIELD_VALUE
25
101, "BetaalRecord 2 was not found at line {0}." 102, "BetaalRecord 3 was not found at line {0}." 103, "BetaalRecord 4 was not found at line {0}." 104, "Sluitrecord was not found at line {0}." 105, "A line was found with an unknown Recordcode at line {0}." 106, "A line was found with an incorrect line length at line {0}." 107, "A line was found with an incorrect field value at line {0}, field=''{1}'', rejected value=''{2}''."
Rabo Direct Connect | Handleiding
Reject reason code
Description
SECOND_VOORLOOPRECORD_FOUND
108, "A second VoorloopRecord was found at line {0}."
BETAALRECORD_BEFORE_VOORLOOPRECORD
109, "A BetaalRecord was found before a VoorloopRecord was found at line {0}." 110, "A BetaalRecord was found after a SluitRecord was found at line {0}."
BETAALRECORD_AFTER_SLUITRECORD TOTAALRECORD_BEFORE_VOORLOOPRECORD
111, "A TotaalRecord was found before a VoorloopRecord was found at line {0}."
TOTAALRECORD_BEFORE_BETAALRECORD
112, "A TotaalRecord was found before a BetaalRecord was found at line {0}." TOTAALRECORD_AFTER_SLUITRECORD 113, "A TotaalRecord was found after a SluitRecord was found at line {0}." SLUITRECORD_BEFORE_VOORLOOPRECORD 114,"A SluitRecord was found before a VoorloopRecord was found at line {0}." SLUITRECORD_BEFORE_BETAALRECORD 115, "A SluitRecord was found before a BetaalRecord was found at line {0}." SLUITRECORD_BEFORE_TOTAALRECORD 116, "A SluitRecord was found before a TotaalRecord was found at line {0}." INVALID_OPDRACHTNUMMER 117, "A BetaalRecord was found with an incorrect value for field 'Opdrachtnummer(1-4)' at lines {0} - {1}." PHANTOM_TOTAALRECORD 118, "A TotaalRecord for currency ''{0}'', for which there are no BetaalRecords, was found at line {1}." SUPERFLUOUS_TOTAALRECORD 119, "A TotaalRecord for currency ''{0}'' was found for which a TotaalRecord has already been found at line {1}." TO120, "The number of 'BetaalRecords' counted ({2}) for TAAL_RECORD_AANTAL_BETAAL_OPDRACHTE currency ''{0}'' does not match the number of records N_INCORRECT specified ({3}) in the TotaalRecord (field 'AantalBetaalopdrachten') at line {1}." TO121, "The sum of 'OpdrachtBedrag' ({2}) found in 'BeTAAL_RECORD_TOTAAL_BEDRAG_MUNTSOOR taalRecords' for currency ''{0}'' does not match the T_INCORRECT amount specified ({3}) in the TotaalRecord (field 'TotaalbedragMuntsoort') at line {1}." SLUIT_RECORD_TOTAAL_AANTAL_RECORDS_I 122, "The number of records counted does not match NCORRECT the number of records specified in the SluitRecord (field 'TotaalAantalRecords') at line {0}." SLUIT_RECORD_TOTAAL_AANTAL_TRANSACTIE 123, "The number of transactions counted does not _RECORDS_INCORRECT match the number of transactions specified in the SluitRecord (field 'TotaalAantalTransactierecordS') at line {0}." MISSING_TOTAALRECORD 124, "A TotaalRecord for currency ''{0}'' was not found."
26
Rabo Direct Connect | Handleiding
Appendix 2. Checklist Signing We expect you to calculate the hash with the SHA256 algorithm and use a 2048 bytes RSA private key. For the openssl “dgst” commands below you need to use a PEM format of your public key. You can also use openssl to convert your public key to the PEM format. The openssl commands generates hashes and verifies signatures. You can compare the hashes with the results of your own code and these should be identical. After signing the hash (creation of the signature) you can verify them with the given openssl commands. Verify your own signature of type RAW with openssl: 1. Check your own hash (result of your code) against openssl hash; openssl dgst -sha256 <payload-file> 2. Verify your own signature (result of your code) with openssl; Openssl dgst -sha256 -verify -signature <signature-file> <payload-file> 3. Check base64 encoding https://www.base64decode.org/
Verify your own signature of type PKCS#7 with openssl: 1. Check your own hash (result of your code) against openssl hash;
openssl dgst -sha256 <payload-file> 2. Verify your own signature (result of your code) with openssl;
openssl smime -verify -inform DER -in -content <payload-file> -certfile -noverify -nointern 3. Check Base64 encoding : https://www.base64decode.org/
27
Rabo Direct Connect | Handleiding
Change log Titel: Versie: Datum:
Handleiding RDC 1.3 23-02-2015
Datum
Versie
23-05-2014
1.1
23-05-2014
1.1
23-05-2014
1.1
23-05-2014
1.1
02-07-2014
1.2
02-08-2014
1.2
10-09-2014
1.2
04-02-2015
1.3
23-2-2015
1.3
27-05-2015 26-06-2015
28
Type Wijziging
Reden Wijziging
Beschrijving van PAIN.002 bestandsnaam Correctie gecorrigeerd in sectie 5.2 – PAIN.002 status berichten. Situaties waarbij PAIN.002 beschikbaar Efficiëntie gesteld wordt verwijderd uit sectie 5.2 – PAIN.002 status berichten en een verwijzing opgenomen naar een functionele en technische formaatbeschrijving van PAIN.002. Afkeurcodes plus omschrijving, die in een PAIN.002 kunnen voorkomen, verwijderd uit sectie 5.2 – PAIN.002 status berichten. De codes en omschrijvingen zijn beschikbaar via de functionele formaatbeschrijving van PAIN.002. In 4.2 – Het initiatie bestand toegevoegd dat lengte van filename maximaal 175 karakters mag zijn. Opmerking: er kunnen geen spaarrekeningen worden gebruikt binnen RDC. Verschillende stijlverbeteringen
Efficiëntie
Aanvulling
1.3
Intradag, PAIN002 op transactieniveau en PUSH/PULL mogelijkheden toegevoegd. Naamgeving en mailadres support aangepast. Toegang naar RDC-portlet aangepast. bundelcodes verwerkingsinformatie aangepast. Wijzigingen mbt SHA2
1.3
Encryptie verwijderd
Verwijdering
Aanvulling
Aanvulling Opschoning
Aanpassing Aanpassing Aanpassing
Rabo Direct Connect | Handleiding