SBDH Envelope

Support | SBDH 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 Peppol envelope specification for SBDH at: https://github.com/OpenPEPPOL/documentation/tree/master/TransportInfrastructure.

Schemas and sample files can be found at http://www.gs1.com/standard-business-document-header-sbdh.

UUID

We suggest the use of a UUID as InstanceIdentifier to 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 (corner 3).

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

\b(uuid:){0,1}\s*([a-f0-9\\-]*){1}\s*

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 3 you should use “Peppol Policy for use of identifiers v.4.x“. Visit https://github.com/OpenPEPPOL/documentation/tree/master/TransportInfrastructure to find the latest version.

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

Line 1-28 in the sample below is the header of the Peppol envelope. The business document (BIS Billing 3.0 Invoice) is between lines 29 and 32.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<StandardBusinessDocument xmlns="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader">
    <StandardBusinessDocumentHeader>
        <HeaderVersion>1.0</HeaderVersion>
        <Sender>
            <Identifier Authority="iso6523-actorid-upis">peppol_sender_id_here_corner1</Identifier>
        </Sender>
        <Receiver>
            <Identifier Authority="iso6523-actorid-upis">peppol_receiver_id_here_corner4</Identifier>
        </Receiver>
        <DocumentIdentification>
            <Standard>urn:oasis:names:specification:ubl:schema:xsd:Invoice-2</Standard>
            <TypeVersion>2.1</TypeVersion>
            <InstanceIdentifier>use_uuid_here</InstanceIdentifier>
            <Type>Invoice</Type>
            <CreationDateAndTime>2019-02-19T11:00:55.110+02:00</CreationDateAndTime>
        </DocumentIdentification>
        <BusinessScope>
            <Scope>
                <Type>DOCUMENTID</Type>
                <InstanceIdentifier>urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0::2.1</InstanceIdentifier>
            </Scope>
            <Scope>
                <Type>PROCESSID</Type>
                <InstanceIdentifier>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</InstanceIdentifier>
            </Scope>
        </BusinessScope>
    </StandardBusinessDocumentHeader>
<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>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>invoice_id_here</cbc:ID>
        
    </Invoice>
</StandardBusinessDocument>

 

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.