ediverse Explorer la plateforme

À la une PEPPOL BIS Billing 3.0 L’obligation européenne d’e-invoicing arrive : France sept 2026, Belgique janv 2026, Allemagne 2025.

EHF — format national PEPPOL, B2G obligatoire depuis 2012

EHF (Elektronisk Handelsformat, « format de commerce électronique ») est le format norvégien d'e-facturation. Concrètement, c'est le profil PEPPOL BIS Billing de la Norvège : un message UBL 2.1 transporté sur le réseau PEPPOL, assorti de quelques règles nationales. Pour le novice : pensez à une facture XML standardisée à l'échelle européenne, à laquelle la Norvège a ajouté ses propres contrôles. Rendu obligatoire pour les fournisseurs de l'État dès 2012, EHF est l'un des tout premiers mandats B2G universels au monde.

Histoire — du mandat 2012 à EHF 3.0

La Norvège a numérisé ses achats publics très tôt. L'agence Difi (Direktoratet for forvaltning og IKT) a porté EHF à partir de 2008-2010, en s'inspirant du travail UBL danois (OIOUBL). Dès 2012, l'État a imposé EHF à ses fournisseurs : c'était l'un des premiers pays au monde à exiger une e-facture structurée universelle pour le secteur public. Avec la montée en puissance de PEPPOL — dont la Norvège est PEPPOL Authority fondatrice — EHF a convergé vers les profils PEPPOL BIS, jusqu'à ce qu'EHF 3.0 (2017) devienne littéralement PEPPOL BIS Billing 3.0 augmenté de règles nationales.

text ehf-timeline.txt
2008-2010  | Difi (Direktoratet for forvaltning og IKT) coordonne la
           | numérisation des achats publics. Premiers travaux EHF
           | (Elektronisk Handelsformat) sur base UBL/OIOUBL danois.
           |
2011       | Publication d'EHF 1.x — facture + avoir en UBL 2.0. Le
           | gouvernement annonce un calendrier d'obligation B2G.
           |
2012       | Obligation B2G : tout fournisseur de l'État central doit
           | émettre ses factures en EHF. L'un des PREMIERS mandats
           | B2G universels au monde — avant l'Italie (SdI 2014).
           |
2013-2014  | EHF 2.0 — alignement avec les profils PEPPOL BIS. Norvège
           | déjà PEPPOL Authority fondatrice (OpenPEPPOL 2012).
           |
2017       | EHF 3.0 = PEPPOL BIS Billing 3.0 + règles nationales (CIUS).
           | Migration UBL 2.1, conformité EN 16931 (mandat UE/EEE).
           |
2019       | Difi devient Digdir / la responsabilité e-facture migre vers
           | la DFØ (Direktoratet for forvaltning og økonomistyring).
           |
2024-2026  | EHF 3.0 stable. Norvège parmi les plus hauts taux PEPPOL
           | au monde. Travaux d'alignement avec ViDA / Digital Reporting.

Gouvernance — DFØ (ex-Difi)

EHF est gouverné par la DFØ (Direktoratet for forvaltning og økonomistyring — Agence de gestion publique et financière). L'histoire des agences est un piège classique : la responsabilité est passée de Difi (jusqu'en 2019) à Digdir puis à la DFØ, qui publie aujourd'hui les spécifications EHF, les jeux de règles Schematron et la documentation sur Anskaffelser.no (le portail des marchés publics).

En tant que PEPPOL Authority nationale, la DFØ accrédite aussi les Access Points et Service Metadata Publishers norvégiens, et représente la Norvège au sein d'OpenPEPPOL. Toute évolution des règles nationales (CIUS) suit le cycle de publication PEPPOL BIS, deux fenêtres par an (printemps / automne).

Schéma technique — UBL 2.1 + CIUS norvégien

EHF 3.0 n'est pas un schéma propriétaire : c'est de l'UBL 2.1 contraint par le PEPPOL BIS Billing 3.0, lui-même un CIUS (Core Invoice Usage Specification) d'EN 16931. La Norvège ajoute une couche de règles nationales, appliquées par des fichiers Schematron. Les points clés :

  • CustomizationID — déclare la conformité EN 16931 + le profil PEPPOL billing 3.0.
  • EndpointID / CompanyID schemeID="0192" — l'identifiant participant PEPPOL norvégien : l'organisasjonsnummer (9 chiffres) sous le code ICD 0192.
  • DocumentCurrencyCode — généralement NOK pour le marché domestique.
  • TaxTotal / TaxSubtotal — codes de catégorie TVA (S, AA, Z, E…) et taux MVA norvégiens (25 / 15 / 12 %).
  • Règles nationales NO-R-xxx — contrôles Schematron spécifiques (ex. cohérence organisasjonsnummer, format référence KID).
xml ehf-3.0-invoice.xml
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
         xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
         xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2">
  <cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
  <cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
  <cbc:ID>2026-04211</cbc:ID>
  <cbc:IssueDate>2026-06-16</cbc:IssueDate>
  <cbc:DocumentCurrencyCode>NOK</cbc:DocumentCurrencyCode>

  <cac:AccountingSupplierParty>
    <cac:Party>
      <cbc:EndpointID schemeID="0192">991825827</cbc:EndpointID>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>Bergen Maritime Engineering AS</cbc:RegistrationName>
        <cbc:CompanyID schemeID="0192">991825827</cbc:CompanyID>
      </cac:PartyLegalEntity>
    </cac:Party>
  </cac:AccountingSupplierParty>

  <cac:AccountingCustomerParty>
    <cac:Party>
      <cbc:EndpointID schemeID="0192">974761076</cbc:EndpointID>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>Statens vegvesen</cbc:RegistrationName>
      </cac:PartyLegalEntity>
    </cac:Party>
  </cac:AccountingCustomerParty>

  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="NOK">3000.00</cbc:TaxAmount>
  </cac:TaxTotal>
  <cac:LegalMonetaryTotal>
    <cbc:TaxExclusiveAmount currencyID="NOK">12000.00</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="NOK">15000.00</cbc:TaxInclusiveAmount>
    <cbc:PayableAmount currencyID="NOK">15000.00</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>
</Invoice>

EHF vs PEPPOL BIS vs Factur-X

DimensionEHF 3.0 (NO)PEPPOL BIS 3.0Factur-X (FR)
SyntaxeUBL 2.1UBL 2.1 / CIIPDF/A-3 + CII embarqué
SocleEN 16931 + CIUS PEPPOLEN 16931 (CIUS)EN 16931 (profils)
Règles nationalesSchematron NO-R-xxxAucune (paneuropéen)Profils français
Transport natifPEPPOL (AS4)PEPPOL (AS4)Indépendant (PDF e-mail, PPF…)
Identifiantorg.nr ICD 0192variable selon paysSIRET / SIREN
Mandat B2G2012 (pionnier)variable2026+ (France)

Adoption — B2G universel, B2B en hausse

  • B2G : 100 % obligatoire. Tout fournisseur de l'État et, par extension, des collectivités (kommuner, fylkeskommuner) doit émettre en EHF depuis 2012, puis l'obligation s'est généralisée au secteur public.
  • B2B : volontaire mais massif. EHF est le rail B2B de fait en Norvège — les grands donneurs d'ordre exigent EHF de leurs fournisseurs, ce qui tire l'adoption privée bien au-delà du périmètre légal.
  • Réception via PEPPOL. Comme EHF voyage sur PEPPOL, un fournisseur étranger raccordé au réseau peut facturer une entité publique norvégienne sans intégration spécifique.
  • Volumétrie. La Norvège figure parmi les pays à plus forte adoption PEPPOL au monde, avec des centaines de millions de documents échangés annuellement sur le réseau.

Pièges courants

  • Confondre EHF et PEPPOL BIS. EHF 3.0 EST PEPPOL BIS 3.0, mais avec des règles Schematron norvégiennes en plus. Une facture qui passe la validation PEPPOL générique peut échouer sur une règle NO-R-xxx.
  • Oublier le schemeID 0192. En Norvège, l'identifiant participant PEPPOL est l'organisasjonsnummer sous l'ICD 0192. Utiliser un autre scheme casse le routage SMP/SML.
  • Croire qu'EHF est mort avec Difi. L'agence a changé de nom (Difi → Digdir → DFØ pour l'e-facture), mais EHF est bien vivant. Chercher la doc sous « Difi » mène à des pages obsolètes.
  • Devise. Le marché domestique facture en NOK ; un montant en EUR sans taux de change correct fait échouer les contrôles de cohérence.
  • Encodage. EHF 3.0 impose UTF-8. Les anciens flux EHF 2.0 tolèrent d'autres réglages — ne pas mélanger les versions.

Liens transverses