Dokumentationsguide for dansk Bankkonto
OIOXML dokumentationsguide for dansk Bankkonto Denne guide er udarbejdet af Peter Neergaard Jensen, IT- og Telestyrelsen, i regi af Kernekomponentgruppen under XML-projektet i Ministeriet for Videnskab, Teknologi og Udvikling, med indspark fra Carsten Pedersen, Finansrådet. For ikke-danske kontonumre henvises til ForeignBankAccountIdentifier (UdenlandskKontoNummer).. Ejerskab IT- og Telestyrelsen.. Interessenter og høringsparter Finansrådet, som er interesseorganisation for pengeinstitutterne i Danmark, er overordnet interessent og høringspartner på dansk Bankkonto. Andre relevante interessenter og høringspartnere er bl.a. private virksomheder og offentlige institutioner, som i vid udstrækning har med bankkonti at gøre, fx til lønubetalinger eller faktureringer. Figur. Interaktionseksempel. 2. Relevans I Danmark bruges bankkonti bl.a. i banksektoren, af lønkontorer/lønadministratorer til lønudbetaling, af virksomheder til faktureringer fx via giro-konto, af foreninger samt af private til div. forskellige konti: lønkonto, opsparingskonto etc. Bankkonti har altså relevans overalt i det danske samfund. Der findes allerede to standarder under OIOXML som definerer en dansk bankkonto, nemlig NemKonto, der baserer sig på SWIFT, og OIOXML elektronisk regning, der baserer sig på UBL 2. Nærværende dokument henvender sig derfor til brugere, som ikke er under den finansielle sektor eller som ikke skal sende en elektronisk regning til det SWIFT er den finansielle sektors meddelelsesformat 2 UBL (Universal Business Language) er en international standard under standardiseringsorganisationen OASIS: http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=ubl 2
offentlige. Fx kunne det være en forening, der vil angive sit kontonummer, så medlemmer kan betale kontingent ved direkte henvendelse til pengeinstituttet. 3. Oversigt over de relevante klasser Figuren nedenfor illustrerer den konceptuelle model for bankkonto-klasserne. Modellen består af klasserne RegistreringsNummer og KontoNummer, som sammensat giver den aggregerede klasse BankKonto. RegistreringsNummer BankKonto KontoNummer Figur 2. Konceptuel model. 4. De strukturerede OIOXML typer Der er kun én struktureret OIOXML type for bankkonto. Figuren nedenfor illustrerer den logiske model for bankkonto, som indeholder den komplekse type BankAccount- Structure, og de simple typer BankBranchIdentifier og BankAccountIdentifier. BankAccountStructure..* BankBranchIdentifier -BankBranchIdentifier : BankBranchIdentifierType BankAccountIdentifier -BankAccountIdentifier : BankAccountIdentifierType Figur 3. Logisk model. I tabellerne nedenfor beskrives ) den strukturerede type BankAccountStructure, som sammenholdes med den konceptuelle model, og 2) de elementer, der indgår i den strukturerede type. 3
Tabel : Oversigt den strukturerede OIOXML-type Den komplekse bankkonto-type Navn på schema Formål Anvendelse BankAccountStructure Bankkonto Entydig angivelse af en bankonto i et dansk pengeinstitut. Struktureret udveksling af kontonummer fra system til system, når personens, virksomhedens eller den offentlige myndigheds registrerings- og kontonummer er nødvendig. Eksempler: udbetaling af løn, udbetaling af overskydende skat, betaling af varer, indbetaling på konto. Tabel 2: Oversigt over elementer som indgår i den strukturerede type Element navn BankBranch~ Identifier BankAccount~ Identifier Dansk label og definition Registreringsnummer: Entydig angivelse af et dansk pengeinstitut. Kontonummer: Entydig angivelse af en konto i et givent pengeinstitut. Engelsk label og definition Branch code: Unique specification of a Danish commercial bank. Account number: Unique specification of an account in a given commercial bank. Domæne <restriction base="integer"> <totaldigits value="4"/> </restriction> <restriction base="integer"> <pattern value="[0-9]{4,0}"/> </restriction> Eksem pel Bemærkning 5545 Registreringsnumre på mindre end 4 cifre SKAL angives med foranstillede 0 er. 594658 Et kontonummer på mindre end 0 cifre kan angives med foranstillede 0 er. Fx kan 594658 også skrives som 000594658. BankAccountStructure (Bankkonto) Formål Entydig angivelse af dansk bankkonto. Baggrund En fuldstændig og entydig bankkonto består i Danmark af et 4-cifret registreringsnummer og et kontonummer på mindst 4 cifre og højst 0 cifre (heri er inkluderet et kontrolciffer), evt. med foranstillede 0 er. 4
Anvendelse Indhold Struktureret talbaseret udveksling af komplette, læsbare kontooplysninger fra system til menneske og system til system. Eksempler: kunde-, kreditorog personale databaser, webbanking. Ved brug af denne datatype vil det være op til de udvekslende systemer at validere sammenhængen mellem registrerings- og kontonummeret dette er ikke muligt i W3C XML schema standarden. Indeholder de 2 koder, som indgår i en komplet og entydig bankkonto. Nødvendige elementer er angivet med fed skrift BankAccountStructure Min Max Dansk Label Eksempel BankBranchIdentifier Registreringsnummer [Se nedenfor] BankAccountIdentifier Kontonummer [Se nedenfor] Eksempel på XML-struktur (uden angivelse af namespace tilhørsforhold) <BankBranchIdentifier>079</BankBranchIdentifier> <BankAccountIdentifier>5585</BankAccountIdentifier> 5. Logisk model for de semistrukturerede OIOXML typer Der er ingen semistrukturerede OIOXML typer for Bankkonto. 6. Brug af kandidaterne Eksempel på XML-struktur (uden angivelse af namespace tilhørsforhold) <BankBranchIdentifier>079</BankBranchIdentifier> <BankAccountIdentifier>5585</BankAccountIdentifier> Samme eksempel som ovenfor, men med foranstillede 0 er i kontonummeret (uden angivelse af namespace tilhørsforhold) <BankBranchIdentifier>079</BankBranchIdentifier> <BankAccountIdentifier>000005585</BankAccountIdentifier> 5