Dette dokumentet beskriver Elektronisk Handelsformat (EHF) for utveksling av pakkseddel 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 å utføre hele eller deler av leveringsprosessen elektronisk. Det vil i praksis si å sende elektronisk pakkseddel. Dokumentet kan også benyttes av systemleverandør, ERP leverandør og meldingsformidlere.

  • Kapittel 1 til 4 er rettet mot faglig personell

  • Kapittel 5 til 6 er rettet både mot faglig og teknisk personell

  • Kapittel 7 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ålsetting med implementeringsveileder.

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

  • Kapittel 3 beskriver EHF formatene generelt.

  • Kapittel 4 inneholder definisjoner som er relevant for pakkseddel.

  • Kapittel 5 beskriver generelle prinsipper og forutsetninger for pakkseddel.

  • Kapittel 6 gir detaljerte beskriver av sentrale informasjonselementer i pakkseddel formatet.

  • Kapittel 7 omhandler validering, det vil si kontroll av informasjonsinnhold.

  • Kapittel 8 inneholder 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.12 er en revisjon av EHF Pakkseddel 1.0, og dette innebærer at endringene i denne revisjonen er bakoverkompatibel med EHF Pakkseddel 1.0, og dermed at instansdokumenter som er gyldige i henhold til EHF Pakkseddel 1.0 også vil være gyldige i versjon 1.0.12. Det presiseres her at gyldig i henhold til EHF Pakkseddel 1.0 innebærer at det er gyldig i henhold til veilederen til EHF Pakkseddel 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 Pakkseddel 1.0, vil kunne motta 1.0.12 uten endringer i ELMA.

1.2. Versjon 1.x

Versjon 1.0.12 (10.12.2019)

Sak Beskrivelse Type

-

Oppdaterte lenker til Github.

Guide

Versjon 1.0.11 (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.10 (15.11.2018)

Sak Beskrivelse Type

-

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-T16-BXXXXX' 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.9 (12.09.2018)

Sak Beskrivelse Type

Oppdaterte regler for PEPPOL BIS.

Validator

#267

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

Guide

Versjon 1.0.8 (15.11.2017)

Sak Beskrivelse Type

#230

Oppdatere regel EHF-COMMON-R011 (F) til å trigge feil.

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.7 (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

Valideringsregler som er ventet å trigge feil i neste release: EHF-COMMON-R011
Mapping of rules for EHF Common in EHF Despatch Advice
New rule Description Old rule

Document in general

EHF-COMMON-R001 (F)

Document MUST not contain empty elements.

NOGOV-T16-R011 (F)

EHF-COMMON-R002 (F)

Document MUST not contain empty elements.

NOGOV-T16-R011 (F)

EHF-COMMON-R003 (W)

Document SHOULD not contain schema location.

New rule

EHF-COMMON-R004 (F)

Document MUST have a syntax identifier.

NOGOV-T16-R001 (F)

Validation of Norwegian organization numbers

EHF-COMMON-R010 (F)

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

NOGOV-T16-R010 (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-T16-R009 (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-T16-R008 (F)

Validation of other identifiers

EHF-COMMON-R040 (W)

Invalid GLN number provided.

New rule

Code lists

EHF-COMMON-R100 (W)

Attachment is not a recommended MIMEType.

Ignored

Versjon 1.0.6 (15.05.2017)

Sak Beskrivelse Type

#207

Oppdaterte validatorfiler for PEPPOL BIS fra OpenPEPPOL.

Validator

#206

Oppdatere lenker i 3.6 og kodelister

Guide

Versjon 1.0.5 Feilretting (13.12.2016)

Sak Beskrivelse Type

#192

Fjerne EHF Core for pakkseddel.

Validator

Versjon 1.0.5 (15.11.2016)

Sak Beskrivelse Type

#165

Samkjøre kapittel 5.3 med EHF Faktura og kreditnota.

Guide

#169

Rette mindre feil i eksempelfiler for pakkseddel.

Vedlegg

#169

Oppdatere NOGOV-T16-R010 (F) til også å kontrollere kontrollsiffer på organisasjonsnummer.

Validator

#179

Oppdaterte validatorfiler for PEPPOL BIS fra OpenPEPPOL.

Validator

#67

Legge til EHF Core for pakkseddel.

Validator

#175

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

Validator

Versjon 1.0.4 (15.09.2016)

Sak Beskrivelse Type

#146

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.3 (23.05.2016)

Validator endringer:
  • Ny regel EUGEN-T16-R007, for å sjekke at Delivered Quantity finnes i instansdokumentet.

  • Korrigering av regel EUGEN-T16-R002

Forfatter:
  • Siw Meckelborg, Edisys Consulting AS

Versjon 1.0.2 (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-T16-R011

Forfatter:
  • Siw Meckelborg, Edisys Consulting AS

Versjon 1.0.1 (07.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

  • Nytt kapittel 2.1 og 3.3

  • Tydeliggjøring av avhengige felt (D)

  • Oppdaterte regler i kapittel 8.3

Forfatter:
  • Siw Meckelborg, Edisys Consulting AS

Versjon 1.0 (10.10.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

Nedenfor følger definisjoner av sentrale begrep i forbindelse med leveringsprosessen.

Leverandør

Person eller et firma som leverer en vare eller en tjeneste på egne eller andres vegne.

Kunde

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

Selger

Person eller organisasjon som har til oppgave på egne eller andres vegne å slutte en avtale eller kontrakt om overdragelse av et produkt, en vare eller tjeneste mot et avtalt vederlag til en kjøper.

Kjøper

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

Avsender

Person eller organisasjon som utsteder pakkseddelen for varene på egne eller andres vegne og som er ansvarlig for at varene blir sendt til mottakeren.

Mottaker

Person eller organisasjon som, på egne eller andres vegne, vil motta varene som ble sendt fra avsenderen.

Bestiller

Person eller organisasjon hos kjøper som utfører en bestilling av en vare eller en tjeneste på egne eller på andres vegne.

4. Prinsipper og forutsetninger

4.1. Generelt om pakkseddelmeldingen

Den elektroniske meldingen som denne veilederen omfatter er pakkseddel. Pakkseddelen er en melding fra leverandør/selger til kjøper, og er en annonsering av en nært forestående leveranse. Den forteller hvilke kolli leveransen består av og hvilke varer som inngår i hvilke kolli. Pakkseddelen har referanse til ordren som leveransen gjelder.

4.2. Funksjoner og roller

Figuren under viser hvilke roller som inngår i leveringsprosessen.

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 30 - Pakkseddel

ProfileID

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

Type CustomizationID Rolle

Pakkseddel

urn:www.cenbii.eu:transaction:biitrns016:ver1.0 :extended:urn:www.peppol.eu:bis:peppol30a:ver1.0 :extended:urn:www.difi.no:ehf:pakkseddel:ver1.0

Oppdragsgiver

4.4. Bruk av UBL 2.1

Denne versjonen av EHF Pakkseddel gjør bruk av UBL XML schema versjon 2.1.

4.5. Leveringsprosessen

Leveringsprosessen omfatter opprettelse og oversendelse av pakkseddel fra leverandør til kunde samt mottak og behandling hos kunde.

Leveringsprosessen kan beskrives ved følgende arbeidsflyt:

  1. En leverandør utsteder og sender en EHF pakkseddel til en kunde. Pakkseddelen refererer til EN ordre samt en spesifikasjon av leverte varer og tjenester. I tillegg inneholder pakkseddelen informasjon om hvordan varene er pakket.

  2. Kunden mottar pakkseddelen og behandler denne i sitt varemottakssystem. Informasjon i pakkseddel- meldingen kan benyttes til følgende:

    1. Oppdatering av ordre status. Pakkseddelen inneholder referanse til ordren som leveransen gjelder slik at ordrelinjene kan oppdateres med antall levert og antall restnotert.

    2. Oppdatering av lagerbeholdning. Pakkseddelen inneholder informasjon om varenummer og antall slik at lagerbeholdning kan oppdateres.

Figuren under viser leveringsprosessen med bruk av EHF pakkseddel meldingen. Denne prosessen er basert på profil 30 i CENBII2 (BII30 – Dispatch only).

Leveringsprosessen

5. Beskrivelse av utvalgte deler

Nedenfor følger beskrivelse av utvalgte deler av informasjonsinnholdet i EHF Pakkseddel. Komplett informasjonsinnhold er listet i tabellene i kapittel 7.

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 meldingen er organisert.

Avsender (DespatchSupplierParty)

Avsender er obligatorisk informasjon i EHF.

Mottaker (DeliveryCustomerParty)

Mottaker er obligatorisk informasjon i EHF.

Selger (SellerSupplierParty)

Selger er valgfri informasjon i EHF. Dersom denne ikke er oppgitt er selger samme som avsender.

Kjøper (BuyerCustomerParty)

Kjøper er valgfri informasjon i EHF. Dersom denne ikke er oppgitt er kjøper samme som mottaker.

Bestiller (OriginatorCustomerParty)

Bestiller er valgfri informasjon i EHF. Dersom denne ikke er oppgitt er bestiller samme som mottaker.

Eksempel på utfylling av avsenderinformasjon i en EHF pakkseddelmelding.
<cac:DespatchSupplierParty>
  <cac:Party>
  <cbc:EndpointID schemeID="NO:ORGNR">954321376</cbc:EndpointID>
    <cac:PartyIdentification>
      <cbc:ID schemeID="GLN" >5790000435968</cbc:ID>
    </cac:PartyIdentification>
    <cac:PartyName>
      <cbc:Name>Sender Company</cbc:Name>
    </cac:PartyName>
    <cac:Contact>
      <cbc:Name>John</cbc:Name>
      <cbc:Telephone>123456789</cbc:Telephone>
      <cbc:Telefax>8273741728</cbc:Telefax>
      <cbc:ElectronicMail>John@SenderCompany.no</cbc:ElectronicMail>
    </cac:Contact>
  </cac:Party>
</cac:DespatchSupplierParty>
Eksempel på utfylling av mottakerinformasjon i en EHF pakkseddelmelding.
<cac:DeliveryCustomerParty>
  <cac:Party>
  <cbc:EndpointID schemeID="NO:ORGNR">123456789</cbc:EndpointID>
    <cac:PartyIdentification>
      <cbc:ID schemeID="GLN">5790000435944</cbc:ID>
    </cac:PartyIdentification>
    <cac:PartyName>
      <cbc:Name>Reciever Company</cbc:Name>
    </cac:PartyName>
    <cac:PostalAddress>
      <cbc:ID>25</cbc:ID>
      <cbc:StreetName>Reciever Street 1</cbc:StreetName>
      <cbc:AdditionalStreetName>Reciever Building</cbc:AdditionalStreetName>
      <cbc:CityName>Reciever City</cbc:CityName>
      <cbc:PostalZone>9000</cbc:PostalZone>
      <cbc:CountrySubentity>Region A</cbc:CountrySubentity>
      <cac:Country>
        <cbc:IdentificationCode listID=ISO3166-1:Alpha2>NO</cbc:IdentificationCode>
      </cac:Country>
    </cac:PostalAddress>
  </cac:Party>
  <cac:DeliveryContact>
    <cbc:Name>Tim</cbc:Name>
    <cbc:Telephone>987654321</cbc:Telephone>
    <cbc:Telefax>4546474849</cbc:Telefax>
    <cbc:ElectronicMail>Tim@RecieverCompany.no</cbc:ElectronicMail>
  </cac:DeliveryContact>
</cac:DeliveryCustomerParty>
Eksempel på utfylling av selgerinformasjon i en EHF pakkseddelmelding.
<cac:SellerSupplierParty>
  <cac:Party>
    <cac:PartyIdentification>
      <cbc:ID schemeID="GLN">5790000435951</cbc:ID>
    </cac:PartyIdentification>
    <cac:PartyName>
      <cbc:Name>Seller Company</cbc:Name>
    </cac:PartyName>
    <cac:Contact>
      <cbc:Name>Allan</cbc:Name>
      <cbc:Telephone>43444546</cbc:Telephone>
      <cbc:Telefax>12345678</cbc:Telefax>
      <cbc:ElectronicMail>Allan@SellerCompany.no</cbc:ElectronicMail>
    </cac:Contact>
  </cac:Party>
</cac:SellerSupplierParty>
Eksempel på utfylling av kjøperinformasjon i en EHF pakkseddelmelding.
<cac:BuyerCustomerParty>
  <cac:Party>
    <cac:PartyIdentification>
      <cbc:ID schemeID="GLN">5790000436057</cbc:ID>
    </cac:PartyIdentification>
    <cac:PartyName>
      <cbc:Name>Buyer Company</cbc:Name>
    </cac:PartyName>
  </cac:Party>
</cac:BuyerCustomerParty>
Eksempel på utfylling av bestillerinformasjon i en EHF pakkseddelmelding
<cac:OriginatorCustomerParty>
  <cac:Party>
    <cac:PartyIdentification>
      <cbc:ID schemeID="GLN">5790000436057</cbc:ID>
    </cac:PartyIdentification>
    <cac:PartyName>
      <cbc:Name>Originator</cbc:Name>
    </cac:PartyName>
  </cac:Party>
</cac:OriginatorCustomerParty>

5.2. Ordrereferanse

Benyttes for å refere til hvilken ordre pakkseddelen gjelder. En pakkseddel kan kun gjelde EN ordre. En ordre kan leveres ved hjelp av flere pakksedler.

Hver pakkseddel linje må referene til hvilken ordrelinje pakkseddel linjen gjelder. Dersom pakkseddel linjen ikke gjelder en spesifikk ordrelinje, kan verdien NA (Not Applicable) angis i elementet OrderLineReference.

Eksempel pakkseddel hode nivå.
<cac:OrderReference>
  <cbc:ID>1234</cbc:ID>
</cac:OrderReference>
Eksempel pakkseddel linje nivå.
<cac:OrderLineReference>
  <cbc:LineID>5</cbc:LineID>
</cac:OrderLineReference>
Eksempel pakkseddel linje nivå, alternativ.
<cac:OrderLineReference>
  <cbc:LineID>NA</cbc:LineID>
</cac:OrderLineReference>

5.3. Forsendelse

Beskrivelse av den aktuelle forsendelsen.

5.3.1. Forsendelsenummer

Forsendelsenummer (Shipment/ID) er obligatorisk i pakkseddel meldingen når forsendelses elementet (Shipment) benyttes. Dersom forsendelsnummer ikke er tilgjengelig for pakkseddelen, kan NA (Not Applicable) angis som forsendelsnummer.

Eksempel
<cac:Shipment>
  <cbc:ID>NA</cbc:ID>
  <cbc:Information>Free text information relating to the Shipment</cbc:Information>
  <cbc:GrossWeightMeasure unitCode="KGM" unitCodeListID="UNECERec20">23</cbc:GrossWeightMeasure>
  <cbc:GrossVolumeMeasure unitCode="MTQ" unitCodeListID="UNECERec20">27</cbc:GrossVolumeMeasure>
  <cac:Consignment>
    <cbc:ID>12345</cbc:ID>
    <cac:CarrierParty>
      <cac:PartyName>
        <cbc:Name>CarrierPart</cbc:Name>
      </cac:PartyName>
    </cac:CarrierParty>
  </cac:Consignment>
  <cac:Delivery>
    <cac:EstimatedDeliveryPeriod>
      <cbc:StartDate>2013-03-15</cbc:StartDate>
      <cbc:StartTime>08:00:00</cbc:StartTime>
      <cbc:EndDate>2013-03-16</cbc:EndDate>
      <cbc:EndTime>12:00:00</cbc:EndTime>
    </cac:EstimatedDeliveryPeriod>
    <cac:Despatch>
      <cbc:ActualDespatchDate>2013-03-13</cbc:ActualDespatchDate>
      <cbc:ActualDespatchTime>08:00:00</cbc:ActualDespatchTime>
    </cac:Despatch>
  </cac:Delivery>
</cac:Shipment>

5.4. Pakkseddellinje

Beskrivelsene nedenfor gjelder elementer på pakkseddellinje.

5.4.1. Varebeskrivelse og -identifisering

Hver pakkseddellinje inneholder elementer for beskrivelse og identifisering av varen. Beskrivelse og/eller varenummer må angis på linjen.

Eksempel
<cac:Item>
  <cbc:Name>Item123</cbc:Name>
  <cac:SellersItemIdentification>
    <cbc:ID>010120401</cbc:ID>
  </cac:SellersItemIdentification>
  <cac:StandardItemIdentification>
    <cbc:ID schemeID="GTIN" >05704368124358</cbc:ID>
  </cac:StandardItemIdentification>
</cac:Item>

5.4.2. Restnotering

Elementet for restnotering på pakkseddel linjen (OutstandingQuantity), benyttes både til informasjon om restnotering og leveringsavvik.

Håndtering av problematikken “Antallet restnotert vil aldri bli levert” gjøres på følgende måte:

Antallet spesifisert i elementet OutstandingQuantity er antallet som bli bli levert på en senere levering. Er antall levert på pakkseddel linjen (DeliveredQuantity) + antall restnotert (OutstandingQuantity) på pakkseddel linjen lavere enn antall bestilt på ordren, indikerer dette at det resterende antallet ikke vil bli levert.

Eksempel 1. Eksempel 1

10 stk bestilt, 6 stk levert og 4 stk vil bli levert senere:

Quantity ordered: 10
Quantity delivered: 6
Outstanding quantity: 4

<cbc:DeliveredQuantity unitCode="EA" unitCodeListID="UNECERec20”>6</cbc:DeliveredQuantity>
<cbc:OutstandingQuantity unitCode="EA" unitCodeListID="UNECERec20">4</cbc:OutstandingQuantity>
Eksempel 2. Eksempel 2

10 stk bestilt, 6 stk levert og de 4 resterende vil IKKE bli levert:

Quantity ordered: 10
Quantity delivered: 6
Outstanding quantity: 0

<cbc:DeliveredQuantity unitCode="EA" unitCodeListID="UNECERec20”>6</cbc:DeliveredQuantity>
<cbc:OutstandingQuantity unitCode="EA" unitCodeListID="UNECERec20">0</cbc:OutstandingQuantity>
Eksempel 3. Eksempel 3

10 stk bestilt, 6 stk levert , 3 stk vil bli levert senere og 1 stk vil IKKE bli levert:

Quantity ordered: 10
Quantity delivered: 6
Outstanding quantity: 3

<cbc:DeliveredQuantity unitCode="EA" unitCodeListID="UNECERec20”>6</cbc:DeliveredQuantity>
<cbc:OutstandingQuantity unitCode="EA" unitCodeListID="UNECERec20">3</cbc:OutstandingQuantity>

5.4.3. Farlig gods

Pakkseddel meldingen inneholder også mulighet for å informere mottaker om at forsendelsen inneholder farlig gods. Dette gjøres ved å benytte elementene farlig gods kode (UNDGCode) og farlig gods klasse (HazardClassID).

Farlig gods-kode

Kode som indikerer hvilket regelverk som legges til grunn for klassifisering av det farlige godset. For eksempel ADR (Regelverk ang. veitransport), IMDG (sjøtransport) og RID (transport på jernbane). Kodeliste 8273 (Dangerous goods regulations code) utgitt av FN benyttes.

Farlig gods-klasse

Kode for klassifisering (type farlig gods) av det farlige godset i henhold til hvilket regelverk som er oppgitt i farlig gods kode. ADR, IMDG og RID benytter alle samme kodifisering. Eksempel: 2.3 indikerer giftig gass.

Eksempel
<cac:HazardousItem>
  <cbc:UNDGCode listID="UNCL8273">ADR</cbc:UNDGCode>
  <cbc:HazardClassID>2.3</cbc:HazardClassID>
</cac:HazardousItem>

5.4.4. Serienummer

Dersom varene som leveres er merket med indivuelle serienr, kan dette angis på varenivå på pakkseddel linje i pakkseddel meldingen.

Eksempel
<cac:Item>
  <cac:ItemInstance>
    <cbc:SerialID>OR250RHZ444</cbc:SerialID>
  </cac:ItemInstance>
  <cac:ItemInstance>
    <cbc:SerialID>OR250RHZ4445</cbc:SerialID>
  </cac:ItemInstance>
  <cac:ItemInstance>
    <cbc:SerialID>OR250RHZ4446</cbc:SerialID>
  </cac:ItemInstance>
</cac:Item>

5.4.5. Batch/LOT-nummer og "Best før"/utløpsdato

Batch/LOT-nummer gjelder alle varene på en pakkseddel linje. Utløpsdato (ExpiryDate) indikerer siste dato varene kan benyttes (relevant for f. eks medisiner). "Best før"-dato (BestBeforeDate) benyttes ofte for matvarer.

Eksempel 1
<cac:ItemInstance>
  <cac:LotIdentification>
    <cbc:LotNumberID>898A129</cbc:LotNumberID>
    <cbc:ExpiryDate>2015-07-01</cbc:ExpiryDate>
  </cac:LotIdentification>
</cac:ItemInstance>
Eksempel 2
<cac:ItemInstance>
  <cbc:BestBeforeDate>2015-04-15</cbc:BestBeforeDate>
</cac:ItemInstance>

5.4.6. Transportenhet

Varene på en pakkseddel linje kan være pakket i flere transportenheter (kolli), slik som kasse, pall, container, etc. Serial shipping container code (SSCC) utgitt av GS1 kan benyttes til å identifisere transportenheten. En transportenhet kan inneholde varer fra ulike pakkseddel-linjer. Dette implementeres i meldingen ved at ID-elementet til transportenheten inneholder samme verdi på ulike linjer.

Pakkseddel meldingen støtter ikke forpakningshierarki, det vil si at en transportenhet består av en eller flere transportenheter.

Eksempel
<cac:TransportHandlingUnit>
  <cbc:ID schemeID="SSCC" schemeAgencyName="GS1">123456789012345675</cbc:ID>
  <cbc:TransportHandlingUnitTypeCode listID="UNECERec21">CT</cbc:TransportHandlingUnitTypeCode>
  <cbc:ShippingMarks>Free text information that is written/printed on to the transport handling unit</cbc:ShippingMarks>
  <cac:MeasurementDimension>
    <cbc:AttributeID schemeID="UNCL6313">AAB</cbc:AttributeID>
    <cbc:Measure unitCode="KGM">23.00</cbc:Measure>
  </cac:MeasurementDimension>
</cac:TransportHandlingUnit>

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: Strukturtabell

Vedlagt er strukturtabell som gir en skjematisk oversikt for aktuelle meldinger.

Vedlegg B: Meldingstabell

Vedlagt er komplett meldingstabell for aktuelle meldinger.

Vedlegg C: Kodelister

Gjeldende kodelister for EHF:

Vedlegg D: 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.

Aktuelle skjema

Vedlegg E: 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 F: Eksempelfiler

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