Peppol Network
Peppol provides a standardised way to exchange electronic business documents between buyers and suppliers, both domestically and across borders. Document exchange takes place through Peppol
Maventa is a certified Peppol Access Point, registered in the Peppol network as Visma Software International AS. By integrating with Maventa, you can offer Peppol connectivity to your customers.
How Peppol exchange works
Peppol uses a four-corner model. The sender (C1) hands the document to their Access Point (C2), which looks the recipient up in the network’s address registry to find out which Access Point serves them and which formats they accept. C2 then transmits the document to the recipient’s Access Point (C3), which passes it on to the recipient (C4).
When you send through Maventa, Maventa is C2. You interact only with your own system and the Maventa API — everything from C2 onwards is handled for you. The same applies in reverse when your customer receives: Maventa is C3, and you collect the document from Maventa.
What Maventa handles for you
A certified Access Point is only required to do three things: send and receive Peppol documents, validate them against the Peppol Schematron rules, and register participants in an SMP.
Peppol membership carries considerably more than that. Access Point certificates have to be rotated every 24 months, every registered company has to be verified annually against public business registries, transaction and end-user statistics have to be reported to OpenPeppol, and an annual eligibility test suite has to be passed to stay compliant. Maventa handles all of it — none of it reaches your integration.
On top of the compliance work, Maventa adds a layer that keeps traffic flowing when the network does not behave:
Lookup and smart routing
Find a recipient before you have created the invoice, and let Maventa complete the routing when you only know the organisation number rather than the full Peppol address.
Format conversion
Send in the format you already produce. Maventa converts to whatever the recipient has registered — including across Peppol version upgrades.
Validation and correction
Pre-validate with the Validator API, and let Maventa repair small structural and content issues automatically instead of failing the send.
Proactive error handling
Documents that hit an unknown problem go to a quarantine area where Maventa can investigate and fix them, rather than bouncing straight back to the end customer.
Automatic retrying
Dozens of known network failure modes — receiving Access Point downtime, certificate problems, oversized payloads — are retried automatically before a send is reported as failed.
Registration helper
Register a company with one profile and a country. Maventa registers the correct set of document types for that market, including domestic formats.
Incoming content validation
Extra validation on documents arriving from the network, plus a duplicate check, so invalid or repeated documents do not reach your customer’s system.
Compliance and admin
Certificate rotation, annual participant verification, statistical reporting to OpenPeppol, and the yearly Access Point eligibility test.
Sending invoices via Peppol
Sending invoices through the Peppol network does not require separate registration. Maventa customers can send invoices to Peppol recipients the same way they send invoices through any other network.
To send an invoice via Peppol, provide the recipient’s Peppol address and set PEPPOL as the operator.
Peppol addresses
A Peppol address is the recipient’s electronic invoicing address within the Peppol network. It consists of two parts:
- Identifier prefix — indicates the type of identifier used. The prefix varies by country. See the official Peppol participant identifier scheme code list for details.
- Company identification number — uniquely identifies the company (for example, an organisation number).
For example, in Norway the prefix for organisation numbers is 0192. A Norwegian company with organisation number 123456789 would have the Peppol address 0192:123456789.
Recipient lookup
To check whether a company can receive invoices via Peppol, use Maventa’s Peppol participant lookup tool or the GET /v1/lookup/receivers API method.
The lookup confirms whether the recipient is registered in the Peppol network and returns their Peppol address and supported document types (such as INVOICE or CREDIT_NOTE).
For detailed instructions on using the lookup API — including parameters, request examples, and automatic routing — see the recipient lookup and routing section in the invoice sending guide.
When searching for Peppol recipients through the lookup API, there is a known limitation. To perform a Peppol Directory lookup, use the name field for either the recipient’s name or business ID. The bid field does not currently work for Peppol lookups. This will be corrected in a future version of the API.
Testing Peppol sending
The Maventa testing environment is connected to the Peppol test network, so Peppol sends are processed as real transactions within the test network. You can register one of your test accounts as a Peppol receiver — the registration is created in the Peppol test environment. Then send an invoice to that account from another test account to verify the full Peppol flow end to end. You can also use Peppol’s public test endpoints to send test invoices without needing a real Peppol recipient.
Format selection and conversion
You do not need to choose the output format yourself — Maventa selects it automatically based on what the recipient can receive:
- SMP lookup — Maventa looks up the recipient in the Peppol SMP (Service Metadata Publisher) and retrieves the document formats they have registered to accept.
- Format selection — Maventa picks a format that the recipient accepts and that Maventa supports. The formats Maventa supports in each market are listed on the country pages under Services & Reach. Peppol BIS Billing 3.0 is the default and is used for all cross-border traffic. For domestic traffic — where the sender and receiver are in the same country — a national format is preferred when the recipient has registered one and Maventa supports it, for example XRechnung in Germany or SI-UBL in the Netherlands.
- Automatic conversion — if the invoice is not already in the selected format, Maventa converts it before sending.
All invoices are validated against Peppol rules before transmission — invoices that fail validation cannot be sent.
National formats such as XRechnung (Germany) and SI-UBL (Netherlands) are used only for domestic Peppol traffic. In cross-border traffic, Peppol BIS Billing 3.0 is always used, even if the recipient has also registered a national format.
In some countries a national format is required for certain domestic invoicing — for example, XRechnung is required for invoices to German public-sector bodies — which is why Maventa prefers the national format for domestic traffic. Peppol BIS Billing 3.0 remains valid for cross-border invoicing everywhere. See the country pages under Services & Reach for country-specific format details.
For more information about Peppol formats, see the Peppol profiles and specifications.
When delivery does not succeed immediately
The Peppol network is not free of technical problems. A receiving Access Point can be down, a certificate can have expired at the other end, or a large payload can be rejected on the first attempt.
Maventa identifies these failure modes and retries automatically — around 20 attempts spread over two days — before reporting the send as failed. During that window the invoice stays in a sending state rather than failing, so there is no need to resend from your side.
Documents that hit a problem Maventa has not seen before are held in a quarantine area for investigation. In many cases the issue is resolved there and the document is delivered without the sender ever being involved.
Do not build automatic resending on top of a send that has not yet reported a final status. Use webhooks to react to the final outcome instead.
Receiving invoices via Peppol
To receive invoices through the Peppol network, a company must be registered as a Peppol receiver.
Once registered, the company can receive electronic invoices from any sender connected to the Peppol network. The company’s details are published in the Peppol Directory, which serves as a shared address book listing all registered receivers, their supported document types, and format versions.
Document types
During registration, the company selects which document types it wants to receive:
-
Invoices and credit notes — Registering with the
INVOICE_AND_CREDIT_NOTEprofile automatically registers both document types: Peppol BIS Billing UBL Invoice V3 (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) and Peppol BIS Billing UBL Credit Note V3 (urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2::CreditNote##urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0::2.1). Some countries also support additional, country-specific formats that are included automatically. See the country-specific guides for supported formats. - Self-billing — Companies that want to receive self-billing invoices can register an additional profile for self-billing invoices and credit notes.
Registering as a Peppol receiver
Once a company account has been created in Maventa and receiving is enabled (VISMA network), the company can be registered as a Peppol receiver by creating a Peppol profile.
Maventa registers the company in the Peppol
If the company is already registered to receive invoices through a different Access Point, that registration must be removed by the previous Access Point before Maventa can complete the new registration.
Company email requirement
The company email must be set on the Maventa account before registration (required at minimum in Norway).
Register for invoices and credit notes
Call POST /v1/company/profiles with the following parameters:
-
profile:
INVOICE_AND_CREDIT_NOTE -
network:
PEPPOL
After registration completes, the response includes the Peppol address the company was registered with.
To receive notifications when registration completes, register a webhook with the NETWORKS event type.
Use GET /v1/company/profiles to view active profiles for the PEPPOL network.
Register for self-billing
Call POST /v1/company/profiles with the following parameters:
-
profile:
SELF_BILLING_INVOICEorSELF_BILLING_CREDIT_NOTE -
network:
PEPPOL
Use GET /v1/company/profiles to view active profiles for the PEPPOL network.
Remove a registration
To remove a company from the Peppol network, call DELETE /v1/company/profiles with the profile ID of the registration to delete.
Supported countries and identifiers
Maventa registers companies with the following identifiers (schemes):
| Country | Identifier | Prefix |
|---|---|---|
| Finland |
|
0216 |
| Sweden | Organisation number | 0007 |
| Norway | Organisation number | 0192 |
| Denmark |
|
0184 |
| Netherlands |
|
|
| Belgium | Organisation number ( |
0208 |
| Germany | VAT number | 9930 |
| France |
|
|
| Estonia |
|
|
| Latvia | VAT number | 9939 |
| Poland | VAT number ( |
9945 |
| Italy | VAT number ( |
9906 |
Where a country has two options, the prefix follows the identifier used to create the company account in Maventa. An Estonian company created with a company code registers under 0191, and one created with a VAT number registers under 9931. An Estonian company cannot be registered under both. France and the Netherlands follow the same rule for choosing the prefix.
Poland and Italy are available to selected partners only, and both route domestic traffic through a national platform rather than Peppol. See e-invoicing in Poland and e-invoicing in Italy before registering.
For France, this Peppol registration covers cross-border traffic only. Domestic French invoicing runs through the regulated network, where the company is registered separately under scheme 0225. See e-invoicing in France for the full picture.
To register a participant outside of these countries or with a different identifier, contact Maventa.
Registration timing
Registrations are usually processed immediately. If there are issues with the Peppol register, there may be a delay of up to a few days.
Before registering
Before creating a new registration, check the company’s existing registrations with GET /v1/company/profiles:
- If the company is already registered through Maventa, no further action is needed.
- If the company is registered through a different Access Point, the previous registration must be removed before Maventa can complete the new one. The company needs to contact the previous Access Point to deregister.
When adding profiles to a company that is already registered — for example adding self-billing on top of an existing INVOICE_AND_CREDIT_NOTE registration — send only the profiles that are not yet registered. The POST /v1/company/profiles request is processed as a single operation: if any profile in the profiles array is already registered for the company, the entire request fails and none of the new profiles are added. Do not re-send profiles that are already active.
Message Level Status (MLS)
Message Level Status (MLS) is a new Peppol message that tells the sending Access Point what happened to a document after it left the network — whether the receiving Access Point accepted it, rejected it, or could not pass it on to the recipient. It replaces the older Message Level Response (MLR).
MLS is exchanged between Access Points (C2 and C3), not between trading partners. As a Maventa integrator you do not send or receive MLS messages yourself — Maventa handles them on your behalf and reflects the outcome in the invoice status and events you already consume.
MLS is a technical delivery status. It is not a business response. If you need the buyer to communicate an approval, rejection, or payment status, that is still an invoice response.
What changes for integrators
- Better failure visibility. Today a document that the receiving Access Point cannot pass on to the recipient can fail silently. MLS makes that case reportable, with a dedicated failed delivery reason.
- Faster feedback. From the end of the transition, Peppol enforces a service level on status turnaround: for documents under 10 MB, 99.5% of statuses must reach the sending Access Point within 25 minutes.
-
MLR goes away. The
MESSAGE_LEVEL_RESPONSEprofile is being retired network-wide.
Timeline
OpenPeppol has published a phased rollout. The dates below come from the Peppol MLS Phase-In and Peppol MLR Deprecation and Phase-out plans.
| Date | Milestone |
|---|---|
| 1 July 2026 | Specifications in force. Access Points begin implementing. |
| 28 February 2027 | All Access Points must be able to receive MLS, with the capability registered in the SMP. |
| 31 March 2027 | Sending MLS becomes mandatory. Service levels become enforceable. |
| 1 May 2027 | MLR fully retired — no Access Point may send or receive it. Planned date; the phase-out plan is still under member review. |
If your integration reads MESSAGE_LEVEL_RESPONSE documents from the Documents endpoint, plan to remove that handling. Do not register new companies for the MLR profile.
MLS support is currently being implemented at Maventa, in line with the OpenPeppol timeline. No action is required from integrators — we will announce the release in the developer changelog, including what MLS-derived statuses look like on invoices and documents.
For the full specifications, see the Peppol eDelivery documentation.