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.
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.
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.2. Versjon 1.x
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 |
---|---|---|
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 |
---|---|---|
Legge til et manglende ord i "Profiler og meldinger"-seksjonen. |
Guide |
|
Legge til engelsk oversettelse i allergener-seksjonen (gjelder kun engelsk utgave). |
Guide |
Versjon 1.0.10 (15.11.2017)
Sak | Beskrivelse | Type |
---|---|---|
Oppdatere reglene NOGOV-T19-R024 (F), EHF-COMMON-R011 (F), EHF-COMMON-R012 (F) og EHF-COMMON-R013 (F) til å trigge feil. |
Validator |
|
Skjule regelen BII2-T19-R021 (W) i validator. |
Validator |
|
Benytte PEPPOL BIS sin Schematron som kilde i prosjetet for å forenkle vedlikehold og økt transparens. |
Validator |
|
Oppdatert kapittel om validering så det reflerterer bruk av EHF Common. |
Guide |
|
Legge til informasjon om nye MVA-kategorier tilgjengelig i neste release. |
Guide |
Versjon 1.0.9 (14.09.2017)
Sak | Beskrivelse | Type |
---|---|---|
Fikse kontekst for en del regler for å oppnå høyere kvalitet. |
Validator |
|
Bytte ut en del regler med regler i EHF Common. |
Validator |
|
Legge til regelen NOGOV-T19-R024 (W) for å understøtte implisitt funksjonalitet. |
Validator |
|
Legge til manglende anbefalinger for vedleggsformat. |
Guide |
|
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 |
---|---|---|
Oppdaterte validatorfiler for PEPPOL BIS fra OpenPEPPOL. |
Validator |
|
Erstatte CL-T19-R004 med NOGOV-T19-R019 (F). |
Validator |
|
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 |
|
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 |
|
Oppdatere lenker i 3.6 og kodelister. |
Guide |
|
Fjerne meldingstabll og strukturtabell til fordel for formatstruktur. |
Guide |
Versjon 1.0.7 (15.02.2017)
Sak | Beskrivelse | Type |
---|---|---|
Rette inkonsistens i begreper/forretningstermer mellom veileder og tilhørende dokumentasjon (meldingstabell, katalogmal) Endringer gjort i følgende kapitler:
|
Guide |
Versjon 1.0.6 Feilretting (13.12.2016)
Sak | Beskrivelse | Type |
---|---|---|
Fjerne EHF Core for katalog og katalogrespons. |
Validator |
Versjon 1.0.6 (15.11.2016)
Sak | Beskrivelse | Type |
---|---|---|
Omskrevet beskrivelse av allergener. |
Guide |
|
Legge til manglende liste over NOGOV-regler for katalog. |
Guide |
|
Samkjøre kapittel 5.3 med EHF Faktura og kreditnota. |
Guide |
|
Rette mindre feil i eksempelfil for katalogrespons. |
Vedlegg |
|
Rette mindre feil i eksempelfiler for katalog og katalogrespons. |
Vedlegg |
|
Skrive om regel NOGOV-T19-R001 (F). |
Validator |
|
Rette regel NOGOV-T19-R009 (F) så den trigger. |
Validator |
|
Rette regel NOGOV-T19-R002 (F) så elementet EndDate er valgfritt. |
Validator |
|
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 |
|
Oppdatere NOGOV-T19-R015 (F) og NOGOV-T19-R017 (F) til også å kontrollere kontrollsiffer på organisasjonsnummer. |
Validator |
|
Oppdatere NOGOV-T58-R006 (F) og NOGOV-T58-R008 (F) til også å kontrollere kontrollsiffer på organisasjonsnummer. |
Validator |
|
Oppdaterte validatorfiler for PEPPOL BIS fra OpenPEPPOL. |
Validator |
|
Legge til EHF Core for katalog og katalogrespons. |
Validator |
|
Endre autorativ kilde for valideringsregler fra XSLT til Schematron for NOGOV-T58. |
Validator |
|
Endre autorativ kilde for valideringsregler fra XSLT til Schematron for NOGOV-T19. |
Validator |
Versjon 1.0.5 (15.09.2016)
Sak | Beskrivelse | Type |
---|---|---|
Konvertere guiden til Asciidoctor-format.
|
Guide |
Versjon 1.0.4 (23.05.2016)
-
Korrigert eksempel kapittel 6.6
-
Korrigering av regel NOGOV-T19-R002 for tidssoner
-
Siw Meckelborg, Edisys Consulting AS
Versjon 1.0.3 (01.09.2015)
-
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
-
Siw Meckelborg, Edisys Consulting AS
Versjon 1.0.2 (06.03.2015)
-
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.
-
Lagt til regel ID i meldingstabellen
-
Tydeliggjøring i kapittel 2.1
-
Tydeliggjøring av avhengige felt (D)
-
Siw Meckelborg, Edisys Consulting AS
Versjon 1.0.1 (21.08.2014)
-
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
-
Edisys Consulting AS
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.
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:
-
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.
-
Katalogutsteder sender katalogen til Katalogmottaker (kjøper) enten direkte eller via tredjepart.
-
Katalogmottaker kontrollerer om katalogen er på riktig format og er korrekt utfylt.
-
Dersom katalogen aksepteres sender katalogmottaker en positiv katalogbekreftelse til katalogutsteder. Denne vil nå være godkjent som grunnlag for å gjøre bestillinger.
-
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.
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å).
<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>
<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å.
-
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.
-
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.
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. |
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.
<cac:Catalogue>
...
<cbc:ActionCode listID="ACTIONCODE:PEPPOL">Add</cbc:ActionCode>
...
<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 må være med. I tillegg skal Produsents artikkelnummer angis dersom denne er tilgjengelig.
<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.
<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.
<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>
<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.
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 |
<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>
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 |
<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.
<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:
<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>
<cac:ItemComparision>
<cbc:PriceAmount currencyID="NOK">100.00</cbc:PriceAmount>
<cbc:Quantity unitCode="EA" unitCodeListID="UNECERec20">1</cbc:Quantity>
</cac:ItemComparision>
<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:
<cac:RequiredRelatedItem>
<cbc:ID>987654</cbc:ID>
<cbc:Quantity unitCode="EA" unitCodeListID="UNECERec20">1</cbc:Quantity>
</cac:RequiredRelatedItem>
<cac:ComponentRelatedItem>
<cbc:ID>2</cbc:ID>
<cbc:Quantity unitCode="EA" unitCodeListID="UNECERec20">12</cbc:Quantity>
</cac:ComponentRelatedItem>
<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.
<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.
<cac:HazardousItem>
<cbc:HazardClassID>H332</cbc:HazardClassID>
</cac:HazardousItem>
<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% |
<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.
<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.
<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.
Her er det spesifisert en Pall (DU) med to underliggende enheter (TU og CU).
<!-- 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>
<!-- 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>
<!-- 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.
Følgende koder er identifisert: http://www.anskaffelser.no/verktoy/koder-bruk-i-ehf-katalog-merkeordninger-miljo-og-samfunnsansvar
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.
Logo | Informasjon |
---|---|
|
Svanemerket |
|
Fairtrade |
|
EU organic products label |
<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)
<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.
<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.
<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.
<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
<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.
<cac:AdditionalItemProperty>
<cbc:Name>STERILE</cbc:Name>
<cbc:Value>ETHANOL</cbc:Value>
<cbc:ValueQualifier>gs1:SterilisationTypeCode</cbc:ValueQualifier>
</cac:AdditionalItemProperty>
<cac:AdditionalItemProperty>
<cbc:Name>STERILE</cbc:Name>
<cbc:Value>ETHANOL</cbc:Value>
</cac:AdditionalItemProperty>
<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.
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".
<cac:AdditionalItemProperty>
<cbc:Name>HAZELNUTS</cbc:Name>
<cbc:Value>YES</cbc:Value>
<cbc:ValueQualifier>gs1:AllergenTypeCode</cbc:ValueQualifier>
</cac:AdditionalItemProperty>
<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:
6.1. Valideringsprinsipper
Nivåer i valideringsprosessen:
-
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.
-
-
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.
-
-
Validering mot PEPPOL (EU) regelverk
-
Validering mot EHF Common som inneholder regler felles for alle dokumenttyper som inngår i EHF.
-
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.4. Valideringsregler
6.5. Valideringstjenesten
Difis Validator er et program som brukes til å validere EHF XML-filer.
Informasjon om tjenesten her: https://vefa.difi.no/ehf/knowledge-base/validation/
7. Vedlegg
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.