# Message level response

# Introduction

When a message has reached a given point in the transport line its content may be validated according to agreed specifications that may be both syntactical and semantic. The outcome of these validations may be reported to a relevant party up-line, informing him whether the validation was successful or not as well as giving some details.

An example could be that an invoice message that is received is rejected because it is missing a closing tag (syntax error) or because its amounts don’t add up according to what is specified in the relevant syntax specification.

A key nature of these messages is that they report on the message content on the basis of the technical specifications that apply.

# Example

Peppol BIS Message Level Response 3.0 example
<?xml version="1.0" encoding="UTF-8"?>
<ApplicationResponse xmlns="urn:oasis:names:specification:ubl:schema:xsd:ApplicationResponse-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:fdc:peppol.eu:poacc:trns:mlr:3</cbc:CustomizationID>
    <cbc:ProfileID>urn:fdc:peppol.eu:poacc:bis:mlr:3</cbc:ProfileID>
    <cbc:ID>MLR-ID123</cbc:ID>
    <cbc:IssueDate>2016-08-15</cbc:IssueDate>
    <cbc:IssueTime>12:00:00</cbc:IssueTime>
    <cac:SenderParty>
        <cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
    </cac:SenderParty>
    <cac:ReceiverParty>
        <cbc:EndpointID schemeID="0088">7315458756328</cbc:EndpointID>
    </cac:ReceiverParty>
    <cac:DocumentResponse>
        <cac:Response>
            <cbc:ResponseCode>RE</cbc:ResponseCode>
            <cbc:Description>Rejected due to validation error.</cbc:Description>
        </cac:Response>
        <cac:DocumentReference>
            <cbc:ID>EnvelopeID_from_SBDH-12456789</cbc:ID>
            <cbc:DocumentTypeCode>1</cbc:DocumentTypeCode>
            <cbc:VersionID>2</cbc:VersionID>
        </cac:DocumentReference>
        <cac:LineResponse>
            <cac:LineReference>
                <cbc:LineID>/Invoice/cac:Invoice[3]/cac:Item[1]/cac:ClassifiedTaxCategory[1]/cbc:ID[1]</cbc:LineID>
            </cac:LineReference>
            <cac:Response>
                <cbc:ResponseCode>RE</cbc:ResponseCode>
                <cbc:Description>Validation gives error [CL-T77-R002]- Tax categories MUST be coded using UN/ECE 5305 code list.</cbc:Description>
                <cac:Status>
                    <cbc:StatusReasonCode>BV</cbc:StatusReasonCode>
                </cac:Status>
            </cac:Response>
        </cac:LineResponse>
    </cac:DocumentResponse>
</ApplicationResponse>

# Recommended formats

Below is a list of message level response formats recommended by us.

# PUF Technical Acknowledgement 1.0

Pagero Universal Format (PUF) is a set of specifications based on Universal Business Language (UBL) that enables the exchange of compliant business documents worldwide via our e-business platform Pagero Online.

PUF Technical Acknowledgement is a document type that is applicable to be exchanged between Pagero and sender/issuer to inform the about the transport of a message but can also contain information on a technical level regarding rejections due to for example schematron errors.

This message type is often referred to as transport level acknowledgement or message level response.

PUF Technical Acknowledgement is developed to be compliant to the UBL 2.3 schema.

PUF Technical Acknowledgement 1.0 specification
https://pagero.github.io/puf-technical-acknowledgement/
Example files
https://github.com/pagero/puf-technical-acknowledgement/tree/master/examples

# Peppol BIS Message Level Response 3.0

Peppol Business Interoperability Specifications (BIS) are technical specifications that can be implemented in existing eProcurement solutions and eBusiness exchange services to make them interoperable between disparate systems.

Peppol BIS defines a set of information elements (business terms) and business rules to ensure that requirements are fulfilled and to clarify any option that would otherwise be left open to implementers to decide on.

They are developed and maintained by OpenPeppol and are one of the most commonly used open standards today.

Specification
https://docs.peppol.eu/poacc/upgrade-3/


# Supported formats

Below is a list of message level response formats supported - but not necessarily recommended - by us.

# cXML Status Update Request

Specification
http://cxml.org/

# e2b Application Response

Specification
https://www.e2b.no/

# Finvoice XML ACK

Specification
https://www.finanssiala.fi/en/topics/finvoice-standard/

# OIOUBL Application Response

Specification
http://www.oioubl.info/Classes/en/ApplicationResponse.html

# TEAPPS XML ACK

Specification
https://bix.tieto.com/#/teappsxml

# X12 v4010 997

Specification
https://x12.org/

# xCBL 3.5 Application Response

Specification
http://www.xcbl.org/xcbl35/xcbl35.shtml


# Customer specific formats

We can build support for any proprietary/closed source format you and your ERP system may require.

For more information, please see the proprietary or closed source formats section.