e faktura Betalingsformat version 1.0.0 15. november 2004 Version 2.0
Indholdsfortegnelse Side 1 INDLEDNING...1 2 BETALINGSFIL-FORMAT...2 DOCUMENT (N=1, mandatory)...4 HEADER...4 PAYMENT_INFO_JOINT_TRANSFER_FORM...7 P_ALTERNATE_SENDER...8 P_MESSAGE...8 P_CREDITOR_ADDRESS...9 2.1 Modulus 10 kontrol...10 3 BESKRIVELSE AF DTD...11 3.1 DTD...11 4 EKSEMPEL FOR KORTART 71...14 5 EKSEMPEL FOR KORTART 73...17 6 EKSEMPEL FOR KORTART 75...20 7 EKSEMPEL FOR KORTART 04...23 Side i
Dokument historik Version Dato Ændringer 2.0 15.11.2004 Indledning opdateret i henhold til e faktura hubløsning 1.1 01.07.2003 e faktura A/S er erstattet af PBS A/S og PBS logo er indsat på forsiden. 1.0 25.02.2003 Dokument oprettet Side ii
1 Indledning Nærværende dokument gennemgår e-faktura betalings-formatet, den DTD som betalingsfilen skal overholde samt eksempler på betalingsfiler for de forskellige korarttyper. E-faktura er knyttet op mod pengeinstitutternes officebanking-systemer for derigennem at lette virksomhedernes arbejde med fakturabetaling. Resultatet er et hurtigere, sikrere og billigere fakturerings- og betalingsforløb - både for fakturaafsender og fakturamodtager. Med andre ord kan virksomhederne bruge mere tid på andre opgaver. Nedenstående figur illustrerer e-faktura konceptet med hensyn til betalingsforløbet: Kreditor s Officebanking Pengeinstitutterne Debitor s Officebanking (E-faktura) bankingmodul Standard PBS format Betalingsfil, f.eks. i e-faktura betalings-format (XML) (E-faktura) bankingmodul Afsender økonomisystem Modtager økonomisystem E--faktura integrationsmodul E-faktura integrationsmodul Side 1
2 Betalingsfil-format Betalingsfilens format er XML-baseret. Hver linie i tabellen i de følgende afsnit er et tag i filformatet. F.eks. bliver linien Identifier til følgende tag i filformatet: <IDENTIFIER>123456</IDENTIFIER> Rækkefølgen af tags i filformatet skal følges. Der accepteres ikke ikke-printbare tegn i filformatet. Følgende tegn må ikke må ikke indgå i formatet: @,<, >, &,,. Dette betyder at ERP-systemerne skal konvertere tegnene iht. nedenstående tabel, inden tegnene sendes til officebanking-systemet. På tilsvarende måde skal tegnene konverteres ved modtagelse. Entiteten, som tegnene oprettes i DTD en, fremgår af tabellen: Tegn Konvertering i ERP DTD entitet @ &at <!ENTITY at "@"> < < <!ENTITY lt "<"> > > <!ENTITY gt ">"> & & <!ENTITY amp "&"> &apos <!ENTITY apos "'"> " <!ENTITY quot """> Hvis du er i tvivl om fortolkningen af beskrivelsen af formatet, er der vedlagt eksempler på XMLbetalingsfiler i afsnit 4, 5, 6 og 7.. Formatet kan ikke ændres uden samtykke PBS A/S. Formatet angives i encoding ISO-8859-1 Tags afsluttes med <CR><LF> (hex: 0D0A) Ved generering af betaling er HEADER og PAYMENT_INFO_JOINT_TRANSFER_FORM mandatory Formatet angives i encoding ISO-8859-1 Rækkefølgen af tags skal følges. Dannede filnavne skal være på formen XXXXXXXX.YYY hvor X angiver filens fornavn på højst 8 bogstaver og Y angiver filens efternavn på højst 3 bogstaver. Nedenstående tabeller gennemgår formatet. Kolonnerne i tabellen har følgende betydning: Navn: Angiver start og slut på tagget, jf. ovenfor. Beskrivelse: Kort beskrivelse af hvilken information, som taggen indeholder. Krav: Ligger værdien af tagget fast, er krav til værdien beskrevet her. Denne kolonne er kun medtaget for beskrivelsen af HEADER. Side 2
Type: Hvilken type information, som taggen indeholder. Er det f.eks. tekst eller dato. Såfremt der står underniveau i kolonnen, er det fordi tagget har et niveau, der er beskrevet i en anden tabel med samme navn som tagget. Værdi: Hvor mange karakterer informationen kan indeholde. A(20) betyder, at den kan indeholde 20 karakterer. Hvis der yderligere er tilføjet altid, eksempelvis A(4) altid, betyder dette, at informationen altid skal være på 4 karakterer. Såfremt typen er decimal, kan værdien eksempelvis være 20.3, hvilket betyder, at tallet kan være på 20 cifre før kommaseparatoren og 3 cifre efter kommaseparatoren. Underniveau: Hvis der er et kryds i kolonnen, betyder dette, at tagget kan foldes ud, og beskrivelsen af niveau 2 tag findes nedenfor i en anden tabel. F.eks. har tagget <BILLED_FROM> i tabellen DOCUMENT_HEAD wt underniveau, der er beskrevet i tabellen BILLED_FROM. C/M/D: Angiver hvorvidt informationen er conditional, mandatory eller dependent Et conditional tag må gerne være der, selvom det ikke er udfyldt. Et mandatory tag skal være der og skal være udfyldt. Et dependent tag skal være der, hvis det tag, det er afhængigt af, er udfyldt. Såfremt N = 1 skal tagget være med, tagget kan dog være tomt. Såfremt N = 0..1 skal tagget kun være der, såfremt feltet, det er dependent af, er udfyldt. N: Hvor mange gange tagget kan være i formatet. N = 1 betyder, at tagget altid skal være med 1 gang, det kan dog være tomt. Bemærk, at selvom et tag ikke er mandatory, kan N godt stå til 1. N = 0..1 betyder, at tagget kan være med, eller det kan udelades. N = 0..100 betyder, at tagget kan være med 0-100 gange. Side 3
DOCUMENT (N=1, mandatory) Navn Beskrivelse Type Værdi C/M/ D HEADER PAYMENT_INFO_JOINT_TRANSFE R_FORM Oplysninger om afsender, modtager, formater og versionsnumre. Betalingsoplysninger. Underniveau Underniveau N M 1 M 1 Dependent af HEADER Navn Beskrivelse Krav Type Værdi C/M/ D N IDENTIFIER Afsenders Text A(20) M 1 CVRNR./SENR SENDER Afsenders e-mail Text A(100) M 1 RECEIVER Modtagers e-mail Text A(100) M 1 TYPE Bilagstype. Valgtabel 1 Text A(20) M 1 DECIMAL_SEPARATOR Decimalseparator Skal være, Text A(1) M 1 THOUSAND_SEPARATOR Tusindseparator Skal være tom, Text A(1) M 1 tusindseperator anvendes ikke NEGATIVE_DENOMINATOR Negativ-tegn altid Skal være - Text A(1) M 1 foranstillet. DATE_FORMAT Datoformat Skal være CCYY- Text A(10) M 1 MM-DD TIME_VERSION 12 eller 24 timers ur Skal være 24 Text A(2) M 1 TIME_FORMAT Tidsformat i 24 timers ur Skal være HH:MM:SS Text A(8) M 1 RECEIPT Indikerer om afsender 0=ingen kvittering, Text A(1) M 1 Dependent af Side 4
RECEIPT_TO TEST_FLAG ønsker kvittering. Oplysningen benyttes ikke ifm. officebanking. e-mail adresse, hvortil kvittering skal sendes. Oplysningen benyttes ikke ifm. officebanking. 1=kvittering ønskes. Hvis RECEIPT er udfyldt med 1, er dependent lig med mandatory Hvis RECEIPT er udfyldt med 0 er dependent lig med conditional, dog med den undtagelse at tagget skal medtages, selvom det er blankt. Testflag. 0=Normal. Oplysningen benyttes 1=Test ikke ifm. officebanking. Text A(100) D 1 RECEIPT Text A(1) M 1 PAYMENT_INFO_JOINT_TRANSFE R_FORM_VERSION FACTORING_VERSION Version af XML-format til brug for OfficeBanking Version af XML-format til brug for Factoring Angives som X.Y.Z, hvor X er generation, Y er version og Z er patch. Denne version af XML er 1.0.0. Dette betyder, at der altid skal angives 1.0.0 i dette tag. Angives som X.Y.Z, hvor X er generation, Y er version og Z er patch. Denne Text A(10) M 1 Text A(10) M 1 Side 5
VERSION HEADER_UDT Generel version af XML-format I alle tags med dette delnavn kan brugere af e-faktura placere ønskede felter efter behov, dog inden for de almindelige rammer angivet i e-faktura formatet. Bemærk, at såfremt UDT benyttes, skal dette udvikles i både modtager og afsender ERP-system. Endvidere skal den tilhørende DTD, der bruges i EFTM tilrettes, så denne stemmer overens med XML formatet. version af 4 er 1.0.0. Dette betyder, at der altid skal angives 1.0.0 i dette tag. Angives som Text A(10) M 1 X.Y.Z, hvor X er generation, Y er version og Z er patch. Denne version af XML er 1.0.0. Dette betyder, at der altid skal angives 1.0.0 i dette tag. Underniveau C 0..1 Side 6
Valgtabel 1 E-FAKTURA_ PAYMENT Beskrivelse Betalingsfil fra ERP (oplysningen skal angives med Upper case ) PAYMENT_INFO_JOINT_TRANSFER_FORM P_ALTERNATE_SENDER Angiver anden afsender på et FI73 kort, hvis det er ønsket. Side 7 Navn Beskrivelse Type Værdi C/M/ N Dependent af D P_CARD_ID Kortart (Valgtabel 3) Text A(2) M 1 P_PAYMENT_ID Betalings ID. For udformning: Se valgtabel 4 Text A(19) D 1 P_CARD_ID P_PAYMENT_ID: Skal kun være udfyldt for kortart 04, 71 og 75. P_FIK_NO FIK nummer (beløbsmodtager). Såfremt Text A(8) M 1 afsenderen benytter factoring, skal dette felt indeholde factoringselskabets kreditornummer. P_CURRENCY_CODE Valutakode. Skal altid være DKK. Text A(3) M 1 P_AMOUNT Beløb til betaling i DKK. Decimal 20.2 M 1 P_TRANSFER_DATE Dato for overførslen af penge. Må ikke være Date A(10) M 1 en helligdag. altid P_REG_NO Beløbafsenders reg nr. Text A(4) C 0..1 P_ACCOUNT_NO Beløbafsenders kontonummer Text A(10) C 0..1 P_TECHNICAL_REFERENCE Indeholder afsenders fakturanummer, så Text A(35) C 0..1 denne nemmere kan findes frem, når man har betalingen. P_CREDITOR_ADDRESS Afsenders navn og adresse. Underniveau A(35) M 1 Underniveau D 0..1 P_CARD_ID
P_ALTERNATE_SENDER: Kan kun udfyldes for kortart 73. P_MESSAGE Adviseringstekst. P_MESSAGE: Skal kun udfyldes for kortart 73 og 75 Underniveau D 0..1 P_CARD_ID P_ALTERNATE_SENDER Navn Beskrivelse Type Værdi C/M/ D N MESSAGE Alternativ afsender Text A(35) M 1..5 Dependent af P_MESSAGE Navn Beskrivelse Type Værdi C/M/ D N MESSAGE Adviseringstekst Text A(35) M 1..41 Dependent af Valgtabel 3 Beskrivelse 04 Kortart 04 71 Kortart 71 73 Kortart 73 75 Kortart 75 Side 8
Valgtabel 4 Beskrivelse 04 BetalingsID er højrestillet 16 cifre med foranstillede nuller og med modulus 10 kontrol. Kontrolciffer placeret til sidst. 71 BetalingsID er højrestillet 15 cifre med foranstillede nuller og med modulus 10 kontrol. Kontrolciffer placeret til sidst. 73 Ingen BetalingsID forekommer. 75 BetalingsID er højrestillet 16 cifre med foranstillede nuller og med modulus 10 kontrol. Kontrolciffer placeret til sidst. Se afsnit 2.1vedrørende beregning af modulus 10. P_CREDITOR_ADDRESS Navn Beskrivelse Type Værdi C/M/ D N P_CREDITOR_NAME Afsenders navn. Text A(35) M 1 P_CREDITOR_ADDRESS_1_3 Afsenders adresse. Text A(35) C 0..3 Dependent af ISO valgtabel 1 DENMARK DK DKK FAEROE ISLANDS FO DKK FINLAND FI EUR GERMANY DE EUR GREENLAND GL DKK ICELAND IS ISK NORWAY NO NOK SWEDEN SE SEK UNITED KINGDOM GB GBP Såfremt man ønsker at benytte andre ISO koder, benyttes ISO 3166-1 som standard for landekoder og ISO 4217 som standard for valutakoder. Standarderne kan findes på www.iso.org. Side 9
2.1 Modulus 10 kontrol Betalingsidentifikationens sidste ciffer er et kontrolciffer beregnet med modulus10 efter følgende model: 1. Gang det sidste ciffer med 2, det næstsidste med 1, osv. jf. vægttallene i nedenstående eksempel. 2. Hvis summen af en udregning bliver 10 eller derover, adderes de 2 cifre i summen, således at det nye tal - tværsummen - bliver mindre end 10. 3. Tværsummen adderes med de resterende summer under 10 til et tal, der anvendes som tæller. 4. Tælleren divideres med 10 - modulus. 5. Kontrolcifret er lig med 10 minus resten fra divisionen. Hvis resten fra divisionen er nul, bliver kontrolcifret "0". Eksempel: Der er 16 positioner i feltet, hvilket betyder, at der ved udprintning af hele OCR-linien skal være en blank karakter enten foran eller bagved betalingsidentifikationen. Hvis kortart-koden og kreditornummeret er fortrykt, skal betalingsidentifikationens 15 cifre printes midt i felt 2. Hvis man f.eks. har betalingsident 02684014996532 (uden checkciffer) kan man beregne sig frem til cifferet på følgende måde: Step 1 og 2: Betalingsident 0 2 6 8 4 0 1 4 9 9 6 5 3 2 Vægttal: 1 2 1 2 1 2 1 2 1 2 1 2 1 2 Delberegning (step 1) 0 4 6 16 4 0 1 8 9 18 6 10 3 4 Tværsumstal (step 2) 0 4 6 7 4 0 1 8 9 9 6 1 3 4 Step 3: Tæller: 0 + 4 + 6 + 7 + 4 + 0 + 1 + 8 + 9 + 9 + 6 + 1 + 3 + 4 = 62 Step 4: Tæller/modulus: 62/10 = 6,2, dvs. rest = 2 Step 5: Kontrolciffer 10-2 = 8
3 Beskrivelse af DTD Alle XML-filer i e-faktura systemet har samme DTD. Det skyldes at DTD er en beskrivelse af, hvilke felter og struktur, der er i XML-filen. Hvis man kigger i starten af DTD eller XML filen, så ser man følgende 2 linier: <?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> Den første linie betyder, at filen er et dokument af typen xml version 1.0. Bemærk, at for betalingsfilen er der ingen XSL-fil til visning af dataene i en browser. De næste linier er: <!DOCTYPE DOCUMENT [ <!-- DTD FOR ENTITY --> <!ENTITY lt "<"> <!ENTITY gt ">"> <!ENTITY amp "&"> <!ENTITY apos "'"> <!ENTITY quot """> <!ENTITY at "@"> <!-- DTD FOR DOCUMENT COMPOSITE ELEMENT --> <!ELEMENT DOCUMENT ( HEADER, DOCUMENT_HEAD, PAYMENT_INFO_JOINT_TRANSFER_FORM, FACTORING_INFO?,DOCUMENT_UDT? )> <!-- DTD FOR HEADER COMPOSITE ELEMENT --> <!ELEMENT PAYMENT_INFO_JOINT_TRANSFER_FORM (P_CARD_ID,P_PAYMENT_ID,P_FIK_NO,P_CURRENCY_CODE,P_AMOUNT,P_TRANSFER_DATE, P_REG_NO?, P_ACCOUNT_NO?,P_TECHNICAL_REFERENCE?,P_CREDITOR_ADDRESS, P_ALTERNATE_SENDER?,P_MESSAGE?)> Linierne der starter med <!ENTITY, angiver en måde at skrive special tegn. F.eks. "&at;" i stedet for "@". Linien der starter med <!ELEMENT DOCUMENT betyder, at når man har feltet <DOCUMENT>, så skal de indeholde felterne <HEADER>, <DOCUMENT_HEAD> osv. DTD'en er lavet så den tvinger folk til at lave filerne således at de er i overensstemmelse med XML-formatet. DTD en kan dog ikke tjekke for alt. F.eks. tjekker DTD en ikke, at man bruger mere end 3 decimaler efter et komma. DTD en vil være den samme for alle betalingsfil-dokumenter. Såfremt man tilføjer nogle user defined tags, skal man ændre DTD en tilsvarende. 3.1 DTD <!DOCTYPE DOCUMENT [ <!-- DTD FOR ENTITY -->
<!ENTITY lt "<"> <!ENTITY gt ">"> <!ENTITY amp "&"> <!ENTITY apos "'"> <!ENTITY quot """> <!ENTITY at "@"> <!-- DTD FOR DOCUMENT COMPOSITE ELEMENT --> <!ELEMENT DOCUMENT ( HEADER, PAYMENT_INFO_JOINT_TRANSFER_FORM+ )> <!-- DTD FOR HEADER COMPOSITE ELEMENT --> <!ELEMENT HEADER ( IDENTIFIER, SENDER, RECEIVER, TYPE, DECIMAL_SEPARATOR,THOUSAND_SEPARATOR, NEGATIVE_DENOMINATOR, DATE_FORMAT, TIME_VERSION, TIME_FORMAT, RECEIPT, RECEIPT_TO, TEST_FLAG, PAYMENT_INFO_JOINT_TRANSFER_FORM_VERSION, FACTORING_VERSION,VERSION )> <!-- DTD FOR PAYMENT_INFO_JOINT_TRANSFER_FORM COMPOSITE ELEMENT --> <!ELEMENT PAYMENT_INFO_JOINT_TRANSFER_FORM (P_CARD_ID,P_PAYMENT_ID,P_FIK_NO,P_CURRENCY_CODE,P_AMOUNT,P_TRANSFER_DATE, P_REG_NO?, P_ACCOUNT_NO?,P_TECHNICAL_REFERENCE?,P_CREDITOR_ADDRESS, P_ALTERNATE_SENDER?,P_MESSAGE?)> <!-- DTD FOR P_MESSAGE COMPOSITE ELEMENT --> <!ELEMENT P_MESSAGE (MESSAGE+)> <!-- DTD FOR P_ALTERNATE_SENDER COMPOSITE ELEMENT --> <!ELEMENT P_ALTERNATE_SENDER (MESSAGE+)> <!-- DTD FOR DATA ELEMENTS --> <!ELEMENT DATE_FORMAT (#PCDATA)> <!ELEMENT DECIMAL_SEPARATOR (#PCDATA)> <!ELEMENT FACTORING_VERSION (#PCDATA)> <!ELEMENT IDENTIFIER (#PCDATA)> <!ELEMENT MESSAGE (#PCDATA)> <!ELEMENT NEGATIVE_DENOMINATOR (#PCDATA)> <!ELEMENT P_ACCOUNT_NO (#PCDATA)> <!ELEMENT P_AMOUNT (#PCDATA)> <!ELEMENT P_CARD_ID (#PCDATA)>
<!ELEMENT P_CURRENCY_CODE (#PCDATA)> <!ELEMENT P_FIK_NO (#PCDATA)> <!ELEMENT P_PAYMENT_ID (#PCDATA)> <!ELEMENT P_REG_NO (#PCDATA)> <!ELEMENT P_TECHNICAL_REFERENCE (#PCDATA)> <!ELEMENT P_TRANSFER_DATE (#PCDATA)> <!ELEMENT PAYM_DEC_SEPARATOR (#PCDATA)> <!ELEMENT PAYMENT_INFO_JOINT_TRANSFER_FORM_VERSION (#PCDATA)> <!ELEMENT RECEIVER (#PCDATA)> <!ELEMENT RECEIPT (#PCDATA)> <!ELEMENT RECEIPT_TO (#PCDATA)> <!ELEMENT SENDER (#PCDATA)> <!ELEMENT TEST_FLAG (#PCDATA)> <!ELEMENT THOUSAND_SEPARATOR (#PCDATA)> <!ELEMENT TIME_FORMAT (#PCDATA)> <!ELEMENT TIME_VERSION (#PCDATA)> <!ELEMENT TYPE (#PCDATA)> <!ELEMENT VERSION (#PCDATA)> ]>
4 Eksempel for kortart 71 <?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> <!DOCTYPE DOCUMENT [ <!-- DTD FOR ENTITY --> <!ENTITY lt "<"> <!ENTITY gt ">"> <!ENTITY amp "&"> <!ENTITY apos "'"> <!ENTITY quot """> <!ENTITY at "@"> <!-- DTD FOR DOCUMENT COMPOSITE ELEMENT --> <!ELEMENT DOCUMENT ( HEADER, PAYMENT_INFO_JOINT_TRANSFER_FORM+ )> <!-- DTD FOR HEADER COMPOSITE ELEMENT --> <!ELEMENT HEADER ( IDENTIFIER, SENDER, RECEIVER, TYPE, DECIMAL_SEPARATOR,THOUSAND_SEPARATOR, NEGATIVE_DENOMINATOR, DATE_FORMAT, TIME_VERSION, TIME_FORMAT, RECEIPT, RECEIPT_TO, TEST_FLAG, PAYMENT_INFO_JOINT_TRANSFER_FORM_VERSION, FACTORING_VERSION,VERSION )> <!-- DTD FOR PAYMENT_INFO_JOINT_TRANSFER_FORM COMPOSITE ELEMENT --> <!ELEMENT PAYMENT_INFO_JOINT_TRANSFER_FORM (P_CARD_ID,P_PAYMENT_ID,P_FIK_NO,P_CURRENCY_CODE,P_AMOUNT,P_TRANSFER_DATE, P_REG_NO?, P_ACCOUNT_NO?,P_TECHNICAL_REFERENCE?,P_CREDITOR_ADDRESS, P_ALTERNATE_SENDER?,P_MESSAGE?)> <!-- DTD FOR P_MESSAGE COMPOSITE ELEMENT --> <!ELEMENT P_MESSAGE (MESSAGE+)> <!-- DTD FOR P_ALTERNATE_SENDER COMPOSITE ELEMENT --> <!ELEMENT P_ALTERNATE_SENDER (MESSAGE+)> <!-- DTD FOR DATA ELEMENTS -->
<!ELEMENT DATE_FORMAT (#PCDATA)> <!ELEMENT DECIMAL_SEPARATOR (#PCDATA)> <!ELEMENT FACTORING_VERSION (#PCDATA)> <!ELEMENT IDENTIFIER (#PCDATA)> <!ELEMENT MESSAGE (#PCDATA)> <!ELEMENT NEGATIVE_DENOMINATOR (#PCDATA)> <!ELEMENT P_ACCOUNT_NO (#PCDATA)> <!ELEMENT P_AMOUNT (#PCDATA)> <!ELEMENT P_CARD_ID (#PCDATA)> <!ELEMENT P_CURRENCY_CODE (#PCDATA)> <!ELEMENT P_FIK_NO (#PCDATA)> <!ELEMENT P_PAYMENT_ID (#PCDATA)> <!ELEMENT P_REG_NO (#PCDATA)> <!ELEMENT P_TECHNICAL_REFERENCE (#PCDATA)> <!ELEMENT P_TRANSFER_DATE (#PCDATA)> <!ELEMENT PAYM_DEC_SEPARATOR (#PCDATA)> <!ELEMENT PAYMENT_INFO_JOINT_TRANSFER_FORM_VERSION (#PCDATA)> <!ELEMENT RECEIVER (#PCDATA)> <!ELEMENT RECEIPT (#PCDATA)> <!ELEMENT RECEIPT_TO (#PCDATA)> <!ELEMENT SENDER (#PCDATA)> <!ELEMENT TEST_FLAG (#PCDATA)> <!ELEMENT THOUSAND_SEPARATOR (#PCDATA)> <!ELEMENT TIME_FORMAT (#PCDATA)> <!ELEMENT TIME_VERSION (#PCDATA)> <!ELEMENT TYPE (#PCDATA)> <!ELEMENT VERSION (#PCDATA)> ]> <DOCUMENT> <HEADER> <IDENTIFIER>12345622</IDENTIFIER> <SENDER>efaktura22&at;efakturax</SENDER> <RECEIVER></RECEIVER> <TYPE>EFAKTURA_PAYMENT</TYPE> <DECIMAL_SEPARATOR>,</DECIMAL_SEPARATOR> <THOUSAND_SEPARATOR></THOUSAND_SEPARATOR> <NEGATIVE_DENOMINATOR>-</NEGATIVE_DENOMINATOR> <DATE_FORMAT>CCYY-MM-DD</DATE_FORMAT> <TIME_VERSION>24</TIME_VERSION> <TIME_FORMAT>HH:MM:SS</TIME_FORMAT> <RECEIPT>0</RECEIPT> <RECEIPT_TO></RECEIPT_TO> <TEST_FLAG>0</TEST_FLAG> <PAYMENT_INFO_JOINT_TRANSFER_FORM_VERSION>1.0.0</PAYMENT_INFO_JOINT_TRANS FER_FORM_VERSION> <FACTORING_VERSION>1.0.0</FACTORING_VERSION> <VERSION>1.0.0</VERSION> </HEADER> <PAYMENT_INFO_JOINT_TRANSFER_FORM> <P_CARD_ID>71</P_CARD_ID>
<P_PAYMENT_ID>000000010315000</P_PAYMENT_ID> <P_FIK_NO>70712342</P_FIK_NO> <P_CURRENCY_CODE>DKK</P_CURRENCY_CODE> <P_AMOUNT>125,00</P_AMOUNT> <P_TRANSFER_DATE>2003-01-24</P_TRANSFER_DATE> <P_REG_NO>2370</P_REG_NO> <P_ACCOUNT_NO>99-99-888</P_ACCOUNT_NO> <P_TECHNICAL_REFERENCE></P_TECHNICAL_REFERENCE> <P_CREDITOR_ADDRESS> <P_CREDITOR_NAME>Virksomhed 21 (NY)</P_CREDITOR_NAME> <P_CREDITOR_ADDRESS_1_3>Vivendelveien 17</P_CREDITOR_ADDRESS_1_3> <P_CREDITOR_ADDRESS_1_3></P_CREDITOR_ADDRESS_1_3> <P_CREDITOR_ADDRESS_1_3>NO-1400 Ski</P_CREDITOR_ADDRESS_1_3> </P_CREDITOR_ADDRESS> </PAYMENT_INFO_JOINT_TRANSFER_FORM> </DOCUMENT>
5 Eksempel for kortart 73 <?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> <!DOCTYPE DOCUMENT [ <!-- DTD FOR ENTITY --> <!ENTITY lt "<"> <!ENTITY gt ">"> <!ENTITY amp "&"> <!ENTITY apos "'"> <!ENTITY quot """> <!ENTITY at "@"> <!-- DTD FOR DOCUMENT COMPOSITE ELEMENT --> <!ELEMENT DOCUMENT ( HEADER, PAYMENT_INFO_JOINT_TRANSFER_FORM+ )> <!-- DTD FOR HEADER COMPOSITE ELEMENT --> <!ELEMENT HEADER ( IDENTIFIER, SENDER, RECEIVER, TYPE, DECIMAL_SEPARATOR,THOUSAND_SEPARATOR, NEGATIVE_DENOMINATOR, DATE_FORMAT, TIME_VERSION, TIME_FORMAT, RECEIPT, RECEIPT_TO, TEST_FLAG, PAYMENT_INFO_JOINT_TRANSFER_FORM_VERSION, FACTORING_VERSION,VERSION )> <!-- DTD FOR PAYMENT_INFO_JOINT_TRANSFER_FORM COMPOSITE ELEMENT --> <!ELEMENT PAYMENT_INFO_JOINT_TRANSFER_FORM (P_CARD_ID,P_PAYMENT_ID,P_FIK_NO,P_CURRENCY_CODE,P_AMOUNT,P_TRANSFER_DATE, P_REG_NO?, P_ACCOUNT_NO?,P_TECHNICAL_REFERENCE?,P_CREDITOR_ADDRESS, P_ALTERNATE_SENDER?,P_MESSAGE?)> <!-- DTD FOR P_MESSAGE COMPOSITE ELEMENT --> <!ELEMENT P_MESSAGE (MESSAGE+)> <!-- DTD FOR P_ALTERNATE_SENDER COMPOSITE ELEMENT --> <!ELEMENT P_ALTERNATE_SENDER (MESSAGE+)> <!-- DTD FOR DATA ELEMENTS -->
<!ELEMENT DATE_FORMAT (#PCDATA)> <!ELEMENT DECIMAL_SEPARATOR (#PCDATA)> <!ELEMENT FACTORING_VERSION (#PCDATA)> <!ELEMENT IDENTIFIER (#PCDATA)> <!ELEMENT MESSAGE (#PCDATA)> <!ELEMENT NEGATIVE_DENOMINATOR (#PCDATA)> <!ELEMENT P_ACCOUNT_NO (#PCDATA)> <!ELEMENT P_AMOUNT (#PCDATA)> <!ELEMENT P_CARD_ID (#PCDATA)> <!ELEMENT P_CURRENCY_CODE (#PCDATA)> <!ELEMENT P_FIK_NO (#PCDATA)> <!ELEMENT P_PAYMENT_ID (#PCDATA)> <!ELEMENT P_REG_NO (#PCDATA)> <!ELEMENT P_TECHNICAL_REFERENCE (#PCDATA)> <!ELEMENT P_TRANSFER_DATE (#PCDATA)> <!ELEMENT PAYM_DEC_SEPARATOR (#PCDATA)> <!ELEMENT PAYMENT_INFO_JOINT_TRANSFER_FORM_VERSION (#PCDATA)> <!ELEMENT RECEIVER (#PCDATA)> <!ELEMENT RECEIPT (#PCDATA)> <!ELEMENT RECEIPT_TO (#PCDATA)> <!ELEMENT SENDER (#PCDATA)> <!ELEMENT TEST_FLAG (#PCDATA)> <!ELEMENT THOUSAND_SEPARATOR (#PCDATA)> <!ELEMENT TIME_FORMAT (#PCDATA)> <!ELEMENT TIME_VERSION (#PCDATA)> <!ELEMENT TYPE (#PCDATA)> <!ELEMENT VERSION (#PCDATA)> ]> <DOCUMENT> <HEADER> <IDENTIFIER>12345622</IDENTIFIER> <SENDER>efaktura22&at;efakturax</SENDER> <RECEIVER></RECEIVER> <TYPE>EFAKTURA_PAYMENT</TYPE> <DECIMAL_SEPARATOR>,</DECIMAL_SEPARATOR> <THOUSAND_SEPARATOR></THOUSAND_SEPARATOR> <NEGATIVE_DENOMINATOR>-</NEGATIVE_DENOMINATOR> <DATE_FORMAT>CCYY-MM-DD</DATE_FORMAT> <TIME_VERSION>24</TIME_VERSION> <TIME_FORMAT>HH:MM:SS</TIME_FORMAT> <RECEIPT>0</RECEIPT> <RECEIPT_TO></RECEIPT_TO> <TEST_FLAG>0</TEST_FLAG> <PAYMENT_INFO_JOINT_TRANSFER_FORM_VERSION>1.0.0</PAYMENT_INFO_JOINT_TRANS FER_FORM_VERSION> <FACTORING_VERSION>1.0.0</FACTORING_VERSION> <VERSION>1.0.0</VERSION> </HEADER> <PAYMENT_INFO_JOINT_TRANSFER_FORM> <P_CARD_ID>73</P_CARD_ID>
<P_PAYMENT_ID></P_PAYMENT_ID> <P_FIK_NO>70712342</P_FIK_NO> <P_CURRENCY_CODE>DKK</P_CURRENCY_CODE> <P_AMOUNT>500,00</P_AMOUNT> <P_TRANSFER_DATE>2003-01-24</P_TRANSFER_DATE> <P_REG_NO>2370</P_REG_NO> <P_ACCOUNT_NO>99-99-888</P_ACCOUNT_NO> <P_TECHNICAL_REFERENCE></P_TECHNICAL_REFERENCE> <P_CREDITOR_ADDRESS> <P_CREDITOR_NAME>Virksomhed 21 (NY)</P_CREDITOR_NAME> <P_CREDITOR_ADDRESS_1_3>Vivendelveien 17</P_CREDITOR_ADDRESS_1_3> <P_CREDITOR_ADDRESS_1_3></P_CREDITOR_ADDRESS_1_3> <P_CREDITOR_ADDRESS_1_3>NO-1400 Ski</P_CREDITOR_ADDRESS_1_3> </P_CREDITOR_ADDRESS> <P_ALTERNATE_SENDER> <MESSAGE>Dette er en alternativ afsender</message> </P_ALTERNATE_SENDER> <P_MESSAGE> <MESSAGE>Dette er en adviseringstekst</message> </P_MESSAGE> </PAYMENT_INFO_JOINT_TRANSFER_FORM> </DOCUMENT>
6 Eksempel for kortart 75 <?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> <!DOCTYPE DOCUMENT [ <!-- DTD FOR ENTITY --> <!ENTITY lt "<"> <!ENTITY gt ">"> <!ENTITY amp "&"> <!ENTITY apos "'"> <!ENTITY quot """> <!ENTITY at "@"> <!-- DTD FOR DOCUMENT COMPOSITE ELEMENT --> <!ELEMENT DOCUMENT ( HEADER, PAYMENT_INFO_JOINT_TRANSFER_FORM+ )> <!-- DTD FOR HEADER COMPOSITE ELEMENT --> <!ELEMENT HEADER ( IDENTIFIER, SENDER, RECEIVER, TYPE, DECIMAL_SEPARATOR,THOUSAND_SEPARATOR, NEGATIVE_DENOMINATOR, DATE_FORMAT, TIME_VERSION, TIME_FORMAT, RECEIPT, RECEIPT_TO, TEST_FLAG, PAYMENT_INFO_JOINT_TRANSFER_FORM_VERSION, FACTORING_VERSION,VERSION )> <!-- DTD FOR PAYMENT_INFO_JOINT_TRANSFER_FORM COMPOSITE ELEMENT --> <!ELEMENT PAYMENT_INFO_JOINT_TRANSFER_FORM (P_CARD_ID,P_PAYMENT_ID,P_FIK_NO,P_CURRENCY_CODE,P_AMOUNT,P_TRANSFER_DATE, P_REG_NO?, P_ACCOUNT_NO?,P_TECHNICAL_REFERENCE?,P_CREDITOR_ADDRESS, P_ALTERNATE_SENDER?,P_MESSAGE?)> <!-- DTD FOR P_MESSAGE COMPOSITE ELEMENT --> <!ELEMENT P_MESSAGE (MESSAGE+)> <!-- DTD FOR P_ALTERNATE_SENDER COMPOSITE ELEMENT --> <!ELEMENT P_ALTERNATE_SENDER (MESSAGE+)> <!-- DTD FOR DATA ELEMENTS -->
<!ELEMENT DATE_FORMAT (#PCDATA)> <!ELEMENT DECIMAL_SEPARATOR (#PCDATA)> <!ELEMENT FACTORING_VERSION (#PCDATA)> <!ELEMENT IDENTIFIER (#PCDATA)> <!ELEMENT MESSAGE (#PCDATA)> <!ELEMENT NEGATIVE_DENOMINATOR (#PCDATA)> <!ELEMENT P_ACCOUNT_NO (#PCDATA)> <!ELEMENT P_AMOUNT (#PCDATA)> <!ELEMENT P_CARD_ID (#PCDATA)> <!ELEMENT P_CURRENCY_CODE (#PCDATA)> <!ELEMENT P_FIK_NO (#PCDATA)> <!ELEMENT P_PAYMENT_ID (#PCDATA)> <!ELEMENT P_REG_NO (#PCDATA)> <!ELEMENT P_TECHNICAL_REFERENCE (#PCDATA)> <!ELEMENT P_TRANSFER_DATE (#PCDATA)> <!ELEMENT PAYM_DEC_SEPARATOR (#PCDATA)> <!ELEMENT PAYMENT_INFO_JOINT_TRANSFER_FORM_VERSION (#PCDATA)> <!ELEMENT RECEIVER (#PCDATA)> <!ELEMENT RECEIPT (#PCDATA)> <!ELEMENT RECEIPT_TO (#PCDATA)> <!ELEMENT SENDER (#PCDATA)> <!ELEMENT TEST_FLAG (#PCDATA)> <!ELEMENT THOUSAND_SEPARATOR (#PCDATA)> <!ELEMENT TIME_FORMAT (#PCDATA)> <!ELEMENT TIME_VERSION (#PCDATA)> <!ELEMENT TYPE (#PCDATA)> <!ELEMENT VERSION (#PCDATA)> ]> <DOCUMENT> <HEADER> <IDENTIFIER>12345622</IDENTIFIER> <SENDER>efaktura22&at;efakturax</SENDER> <RECEIVER></RECEIVER> <TYPE>EFAKTURA_PAYMENT</TYPE> <DECIMAL_SEPARATOR>,</DECIMAL_SEPARATOR> <THOUSAND_SEPARATOR></THOUSAND_SEPARATOR> <NEGATIVE_DENOMINATOR>-</NEGATIVE_DENOMINATOR> <DATE_FORMAT>CCYY-MM-DD</DATE_FORMAT> <TIME_VERSION>24</TIME_VERSION> <TIME_FORMAT>HH:MM:SS</TIME_FORMAT> <RECEIPT>0</RECEIPT> <RECEIPT_TO></RECEIPT_TO> <TEST_FLAG>0</TEST_FLAG> <PAYMENT_INFO_JOINT_TRANSFER_FORM_VERSION>1.0.0</PAYMENT_INFO_JOINT_TRANS FER_FORM_VERSION> <FACTORING_VERSION>1.0.0</FACTORING_VERSION> <VERSION>1.0.0</VERSION> </HEADER> <PAYMENT_INFO_JOINT_TRANSFER_FORM> <P_CARD_ID>75</P_CARD_ID>
<P_PAYMENT_ID>0000000010314805</P_PAYMENT_ID> <P_FIK_NO>70712342</P_FIK_NO> <P_CURRENCY_CODE>DKK</P_CURRENCY_CODE> <P_AMOUNT>1125,00</P_AMOUNT> <P_TRANSFER_DATE>2003-01-31</P_TRANSFER_DATE> <P_REG_NO>2370</P_REG_NO> <P_ACCOUNT_NO>99-99-888</P_ACCOUNT_NO> <P_TECHNICAL_REFERENCE></P_TECHNICAL_REFERENCE> <P_CREDITOR_ADDRESS> <P_CREDITOR_NAME>Virksomhed 21 (NY)</P_CREDITOR_NAME> <P_CREDITOR_ADDRESS_1_3>Vivendelveien 17</P_CREDITOR_ADDRESS_1_3> <P_CREDITOR_ADDRESS_1_3></P_CREDITOR_ADDRESS_1_3> <P_CREDITOR_ADDRESS_1_3>NO-1400 Ski</P_CREDITOR_ADDRESS_1_3> </P_CREDITOR_ADDRESS> <P_MESSAGE> <MESSAGE>Advisering vedr. faktura nr. 1103</MESSAGE> <MESSAGE>Vi laver en ny adviseringslinie</message> </P_MESSAGE> </PAYMENT_INFO_JOINT_TRANSFER_FORM> </DOCUMENT>
7 Eksempel for kortart 04 <?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> <!DOCTYPE DOCUMENT [ <!-- DTD FOR ENTITY --> <!ENTITY lt "<"> <!ENTITY gt ">"> <!ENTITY amp "&"> <!ENTITY apos "'"> <!ENTITY quot """> <!ENTITY at "@"> <!-- DTD FOR DOCUMENT COMPOSITE ELEMENT --> <!ELEMENT DOCUMENT ( HEADER, PAYMENT_INFO_JOINT_TRANSFER_FORM+ )> <!-- DTD FOR HEADER COMPOSITE ELEMENT --> <!ELEMENT HEADER ( IDENTIFIER, SENDER, RECEIVER, TYPE, DECIMAL_SEPARATOR,THOUSAND_SEPARATOR, NEGATIVE_DENOMINATOR, DATE_FORMAT, TIME_VERSION, TIME_FORMAT, RECEIPT, RECEIPT_TO, TEST_FLAG, PAYMENT_INFO_JOINT_TRANSFER_FORM_VERSION, FACTORING_VERSION,VERSION )> <!-- DTD FOR PAYMENT_INFO_JOINT_TRANSFER_FORM COMPOSITE ELEMENT --> <!ELEMENT PAYMENT_INFO_JOINT_TRANSFER_FORM (P_CARD_ID,P_PAYMENT_ID,P_FIK_NO,P_CURRENCY_CODE,P_AMOUNT,P_TRANSFER_DATE, P_REG_NO?, P_ACCOUNT_NO?,P_TECHNICAL_REFERENCE?,P_CREDITOR_ADDRESS, P_ALTERNATE_SENDER?,P_MESSAGE?)> <!-- DTD FOR P_MESSAGE COMPOSITE ELEMENT --> <!ELEMENT P_MESSAGE (MESSAGE+)> <!-- DTD FOR P_ALTERNATE_SENDER COMPOSITE ELEMENT --> <!ELEMENT P_ALTERNATE_SENDER (MESSAGE+)> <!-- DTD FOR DATA ELEMENTS -->
<!ELEMENT DATE_FORMAT (#PCDATA)> <!ELEMENT DECIMAL_SEPARATOR (#PCDATA)> <!ELEMENT FACTORING_VERSION (#PCDATA)> <!ELEMENT IDENTIFIER (#PCDATA)> <!ELEMENT MESSAGE (#PCDATA)> <!ELEMENT NEGATIVE_DENOMINATOR (#PCDATA)> <!ELEMENT P_ACCOUNT_NO (#PCDATA)> <!ELEMENT P_AMOUNT (#PCDATA)> <!ELEMENT P_CARD_ID (#PCDATA)> <!ELEMENT P_CURRENCY_CODE (#PCDATA)> <!ELEMENT P_FIK_NO (#PCDATA)> <!ELEMENT P_PAYMENT_ID (#PCDATA)> <!ELEMENT P_REG_NO (#PCDATA)> <!ELEMENT P_TECHNICAL_REFERENCE (#PCDATA)> <!ELEMENT P_TRANSFER_DATE (#PCDATA)> <!ELEMENT PAYM_DEC_SEPARATOR (#PCDATA)> <!ELEMENT PAYMENT_INFO_JOINT_TRANSFER_FORM_VERSION (#PCDATA)> <!ELEMENT RECEIVER (#PCDATA)> <!ELEMENT RECEIPT (#PCDATA)> <!ELEMENT RECEIPT_TO (#PCDATA)> <!ELEMENT SENDER (#PCDATA)> <!ELEMENT TEST_FLAG (#PCDATA)> <!ELEMENT THOUSAND_SEPARATOR (#PCDATA)> <!ELEMENT TIME_FORMAT (#PCDATA)> <!ELEMENT TIME_VERSION (#PCDATA)> <!ELEMENT TYPE (#PCDATA)> <!ELEMENT VERSION (#PCDATA)> ]> <DOCUMENT> <HEADER> <IDENTIFIER>12345622</IDENTIFIER> <SENDER>efaktura22&at;efakturax</SENDER> <RECEIVER></RECEIVER> <TYPE>EFAKTURA_PAYMENT</TYPE> <DECIMAL_SEPARATOR>,</DECIMAL_SEPARATOR> <THOUSAND_SEPARATOR></THOUSAND_SEPARATOR> <NEGATIVE_DENOMINATOR>-</NEGATIVE_DENOMINATOR> <DATE_FORMAT>CCYY-MM-DD</DATE_FORMAT> <TIME_VERSION>24</TIME_VERSION> <TIME_FORMAT>HH:MM:SS</TIME_FORMAT> <RECEIPT>0</RECEIPT> <RECEIPT_TO></RECEIPT_TO> <TEST_FLAG>0</TEST_FLAG> <PAYMENT_INFO_JOINT_TRANSFER_FORM_VERSION>1.0.0</PAYMENT_INFO_JOINT_TRANS FER_FORM_VERSION> <FACTORING_VERSION>1.0.0</FACTORING_VERSION> <VERSION>1.0.0</VERSION> </HEADER> <PAYMENT_INFO_JOINT_TRANSFER_FORM> <P_CARD_ID>04</P_CARD_ID>
<P_PAYMENT_ID>0000000010314904</P_PAYMENT_ID> <P_FIK_NO>2002205</P_FIK_NO> <P_CURRENCY_CODE>DKK</P_CURRENCY_CODE> <P_AMOUNT>2000,00</P_AMOUNT> <P_TRANSFER_DATE>2003-01-31</P_TRANSFER_DATE> <P_REG_NO>2370</P_REG_NO> <P_ACCOUNT_NO>99-99-888</P_ACCOUNT_NO> <P_TECHNICAL_REFERENCE></P_TECHNICAL_REFERENCE> <P_CREDITOR_ADDRESS> <P_CREDITOR_NAME>Virksomhed 21 (NY)</P_CREDITOR_NAME> <P_CREDITOR_ADDRESS_1_3>Vivendelveien 17</P_CREDITOR_ADDRESS_1_3> <P_CREDITOR_ADDRESS_1_3></P_CREDITOR_ADDRESS_1_3> <P_CREDITOR_ADDRESS_1_3>NO-1400 Ski</P_CREDITOR_ADDRESS_1_3> </P_CREDITOR_ADDRESS> </PAYMENT_INFO_JOINT_TRANSFER_FORM> </DOCUMENT>