Dette dokumentet beskriver EHF (Elektronisk Handelsformat) Katalog for utveksling av kataloginformasjon elektronisk mellom handelspartnere. Dokumentet er utarbeidet som en del av satsingen til Direktoratet for forvaltning og økonomistyring (Difi) innen standardisering av elektronisk handelsprosesser.

Innmelding av feil og mangler
Dersom du finner feil eller mangler i dokumentet ber vi om at det det meldes inn på Github Issues. Dersom man ikke allerede har bruker på Github kan man opprette bruker gratis.

Innledning

Bakgrunn og målsetning

I Stortingsmelding nr. 36:2008-2009 Det gode innkjøp står det:

Regjeringa meiner auka bruk av elektroniske løysingar er viktig for å forbetre og effektivisere offentleg innkjøp. Bruk av elektroniske løysingar kan redusere tidsbruken ved offentlege innkjøp, auke konkurransen og leggje til rette for innkjøp som er meir gjennomsiktige og lettare kan etterprøvast. Ved å bruke mindre tid og pengar på innkjøp frigjer ein ressursar som kan brukast til både fornying av offentleg sektor og meir velferd. Målet med å innføre elektroniske løysingar er å medverke til betre, enklare og sikrare innkjøp.

Fornyings- og administrasjonsdepartementet og Kirkedepartementet (FAD) anså bruk av åpne standarder som et grunnleggende element for å skape en velfungerende offentlig sektor, med god intern samhandling og et godt tjenestetilbud til innbyggere og næringsliv.

Definisjon av åpen standard:
En åpen standard kjennetegnes ved at den er anerkjent og vil bli vedlikeholdt av en ikke-kommersiell organisasjon, og det løpende utviklingsarbeidet foregår på basis av beslutningsprosesser som er åpne for alle interesserte parter. Standarden er publisert og dokumentasjonen er tilgjengelig, enten gratis eller til en ubetydelig avgift. Det må være tillatt for alle å kopiere, distribuere og bruke standarden gratis eller for en ubetydelig avgift. Den intellektuelle rettighet knyttet til standarden (eks. patenter) er gjort ugjenkallelig tilgjengelig, uten royalty. Det er ingen forbehold om gjenbruk av standarden.

Målsetningen med dette dokumentet er å definere et felles format for fakturameldinger i det norske markedet, og å legge til rette for en effektiv innføring og utbredelse av elektronisk samhandling i fakturaprosessen basert på disse formatene.

Målgruppe

Målgruppen for dokumentet (heretter omtalt som implementeringsveileder) er både faglig og teknisk personell hos brukere som ønsker å sende og motta katalogmelding elektronisk. Dokumentet kan også benyttes av systemleverandør, ERP leverandør og meldingsformidlere.

  • Kapittel 1 til 5 er rettet mot faglig personell

  • Kapittel 6 til 8 (vedlegg) er rettet mot teknisk personell

Dokumentstruktur

Dokumentet er inndelt i følgende deler:

  • Kapittel 1 gir en kort introduksjon som beskriver bakgrunn og målsetning med implementeringsveileder.

  • Kapittel 2 beskriver de endringer som er gjort mellom forskjellige versjoner av implementasjonsveilederen.

  • Kapittel 3 beskriver EHF formatene generelt.

  • Kapittel 4 inneholder definisjoner som er relevant for katalogformatet.

  • Kapittel 5 beskriver generelle prinsipper og forutsetninger for katalogformatet.

  • Kapittel 6 gir en detaljerte beskriver av sentrale informasjonselementer i katalogformatet.

  • Kapittel 7 omhandler validering.

  • Kapittel 8 inneholder følgende vedlegg.

Ikrafttredelse

Denne revisjonen gjøres tilgjengelig for bruk fra 10. desember 2019. Den vil være obligatorisk fra samme dato.

1. Endringslogg

1.1. Konsekvenser av implementinger av denne versjonen

Versjon 1.0.15 er en revisjon av EHF Katalog 1.0, og dette innebærer at endringene i denne revisjonen er bakoverkompatibel med EHF Katalog 1.0, og dermed at instansdokumenter som er gyldige i henhold til EHF Katalog 1.0 også vil være gyldige i versjon 1.0.15. Det presiseres her at gyldig i henhold til EHF Katalog 1.0 innebærer at det er gyldig i henhold til veilederen til EHF Katalog 1.0, da det er dette som er den normative kilden.

1.1.1. Registrering i ELMA

Alle som er registrert i ELMA for mottak av EHF Katalog 1.0, vil kunne motta 1.0.15 uten endringer i ELMA.

1.2. Versjon 1.x

Versjon 1.0.15 (10.12.2019)

Sak Beskrivelse Type

-

Oppdaterte lenker til Github.

Guide

Versjon 1.0.14 (27.02.2019)

Sak Beskrivelse Type

-

Feilretting i syntaks har medført oppdaterte grunnleggende valideringsregler.

Syntaks

Valideringsregler som er ventet å trigge feil i neste release: Alle grunnleggende valideringsregler (EHF-TXX-BXXXXX).

Versjon 1.0.13 (15.11.2018)

Sak Beskrivelse Type

#272

Rette identifikatorer i "Profiler og meldinger"-seksjonen i den engelske utgaven.

Guide

-

Flyttet eksempelfilene inn i en eksempelfil-pakke. Vedlegget er oppdatert med ny lenke.

Guide

-

Bytte ut utlisting av valideringsregler med lenker til alle relevante valideringsregler.

Guide

-

Legge til "grunnleggende" valideringsregler som er automatisk generert basert på syntaks. Reglene er identifisert med 'EHF-T19-BXXXXX' for katalog og 'EHF-T58-BXXXXX' for katalogrespons hvor 'XXXXX' er et løpenummer.

Validator

Valideringsregler som er ventet å trigge feil i neste release: Alle grunnleggende valideringsregler (EHF-TXX-BXXXXX).

Versjon 1.0.12 (12.09.2018)

Sak Beskrivelse Type

#267

Legge til et manglende ord i "Profiler og meldinger"-seksjonen.

Guide

#268

Legge til engelsk oversettelse i allergener-seksjonen (gjelder kun engelsk utgave).

Guide

Versjon 1.0.11 (20.02.2018)

Sak Beskrivelse Type

#253

Rette eksempel på bruk av MVA.

Guide

Versjon 1.0.10 (15.11.2017)

Sak Beskrivelse Type

#230

Oppdatere reglene NOGOV-T19-R024 (F), EHF-COMMON-R011 (F), EHF-COMMON-R012 (F) og EHF-COMMON-R013 (F) til å trigge feil.

Validator

#234

Skjule regelen BII2-T19-R021 (W) i validator.

Validator

#229

Benytte PEPPOL BIS sin Schematron som kilde i prosjetet for å forenkle vedlikehold og økt transparens.

Validator

#233

Oppdatert kapittel om validering så det reflerterer bruk av EHF Common.

Guide

#245

Legge til informasjon om nye MVA-kategorier tilgjengelig i neste release.

Guide

Versjon 1.0.9 (14.09.2017)

Sak Beskrivelse Type

#215

Fikse kontekst for en del regler for å oppnå høyere kvalitet.

Validator

#222

Bytte ut en del regler med regler i EHF Common.

Validator

#222

Legge til regelen NOGOV-T19-R024 (W) for å understøtte implisitt funksjonalitet.

Validator

#223

Legge til manglende anbefalinger for vedleggsformat.

Guide

#224

Flyttet 6.6.1 til 6.7 i norsk utgave for å få konsistens mellom språkene.

Guide

Valideringsregler som er ventet å trigge feil i neste release: NOGOV-T19-R024, EHF-COMMON-R011, EHF-COMMON-R012, EHF-COMMON-R013
Mapping of rules for EHF Common in EHF Catalogue
New rule Description Old rule

Document in general

EHF-COMMON-R001 (F)

Document MUST not contain empty elements.

NOGOV-T19-R018 (F)

EHF-COMMON-R002 (F)

Document MUST not contain empty elements.

NOGOV-T19-R018 (F)

EHF-COMMON-R003 (W)

Document SHOULD not contain schema location.

New rule

EHF-COMMON-R004 (F)

Document MUST have a syntax identifier.

NOGOV-T19-R007 (F)

Validation of Norwegian organization numbers

EHF-COMMON-R010 (F)

MUST be a valid Norwegian organization number. Only numerical value allowed

NOGOV-T19-R015 (F), NOGOV-T19-R017 (F)

EHF-COMMON-R011 (F)

When scheme is NO:ORGNR, a valid Norwegian organization number must be used. Only numerical value allowed

New rule

EHF-COMMON-R012 (F)

A VAT number MUST be valid Norwegian organization number (nine numbers) followed by the letters MVA.

New rule

EHF-COMMON-R013 (F)

When scheme is NO:ORGNR, a valid Norwegian organization number must be used. Only numerical value allowed

New rule

EHF-COMMON-R014 (F)

An endpoint identifier scheme MUST have the value 'NO:ORGNR'.

NOGOV-T19-R014 (F), NOGOV-T19-R016 (F)

Validation of tax

EHF-COMMON-R020 (F)

Tax categories MUST be one of the follwoing codes: AA E H K R S Z

NOGOV-T19-R019 (F)

Formating validation

EHF-COMMON-R030 (F)

A date must be formatted YYYY-MM-DD.

NOGOV-T19-R006 (F)

Validation of other identifiers

EHF-COMMON-R040 (W)

Invalid GLN number provided.

Ignored

Code lists

EHF-COMMON-R100 (W)

Attachment is not a recommended MIMEType.

New rule

Mapping of rules for EHF Common in EHF Catalogue Response
New rule Description Old rule

Document in general

EHF-COMMON-R001 (F)

Document MUST not contain empty elements.

NOGOV-T58-R009 (F)

EHF-COMMON-R002 (F)

Document MUST not contain empty elements.

NOGOV-T58-R009 (F)

EHF-COMMON-R003 (W)

Document SHOULD not contain schema location.

New rule

EHF-COMMON-R004 (F)

Document MUST have a syntax identifier.

NOGOV-T58-R002 (F)

Validation of Norwegian organization numbers

EHF-COMMON-R010 (F)

MUST be a valid Norwegian organization number. Only numerical value allowed

NOGOV-T58-R006 (F), NOGOV-T58-R008 (F)

EHF-COMMON-R011 (F)

When scheme is NO:ORGNR, a valid Norwegian organization number must be used. Only numerical value allowed

New rule

EHF-COMMON-R012 (F)

A VAT number MUST be valid Norwegian organization number (nine numbers) followed by the letters MVA.

Ignored

EHF-COMMON-R013 (F)

When scheme is NO:ORGNR, a valid Norwegian organization number must be used. Only numerical value allowed

Ignored

EHF-COMMON-R014 (F)

An endpoint identifier scheme MUST have the value 'NO:ORGNR'.

NOGOV-T58-R005 (F), NOGOV-T58-R007 (F)

Validation of tax

EHF-COMMON-R020 (F)

Tax categories MUST be one of the follwoing codes: AA E H K R S Z

Ignored

Formating validation

EHF-COMMON-R030 (F)

A date must be formatted YYYY-MM-DD.

NOGOV-T58-R001 (F)

Validation of other identifiers

EHF-COMMON-R040 (W)

Invalid GLN number provided.

Ignored

Code lists

EHF-COMMON-R100 (W)

Attachment is not a recommended MIMEType.

Ignored

Versjon 1.0.8 (15.05.2017)

Sak Beskrivelse Type

#207

Oppdaterte validatorfiler for PEPPOL BIS fra OpenPEPPOL.

Validator

#196

Erstatte CL-T19-R004 med NOGOV-T19-R019 (F).

Validator

#202

Legge til seksjon 6.12.1 om bruk av kodeliste for vedlegg, samt legge til regel NOGOV-T19-R020 (F) for validering.

Validator og guide

#213

Legge til seksjon 6.20 angående sterile produkter. Ny regler NOGOV-T19-R021 (W), NOGOV-T19-R022 (W) og NOGOV-T19-R023 (F)

Validator og guide

#206

Oppdatere lenker i 3.6 og kodelister.

Guide

#214

Fjerne meldingstabll og strukturtabell til fordel for formatstruktur.

Guide

Versjon 1.0.7 (15.02.2017)

Sak Beskrivelse Type

#198

Rette inkonsistens i begreper/forretningstermer mellom veileder og tilhørende dokumentasjon (meldingstabell, katalogmal)

Endringer gjort i følgende kapitler:

  • Kvantum- og bestillingsmengder

  • Pakningsinformasjon

  • Priser

  • Produktidentifisering

  • Relaterte produkter

Guide

Versjon 1.0.6 Feilretting (13.12.2016)

Sak Beskrivelse Type

#192

Fjerne EHF Core for katalog og katalogrespons.

Validator

Versjon 1.0.6 (15.11.2016)

Sak Beskrivelse Type

#121

Omskrevet beskrivelse av allergener.

Guide

#155

Legge til manglende liste over NOGOV-regler for katalog.

Guide

#164

Samkjøre kapittel 5.3 med EHF Faktura og kreditnota.

Guide

#162

Rette mindre feil i eksempelfil for katalogrespons.

Vedlegg

#169

Rette mindre feil i eksempelfiler for katalog og katalogrespons.

Vedlegg

#159

Skrive om regel NOGOV-T19-R001 (F).

Validator

#160

Rette regel NOGOV-T19-R009 (F) så den trigger.

Validator

#171

Rette regel NOGOV-T19-R002 (F) så elementet EndDate er valgfritt.

Validator

#162

Rette reglene NOGOV-T58-R002 (F), NOGOV-T58-R003 (W), NOGOV-T58-R004 (W), NOGOV-T58-R005 (F), NOGOV-T58-R006 (F), NOGOV-T58-R007 (F) og NOGOV-T58-R008 (F).

Validator

#169

Oppdatere NOGOV-T19-R015 (F) og NOGOV-T19-R017 (F) til også å kontrollere kontrollsiffer på organisasjonsnummer.

Validator

#169

Oppdatere NOGOV-T58-R006 (F) og NOGOV-T58-R008 (F) til også å kontrollere kontrollsiffer på organisasjonsnummer.

Validator

#179

Oppdaterte validatorfiler for PEPPOL BIS fra OpenPEPPOL.

Validator

#48

Legge til EHF Core for katalog og katalogrespons.

Validator

#162

Endre autorativ kilde for valideringsregler fra XSLT til Schematron for NOGOV-T58.

Validator

#163

Endre autorativ kilde for valideringsregler fra XSLT til Schematron for NOGOV-T19.

Validator

Versjon 1.0.5 (15.09.2016)

Sak Beskrivelse Type

#147

Konvertere guiden til Asciidoctor-format.

  • Justere kapittel 1 så det er mer likt andre guider.

  • Justere kapittel 3 så det er mer likt andre guider.

  • Fjerne kapittel 7 til fordel for GEFEG-visning tilgjengelig på VEFA.

  • Flytte kapittel 8 til kapittel 7.

  • Flytte kapittel 9 til kapittel 8.

  • Presentasjoner og illustrasjoner er endret grunnet nytt format.

Guide

Versjon 1.0.4 (23.05.2016)

Editorielle endringer:
  • Korrigert eksempel kapittel 6.6

Validator endring:
  • Korrigering av regel NOGOV-T19-R002 for tidssoner

Forfatter:
  • Siw Meckelborg, Edisys Consulting AS

Versjon 1.0.3 (01.09.2015)

Validator endringer:
  • Nye valideringsartefakter fra PEPPOL og BII, oppgradering til XSLT/xPath 2.0

  • Tomme elementer vil medføre feilmelding, ikke advarsel som tidligere, gjelder regel NOGOV-T19-R018 og NOGOV-T58-R009

Forfatter:
  • Siw Meckelborg, Edisys Consulting AS

Versjon 1.0.2 (06.03.2015)

Validator endringer:
  • Validering av alle påkrevde og anbefalte felt.

  • Validering av ulike datatyper (organisasjons-nummer, dato o.l)

  • Validering av at EndpointID kun kan være organisasjonsnummer.

Editorielle endringer:
  • Lagt til regel ID i meldingstabellen

  • Tydeliggjøring i kapittel 2.1

  • Tydeliggjøring av avhengige felt (D)

Forfatter:
  • Siw Meckelborg, Edisys Consulting AS

Versjon 1.0.1 (21.08.2014)

Endringer:
  • Beskrevet mulighet for å angi Anbefalt artikkel og Smartform-ID, kapittel 6.17 og 6.18

  • Presisert beskrivelse av Katalogbekreftelse. kapittel 5.5

  • Endret kodelste, vedlegg 3

  • Nytt kapittel 3.3

  • Lagt til regler for party identifikator, endpoint identifikator, landkoder, valutakoder og attributtverder

  • Lagt til regel for å sikre korrekt bruk av ProfileID

Forfatter:
  • Edisys Consulting AS

Versjon 1.0 (25.09.2013)

Godkjent

Forfatter:
  • Edisys Consulting

2. Elektronisk HandelsFormat (EHF)

2.1. Om EHF

EHF er en forkortelse for Elektronisk handelsformat.

EHF er basert på arbeidet som er gjort i CEN BII. Dette er så videre tilpasset norske forskrifter (bokføringsforskriften) og gjeldene praksis for de ulike aktuelle forretningsprosesser slik disse praktiseres i det norske markedet. Difi arbeider for at hele handelsprosessen skal kunne gjennomføres med EHF dokumenter. Dette gjelder dokumenter både før og etter kontraktsinngåelse.

Dokumenter helt fra anbudskatataloger til kreditnota skal dekkes under EHF paraplyen. I løpet av 2013 vil Difi tilrettelegge for bruk av EHF formatene i det vi kaller post award prosessen, med andre ord prosessen etter at en selger og kjøper har inngått en kontrakt.

Ved å benytte EHF dokumentene skal samhandlingen mellom kjøper og selger være forutsigbar. Elementer fra Katalogen skal man kunne gjenbruke i en ordre, og elementene fra en ordre skal kunne gjenbrukes i en faktura. Dette medfører at man vil få en helhetlig bruk av alle dokumentene som er under EHF paraplyen.

Difi har valgt å basere EHF-formatene på CEN BII og en syntaks implementering basert på Universal Business Language (UBL). UBL er en fritt tilgjengelig standard som ikke innebærer lisenskostnader, og det samme gjelder for EHF.

EHF forvaltes og vedlikeholdes av Difi.

2.2. Konsistent informasjonsinnhold

De ulike EHF-formatene nevnt over, inneholder en del felles informasjonselementer. (Leverandør, kunde, vare, etc). Det er viktig at felles informasjon er konsistent i de ulike formatene. Det vil si at elementer med identisk innhold er definert på samme måte og så langt det lar seg gjøre har samme navn. For eksempel vil EHF Fakturaformatene gjenbruke elementer fra katalog og ordre for å sikre konsistens på tvers av meldingene slik at innhold i disse transaksjonene reflekteres i fakturameldingene. På denne måten understøttes en effektiv og automatisert kontroll av faktura mot bakenforliggende transaksjoner.

2.3. Tomme elementer

Bruk av tomme elementer er ikke lov i UBL, som EHF er basert på. Dette skyldes at tomme elementer kan tolkes til å ha mening, f.eks. at et element ikke er tilgjengelig ved utsendelse. I tillegg vil numeriske felt og datofelt ha krav til innhold som vil feile i validering dersom de sendes som tomme elementer.

Bruk av tomme elementer er, som forklart over, ikke tillatt i EHF.

2.4. Meldingstransport

Ved å benytte PEPPOL Transport Infrastruktur vil man få en effektiv bruk og transport av EHF formatene. PEPPOL Transport Infrastruktur har som utgangspunkt å gjøre det enkelt med handel på tvers av landegrenser. Erfaringen viser også at det er enklere å etablere elektronisk meldingsutveksling internt i Norge, blant annet fordi alle tjenestetilbydere benytter standardprosesser.

Det er viktig å merke seg at alle dokumenter som skal sendes inn i transport infrastrukturen må være validert OK i henhold til Difis validator. Dette kan gjøres enten av dokumentutsteder eller av tjenesteyter på dokumentutsteders vegne.

Tidligere Fornyings- Administrasjons- og Kirkedepartementet (FAD) anbefaler i sitt Rundskriv P-10/2012, at alle statlige virksomheter skal benytte PEPPOL Transport Infrastruktur.

2.5. Profiler og meldinger

I tråd med den metodiske tilnærmingen som ligger til grunn for EHF formatene (se CEN BII) vil de elektroniske meldingene som inngår i et format bli utvekslet mellom de aktuelle aktørene som en del av en elektronisk samhandlingsprosess – en profil.

En profil er definert som den elektroniske samhandlingsprosess som en aktuell meldingsutveksling er en del av. En profil vil typisk omfatte flere relaterte meldinger som utveksles mellom to parter, men kan i sin enkleste form omfatte utveksling av kun en enkelt melding.

Så langt det har latt seg gjøre benytter EHF seg av profiler utarbeidet av BII eller PEPPOL. Eksempler på relevante profiler er:

Profil Dokumenttyper

Kun faktura (bii04)

Faktura

Kun kreditnota (biixx)

Kreditnota

Faktura og kreditnota (bii05)

Faktura, Kreditnota

Faktura, kreditnota og purring (biixy)

Faktura, Kreditnota, Purring

Ordre og faktura (bii06)

Ordre, Ordrebekreftelse, Faktura, Kreditnota

De meldinger som utveksles innenfor en profil er tilpasset (engelsk: customized) for å tilfredsstille de krav til innformasjonsinnhold som gjelder for den spesifikke bruken av det aktuelle forretningsdokumentet.

En CustomizationID (tilpasningsidentifikator) benyttes for å identifisere de forretningsregler som gjelder for det aktuelle forretningsdokumentet, dvs. det sett av forretningsregler som ble lagt til grunn av utsteder når dokumentet ble etablert.

Nedenstående eksempel på CustomizationID indikerer at innholdet i den aktuelle meldingen er basert på forretningsregler fastsatt av BII (urn:www.cenbii.eu:transaction:biitrns010:ver2.0), utvidet (extended), tilpasset og presisert av PEPPOL (urn:www.peppol.eu:bis:peppol5a:ver2.0) og ytterligere utvidet, tilpasset og presisert for norske forhold i EHF Faktura veilederen (urn:www.difi.no:ehf:faktura:ver2.0).

<cbc:CustomizationID>urn:www.cenbii.eu:transaction:biitrns10:ver2.0:extended:urn:www.peppol.eu:bis:peppol5a:ver2.0:extended:urn:www.difi.no:ehf:faktura:ver2.0</cbc:CustomizationID>

Eksempel på CustomizationID dersom det sendes en PEPPOL BIS, ytterligere info om PEPPOL BIS kan finnes på PEPPOL.

<cbc:CustomizationID>urn:www.cenbii.eu:transaction:biitrns10:ver2.0:extended:urn:www.peppol.eu:bis:peppol5a:ver2.0</cbc:CustomizationID>
Det presiseres at dersom begge aktørene er hjemmehørende i Norge, skal EHF customizationID benyttes. PEPPOL BIS bør kun benyttes dersom en av partene er utenlandske.

2.6. Bruk av samhandlingsavtaler

Kombinasjonen av registreringer i ELMA og de veiledningene denne registreringen henviser til, gjør at det ikke er behov for å inngå en mer formell samhandlingsavtale mellom avsender og mottaker. Gjennom registreringen i ELMA har en aktør deklarert sin evne og vilje til å ta imot forretningsdokumenter som er satt opp i henhold til den aktuelle veilederen, og alle andre kan derfor fritt velge å sende det aktuelle forretningsdokumentet til denne aktøren.

Ved utveksling av katalog og ordre hvor registrering i ELMA ikke benyttes, anbefales det at bruken av elektroniske meldinger reguleres via kjøpskontrakten (rammeavtalen) eventuelt med en egen samhandlingsavtale som vedlegg. Dette for å knytte den elektroniske samhandlingen mot de merkantile bestemmelsene og dermed få en jevnlig revidering av den elektroniske prosessen.

2.7. Versjonshåndtering

Difi forbeholder seg retten til å endre nåværende format til et nytt format dersom behovet skulle oppstå. Difi vil publisere informasjon om dette på sine nettsider samt at de vil varsle sine registerte kontakter med e-Post.

Difi forvalter formatet på følgende måte:

Hovedversjon

En ny hovedversjon vil bli varslet minimum fem måneder før denne publiseres. Etter at den nye hovedversjonen er publisert vil det være en implementasjonstid på minimum tolv måneder før denne vil bli obligatorisk.

Difi ønsker å forankre alle hovedversjoner i forskrift om IT standarder i offentlig sektor.

Underversjon

En ny underversjon vil varsles minimum tre måneder før publiseringsdato og skal være obligatorisk i bruk etter 5 måneder.

Alle underversjoner skal være bakoverkompatible. To måneder etter at den nye underversjonen er obligatorisk vil all støtte for den tidligere versjonen (validator og veiledere) bli fjernet.

Revisjon

En revisjon er i prinsippet en feilretting av siste underversjon. Denne vil kun bli varslet ved publisering og anbefales implementert så raskt som mulig.

3. Definisjoner

Katalog

Katalog er et dokument som brukes for å beskrive en vare eller tjenestes egenskaper.

Leverandør

En person eller et firma som leverer en vare eller en tjeneste.

Kjøper

Person eller organisasjon som overtar råderett over en vare eller tjeneste mot betaling, for en bestemt pris.

Katalogutsteder

Person eller organisasjon som sammenstiller og sender en katalog. Påkrevd i formatet.

Katalogmottaker

Person eller organisasjon som mottar og behandler en katalog. Påkrevd i formatet.

UBL

UBL (Universal Business Language) er et sett av XML-formater (XML Schema) for elektronisk utveksling handelsdokumenter som bl.a. katalog, ordre og faktura.

CEN BII

CEN BII (Business Interoperability Interfaces) er et subset av UBL med de dokumenter og det innhold som kreves for elektronisk samhandling i offentlig sektor i Europa. Omfatter ikke egne XML Schema.

Schematron validering

Kontroll av en melding mot et sett av definerte forretningsregler. Disse kommer i tillegg til syntaks som sjekkes mot XML Schema.

4. Prinsipper og forutsetninger

Dette kapitlet beskriver de prinsipper og forutsetninger som ligger til grunn for bruk av EHF Katalog. Dette er i hovedsak basert på tilsvarende beskrivelser i profil CEN BII01 Catalogue Only.

4.1. Generelt om katalogmeldingene

De elektroniske meldingene som denne veilederen omfatter er EHF Katalog og EHF Katalogbekreftelse. Kjøper og selger må kunne utveksle begge meldingene elektronisk for å være i overenstemmelse med denne veilederen.

En elektronisk katalog er en strukturert liste med informasjon om varer og tjenester som skal danne grunnlaget for eller understøtte en kjøpshandling. En elektronisk katalog kan dekke ulike funksjoner i forhold til etablering og vedlikehold av kataloginformasjon.

EHF Katalog kan brukes til følgende:

  • Opprette en ny katalog

  • Erstatte en eksisterende katalog

  • Legge til eller slette kataloglinjer

  • Endre produktegenskaper og priser på eksisterende kataloglinjer

Ved endringer er det anbefalt å erstatte hele katalogen fremfor å oppdatere enkelte kataloglinjer.

En elektronisk katalog med tilstrekkelig informasjon om leverandørens varer og tjenester vil motvirke feilleveranser som påfører både kjøpere og leverandør kostnader.

Som regel vil en elektronisk katalog agere i samhandling med et katalogverktøy og bli eksponert via et søkeverktøy. En søkemotor kan variere i kompleksitet ved at den kan søke i noen eller mange av feltene i den elektroniske katalogen. Jo flere felter det søkes i jo mer presist vil søkeresultatet bli og sikrere en god kjøpsbeslutning.

4.2. Funksjoner og roller

Denne veilederen dekker kun utveksling av katalogen post-award, dvs. etter at avtale er inngått mellom leverandør og kjøper. Innholdsmessig vil katalogen også kunne brukes pre-award i en tilbudsfase, men da med andre krav til utfylling.

Figurene under viser hvilke funksjoner dekkes av EHF Katalog og hvilke roller som inngår.

Funksjoner og roller

4.3. Profiler og meldinger

Alle meldinger har ProfileID og CustomizationID. ProfileID identifiserer forretningsprosessen meldingen er en del av, CustomizationID identifiserer hvilken dokumenttype meldingen er og hvilke regler meldingen etterlever.

Profiler er knyttet til en forretningsprosess og en eller flere dokumenttyper. Gyldige instansdokumenter må ha både ProfileID og CustomizationID fra samme profil.

I oversikten under er hver dokumenttype knyttet til mottakers rolle når instansdokumenter sendes. Ved registrering i ELMA er det hvilke dokumenttyper mottaker kan motta som registreres.

CustomizationID er en streng uten mellomrom. Under er det lagt til mellomrom i CustomizationID for å lette lesbarheten. Husk å fjerne mellomrom før bruk.

4.3.1. Profil 01 - Katalog

ProfileID

urn:www.cenbii.eu:profile:bii01:ver2.0

Type CustomizationID Rolle

Katalog

urn:www.cenbii.eu:transaction:biitrns019:ver2.0 :extended:urn:www.peppol.eu:bis:peppol1a:ver2.0 :extended:urn:www.difi.no:ehf:katalog:ver1.0

Oppdragsgiver

Katalogbekreftelse

urn:www.cenbii.eu:transaction:biitrns058:ver2.0 :extended:urn:www.peppol.eu:bis:peppol1a:ver2.0 :extended:urn:www.difi.no:ehf:katalogbekreftelse:ver1.0

Leverandør

4.4. Katalogprosess

Katalogprosessen er første del av post-award prosessen og kan beskrives som følgende arbeidsflyt:

  1. Katalogutsteder (leverandør) sammenstiller sine vare- eller tjenestedata og transformerer disse inn i katalogformatet. Dette kan enten være en komplett katalog eller en avgrenset katalog med produkt- eller prisendringer.

  2. Katalogutsteder sender katalogen til Katalogmottaker (kjøper) enten direkte eller via tredjepart.

  3. Katalogmottaker kontrollerer om katalogen er på riktig format og er korrekt utfylt.

  4. Dersom katalogen aksepteres sender katalogmottaker en positiv katalogbekreftelse til katalogutsteder. Denne vil nå være godkjent som grunnlag for å gjøre bestillinger.

  5. Dersom katalogen avvises sender katalogmottaker en negativ katalogbekreftelse med en forklaring til avvisningen til katalogutsteder. Katalogutsteder må da rette eventuelle feil og sende en ny katalog.

Figuren viser katalogprosessen med bruk av EHF katalogmeldingene. Denne prosessen er basert på profil 1 i CENBII (BII01 – Catalogue Only). Denne profilen forutsetter at katalog og katalogbekreftelse blir sendt elektronisk.

Prosessmodell for Innmelding og vedlikehold av kataloginformasjon

4.5. Katalogbekreftelse

Katalogbekreftelse inngår som en del av katalogprosessen som er beskrevet i kapittel 5.4. Katalogbekreftelsen sendes fra katalogmottaker/kjøper til katalogutsteder/leverandør og er en forretningsmessig kvittering for å angi om katalogen og dens innhold er akseptert eller avvist. Dette i motsetning til en teknisk kvittering som brukes for å gi tilbakemelding om at en melding er mottatt.

Det er ikke retur av elektroniske kataloger fra kjøper til leverandør. Hvis en katalog er avslått må ny korrigert katalog sendes inn.

Dersom utveksling av katalog omfatter bruk av et katalogverktøy kan dette være satt opp med en enkel returmelding som beskrevet over, eller med en litt mer avansert dialog mellom kjøper og leverandør.

Kvittering på at en EHF melding er mottatt kan være i form av en e-post, telefon eller en elektronisk kvitteringsmelding. Bruk av elektronisk kvitteringsmelding er beskrevet i kapittel 3.4. Dette må eventuelt avtales spesielt mellom aktørene.

5. Beskrivelse av utvalgte deler

Det fins ingen formelle krav til innholdet i en katalog i forhold til norsk regelverk. Innholdskravene er derfor basert på det som brukes på Ehandelsplattformen i dag og det som er angitt i UBL 2.1 og CEN BII Catalogue. I tillegg vil man verifisere krav til innhold mot det som brukes i utvalgte deler av privat sektor.

Dette kapitlet beskriver det som er påkrevd innhold og noen spesifikke elementer som er spesielt viktige i forhold til bruk i det norske markedet.

5.1. Roller og aktører

Følgende roller kan angis i formatet. Disse kan innehas av samme aktør eller ulike aktører avhengig av hvordan håndtering av kataloginformasjon er organisert.

Katalogutsteder (ProviderParty)

Den som er ansvarlig for å klargjøre og overføre katalog til mottaker. Dette kan være samme som leverandør eller en aktør som utfører denne oppgaven for leverandør

Katalogmottaker (ReceiverParty)

Den som er ansvarlig for å motta og kontrollere katalogen. Dette kan være en tredjepart som utfører denne oppgaven for kjøper.

Leverandør (SellerSupplierParty)

Den som er ansvarlig for å levere varen eller tjenesten som er spesifisert i katalogen.

Kjøper (ContractorCustomerParty)

Den som gjør innkjøp fra katalogen.

Produsent (ManufacturerParty)

Den som har produsert varen (angis med navn på linjenivå).

Eksempel på utfylling av leverandørinformasjon på hodenivå.
<cac:SellerSupplierParty>
  <cac:Party>
    <cbc:EndpointID schemeID="NO:ORGNR">987654321</cbc:EndpointID>
    <cac:PartyIdentification>
      <cbc:ID schemeID="NO:ORGNR">984297793</cbc:ID>
    </cac:PartyIdentification>
    <cac:PartyName>
      <cbc:Name>Supplier</cbc:Name>
    </cac:PartyName>
    <cac:PostalAddress>
      <cbc:StreetName>Per Krohgs vei 1,Karihaugen</cbc:StreetName>
      <cbc:CityName>OSLO</cbc:CityName>
      <cbc:CountrySubentity>Norway</cbc:CountrySubentity>
      <cac:Country>
        <cbc:IdentificationCode listID="ISO3166-1:Alpha2">NO</cbc:IdentificationCode>
      </cac:Country>
    </cac:PostalAddress>
    <cac:Contact>
      <cbc:Name>Ole Olsen</cbc:Name>
      <cbc:Telephone>+46123123123</cbc:Telephone>
      <cbc:ElectronicMail>test@ibxeurope.com</cbc:ElectronicMail>
    </cac:Contact>
  </cac:Party>
</cac:SellerSupplierParty>
Eksempel på utfylling av produsentinformasjon i EHF katalog.
<cac:CatalogueLine>
...
  <cac:Item>
  ...
    <cac:ManufacturerParty>
      <cac:PartyName>
        <cbc:Name>Produsent</cbc:Name>
      </cac:PartyName>
    </cac:ManufacturerParty>
  ...
  </cac:Item>
...
</cac:CatalogueLine>

5.2. Aksjonskode

Aksjonskode (ActionCode) er en instruksjonskode som angir hvordan varekatalogen skal behandles i det mottagende system. Aksjonskode kan benyttes på hodenivå eller på linjenivå.

Anbefalinger:
  • Det anbefales kun å benytte aksjonskoder på hodenivå hvis ikke annet er eksplisitt avtalt mellom avsender og mottager.

  • Ved endringer anbefales det å bruke Replace og erstatte hele katalogen.

Retningslinjer for utfylling:
  • Aksjonskode må sendes og være utfylt enten på hodenivå eller linjenivå. Dersom Aksjonskode mangler vil hele katalogen bli avvist.

  • Når det er benyttet aksjonskode på hodenivå, vil den overstyre eventuelle aksjonskoder som sendes på linjenivå.

  • Hvis det ikke sendes aksjonskode på hodenivå, er det obligatorisk med aksjonskode på alle kataloglinjene.

  • Aksjonskoden kan ha følgende verdier: Add, Replace, Update og Delete.

Tabell 1. Aksjonskode utfylt på hodenivå:
Aksjonskode Behandling

Add

Ny katalog med alle tilhørende linjer blir opprettet. Hvis katalogen eksisterer fra før skal meldingen avvises av mottakende system.

Replace

Hele den gamle katalogen erstattes av den nye. Mottakende system bør arkivere den gamle katalogen. Hvis katalogen ikke eksisterer skal meldingen avvises av mottakende system.

Update

De kataloglinjer som sendes skal oppdateres i eksisterende katalog. Mottakende system bør arkivere den gamle katalogen. Hvis katalogen ikke eksisterer skal meldingen avvises av mottakende system.

Delete

Hele katalogen skal slettes. Hvis katalogen ikke eksisterer skal meldingen avvises av mottakende system.

Tabell 2. Aksjonskode utfylt på linjenivå:
Aksjonskode Behandling

Add

Ny kataloglinje blir opprettet. Hvis linjen eksisterer skal hele katalogen avvises.

Update

Hele kataloglinjen erstattes med den nye. Hvis linjen ikke eksisterer i gjeldende katalog skal hele katalogen avvises.

Delete

Kataloglinjen slettes. Hvis linjen ikke eksisterer skal hele katalogen avvises.

Respons tilbake til avsender håndteres som beskrevet under 3.3 Katalogprosess.

Eksempel på utfylling av aksjonskode på hodenivå.
<cac:Catalogue>
  ...
  <cbc:ActionCode listID="ACTIONCODE:PEPPOL">Add</cbc:ActionCode>
  ...
Eksempel på utfylling av aksjonskode på linjenivå.
<cac:CatalogueLine>
  <cbc:ID>12345</cbc:ID>
  <cbc:ActionCode listID="ACTIONCODE:BII2">Update</cbc:ActionCode>
  ...

5.3. Produktidentifisering

Et produkt kan identifiseres på ulike måter avhengig av hva som er tilgjengelig på det tidspunkt katalogen utveksles. Hvilken id som er aktuell kan også være bransjeavhengig. Følgende id’er er mulige i formatet:

  • Leverandørens artikkelnummer

  • Standard artikkelnummer, f.eks. GTIN

  • Produsents artikkelnummer (som er nødvendig når samme produkt kjøpes fra flere leverandører)

Enten Leverandørens artikkelnummer eller Standard artikkelnummer være med. I tillegg skal Produsents artikkelnummer angis dersom denne er tilgjengelig.

Eksempel på utfylling i EHF katalog,
<cac:SellersItemIdentification>
  <cbc:ID>222222</cbc:ID>
</cac:SellersItemIdentification>

5.4. Produktnavn og -beskrivelse

Selve produktnavnet legges i <Name> under <Item> på linjenivå. Lang beskrivelse av en vare skal legges i <Description> under <Item> på linjenivå.

<Name> blir ofte benyttet i ordren fra ordresystemene. Lengden på dette feltet bør ikke overstige 160 tegn da dette er kommunisert ut som maksimalt antall karakterer til de fleste innkjøpssystemer som offentlige virksomheter benytter i dag. Dette feltet overføres også i handlekurven i forbindelse med OCI punchout (round trip).

<Description> bør ikke overstige 2000 tegn da dette også er kommunisert ut som maksimalt antall karakterer til de fleste innkjøpssystemer som offentlige virksomheter benytter i dag. Dette feltet blir ikke overført i OCI punchout og benyttes heller ikke i ordrene, men blir kun presentert for brukeren når produktene vises ved søk i kataloger.

Eksempel på utfylling i EHF katalog.
<cbc:Description>GUDBRANDSDALOST G35 1KG. En enhet består av: 10STK à 1KG</cbc:Description>
...
<cbc:Name>GUDBRAND.OST G35 1KG</cbc:Name>

5.5. Nøkkelord

Nøkkelord eller søkeord legges i <Keyword> og gir mulighet for kjøper til å søke seg fram til aktuelle produkter på en intuitiv måte.

<Keyword> kan gjentas uendelig mange ganger for samme produkt, men mange gjentagelser kan vise seg å være krevende for de som skal lage en katalog. Det vil for mange være enklere å legge inn flere nøkkelord i samme <Keyword> tag med skilletegn mellom nøkkelordene. Hvilket skilletegn som skal benyttes må avtales med mottaker av katalogen. Vi anbefaler å benytte «%» som skilletegn siden dette er i bruk i en del sammenhenger allerede.

Eksempel på flere nøkkelord ved hjelp av gjentagende <KeyWord>.
<cac:Item>
  <cbc:Description>Drikke Helpall</cbc:Description>
  <cbc:Name languageID="no">NNdrikk</cbc:Name>
  <cbc:Keyword>kullsyreholdig</cbc:Keyword>
  <cbc:Keyword>leskedrikk</cbc:Keyword>
  <cbc:Keyword>mineralvann</cbc:Keyword>
  <cac:SellersItemIdentification>
    <cbc:ID>111111</cbc:ID>
  </cac:SellersItemIdentification>
</cac:Item>
Eksempel på flere nøkkelord ved hjelp av ett <KeyWord> og bruk av «%» som skilletegn.
<cac:Item>
  <cbc:Description>Drikke Helpall</cbc:Description>
  <cbc:Name languageID="no">NNdrikk</cbc:Name>
  <cbc:Keyword>kullsyreholdig%leskedrikk%mineralvann</cbc:Keyword>
  <cac:SellersItemIdentification>
    <cbc:ID>111111</cbc:ID>
  </cac:SellersItemIdentification>
</cac:Item>

5.6. Kvantum og bestillingsmengder

Det er mulig å angi ulike kvantum og enheter som gjelder for en artikkel eller tjeneste i den aktuelle katalogen. Noen av disse er relatert til bestilling av produktet og andre til logistikk og forpakning.

Følgende kvantum og bestillingsmengder er mulig å angi. For alle kvanta skal det også angis enhet ihht. kodeliste.

Elementnavn i UBL er nevnt i parantes, og er angitt fra CatalogueLine nivå.

Bestillbar enhet (OrderableUnit)

Enhetskode for aktuelt produkt/pakningsnivå. Påkrevd dersom produktet er bestillbart. Kode ihht. kodeliste.

Innhold i forbruksartikkel /artikler (ContentUnitQuantity)

Innhold i forbruksartikkel/forbruksartikler i bestillbar enhet, f.eks. ml i Shampo-flaske(r).

Bestillingsintervall (OrderQuantityIncrementNumeric)

Angir antall enheter som en bestilling kan økes med. Default er 1.

Minimumsbestilling (MinimumOrderQuantity)

Minimumskvantum som kan bestilles av en bestillbar enhet.

Maksimumsbestilling (MaximumOrderQuantity)

Maksimumskvantum som kan bestilles.

Pakningskvantum (Item/PackQuantity)

Angir antall enheter på underliggende nivå, f.eks. D-pak på pall eller F-pak i D-pak.

Antall forbruksartikler (Item/PackSizeNumeric)

Totalt antall forbruksartikler i aktuelt produkt. F.eks. antall flasker på pall.

Eksempel 1. Eksempel 1
Beskrivelse Element (fra CatalogueLine nivå) 1 flaske Kasse med 6 flasker Pall med 18 kasser

Linjeidentifikator

ID

4

5

6

Leverandørens artikkelnummer

SellersItemIdentification/ID

1111

111

11

Produktnavn

Item/Name

Shampoo 250 ml

6x250 ml Shampoo

Shampoo

Bestillbar enhet

OrderableUnit

EA

CS

PF

Pakningsnivå

PackLevelCode

CU

TU

DU

Pakningskvantum

Item/PackQuantity

6

18

Pakningsenhet

Item/PackQuantity/@unitCode

EA

CS

Antall forbruksartiker

Item/PackSizeNumeric

1

6

108

Innhold i forbruksartikkel

ContentUnitQuantity

250

1500

27000

Enhetskode for innhold i forbruksartikkel

ContentUnitQuantity/@unitCode

MLT

MLT

MLT

Minimumsbestilling

MinimumOrderQuantity

1

1

1

Enhetskode for minimumsbestilling

MinimumOrderQuantity/@unitCode

EA

EA

EA

Identifikator for komponenter

ComponentRelatedItem/ID

1111

111

Kvantum for komponenter

ComponentRelatedItem/Quantity

6

18

Eksempel på utfylling i EHF katalog av kataloglinje med identifikator = 4 i tabellen over
<cac:CatalogueLine>
  <cbc:ID>4</cbc:ID>
  <cbc:OrderableUnit>EA</cbc:OrderableUnit>
  <cbc:ContentUnitQuantity unitCode="MLT" unitCodeListID="UNECERec20">250</cbc:ContentUnitQuantity>
  <cbc:OrderQuantityIncrementNumeric>1</cbc:OrderQuantityIncrementNumeric>
  <cbc:MinimumOrderQuantity unitCode="EA" unitCodeListID="UNECERec20">1</cbc:MinimumOrderQuantity>
  <cbc:PackLevelCode listID="GS17009:PEPPOL">CU</cbc:PackLevelCode>
  ...
  <cac:Item>
    <cbc:Name languageID="en">Shampoo 250 ml</cbc:Name>
    <cbc:PackSizeNumeric>1</cbc:PackSizeNumeric>
    <cac:SellersItemIdentification>
      <cbc:ID>1111</cbc:ID>
    </cac:SellersItemIdentification>
  ...
  </cac:Item>
  ...
</cac:CatalogueLine>
Eksempel 2. Eksempel 2
Beskrivelse Element (fra CatalogueLine nivå) Pakke med 500 ark papir Kasse med 5 pakker papir Pall med 18 kasser papir

Linjeidentifikator

ID

7

8

9

Leverandørens artikkelnummer

SellersItemIdentification/ID

A

AA

AAA

Produktnavn

Item/Name

500 copy paper

5*500 Copy paper

Pallet of paper

Bestillbar enhet

OrderableUnit

EA

CS

PX

Pakningsnivå

PackLevelCode

CU

TU

DU

Pakningskvantum

Item/PackQuantity

5

18

Pakningsenhet

Item/PackQuantity/@unitCode

EA

CS

Antall forbruksartiker

Item/PackSizeNumeric

1

5

90

Innhold i forbruksartikkel

ContentUnitQuantity

500

2500

45000

Enhetskode for innhold i forbruksartikkel

ContentUnitQuantity/@unitCode

EA

EA

EA

Minimumsbestilling

MinimumOrderQuantity

1

1

1

Enhetskode for minimumsbestilling

MinimumOrderQuantity/@unitCode

EA

EA

EA

Identifikator for komponenter

ComponentRelatedItem/ID

A

AA

Kvantum for komponenter

ComponentRelatedItem/Quantity

5

18

Eksempel på utfylling i EHF katalog av kataloglinje med identifikator = 8 i tabellen over
<cac:CatalogueLine>
  cbc:ID>8</cbc:ID>
  <cbc:OrderableUnit>CS</cbc:OrderableUnit>
  <cbc:ContentUnitQuantity unitCode="EA" unitCodeListID="UNECERec20">2500</cbc:ContentUnitQuantity>
  <cbc:OrderQuantityIncrementNumeric>1</cbc:OrderQuantityIncrementNumeric>
  <cbc:MinimumOrderQuantity unitCode="CS" unitCodeListID="UNECERec20">1</cbc:MinimumOrderQuantity>
  <cbc:PackLevelCode listID="GS17009:PEPPOL">TU</cbc:PackLevelCode>
  <cac:ComponentRelatedItem>
    <cbc:ID>A</cbc:ID>
    <cbc:Quantity unitCode="EA" unitCodeListID="UNECERec20">5</cbc:Quantity>
  </cac:ComponentRelatedItem>
  ...
  <cac:Item>
    <cbc:Description languageID="en">5*500 Copy paper</cbc:Description>
    <cbc:PackQuantity unitCode="CS" unitCodeListID="UNECERec20">5</cbc:PackQuantity>
    <cbc:PackSizeNumeric>5</cbc:PackSizeNumeric>
    <cac:SellersItemIdentification>
      <cbc:ID>AA</cbc:ID>
    </cac:SellersItemIdentification>
    ...
  </cac:Item>
  ...
</cac:CatalogueLine>

5.7. Mengdevariabel vare

For å angi at en vare er såkalt mengdevariabel (F.eks at man bestiller en vare i stk., men blir fakturert i kilo, der en stk. kan være av variabel vekt), anbefales det å sette enhetskoden for pakningskvantum/innhold til kode 31 (catch weight) i henhold til UN Recommondation 20.

Eksempel på utfylling i EHF katalog.
<cac:CatalogueLine>
  <cbc:ID>8</cbc:ID>
  <cbc:OrderableUnit>EA</cbc:OrderableUnit>
  <cbc:ContentUnitQuantity unitCode="31" unitCodeListID="UNECERec20">10</cbc:ContentUnitQuantity>
  ...

5.8. Priser

Alle priser i formatet er relatert til artikkelen eller tjenesten brukt i den aktuelle katalogen. Det er mulig å angi følgende priselementer:

  • Prisbeløp er nettopris inkludert rabatter og tillegg men uten Mva. Her er det også mulig å angi en gyldighetsperiode for den aktuelle prisen

  • Sammenligningspris for en gitt enhet.

  • Betinget pris som gjelder i spesifikke situasjoner, f.eks. knyttet til en bestemt lokasjon eller bestilling av et gitt antall.

  • Kampanjevarer

Merk at bruttopriser før eventuelle rabatter og tillegg ikke er mulig å angi.

For alle priser skal det angis valuta i henhold til kodeliste. Dette angis som et attributt, currency, som vist under.

Eksempel på utfylling av prisinformasjon i EHF katalog:

Nettopris
<cac:RequiredItemLocationQuantity>
  <cac:Price>
    <cbc:PriceAmount currencyID="NOK">100.00</cbc:PriceAmount>
    <cac:ValidityPeriod>
      <cbc:StartDate>2012-04-26</cbc:StartDate>
      <cbc:EndDate>2012-05-26</cbc:EndDate>
    </cac:ValidityPeriod>
  </cac:Price>
<cac:RequiredItemLocationQuantity>
Prissammenligning
<cac:ItemComparision>
  <cbc:PriceAmount currencyID="NOK">100.00</cbc:PriceAmount>
  <cbc:Quantity unitCode="EA" unitCodeListID="UNECERec20">1</cbc:Quantity>
</cac:ItemComparision>
Betinget pris (knyttet til kvantum)
<cac:RequiredItemLocationQuantity>
  <cac:Price>
    <cbc:PriceAmount currencyID="NOK">75.00</cbc:PriceAmount>
    <cbc:BaseQuantity unitCode="EA" unitCodeListID="UNECERec20">100</cbc:BaseQuantity>
    <cac:ValidityPeriod>
      <cbc:StartDate>2012-04-26</cbc:StartDate>
      <cbc:EndDate>2012-05-26</cbc:EndDate>
    </cac:ValidityPeriod>
  </cac:Price>
<cac:RequiredItemLocationQuantity>

5.9. Relaterte produkter og tilbehør

Produkter kan være relatert til hverandre på ulike måter avhengig av om de kan/skal selges sammen med et gitt produkt eller inngår i en produktstruktur. Dette kan angis på følgende måter:

  • Påkrevde relaterte produkter til det aktuelle produkt, f.eks. pant til en flaske.

  • Artikler som er knyttet sammen i en produkt- eller pakningsstruktur, f.eks. pall, D-pak og F-pak

  • Tilbehør til det aktuelle produktet og som det er naturlig å selge sammen med det, f.eks. strømforsyning til en PC.

Alle relaterte artikler må også sendes som egne kataloglinjer.

Eksempel på utfylling av relaterte produkter i EHF katalog. ID til det relaterte produktet:

Påkrevde relaterte produkter
<cac:RequiredRelatedItem>
  <cbc:ID>987654</cbc:ID>
  <cbc:Quantity unitCode="EA" unitCodeListID="UNECERec20">1</cbc:Quantity>
</cac:RequiredRelatedItem>
Relaterte komponenter (eks. pakningsstruktur)
<cac:ComponentRelatedItem>
  <cbc:ID>2</cbc:ID>
  <cbc:Quantity unitCode="EA" unitCodeListID="UNECERec20">12</cbc:Quantity>
</cac:ComponentRelatedItem>
Relatert tilbehør
<cac:AccessoryRelatedItem>
  <cbc:ID>123456</cbc:ID>
  <cbc:Quantity unitCode="EA" unitCodeListID="UNECERec20">1</cbc:Quantity>
</cac:AccessoryRelatedItem>

5.10. Produktklassifisering

Produktklassifisering kan enten angis i forhold til bransjedefinerte klassifiseringssystemer eller i henhold til regulatoriske krav. Type klassifisering skal angis i attributtet listID.

Klassifisering av produktet i henhold til et aktuelt klassifiseringssystem som f.eks. UNSPSC som er påkrevd i det offentlige. Spesifiseres i feltet ItemClassificationCode.

Eksempel på utfylling i EHF katalog.
<cac:CommodityClassification>
  <cbc:ItemClassificationCode listID="UNSPSC">43212105</cbc:ItemClassificationCode>
</cac:CommodityClassification>

5.11. Farlig gods

Dersom produktet er klassifisert som farlig gods skal dette angis med referanse til aktuell klassifiseringskode og link til aktuelt HMS-blad som vedlegg (Attachment).

Framstillere, importører og etterfølgende brukere har plikt til å klassifisere stoffer og stoffblandinger som de bringer i omsetning. Dette gjelder uavhengig av hvilke mengder som framstilles eller importeres. Se informasjon på Klima og Forurensningsdirektoratets (KLIFF) nettside.

I BII og UBL er det referert til UNDG-koder, men aktørene står fritt til å benytte andre klassifiseringssystemer.

Eksempel på utfylling i EHF katalog.
<cac:HazardousItem>
  <cbc:HazardClassID>H332</cbc:HazardClassID>
</cac:HazardousItem>
Dersom risiko
<cac:ItemSpecificationDocumentReference>
  <cbc:ID>1</cbc:ID>
  <cbc:DocumentDescription languageID="en">HMS Safety sheet</cbc:DocumentDescription>
  <cac:Attachment>
    <cac:ExternalReference>
      <cbc:URI>http://www.klif.no/no/Tema/Kjemikalier/Klassifisering-og-merking-av-kjemikalier-CLP/Klassifisering-CLP-avsnitt-I-II-og-V/</cbc:URI>
    </cac:ExternalReference>
  </cac:Attachment>
</cac:ItemSpecificationDocumentReference>

5.12. Merverdiavgift (MVA/VAT)

I EHF Katalog er det definert felt for å angi MVA-sats pr artikkel. Dette er valgfritt og angis som en kode som definerer aktuell prosentsats. Kjøpere kan stille krav til utfylling av MVA dersom de anser at dette vil gi merverdi for sine bestillere, eller om deres innkjøps-systemer er avhengig av MVA-satsen for å kunne matche ordre med faktura.

Dette må i så fall avtales via kontrakt eller samhandlingsavtale.

Følgende MVA-koder er mulig å angi:

MVA kategori Beskrivelse Sats pr. 1. januar 2016

S

Utgående merverdiavgift, alminnelig sats,

25%

H

Utgående merverdiavgift, redusert sats – næringsmidler

15%

R

Utgående merverdiavgift, redusert sats – råfisk

11,11%

AA

Utgående merverdiavgift, redusert sats – lav sats

10%

E

Innenlands omsetning og uttak fritatt for merverdiavgift

0%

Z

Unntatt fra merverdiavgiftsloven (utenfor merverdiavgiftsloven)

Ingen (0%)

K

Klimakvoter til næringsdrivende eller offentlig virksomhet – kjøper beregner MVA

Ingen (0%)

AE

Innenlands omsetning med omvendt avgiftsplikt

0%

G

Utførsel av varer og tjenester

0%

Eksempel på utfylling
<cac:ClassifiedTaxCategory>
  <cbc:ID schemeID="UNCL5305">S</cbc:ID>
  <cac:TaxScheme>
    <cbc:ID>VAT</cbc:ID>
  </cac:TaxScheme>
</cac:ClassifiedTaxCategory>

5.13. Vedleggshåndtering

Vedlegg kan sendes på linjenivå i en katalogmelding. Dette kan for eksempel være bilder av et produkt eller andre tilleggsopplysninger.

Siden vedlegg vil kunne øke filstørrelsen på en katalogmelding vesentlig er det anbefalt å sende dette som en ekstern referanse i form av en URI som peker til en nettside.

Eksempel på vedlegg i en EHF katalogmelding.
<cac:Item>
  ...
  <cac:ItemSpecificationDocumentReference>
    <cbc:ID>LK8788</cbc:ID>
    <cbc:DocumentDescription>Product image</cbc:DocumentDescription>
    <cac:Attachment>
      <cac:ExternalReference>
        <cbc:URI>http://img.trioving.net/Låskasser/LK8788_PRD_FPM_000.JPG</cbc:URI>
      </cac:ExternalReference>
    </cac:Attachment>
  </cac:ItemSpecificationDocumentReference>
  ...
</cac:Item>

5.13.1. Bruk av kodeliste for vedlegg

For økt kvalitet i bestillingssystemer er det nødvendig med angivelse av hvilken type innhold som er lagt med. For å gjøre dette anbefaler vi å benytte GS1 sin kodeliste ReferencedFileTypeCode version 5.

Eksempel på bruk av ReferencedFileTypeCode på kataloglinje.
<cac:Item>
  ...
  <cac:ItemSpecificationDocumentReference>
    <cbc:ID>LK8788</cbc:ID>
    <cbc:DocumentTypeCode listID="urn:gs1:gdd:cl:ReferencedFileTypeCode">PRODUCT_IMAGE</cbc:DocumentTypeCode> (1)
    <cbc:DocumentDescription>Product image</cbc:DocumentDescription>
    <cac:Attachment>
      <cac:ExternalReference>
        <cbc:URI>http://img.trioving.net/Låskasser/LK8788_PRD_FPM_000.JPG</cbc:URI>
      </cac:ExternalReference>
    </cac:Attachment>
  </cac:ItemSpecificationDocumentReference>
  ...
</cac:Item>
1 Angivelse av type vedlegg.

5.13.2. Formater

Feltet for å sende vedlegg i formatet er valgfritt og kan gjentas mange ganger. Det er for eksempel grafikk, image eller andre tilleggsopplysninger som kan være et vedlegg til en ordremelding. Vedlegget kan da sendes som et binært objekt innebygd i meldingen, eller at det overføres en referanse til stedet hvor vedlegget er lagret, for eksempel en URL. Vedlegg kan kun sendes på hodenivå.

Det er anbefalt å sende tilleggsinformasjon innebygd i dokumentet og ikke som eksternt vedlegg.

Andre anbefalinger:

Koding

Base64

Dokumentformat

MIME typer anbefales:

  • Pdf – applikasjon / pdf

  • TXT – tekst / txt

  • GIF – image / gif

  • TIFF – image / tiff

  • JPEG, JPG – image / jpeg

  • PNG – image / png

Størrelse

5MB

5.14. Pakningsinformasjon

I EHF katalog er det definert pakningsfelter for å støtte behovet for logistikkinformasjon i formatet, noe som er et behov i mange bransjer i det norske markedet. Disse feltene er ikke obligatoriske, men kan kreves utfylt via inngåtte innkjøpsavtaler.

Pakningsfeltene gir mulighet for å definere ulike pakningsstørrelser for et og samme produkt og retningslinjene for utfylling er som følger:

  • Hvert pakningsnivå må angis som en egen kataloglinje (CatalogueLine) med all påkrevd linje- og produktinformasjon og pakningsinformasjon utfylt.

  • Identifikasjon av pakningsnivå gjøres i elementet Pakningsnivå (PackLevelCode) under CatalogueLine. Pakningskodene er hentet fra Edifact/Eancom-standarden og følgende koder kan angis:

    • DU (Despatch Unit) = Transportpakning (omtales også som T-Pak eller Pall)

    • HN (Handling Unit) = Samlekartong (nivå mellom TU og DU). Ikke så ofte brukt.

    • TU (Traded Unit) = Detaljistpakning eller lagerpakning (omtales også som D-Pak eller L-Pak)

    • CU (Consumer Unit) = Forbrukerpakning (omtales også som F-Pak)

  • For hvert pakningsnivå må det defineres et eget produkt (Item) med unik produktidentifikasjon, f.eks. GTIN.

  • Det må angis om det aktuelle pakningsnivået er bestillbart.

  • Relasjonen mellom de ulike pakningsnivåene må spesifiseres, dvs. at en forbrukerpakning kan inngå i en detaljistpakning som igjen kan inngå i en transportpakning.

Eksempel 3. Eksempel på utfylling av pakningsinformasjon i EHF katalog.

Her er det spesifisert en Pall (DU) med to underliggende enheter (TU og CU).

Kataloglinje som angir øverste pakningsnivå (Pall/T-pak).
<!-- Inneholder 12 pakninger (D-pak/L-pak) med Drikke ...-->
<cac:CatalogueLine>
  <cbc:ID>1</cbc:ID>
  <cbc:ActionCode listID="ACTIONCODE:BII2">Add</cbc:ActionCode>
  <cbc:OrderableIndicator>false</cbc:OrderableIndicator>
  <cbc:PackLevelCode listID="GS17009:PEPPOL">DU</cbc:PackLevelCode>
  <cac:ComponentRelatedItem>
    <cbc:ID>2</cbc:ID>
    <cbc:Quantity unitCode="EA" unitCodeListID="UNECERec20">12</cbc:Quantity>
  </cac:ComponentRelatedItem>
  <cac:Item>
    <cbc:Description>Drikke Helpall</cbc:Description>
    <cbc:PackQuantity unitCode="EA" unitCodeListID="UNECERec20">1</cbc:PackQuantity>
    <cbc:Name languageID="no">Drikke</cbc:Name>
    <cac:SellersItemIdentification>
      <cbc:ID>111111</cbc:ID>
    </cac:SellersItemIdentification>
  </cac:Item>
</cac:CatalogueLine>
Kataloglinje for pakningsnivå D-pak/L-pak.
<!-- Inneholder 6 pakninger (F-pak) med Drikke 4-pakning...-->
<cac:CatalogueLine>
  <cbc:ID>2</cbc:ID>
  <cbc:ActionCode listID="ACTIONCODE:BII2">Add</cbc:ActionCode>
  <cbc:OrderableIndicator>true</cbc:OrderableIndicator>
  <cbc:PackLevelCode listID="GS17009:PEPPOL">TU</cbc:PackLevelCode>
  <cac:ComponentRelatedItem>
    <cbc:ID>3</cbc:ID>
    <cbc:Quantity unitCode="EA" unitCodeListID="UNECERec20">6</cbc:Quantity>
  </cac:ComponentRelatedItem>
  <cac:Item>
    <cbc:Description>Drikke lagerpakning</cbc:Description>
    <cbc:PackQuantity unitCode="EA" unitCodeListID="UNECERec20">1</cbc:PackQuantity>
    <cbc:Name languageID="no">Drikke</cbc:Name>
    <cac:SellersItemIdentification>
      <cbc:ID>222222</cbc:ID>
    </cac:SellersItemIdentification>
  </cac:Item>
</cac:CatalogueLine>
Kataloglinje som angir laveste pakningsnivå (F-pak).
<!-- Inneholder 4-pakning med Drikke...-->
<cac:CatalogueLine>
  <cbc:ID>3</cbc:ID>
  <cbc:ActionCode listID="ACTIONCODE:BII2">Add</cbc:ActionCode>
  <cbc:OrderableIndicator>false</cbc:OrderableIndicator>
  <cbc:PackLevelCode listID="GS17009:PEPPOL">CU</cbc:PackLevelCode>
  <cac:Item>
    <cbc:Description>Drikke 4-pack</cbc:Description>
    <cbc:PackQuantity unitCode="EA" unitCodeListID="UNECERec20">1</cbc:PackQuantity>
    <cbc:Name languageID="no">Drikke</cbc:Name>
    <cac:SellersItemIdentification>
      <cbc:ID>333333</cbc:ID>
    </cac:SellersItemIdentification>
  </cac:Item>
</cac:CatalogueLine>

5.15. Miljømerking, sosialt ansvar og økologisk

Offentlige virksomheter stiller krav til miljø, økologisk produsert mat og at grunnleggende menneskerettigheter blir respektert i produksjon og handel av varer (sosialt ansvar eller etisk handel). For å kunne synliggjøre varer som oppfyller noen av disse kriterier er felter i EHF katalogen definert som bærer av disse merker. Merkene er knyttet inn mot hvert produkt/tjeneste på linjenivå. Forskjellige innkjøpssystemers søkemotorer har dermed mulighet å gi kjøper informasjon om varen/tjenestens egenskaper via merkeordningen som kan danne grunnlag for en innkjøpsbeslutning. For mer utfyllende informasjon om merket er det definert et felt per merke til ekstern url-link som kan knyttes til informasjonsside eller produktdatablad for dypere informasjon om merkets krav.

Feltene per produkt er dynamiske det vil si at man kan knytte så mange merker man ønsker til hver varelinje.

Ved innføring av klassifiseringskoder kan også innkjøpsadferd måles ved at ordreformatet bringer med seg miljømerkingen i ordren. Innkjøpssystemet må da fange de ordrelinjer som sendes og kunne presentere disse i statistikkverktøyet som er tilgjengelig for kjøpers organisasjon. Dermed kan de offentlige virksomheters krav i konkurransen kontrolleres og riktig kjøp kan tilstrebes.

Tabell 3. Eksempel på klassifiseringskoder
Logo Informasjon

Svanemerket

Svanemerket
Classification Code (ID): NEO
Certificate TypeCode: EcoLabel (Miljø)

Fairtrade

Fairtrade
Classification Code (ID): FBL
Certificate TypeCode: SosialLabel (Sosialt ansvar)

EU organic products label

EU organic products label
Classification Code (ID): EOP
Certificate TypeCode: OrganicLabel (Økologisk)

Eksempel på utfylling av Miljømerking i EHF katalog
<cac:Certificate>
  <cbc:ID>NEO</cbc:ID>
  <cbc:CertificateTypeCode>EcoLabel</cbc:CertificateTypeCode>
  <cbc:CertificateType>EcoLabel</cbc:CertificateType>
  <cac:IssuerParty>
    <cac:PartyName>
      <cbc:Name>Svanemerket</cbc:Name>
    </cac:PartyName>
  </cac:IssuerParty>
  <cac:DocumentReference>
    <cbc:ID>http://www.svanemerket.no/</cbc:ID>
  </cac:DocumentReference>
</cac:Certificate>

Type merkekode (CertificateTypeCode) har ikke noen funksjon i dag, men kan benyttes hvis innkjøpssystemet trenger å gruppere eller styre de forskjellige kodene.

5.16. Dimensjon (høyde, bredde, mm.)

Fysiske egenskaper til et produkt er viktig i logistikk-sammenheng.

Følgende verdier er mulig å angi i formatet:

  • Høyde (HT)

  • Bredde (WD)

  • Lengde (LN)

  • Bruttovekt (AAE)

  • Temperatur (TC)

Eksempel på utfylling i EHF katalog:
<cac:Item>
  ...
  <cac:Dimension>
    <cbc:AttributeID schemeID="UNCL6313">HT</cbc:AttributeID>
    <cbc:Measure unitCode="CMT">12.5</cbc:Measure>
  </cac:Dimension>
  ...
</cac:Item>

5.17. Erstatningsvare

En erstatningsvare er en vare som erstatter en eksisterende vare som går ut av sortimentet. Dette gjøres ved at eksisterende/gammel vare angis som erstattet (replaced) på den nye varen.

Eksempel på utfylling i EHF katalog:
<cac:CatalogueLine>
  ...
  <cac:ReplacedRelatedItem>
    <cbc:ID>12345</cbc:ID>
    <cbc:Quantity unitCode="EA" unitCodeListID="UNECERec20">5</cbc:Quantity>
    <cbc:Description languageID ="no">Toner B (erstattes av Toner C)</cbc:Description>
  </cac:ReplacedRelatedItem>
  ...
</cac:CatalogueLine>

5.18. Anbefalt artikkel

Anbefalt artikkel angis som en tilleggsegenskap med kodeverdi ABF.

Eksempel på utfylling i EHF katalog.
<cac:AdditionalItemProperty>
  <cbc:Name>ABF</cbc:Name>
  <cbc:Value>true</cbc:Value>
</cac:AdditionalItemProperty>

5.19. Smartform ID

Smartform ID angis som en tilleggsegenskap med kodeverdi SmartFormID.

Eksempel på utfylling i EHF katalog.
<cac:AdditionalItemProperty>
  <cbc:Name>SmartFormID</cbc:Name>
  <cbc:Value>12345</cbc:Value>
</cac:AdditionalItemProperty>

5.20. Tilleggsegenskaper

Produktegenskaper som ikke er spesifisert i egne felt kan angis som tilleggsegenskaper med beskrivelse av hva elementet inneholder og selve innholdet.

Eksempler på egenskaper som kan spesifiseres er:

  • Farge

  • Næringsinnhold.
    Angis med mengde pr. 100 g/ml.

  • Genmodifisert
    Lovlige verdier: true, false

Eksempel 4. Eksempel på utfylling i EHF katalog.
<cac:AdditionalItemProperty>
  <cbc:Name languageID="NO">Farge</cbc:Name>
  <cbc:Value languageID="NO">Rød</cbc:Value>
  <cbc:ValueQualifier>Color</cbc:ValueQualifier>
</cac:AdditionalItemProperty>
<cac:AdditionalItemProperty>
  <cbc:Name>NutritionProtein</cbc:Name>
  <cbc:ValueQuantity unitCode="GRM" unitCodeListID="UNECERec20">2.5</cbc:ValueQuantity>
  <cbc:ValueQualifier>Nutrition</cbc:ValueQualifier>
</cac:AdditionalItemProperty>
<cac:AdditionalItemProperty>
  <cbc:Name>GeneticallyModified</cbc:Name>
  <cbc:Value>true</cbc:Value>
</cac:AdditionalItemProperty>

5.21. Sterile produkter

For å angi at ett produkt er sterilt, og hvordan det er sterilisert, anbefales at det kodelisten SterilisationTypeCode benyttes: http://apps.gs1.org/GDD/Pages/clDetails.aspx?semanticURN=urn:gs1:gdd:cl:SterilisationTypeCode&release=2

Informasjonen angis i elementet cac:AdditionalItemProperty i EHF Katalog, der cbc:Name settes til "STERILE", og selve koden i cbc:Value. For å angi at et produkt ikke er sterilt, benyttes koden "NO", se eksempel under.

Dersom `cbc:ValueQualifier` innehar verdien gs1:SterilisationTypeCode, valideres koden mot denne kodelisten, og det gis en feilmelding ved bruk av ugyldig kode. Benyttes `cbc:Name`= STERILE uten ´cbc:ValueQualifier`  medfører det advarsel dersom koden ikke er gyldig i henhold til kodelisten.
Eksempel på sterilt produkt med eksplisitt angivelse av kodeliste (anbefalt).
<cac:AdditionalItemProperty>
  <cbc:Name>STERILE</cbc:Name>
  <cbc:Value>ETHANOL</cbc:Value>
  <cbc:ValueQualifier>gs1:SterilisationTypeCode</cbc:ValueQualifier>
</cac:AdditionalItemProperty>
Eksempel på sterilt produkt uten angivelse av kodeliste
<cac:AdditionalItemProperty>
  <cbc:Name>STERILE</cbc:Name>
  <cbc:Value>ETHANOL</cbc:Value>
</cac:AdditionalItemProperty>
Eksempel på ikke-sterilt produkt
<cac:AdditionalItemProperty>
  <cbc:Name>STERILE</cbc:Name>
  <cbc:Value>NO</cbc:Value>
</cac:AdditionalItemProperty>

5.22. Allergener

Korrekt angivelse av allergener handler om liv og helse, det er derfor viktig at alle aktører leser allergen-informasjon likt.

Tabell 4. Lovlige verdier for allergener
Verdi Beskrivelse

YES

Varen inneholder den spesifiserte typen allergen.

MAY

Varen kan inneholde den spesifiserte typen allergen.

UNKNOWN

Vet ikke om varen inneholder den spesifiserte typen allergen.

FREE

Varen inneholder ikke den spesifiserte typen allergen.

Tidligere var "NO" en verdi for allergener, men fra 1.0.6 er den fjernet til fordel for "MAY".

For å sikre felles forståelse av angivelse av allergener anbefaler man å benytte GS1 sin kodeliste "Allergen Type Code".

Eksempel på utfylling med kodeliste (anbefalt)
<cac:AdditionalItemProperty>
  <cbc:Name>HAZELNUTS</cbc:Name>
  <cbc:Value>YES</cbc:Value>
  <cbc:ValueQualifier>gs1:AllergenTypeCode</cbc:ValueQualifier>
</cac:AdditionalItemProperty>
Eksempel på utfylling uten kodeliste
<cac:AdditionalItemProperty>
  <cbc:Name>ContainNuts</cbc:Name>
  <cbc:Value>YES</cbc:Value>
  <cbc:ValueQualifier>Allergen</cbc:ValueQualifier>
</cac:AdditionalItemProperty>

6. Validering

For å oppnå optimal fleksibilitet blir EHF dokumenter validert på ulike nivåer og med ulikt fokus. Pyramiden under illustrerer valideringshierarkiet:

Valideringspyramide

6.1. Valideringsprinsipper

Nivåer i valideringsprosessen:

  1. Validering av syntaks mot UBL XML Schema, for eksempel:

    • Tagnavn og eventuelle attributter må være korrekt skrevet og i riktig rekkefølge i henhold til UBL.

    • Alle obligatoriske tagnavn ihht UBL må være inkludert.

    • Innholdet i et element må ha lovlig verdi i henhold til type definisjon.

  2. Validering mot CEN BII for å sikre at meldingen er i henhold til internasjonale krav, for eksempel:

    • Lovlige koder for valuta, land, avgifter etc.

    • Logiske sammenhenger mellom informasjonselementer som at startdato må komme før sluttdato, subtotaler må summeres til korrekt totalsum, test på at faktorer som skal multipliseres får korrekt produkt etc.

  3. Validering mot PEPPOL (EU) regelverk

  4. Validering mot EHF Common som inneholder regler felles for alle dokumenttyper som inngår i EHF.

  5. Validering mot EHF regler og norsk lovverk, for eksempel:

    • Organisasjonsnummer må fylles ut for selger.

    • Deres referanse må være utfylt.

    • Adresse, postnr og sted må være utfylt for kjøper.

6.2. Dynamisk validering

Kombinasjonen av ProfileID og CustomizationID i et XML instansdokument definerer hvilke valideringsregler som gjelder for meldingen.

CustomizationID kan utvides med flere element for bransjespesikke og firmaspesifikke valideringsregler.

6.3. Valideringsregler per ProfileID og CustomizationID

6.5. Valideringstjenesten

Difis Validator er et program som brukes til å validere EHF XML-filer.

7. Vedlegg

Vedlegg A: Formatstruktur

Vedlagt er formatstruktur for aktuelle meldinger.

Vedlegg B: Kodelister

Gjeldende kodelister for EHF:

Vedlegg C: UBL 2.1

UBL 2.1 Schema som denne implementasjonsguiden baserer seg på er tilgjengelig fra OASIS.

Ved validering vil syntaksvalidering gjøres mot aktuelle schema.

For mer informasjon om UBL 2.1 henviser vi til standarden. Ytterligere ressurser er også tilgjengelig.

Vedlegg D: Schematron

Valideringsfiler basert på Schematron er tilgjengelig i vårt Github-repoistory. Release "2021-02-15" inneholder gjeldende versjon og branch "master" inneholder utvikling og høring.

Fra og med release 2016-11-15 distribueres valideringsfiler som Schematron i stedet for XSLT.

Vedlegg E: Eksempelfiler

Eksempelfiler er gjort tilgjengelig for å hjelpe utviklere. Eksempelfiler for denne implementasjonsguiden er inkludert i eksempelfil-pakken.