Norway EHF Reminder 3.0
Norwegian payment reminder (EHF Reminder 3.0)
A Norwegian payment reminder (purring) in EHF Reminder 3.0, checked against the UBL 2.1 Invoice schema and DFØ's EN 16931, Peppol and EHF rules.
About
EHF is Norway's set of e-commerce formats, maintained by DFØ. Invoices and credit notes are EHF Billing 3.0, which is Peppol BIS Billing 3.0 with its Norwegian rules; EHF Reminder 3.0 is Norway's own document for reminders, sent as a UBL Invoice through Peppol.
Its specification identifier ends in urn:fdc:anskaffelser.no:2019:ehf:reminder:3.0, after the Peppol BIS one. A reminder runs three sets of rules: EN 16931 and Peppol BIS as DFØ adapts them for reminders, and the EHF reminder rules.
E-invoicing in Norway: the rules in short and how to check an invoice →
Good to know
- Rules run only when the document matches the schema. Documents over 50 MB are checked against the schema only.
- The rules are those of the EHF Post-Award G3 Schematron package of 29 September 2026.
- The example is DFØ's reminder example from the same release.
Files
14 files · 2.7 MB · Download all (.zip)-
maindoc/UBL-Invoice-2.1.xsd main
-
common/UBL-CommonAggregateComponents-2.1.xsd
-
common/UBL-CommonBasicComponents-2.1.xsd
-
common/UBL-CommonExtensionComponents-2.1.xsd
-
common/UBL-QualifiedDataTypes-2.1.xsd
-
common/UBL-UnqualifiedDataTypes-2.1.xsd
-
common/UBL-ExtensionContentDataType-2.1.xsd
-
common/CCTS_CCT_SchemaModule-2.1.xsd
-
common/UBL-CommonSignatureComponents-2.1.xsd
-
common/UBL-SignatureAggregateComponents-2.1.xsd
-
common/UBL-SignatureBasicComponents-2.1.xsd
-
common/UBL-xmldsig-core-schema-2.1.xsd
-
common/UBL-XAdESv132-2.1.xsd
-
common/UBL-XAdESv141-2.1.xsd
The validator loads all of these with their folder structure, so includes and imports resolve as published.
Business rules
Schematron · run in this order-
EN 16931 rules for EHF Reminder 3.0 release 2026-09-29
The rules run after the schema check, only when the document matches the schema, and in your browser like the schema check (with SaxonJS by Saxonica). Each finding names its rule, such as BR-CO-15, and the line it points at; each rule has a page with what it checks.
Example document
no-ehf-reminder.xml · 8.4 KB · passes the schema and the rules
In CI and from code
The same schema by its name, no-ehf-reminder, through the API.
npx @xmlvalid/cli validate "**/*.xml" --schema no-ehf-reminder
- uses: xmlvalid/validate-action@v1
with:
files: "**/*.xml"
schema: no-ehf-reminder
api-key: ${{ secrets.XMLVALID_API_KEY }}
curl https://xmlvalid.com/api/v1/validations \
-H "Authorization: Bearer $XMLVALID_API_KEY" \
-F document=@no-ehf-reminder.xml \
-F schema=no-ehf-reminder
Free accounts get 100 API validations a month. On Pro, a URL monitor can check a published document against this schema every hour and email you when it breaks. More CI setups