SP2SP integration

Service providers receive business documents and message level responses (MLRs and eMLRs) as messages, with no polling or callbacks needed.

In a service provider to service provider (SP2SP) integration, your platform takes the role of a service provider.
Instead of being notified and then fetching data from MAPI, you receive everything as messages:

  • Business documents such as invoices, credit notes, and orders are delivered to you as inbound messages.
  • Status updates for the messages you send are delivered to you as message level responses (MLRs) and extended message level responses (eMLRs).

Messages are exchanged over one of the following:

  • Peppol AS4: your Peppol access point exchanges messages with Unimaze over the Peppol network.
  • Dedicated AS2 connection: a point-to-point AS2 connection set up between your platform and Unimaze.

This suits partners who already operate their own messaging infrastructure and want to handle both documents and status updates the same way.

sequenceDiagram
    participant P as Your platform (SP)
    participant U as Unimaze
    participant R as Receiver

    P->>U: Outbound invoice (message)
    U-->>P: eMLR Acknowledgement (AB)
    U->>R: Deliver invoice
    U-->>P: eMLR Accept (AP) or Reject (RE)
    Note over U,P: Inbound documents are delivered the same way
    U->>P: Inbound invoice (message)

Combining SP2SP with MAPI

SP2SP doesn't have to run in both directions. A common variant is one-way SP2SP:

  • Outbound: you send documents to Unimaze over AS4 or AS2 as usual, and receive the MLRs / eMLRs as messages.
  • Inbound: instead of having documents pushed to your endpoint, you subscribe to webhook events and fetch the messages through MAPI when notified (or poll for them).
VariantOutbound documentsInbound documentsStatus updates
Full SP2SPAS4 / AS2Delivered to your AS4 / AS2 endpointMLR / eMLR messages
One-way SP2SP + MAPIAS4 / AS2Webhook event, then fetched through MAPIMLR / eMLR messages, or webhook events

One-way SP2SP is useful when:

  • You send over AS4 / AS2 but don't want to operate the receiving side. Receiving over AS4 / AS2 means running an endpoint that accepts, verifies and acknowledges messages, with certificates and participant registrations pointing to it. A webhook endpoint is a plain HTTPS endpoint, and with polling you don't need an endpoint at all.
  • You want one inbound format. Through MAPI, inbound documents are available as JSON metadata regardless of the syntax or network the sender used, so you don't have to implement every inbound format.
  • You want Unimaze to hold messages until you have imported them. With AS4 / AS2 push, you take responsibility for a message as soon as you acknowledge receipt. When you fetch through MAPI, the message stays pending at Unimaze until you mark it as delivered, and failed imports can be retried.
  • You need MAPI features for inbound documents, such as validation results, the original and transformed documents, formatted display, or compliance actions on received invoices (for example registering a rejection or payment in Croatia).

What you receive

MessageMeaning
Business documentAn inbound document addressed to one of your parties.
MLR / eMLR Acknowledgement (AB)Your outbound message was received, validated, and is ready for sending.
MLR / eMLR Accepted (AP)Your outbound message was delivered, or the tax report was submitted. Final state.
MLR / eMLR Rejected (RE)Delivery, validation, or tax reporting failed. The reason is included. Final state unless the message is retried.

Each response references the original message, so you can match it to the document you sent.
Where tax reporting applies (for example in Croatia or Slovakia), eMLRs also carry the signed request and the response from the tax authority.

For the structure of MLRs, eMLRs, and MLAs, and the responses to expect per flow, see Working with MLRs, eMLRs and MLAs.

Setting up SP2SP

SP2SP integrations are configured by Unimaze during onboarding. Contact Unimaze support to agree on:

  • The parties (participant identifiers) you serve.
  • The transport: Peppol AS4 (your access point and Peppol participant registrations) or a dedicated AS2 connection (endpoint URL, AS2 identifiers, and certificate exchange).
  • Which responses you want to receive (MLRs, eMLRs).
  • Whether inbound documents are delivered to your endpoint or fetched through MAPI (one-way), and if so, which webhook events you subscribe to.

Good practice

  • Treat AP and RE as final. Ignore an AB that arrives after an AP for the same message.
  • Correlate on references. Use the document reference in the response to find the original message.
  • Handle duplicates. Make message processing idempotent on the message identifier.

Did this page help you?