Payload Envelope

Support | Envelope for files to and from PEPPOL

When you send files using Galaxy Gateway to other PEPPOL Access Points you will need to wrap the payload (invoice, order, etc.) in a PEPPOL Envelope (SBDH – Standard Business Document Header). The same envelope is used when you receive files from PEPPOL.

The payload must be put between the tags </StandardBusinessDocumentHeader> and </StandardBusinesDocument> (line 32 and 35 in the sample PEPPOL Envelope (SBDH below) and the contents is then transferred to the next PEPPOL Access Point.

Please find the OpenPEPPOL SBDH envelope specification at:

Schemas and sample files can be found at

Additional requirement: RelayOperatorIdentifier

We have added relayoperatorid for the internal routing of Galaxy Gateway, please see line 9 in the SBDH sample below. That element will not be passed on to the receiving Access Point. You will be assigned a relayoperatorid by us during the implementation project. You should always use it in the files you send to PEPPOL. You also have to be able to handle it in incoming files from PEPPOL.


We suggest the use of a UUID as InstanceIdentifier enable end-to-end Track & Trace across multiple PEPPOL Access Point hops. If you use a UUID it will be respected and used in the AS2/AS4 transaction to the receiving PEPPOL Access Point.

Here’s a regular expression that matches common UUID patterns:


Use of PEPPOL identifiers

The document “PEPPOL Policy for use of Identifiers” explains the use of various identifiers in PEPPOL, such as the syntax for identifiers used for documentssenders and receivers.

For BIS 2 you should use PEPPOL-EDN-Policy-for-use-of-identifiers-3.2-2019-02-01.pdf.

For BIS 3 you should use PEPPOL-EDN-Policy-for-use-of-identifiers-4.0-2019-01-28.pdf.

PEPPOL Envelope (SBDH) to wrap a BIS Billing 3.0 Invoice

Line 1-31 in the sample below is the PEPPOL envelope. The business document (BIS Billing 3.0 Invoice) is between lines 32 and 35.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<StandardBusinessDocument xmlns="">
            <Identifier Authority="iso6523-actorid-upis">peppol_sender_id_here_corner1</Identifier>
            <Identifier Authority="relayoperatorid">relayoperator_id_here</Identifier>
            <Identifier Authority="iso6523-actorid-upis">peppol_receiver_id_here_corner4</Identifier>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" <cbc:CustomizationID></cbc:CustomizationID><cbc:ProfileID></cbc:ProfileID>


Download a sample PEPPOL BIS3 Billing Invoice with envelope.

Integration test

The best way to test the communication setup is to send a test file to yourself; just follow these steps to do that.