/peppol

This is an overview repository pointing to my different Peppol solutions

MIT LicenseMIT

Peppol

This is an overview page pointing to my different Peppol solutions. All of the solutions are Java based, requiring at least Java 11, require Maven to build and are usually deployed to Maven Central.

Please star the project if you like it :)

Access Point (AP)

  • phase4 is a library implementing the AS4 protocol and including value added services like SMP client, SBDH wrapping etc.

  • Standalone phase4 for Peppol is an example implementation of a standalone AP, based on Spring Boot 3.x

  • See phase4 Known Users for a list of known users that agreed to be listed

Service Metadata Publisher (SMP)

  • phoss SMP is a standalone Peppol SMP server. Used by more than 50% of all production SMPs. Ships with different backends to store data. Pre-built Docker images are available.
  • SMP Client is a shared component to access an SMP from e.g. an AP (see above)
  • Standalone SMP Client is a standalone Peppol SMP client available as pre-built Docker image if you don't want to use the Java code. It offers a JSON response instead.

Document Validation

  • ph-schematron is a generic Schematron validation library. It offers different "engines" to perform the actual validation.
  • phive is a more advanced validation library that deals with different types of validations and includes XML Schema (XSD) and Schematron validation (based on ph-schematron)
  • phive-rules is a set of collected validation rules to be used with phive to validate actual business documents (e.g. Peppol BIS Billing, XRechnung, ...) (based on phive)
  • phive-binary is a set of collected validation rules to be used with phive to validate actual business documents (e.g. Peppol BIS Billing, XRechnung, ...) (based on phive)
  • ddd is a library that can be used to determine the VESID of a business document for usage with phive (links to the VESIDs from phive-rules)

Users

Peppol Directory

Peppol Network Reporting

  • peppol-reporting contains the data model for the Transaction Statistics Report (TSR) and End User Statistics Report (EUSR)

Peppol related components

  • ph-xsds contains the JAXB generated data models for a bunch of commonly used XML Schemas
  • ph-sbdh contains the JAXB generated data models for the Standard Business Document Header (SBDH)
  • ph-ubl contains the JAXB generated data models for UBL 2.x
  • ph-cii contains the JAXB generated data models for Cross Industry Invoice (CII)
  • peppol-commons is a set of shared and reusable libraries
    • peppol-id-datatypes contains the JAXB generated datatypes for Peppol identifiers
    • peppol-id contains a set of predefined Peppol identifiers (Document Types, Processes, Participant Identifier Schemes and Transport Profiles)
    • peppol-commons a set of generic helper methods support the use of certificates and the trust model
    • peppol-sbdh contains the specific rules to be applied to an SBDH document to comply to the Peppol specifications (based on ph-sbdh)
    • peppol-sml-client contains a client to access the public APIs of an SML that uses the Peppol SML specification. This is mainly used for SMP servers.
    • peppol-smp-datatypes contains the JAXB generated datatypes for SMP data types
    • peppol-smp-client contains a client to access SMP servers that follow the Peppol SMP specification
    • peppol-directory-businesscard contains the JAXB generated datatypes for the Peppol Business Card
    • peppol-mlr contains supporting methods to easily create a Peppol Message Level Response (based on ph-ubl)
  • en16931-cii2ubl is a library that allows you to convert CII to UBL (only in that direction) in case you are forced to deal with CII but you don't want to deal with it (based on ph-ubl and ph-cii)