Document Type

Document type not registered in Peppol Document Types Code List

config item: document_type_not_in_peppol_codelist

This test checks whether the published document type is present in the current version of the Peppol Document Types Code List.

There are a few exceptions to this check, mainly those that were in local use by Peppol Authorities before registration with Peppol became customary. This list may be adjusted or removed in the future.

Document Type

Document type has state ‘deprecated’ in Peppol Document Types Code List

config item: document_type_deprecated_in_peppol_codelist

This test matches the supported document types of a participant against the current version of the Peppol Document Types Code List.

This test fails if a participant publishes support for a document type that has the state ‘removed’ in the code list.

Deprecated document types are document types that have been slated for removal, but are still allowed during phase-out.

Document Type

Document type has state ‘removed’ in Peppol Document Types Code List

config item: document_type_removed_in_peppol_codelist

This test matches the supported document types of a participant against the current version of the Peppol Document Types Code List.

This test fails if a participant publishes support for a document type that has the state ‘removed’ in the code list.

Removed document types should not be used anymore.

Document Type

Support for document type, but not for its Peppol-issued equivalent

config item: document_type_mandatory_not_supported

The Peppol Transport Infrastructure Agreement requires that Peppol BIS document types are supported for any category of documents that have an official Peppol BIS document Type (section 12.2).

For instance, if the receiving party accepts ‘invoice’ documents, it should support Peppol BIS Invoice documents.

This test matches the supported document types of a participant against the current version of the Peppol Document Types Code List.

For any document type that is not issued by OpenPeppol, it checks whether there is an equivalent (matched by XML Namespace and XML root element) of the document type that is issued by openpeppol.

If the participant does not support that document type as well, the test fails.

Note: there is one exception: Since Invoice documents can also represent credit notes, and therefore CreditNote documents are sometimes not directly supported, this check is ignored for (UBL) CreditNote documents.

Transport

Transport not registered in Peppol Transports Code List

config item: transport_not_in_peppol_codelist

This test checks whether the supported transport profiles of a participant are present in the current version of the Peppol Transport Profiles Code List.

Transport

Transport has state ‘deprecated’ in the Peppol Transport Profiles Code List

config item: transport_deprecated_in_peppol_codelist

This test matches the supported transport profiles of a participant against the current version of the Peppol Transport Profiles Code List.

This test fails if a participant publishes support for a transport profile that has the state ‘deprecated’ in the code list.

Transport

Transport has state ‘removed’ in the Peppol Transport Profiles Code List

config item: transport_removed_in_peppol_codelist

This test matches the supported transport profiles of a participant against the current version of the Peppol Transport Profiles Code List.

This test fails if a participant publishes support for a transport profile that has the state ‘removed’ in the code list.

Transport

Duplicate transport for process and document type

config item: transport_duplicate

For every document type that a receiving party on the Peppol network supports, the SMP publication contains a number of ’transport’ entries: one for each supported transport protocol to deliver messages for this recipient. These entries contain the details necessary to set up a secure communication channel to deliver the message.

This test fails when there is more than one entry for a combination of transport type, process, and document type.

As per SMP specification:

For the list of endpoints under each Endpoint element in the ServiceEndpointList, each endpoint MUST have different values of the transportProfile attribute, i.e. represent bindings to different transports.

If multiple entries for the same transport are present, it is undefined which one of these is to be used by sending access points.

Process

Process not registered in Peppol Process Code List

config item: process_not_in_peppol_codelist

This test checks whether the supported processes of a participant are present in the current version of the Peppol Processes Code List.

Process

Process has state ‘deprecated’ in Peppol Code List

config item: process_deprecated_in_peppol_codelist

This test matches the supported processes of a participant against the current version of the Peppol Processes Code List.

This test fails if a participant publishes support for a process that has the state ‘deprecated’ in the code list.

Process

Process has state ‘removed’ in Peppol Code List

config item: process_removed_in_peppol_codelist

This test matches the supported processes of a participant against the current version of the Peppol Processes Code List.

This test fails if a participant publishes support for a process that has the state ‘removed’ in the code list.

Access Point Certificate

Access Point certificate could not be parsed

config item: accesspoint_certificate_parse_error

Communication on the Peppol Network is protected by official Peppol Certificates. Each Service Provider has their own Peppol Certificate, which they use to encrypt and sign messages on the Peppol network.

These certificates are used to protect communication, and to make sure the other party is a valid and certified Peppol Member.

This test fails when the access point certificate published for a recipient cannot be parsed by the compliance checker at all.

Access Point Certificate

Access Point certificate has expired

config item: accesspoint_certificate_expiration

Communication on the Peppol Network is protected by official Peppol Certificates. Each Service Provider has their own Peppol Certificate, which they use to encrypt and sign messages on the Peppol network.

These certificates are used to protect communication, and to make sure the other party is a valid and certified Peppol Member.

This test fails when the access point certificate published for a recipient has expired, and is no longer valid.

Access Point Certificate

Access Point certificate has been revoked

config item: accesspoint_certificate_revocation

Communication on the Peppol Network is protected by official Peppol Certificates. Each Service Provider has their own Peppol Certificate, which they use to encrypt and sign messages on the Peppol network.

These certificates are used to protect communication, and to make sure the other party is a valid and certified Peppol Member.

This test fails when the access point certificate published for a recipient has been revoked by OpenPeppol, because it has been replaced or because the Service Provider has been removed from the Peppol network.

Access Point Certificate

Non-Peppol Access Point certificate

config item: accesspoint_certificate_peppol_pki

Communication on the Peppol Network is protected by official Peppol Certificates. Each Service Provider has their own Peppol Certificate, which they use to encrypt and sign messages on the Peppol network.

These certificates are used to protect communication, and to make sure the other party is a valid and certified Peppol Member.

This test fails when the access point certificate published for a recipient was not issued by OpenPeppol.

Access Point Certificate

Peppol Test certificate used in production

config item: accesspoint_certificate_peppol_test_used_in_prod

Communication on the Peppol Network is protected by official Peppol Certificates. Each Service Provider has their own Peppol Certificate, which they use to encrypt and sign messages on the Peppol network.

These certificates are used to protect communication, and to make sure the other party is a valid and certified Peppol Member.

Testing should not be done on the production network; Pepppol has a separate network and PKI for this. Test participants are published in the SMK instead of the SML, and different certificates are used for this purpose.

This test fails when the access point certificate published for a recipient is from the Peppol Test network instead of the production network.

SMP Certificate

SMP certificate could not be parsed

config item: smp_certificate_parse_error

Communication on the Peppol Network is protected by official Peppol Certificates. Each SMP Service Provider has their own Peppol Certificate, which they use to encrypt and sign messages on the Peppol network.

These certificates are used to verify that information published in an SMP is published by a valid and certified Peppol Member.

This test fails when the SMP certificate used for recipient publication cannot be parsed by the compliance checker at all.

SMP Certificate

SMP certificate has expired

config item: smp_certificate_expiration

Communication on the Peppol Network is protected by official Peppol Certificates. Each SMP Service Provider has their own Peppol Certificate, which they use to encrypt and sign messages on the Peppol network.

These certificates are used to verify that information published in an SMP is published by a valid and certified Peppol Member.

This test fails when the SMP certificate used for recipient publication has expired and is no longer valid.

SMP Certificate

SMP certificate has been revoked

config item: smp_certificate_revocation

Communication on the Peppol Network is protected by official Peppol Certificates. Each SMP Service Provider has their own Peppol Certificate, which they use to encrypt and sign messages on the Peppol network.

These certificates are used to verify that information published in an SMP is published by a valid and certified Peppol Member.

This test fails when the SMP certificate used for recipient publication has been revoked by OpenPeppol.

SMP Certificate

Non-Peppol SMP certificate

config item: smp_certificate_peppol_pki

Communication on the Peppol Network is protected by official Peppol Certificates. Each SMP Service Provider has their own Peppol Certificate, which they use to encrypt and sign messages on the Peppol network.

These certificates are used to verify that information published in an SMP is published by a valid and certified Peppol Member.

This test fails when the SMP certificate used for recipient publication was not issued by OpenPeppol.

SMP Certificate

Peppol Test SMP certificate used in production

config item: smp_certificate_peppol_test_vs_prod

Communication on the Peppol Network is protected by official Peppol Certificates. Each SMP Service Provider has their own Peppol Certificate, which they use to encrypt and sign messages on the Peppol network.

These certificates are used to verify that information published in an SMP is published by a valid and certified Peppol Member.

Testing should not be done on the production network; Pepppol has a separate network and PKI for this. Test participants are published in the SMK instead of the SML, and different certificates are used for this purpose.

This test fails when the SMP certificate published for a recipient is from the Peppol Test network instead of the production network.

Custom checks

Custom checks

There are a number of (country-specific) custom checks we perform. We do not list them here, but if you have specific requests, let us know and we can discuss them.