Snitfladebeskrivelse for MQService IndkomstMasseForspoergsel KMD Indkomst, P13-5 Version 2.0, 25-09-2015
Indholdsfortegnelse Ændringer i forhold til forrige version... 3 1 Brug af snitfladebeskrivelsen... 4 2 Formål og målgrupper... 5 2.1 Formålet med standardsnitfladen... 5 2.2 Målgrupper... 5 3 Informationer i snitfladen... 6 4 Standardsnitfladens arkitektur... 7 4.1 Systemskitse... 7 4.2 Servicemål... 7 4.3 Forretningsmæssigt grundlag... 7 5 Teknisk implementering... 8 5.1 Beskrivelse... 8 5.2 Snitfladeoversigt... 8 5.3 MQ... 8 5.4 Tegnsæt... 8 6 Betingelser for anvendelse af standardsnitfladen... 9 6.1 Tilslutningsaftale... 9 6.2 Tilslutningsprøve... 9 7 Garantier... 8 Struktur for dataudveksling... 11 8.1 Hvilke datastrukturer skal anvendes?... 11 8.2 MQ Pakning... 11 8.2.1 MQ_PREHEADER... 11 8.2.1.1 Definition af MQ_TRANSMISSION_FLAG... 11 8.2.1.2 Definition af MQ_TRANSMISSION_ID... 12 8.2.1.3 Definition af MQ_SEKVENS_NR... 12 8.2.1.4 Eksempel på MQ_PREHEADER... 12 8.3 Indkomstoplysninger, inddata + kvittering / fejlbesked... 12 8.3.1 Header... 13 8.3.2 Personforespørgsel... 14 8.3.3 Kvittering på forespørgsel... 15 8.3.4 Fejlbesked på forespørgsel... 16 KMD - Alle rettigheder forbeholdes. Dette materiale er ophavsretligt beskyttet og må ikke kopieres i videre omfang end forudsat i ophavsretsloven.
8.4 Indkomst- og formueforhold, uddata... 17 8.4.1 Header... 17 8.4.2 Svar, Fast del... 18 8.4.4 Svar, Variabel del... 19 8.5 Advis-personkreds, inddata + kvittering / fejlbesked... 20 8.5.1 Header... 20 8.5.2 Advis person... 22 8.5.3 Kvittering på advis-personkreds... 22 8.5.4 Fejlbesked på advis-personkreds... 23 8.6 Advis om årsopgørelse... 24 8.6.1 Header... 24 8.6.2 Header pr person... 24 8.6.3 Detail del pr person... 26 9 Validering af data... 27 9.1 Validiteten af forespørgselsdata... 27 9.2 Håndtering af fejl... 27 Sikkerhed... 28.1 Autentifikation... 28.2 Autorisation... 28 KMD - Alle rettigheder forbeholdes. Dette materiale er ophavsretligt beskyttet og må ikke kopieres i videre omfang end forudsat i ophavsretsloven.
Ændringer i forhold til forrige version Dokumentrevision Dato Udarbejdet af Kommentar Version nr. 30.04.2015 HHK Første version. 001 06-05-2015 HHK Version 1.1 mindre tekstuelle justeringer 001.1 25-09-2015 HHK Første version til review hos KOMBIT/UDK 002 Side 3
1 Brug af snitfladebeskrivelsen Denne snitfladebeskrivelse er en del af beskrivelsen af snitfladen KMD INDKOMST, P13-5. Den samlede beskrivelse består af: Snitfladebeskrivelse i sammenhæng. 1) Løsningsbeskrivelsen er henvendt til myndigheden (kommune / Udbetaling Danmark). 2) WEBService IndkomstEnkelForespoergsel, som indeholder en beskrivelse af synkrone forespørgsler om indkomstoplysninger. Beskrivelsen er henvendt til myndighedens it-leverandør. 3) MQService IndkomstMasseForespoergsel, som indeholder en beskrivelse af asynkrone masseforespørgsler om indkomstoplysninger og advis om ændringer i indkomstoplysninger. Beskrivelsen er henvendt til myndighedens it-leverandør. 4) Feltoversigt, som indeholder en liste over de indkomstfelter, som KMD INDKOMST, P13-5 kan levere. Beskrivelsen er henvendt til myndigheden og til myndighedens itleverandør. 5) Tegning over sammenhæng mellem MQ records (kun MQService Indkomst- MasseForespoergsel). Tegningen er henvendt til myndighedens it-leverandør. 6) Beskrivelse af fejlkoder. Beskrivelsen er en del af aftalen med KMD A/S om brug af standardsnitfladen KMD INDKOMST, P13-5. Den er desuden et praktisk arbejdsredskab til støtte for kommunikationen mellem myndighedens it-leverandør og KMD A/S om standardsnitfladens anvendelse. KMD forbeholder sig rettighederne til snitfladebeskrivelsen. Snitfladebeskrivelsen kan udlånes af myndigheden til myndighedens it-leverandør i forbindelse med etablering af snitfladen samt ved fremtidige ændringer. Udlån til andre leverandører. Snitfladebeskrivelsen må anvendes af myndigheden og af KOMBIT i udbudsmateriale. Henvendelser vedrørende standardsnitfladen rettes til: Team Indkomst Telefon 4460 77 Mail kmdindkomst@kmd.dk Kontakt til KMD A/S. Side 4
2 Formål og målgrupper 2.1 Formålet med standardsnitfladen Formålet med snitfladen er at beskrive kommunikationen mellem det kaldende system og KMD Indkomst ved asynkrone opslag. Snitfladen anvendes til at hente indkomstoplysninger i KMD Indkomst om en personkreds (der spørges om ét til mange CPR-numre og der modtages informationer om det forespurgte antal CPR-numre). Såfremt der er behov for online opslag anvendes servicen WEBIndkomstEnkelt- Forespoergsel. 2.2 Målgrupper De primære målgrupper er: De ansvarlige for KMD Indkomst i KMD A/S. Alle myndigheder, som har licens til at bruge KMD Indkomst (kommuner, Udbetaling Danmark). Myndighedens it-leverandører, der skal bruge denne snitflade ved løsning af en opgave for myndigheden (i det følgende kaldt Anvender ). KOMBIT, som har stillet opgaven. Side 5
3 Informationer i snitfladen Snitfladen stiller følgende informationer til rådighed: Indkomstoplysninger i årsopgørelsesregistret, seneste 3 kalenderår. Indkomstoplysninger i forskudsregistret, indeværende år og det kommende skatteår (når dette foreligger). samt advis om: Ændringer i årsopgørelsesregistret, seneste 3 kalenderår. Side 6
4 Standardsnitfladens arkitektur 4.1 Systemskitse Udbetaling Danmark (UDK) UDK KMD MQ Serviceplatformen Kommunen MQ Mainframe Serviceplatformen 4.2 Servicemål Denne snitflade anvender it-systemet KMD Indkomst til at skaffe indkomstoplysninger. KMD Indkomst anvender services, som SKAT udstiller og er derved underlagt de muligheder og begrænsninger, som dette medfører. 4.3 Forretningsmæssigt grundlag Denne snitflade leverer data fra følgende registre: SKATs forskudsregister, som afvikles hos SKATs it-leverandør. Kopi af årsopgørelsesregistret i KMD Indkomst, som føres på KMD. Man kan læse mere om KMD Indkomst på KMDs kundenet under Systembrugere KMD Indkomst. Side 7
5 Teknisk implementering 5.1 Beskrivelse Denne snitflade leverer indkomstoplysninger og advis ved asynkrone opslag. Anvender skal i hver forespørgsel anvende den tildelte MQ-kø. Navnet på MQ-køen oplyses, når en aftale indgås med KMD indkomst. I forespørgslen angiver Anvender, hvilken personkreds (én til flere personer), hvilke oplysninger og for hvilken periode, der ønskes oplysninger om. Endvidere angives det formål, hvortil oplysningerne skal anvendes. Snitfladen giver adgang til de under punkt 3 nævnte indkomstoplysninger. Fejlberørte forespørgsler afvises med angivelse af årsag. 5.2 Snitfladeoversigt MQService: IndkomstMasseForespoergsel 5.3 MQ KMD anvender IBM WebSphere MQ for z/os. 5.4 Tegnsæt Der benyttes EBCDIC (Codepage 277). Side 8
6 Betingelser for anvendelse af standardsnitfladen 6.1 Tilslutningsaftale Anvender skal indgå aftale med KMD om anvendelse af denne løsning. Anvender må kun anvende løsningen for de Myndigheder, som Anvender har indgået aftale med. Anvender forpligter sig til kun at kommunikere om personer, der er dækket af den indgåede aftaler. Det er Anvenders ansvar at føre logning af de slutbrugere og it-løsninger, der anvender denne løsning via Anvenders it-løsning. Myndigheden, som Anvender er it-leverandør for, skal have indgået de nødvendige aftaler med SKAT og KMD for at snitfladen kan fungere. Se Løsningsbeskrivelsen. 6.2 Tilslutningsprøve Det er en forudsætning, at der er foretaget en teknisk afprøvning, inden snitfladen kan tages i anvendelse af Anvender. Side 9
7 Garantier KMD A/S forpligter sig til, at vedligeholde standardsnitfladen i overensstemmelse med transitionsaftalen (TSA) med KOMBIT. Ændringer i snitfladen varsles med 3 måneder. Ved lovændringer, der påvirker anvendelsen af snitfladen, kan de 3 måneders varsel bortfalde. Side
8 Struktur for dataudveksling 8.1 Hvilke datastrukturer skal anvendes? De følgende afsnit specificerer datastrukturerne anvendt i forskellige sammenhænge. 8.2 MQ Pakning De enkelte strukturer fremsendes enkeltvis. For at sikre at strukturerne kan sammenkædes tilføjes nedenstående strukturer på alle records. 8.2.1 MQ_PREHEADER Alle transmissioner via MQ skal påføres en MQ_PREHEADER: MQ_TRANSMISSION_FLAG: Char 5 MQ_TRANSMISSION_ID: Char 18 MQ_SEKVENS_NR: Char 8.2.1.1 Definition af MQ_TRANSMISSION_FLAG En transmission kan bestå af flere MQ records. MQ_TRANSMISSION_FLAG oplyser om placering indenfor transmissionen, og har en længde på fem karakterer. Status START Beskrivelse Når der sendes en START meddelelse udtrækkes et nyt MQ_Transmission_ID. Meddelelsen indeholder KUN MQ_PREHEADER FORTS (+blank) I FORTS meddelelser er beskeden hæftet på efter MQ_PREHEADER. SLUT (+2 blanke) Når alle data er sendt sendes en SLUT meddelelse. Meddelelsen indeholder KUN MQ_PREHEADER Side 11
8.2.1.2 Definition af MQ_TRANSMISSION_ID Unik nøgle som sikrer, at data kan sammenkædes over flere records. Ved enhver ny transmission skal det sikres at MQ_TRANSMISSION_ID er unik. Nøglen defineres ved: Sub felt Navn Kort beskrivelse Længde 1 DATO_DEL Sættes dagligt i formatet ÅÅÅÅMMDD. Eksempel: 20150417. 8 2 TRANSAKTION_NR Tæller på ti cifre. Total 18 8.2.1.3 Definition af MQ_SEKVENS_NR Sub felt Navn Kort beskrivelse Længde 1 MQ_SEKVENS_NR Tæller på ti cifre. Der tælles op ved hver ny transmision. MQ_SEKVENS_NR Total 8.2.1.4 Eksempel på MQ_PREHEADER Besked nr. MQ Preheader Besked 1 START20150325000000000000000001 2 FORTS20150325000000000000000002 Besked 1 3 FORTS20150325000000000000000003 Besked 2 4 FORTS20150325000000000000000004 Besked 3 5 SLUT 20150325000000000000000005 8.3 Indkomstoplysninger, inddata + kvittering / fejlbesked Forespørgsel til indkomst- og formueforhold indeholder en header og mindst én personforespørgsel. Ved asynkrone opslag kan der være mere end én Personfore- Side 12
spørgsel under samme Header. Alle felter skal udfyldes i overensstemmelse med skemaet. Hvis forespørgslen ikke består KMD-Validering for så vidt angår informationer i headeren returneres én fejlmeddelelse. I felterne <AARSAG_KODE> og <AARSAG_TEKST> vil fejlkoden og tekst være oplyst. Fastlæggelse af fejlårsagskoder og tekster vil ske senere i projektet. I efterfølgende beskrivelser angiver M Mandatory, O Optional. 8.3.1 Header RECORD_TYPE M Værdi: "FSPG_INDKO_HEAD" 15 TIMESTAMP M Timestamp for forespørgslen genereres af Anvender. Format: ÅÅÅÅ-MM-DD TT-MM-SS.XXXXXX 23 Eksempel: 2015-09-24 15-19-12.123456. TRANSAKTIONSID M Unik transaktionsid genereres af Anvender. 36 Genereres efter Anvenders valg af standard. Eksempel: de305d54-75b4-431b-adb2-eb6b9e546014 Feltets indhold valideres ikke af MQService IndkomstMasseForespoergsel. SAGSOMRAADE M Kode der angiver det sagsområde, som oplysninger skal bruges til. Følgende værdisæt må anvendes: F = Økonomisk friplads B = Boligstøtte D = Sygedagpenge N = Barselsdagpenge C = Aktiv beskæftigelsesindsats L = Introduktionsydelse M = Repatriering E = Fleksydelse A = Social pension K = Delpension G = Social service H = Børnetilskud O = Børnebidrag I = Opkrævning af sociale og beskæftigelsesmæssige ydelser samt familieydelser J = Boliganvisning 1 MYNDIGHEDS_ CVR_NUMMER M CVR-nummer på den forespørgende myndighed. 8 Side 13
FUNKTION M Kode der angiver, hvilken type indkomst-oplysninger, der ønskes leveret: 21 = Årsopgørelsesoplysninger 40 = Forskudsopgørelses-oplysninger FRA_DATO M Generel anvendelse: Angivelse af start skatte år i formatet "ÅÅÅÅ-01-01". Eksempel: "2014-01-01" (år 2014). 2 FRA_DATO må ikke være før 1. januar i dagsdatos år minus 3 år. TIL_DATO M TIL_DATO angives som ÅÅÅÅ-MM-DD, eksempel: 2013-12-31. TIL_DATO skal være samme år som FRA_DATO. TIL_DATO må ikke være før FRA_DATO. ANTAL_PERSONER M Angiver antal af personer i den specifikke MQ transaktion. Der foranstilles "0". Eksempel: "0000000081" 115 8.3.2 Personforespørgsel RECORD_TYPE M Værdi: "FSPG_INDKO_PERS". 15 SEKVENS_NUMMER M Løbenummer som angiver PERSON_NUMMER placering i forespørgsel. Angives på ti tegn og stigende fra 1. Der foranstilles "0". Eksempel: "0000000064". PERSON_NUMMER M På de(n) person(er), som Myndigheden ønsker oplysninger om. Eksempel: 1234567890 35 Side 14
8.3.3 Kvittering på forespørgsel (kun ved asynkrone opslag) RECORD_TYPE M Værdi: "FSPG_INDKO_KVIT". 15 TIMESTAMP M Timestamp for forespørgslen genereres af Anvender. Format: ÅÅÅÅ-MM-DD TT-MM-SS.XXXXXX 23 Eksempel: 2015-09-24 15-19-123456 TRANSAKTIONSID M Unik transaktionsid genereres af Anvender. 36 Genereres efter Anvenders valg af standard. Eksempel: de305d54-75b4-431b-adb2-eb6b9e546014 Feltets indhold valideres ikke af MQService IndkomstMasseForespoergsel. MYNDIGHEDS_ CVR_NUMMER M CVR-nummer på den forespørgende myndighed. Eksempel: "01234567" 8 SAGSOMRAADE M Fra headeren i forespørgslen. 1 AARSAG_KODE M Gældende status og fejlkode, se dokument Beskrivelse af fejlkoder på KMD Kundenet. AARSAG_TEKST M Kort tekst der beskriver årsagen, se dokument Beskrivelse af fejlkoder på KMD Kundenet. ANTAL M Antal records, inkl. afviste angives på ti tegn. Der foranstilles "0". Eksempel: 0000000924. 5 40 138 Side 15
8.3.4 Fejlbesked på forespørgsel RECORD_TYPE M Værdi: "FSPG_INDKO_FEJL". 15 TIMESTAMP M Timestamp for forespørgslen genereres af Anvender. Format: ÅÅÅÅ-MM-DD TT-MM-SS.XXXXXX 23 Eksempel: 2015-09-24 15-19-123456 TRANSAKTIONSID M Unik transaktionsid genereres af Anvender. 36 Genereres efter Anvenders valg af standard. Eksempel: de305d54-75b4-431b-adb2-eb6b9e546014 Feltets indhold valideres ikke af MQService IndkomstMasseForespoergsel. MYNDIGHEDS_ CVR_NUMMER M CVR-nummer på den forespørgende myndighed. Eksempel: "01234567". 8 SAGSOMRAADE M Fra headeren i forespørgslen. 1 AARSAG_KODE M Gældende status og fejlkode, se dokument Beskrivelse af fejlkoder på KMD Kundenet. AARSAG_TEKST M Kort tekst der beskriver årsagen, se dokument Beskrivelse af fejlkoder på KMD Kundenet. 5 40 ANTAL M Der angives ikke antal ved fejlbesked. Feltet vil stå tomt. 138 Side 16
8.4 Indkomst- og formueforhold, uddata For hver forespørgsel leveres et svar i nedenstående struktur. 8.4.1 Header RECORD_TYPE M Værdi: "SVAR_INDKO_HEAD". 15 TIMESTAMP M Timestamp for forespørgslen genereres af Anvender. Format: ÅÅÅÅ-MM-DD TT-MM-SS.XXXXXX 23 Eksempel: 2015-09-24 15-19-123456 TRANSAKTIONSID M Unik transaktionsid genereres af Anvender. 36 Genereres efter Anvenders valg af standard. Eksempel: de305d54-75b4-431b-adb2-eb6b9e546014 Feltets indhold valideres ikke af MQService IndkomstMasseForespoergsel. MYNDIGHEDS_ CVR_NUMMER M CVR-nummer på den forespørgende myndighed. Eksempel: "01234567". 8 ANTAL_PERSONER M Angiver antal af personer i forespørgslen. Der foranstilles "0". Eksempel: "0000000081". 92 Side 17
8.4.2 Svar, Fast del (en forekomst pr forespurgt person) RECORD_TYPE M Værdi: "SVAR_INDKO_FAST". 15 SEKVENS_NR_FAST_DEL M Angives på ti tegn. Der foranstilles "0". Tælleren nulstilles for hver ny header. Eksempel :"0000000064". PERSON_NUMMER M På de(n) person(er), som Myndigheden ønsker oplysninger om. Eksempel: "01991234". AEGTEFÆLLE_CPR O Den forespurgte persons ægtefælle i følge årsopgørelsen ved årets slutning. Eksempel: "0202981235". Ved funktion 40, angives 0000000000. FRA_DATO M Generel anvendelse: Angivelse af start skatte år i formatet "ÅÅÅÅ-01-01". Eksempel: "2014-01-01" (år 2014). TIL_DATO M Generel anvendelse: Angivelse af slut skatte år i formatet "ÅÅÅÅ-12-31". Eksempel: "2014-12-31" (år 2014). KILDE M Kode, der angiver typen af feltets indhold: 01: ÅRSOPGØRELSE 02: FORSKUDSOPGØRELSE SVAR_KODE M Svarkoder er beskrevet i dokumentet Beskrivelse af fejlkoder, se KMD kundenet. 2 5 SVAR_TEKST M Tekst der kort beskriver svarkoden. 40 ANTAL_SVAR M Angives på ti tegn. Der foranstilles "0". Eksempel :"0000000064" 122 Side 18
8.4.4 Svar, Variabel del Én forekomst pr. felt pr. forespurgt person RECORD_TYPE M Værdi: "SVAR_INDKO_VAR" 15 SEKVENS_NR_VAR_DEL M Angives på ti tegn. Der foranstilles "0". Nulstilles for hver ny Svar, Fast del (dvs. nyt CPR-nummer). Eksempel :"0000000064". FELT_TYPE M Kode, der angiver typen af feltets indhold: 01 for kode/tekst 02 for dage 03 for beløb/antal/år 2 FELT_NUMMER M Angives på fem tegn. Der foranstilles "0". Eksempel 00024. 5 KMD Indkomst udstiller en liste over forekommende feltnumre, se dokumentet Indkomstgrænseflade_P13_5_Feltoversigt på KMD kundenet BELOEB_FORTEGN O Beløbsfortegn. Kun udfyldt ved felttype 3, "+" eller "-". I øvrige tilfælde er feltet blankt,. FELTVAERDI_BELOEB O Beløb, kun udfyldt ved felttype 3. Beløb angives med foranstillede 0 og komma "," på pos 14. Eksempel: "0000000076148,91". 1 16 Ved felttyper forskellig fra 3, udfyldes feltet som 0. Eksempel "0000000000000,00". FELTVAERDI_DAGE O Ved felttype 2 udfyldes værdien. Angives på fem tegn. Der foranstilles "0 5 Eksempel: "00219". Ved felttyper forskellig fra 2, udfyldes feltet med 0 : Eksempel "00000". FELTVAERDI_KODE_TEKST O Feltets indhold. Kun udfyldt ved felttype 1. I øvrige tilfælde vil feltet være blankt,. 40 FELT_LEDETEKST O Kort tekst (max 50 positioner), der forklarer feltets indhold. 50 144 Side 19
8.5 Advis-personkreds, inddata + kvittering / fejlbesked Indberetning af personkreds til advisering indeholder en header efterfulgt af mindst én person der ønskes advis om. Alle felter skal udfyldes i overensstemmelse med skemaet. Ved anllering af bestående personkreds fremsendes en forespørgsel bestående af kun Header og ingen Advis person. Hvis forespørgslen ikke består KMD-Validering for så vidt angår informationer i headeren returneres én fejlmeddelelse. For præcisering af fejl og statusmeddelser henvises til dokumentet Beskrivelse af fejlkoder, som findes på KMD kundenet. 8.5.1 Header Felt O/M Forklaring Længde RECORD_TYPE M Værdi: "FSPG_ADVIS_HEAD". 15 TIMESTAMP M Timestamp for forespørgslen genereres af Anvender. Format: ÅÅÅÅ-MM-DD TT-MM-SS.XXXXXX 23 Eksempel: 2015-09-24 15-19-123456 TRANSAKTIONSID M Unik transaktionsid genereres af Anvender. 36 Genereres efter Anvenders valg af standard. Eksempel: de305d54-75b4-431b-adb2-eb6b9e546014 Feltets indhold valideres ikke af MQService IndkomstMasseForespoergsel. SAGSOMRAADE M Kode der angiver det sagsområde, som oplysninger skal bruges til. Følgende værdisæt må anvendes: F = Økonomisk friplads B = Boligstøtte D = Sygedagpenge N = Barselsdagpenge C = Aktiv beskæftigelsesindsats L = Introduktionsydelse M = Repatriering E = Fleksydelse A = Social pension K = Delpension G = Social service H = Børnetilskud O = Børnebidrag I = Opkrævning af sociale og beskæftigelsesmæssige ydelser samt familieydelser J = Boliganvisning 1 Side 20
Felt O/M Forklaring Længde MYNDIGHEDS_ CVR_NUMMER M CVR-nummer på den forespørgende myndighed. Eksempel: "01234567". 8 FUNKTION M Kode der angiver, hvilken type indkomst-oplysninger, der ønskes advis om: 92 = Årsopgørelsesoplysning ANTAL_PERSONER M Angiver antal af personer i den specifikke MQ transaktion. Der foranstilles "0". Eksempel: "0000000081". 2 95 Side 21
8.5.2 Advis person RECORD_TYPE M Værdi: "FSPG_ADVIS_PERS" 15 SEKVENS_NR_ADVIS_PERS M Løbenummer som angiver PERSON_NUMMER placering i forespørgsel. Angives på ti tegn og stigende fra 1. Der foranstilles "0. Eksempel: "0000000064". PERSON_NUMMER M CPR-nummer på den person, der ønskes advis om. Eksempel: 12345678990 35 8.5.3 Kvittering på advis-personkreds RECORD_TYPE M Værdi: "FSPG_ADVIS_KVIT". 15 TIMESTAMP M Timestamp for forespørgslen genereres af Anvender. Format: ÅÅÅÅ-MM-DD TT-MM-SS.XXXXXX 23 Eksempel: 2015-09-24 15-19-123456 TRANSAKTIONSID M Unik transaktionsid genereres af Anvender. 36 Genereres efter Anvenders valg af standard. Eksempel: de305d54-75b4-431b-adb2-eb6b9e546014 Feltets indhold valideres ikke af MQService IndkomstMasseForespoergsel. MYNDIGHEDS_ CVR_NUMMER M CVR-nummer på den forespørgende myndighed. Eksempel: "01234567". 8 SAGSOMRAADE M Fra headeren i forespørgslen. 1 AARSAG_KODE M Gældende status og fejlkode, se dokument Beskrivelse af fejlkoder på KMD Kundenet. AARSAG_TEKST M Kort tekst der beskriver årsagen, se dokument Beskrivelse af fejlkoder på KMD Kundenet. ANTAL M Antal records, inkl. afviste, angives på ti tegn Angives på fem tegn. Der foranstilles "0. Eksempel: 0000000924. 5 40 138 Side 22
8.5.4 Fejlbesked på advis-personkreds RECORD_TYPE M Værdi: "FSPG_ADVIS_FEJL". 15 TIMESTAMP M Timestamp for forespørgslen genereres af Anvender. Format: ÅÅÅÅ-MM-DD TT-MM-SS.XXXXXX 23 Eksempel: 2015-09-24 15-19-123456 TRANSAKTIONSID M Unik transaktionsid genereres af Anvender. 36 Genereres efter Anvenders valg af standard. Eksempel: de305d54-75b4-431b-adb2-eb6b9e546014 Feltets indhold valideres ikke af MQService IndkomstMasseForespoergsel. MYNDIGHEDS_ CVR_NUMMER M CVR-nummer på den forespørgende myndighed. Eksempel: "01234567". 8 PERSON_NUMMER O Blankt (Fremtidig brug). SAGSOMRAADE M Fra headeren i forespørgslen. 1 AARSAG_KODE M Gældende status og fejlkode, se dokument Beskrivelse af fejlkoder på KMD Kundenet. AARSAG_TEKST M Kort tekst der beskriver årsagen, se dokument Beskrivelse af fejlkoder på KMD Kundenet. ANTAL M Angives på ti tegn. Der foranstilles 0. 5 40 Eksempel:"0000000123". 148 Side 23
8.6 Advis om årsopgørelse 8.6.1 Header RECORD_TYPE M Værdi: "SVAR_ADVIS_AHEA". 15 TIMESTAMP M Timestamp for forespørgslen genereres af Anvender. Format: ÅÅÅÅ-MM-DD TT-MM-SS.XXXXXX 23 Eksempel: 2015-09-24 15-19-123456 TRANSAKTIONSID M Unik transaktionsid genereres af Anvender. 36 Genereres efter Anvenders valg af standard. Eksempel: de305d54-75b4-431b-adb2-eb6b9e546014 Feltets indhold valideres ikke af MQService IndkomstMasseForespoergsel. MYNDIGHEDS_CVR_NUMM ER M CVR-nummer på den forespørgende myndighed. Eksempel: "01234567". 8 ANTAL_PERSONER M Angiver antal af personer i den specifikke MQ transaktion. Der foranstilles "0". Eksempel: "0000000081". 92 8.6.2 Header pr person Om hver ny og ændret årsopgørelse leveres en forekomst i nedenstående struktur. Fast del (en forekomst pr person pr årsopgørelse): RECORD_TYPE M Værdi: "SVAR_ADVIS_APER". 15 SEKVENS_NR_PERSON M Tæller. Starter ved 001, og adderes med 1 for hvert nyt felt i leverancen. Angives på ti tegn. Der foranstilles 0. Nulstilles for hver header record. Eksempel: "0000000064". PERSON_NUMMER M På de(n) person(er), som Myndigheden ønsker oplysninger om. Eksempe: 1234567890 AEGTEFAELLE_CPR M Den forespurgte persons ægtefælle ifølge årsopgørelsen ved årets slutning for det sidste år der adviseres om. Eksempel: "0123456789". Side 24
FRA_DATO M Generel anvendelse: Angivelse af start skatte år i formatet "ÅÅÅÅ-01-01". Eksempel: "2014-01-01" (år 2014). TIL_DATO M Angivelse af slut skatteår i formatet ÅÅÅÅ-12-31, ÅÅÅÅ skal være det samme som i FRA_DATO. Eksempel: "2014-12-31". KILDE M Årsopgørelsen, værdi = 01. 2 ANTAL_DETALJER M Antallet af detaljer for givent CPR-nummer, Eksempel :"0000000007". 77 Side 25
8.6.3 Detail del pr person For hver <FELT_NUMMER>, dannes én detail-record. RECORD_TYPE M Værdi: "SVAR_ADVIS_ADET". 15 SEKVENS_NR_PERSON_DET M Tæller. Starter ved 001, og adderes med 1 for hvert nyt felt i svaret. Angives på ti tegn. Der foranstilles 0. Nulstilles for hver ny person record. Eksempel: "0000000064". FELT_TYPE M Kode, der angiver typen af feltets indhold: 01 for kode/tekst 02 for dage 03 for beløb/antal/år 2 FELT_NUMMER M Angives på fem tegn. Der foranstilles "0". Eksempel 00024. 5 KMD Indkomst udstiller en liste over forekommende feltnumre, se dokumentet Indkomstgrænseflade_P13_5_Feltoversigt på KMD kundenet BELOEB_FORTEGN O Beløbs fortegn. Kun udfyldt ved felttype 03, og skal være "+" eller "-". Kun udfyldt ved felttype 3 - i øvrige tilfælde er feltet blankt,. FELTVAERDI_BELOEB O Beløb, kun udfyldt ved felttype 3. Beløb angives med foranstillede 0 og komma "," på pos 14. Eksempel: "0000000076148,91". 1 16 Ved felttyper forskellig fra 3, udfyldes feltet som 0. Eksempel "0000000000000,00". FELTVAERDI_DAGE O Feltets indhold. Kun udfyldt ved felttype 02. Eksempel: "00009". 5 FELTVAERDI_KODE_TEKST O Feltets indhold. Kun udfyldt ved felttype 01. 40 FELT_LEDETEKST M Kort tekst (max 50 positioner), der forklarer feltets indhold. 50 144 Side 26
9 Validering af data 9.1 Validiteten af forespørgselsdata De forretningsmæssige valideringer kan inddeles i: Simpel validering: Datatyper, formater, mandatory data, værdisæt herunder grænseværdier og tilladte værdier fra kodelister, samt periodetjek. Udvidet validering: Sammenhængsvalidering og validering mod tabeller i KMD Indkomst. Regler for feltudfyldelse og datalængder fremgår af afsnit 8 Struktur for dataudveksling. 9.2 Håndtering af fejl Der kan opstå tre forskellige typer af fejl i forbindelse med kald til KMD WEBService IndkomstEnkeltForespoergsel: Transportorienterede fejl i forbindelse med eksekvering af den startede transaktion, f.eks. at dele af den benyttede infrastruktur ikke er tilgængelig eller tekniske fejl. Formatfejl, hvor den modtagne besked ikke opfylder de krav til format og indhold, som er beskrevet i afsnit 8 Struktur for dataudveksling. Forretningsmæssige fejl, hvor den modtagne besked ikke opfylder de krav til indhold og formalia, som er beskrevet i afsnit 8.2. Sekvensen for validering er flg.: 1. Beskedens indhold valideres op mod de gældende formatdefinitioner. 2. Beskedens indhold valideres efter forretningsmæssige regler. Kun hvis der ikke er konstateret fejl i et trin, fortsættes til næste valideringstrin. Det betyder, at en besked kan indeholde flere fejl end der gives besked om. Side 27
Sikkerhed.1 Autentifikation For at benytte KMD MQService IndkomstMasseForespørgsel skal der indgåes en tilslutningsaftale mellem KMD og Anvender. I tilslutningsaftale er angivet navnet på den dedikeret MQ-forbindelse, som skal anvendes..2 Autorisation Ud fra den dedikerede MQ-forbindelse som benyttes af Anvender mappes til en systembruger defineret i KMDs sikkerhedssystem (KSP/CICS). Systembrugeren repræsenterer Anvender, og KMD sikrer ved indgåelse af anvenderaftale med serviceaftageren, at den relevante bruger er oprettet og givet de nødvendige rettigheder til at kunne konsumere snitfladen. Side 28