Skip to main content

EMPeppol — Peppol Electronic Invoicing for Dolibarr

EMPeppol connects your Dolibarr ERP to the European Peppol network via the Peppyrus access point. It allows you to send and receive electronic invoices in UBL format, compliant with the EN 16931 and Peppol BIS Billing 3.0 standards, directly from your Dolibarr interface.

EMPeppol setup wizard

What is Peppol?

Peppol (Pan-European Public Procurement OnLine) is a standardised international network for exchanging electronic business documents. Used in over 30 countries, it is:

  • Mandatory for B2G (Business-to-Government) invoicing in most EU countries
  • Mandatory in Belgium for B2B starting 2026
  • The reference standard for electronic invoicing in Europe

Why EMPeppol?

  • Native integration — Send and receive your Peppol invoices directly from Dolibarr, without third-party software
  • Free and unlimited sending — Thanks to Peppyrus, no cost per exchanged document. You pay for the module once, that's it
  • Full compliance — EN 16931, Peppol BIS 3.0, VATEX codes, Invoice Message Response
  • 5-minute setup — A setup wizard guides you step by step
  • Multiple file attachments — Attach the invoice PDF and other documents to the UBL file
  • Compatible with Dolibarr 17 to 23 — PHP 7.4 to 8.3, Multicompany supported

Prerequisites

Component Minimum version
Dolibarr 17.0 or higher
PHP 7.4 or higher
PHP Extensions soap, xml, json, curl

You will also need a Peppyrus account (the Peppol access point used by EMPeppol). Your API key will be provided upon subscription.

Note: EMPeppol is compatible with Dolibarr multi-entity installations (Multicompany). Each entity can have its own configuration.


Installation

From the DoliStore

  1. Go to the DoliStore and search for EMPeppol
  2. Purchase the module and download the ZIP archive
  3. Extract the archive into the htdocs/custom/ folder of your Dolibarr installation
  4. The final folder should be htdocs/custom/empeppol/

Activation

  1. Log in to Dolibarr as an administrator
  2. Go to Home → Setup → Modules/Applications
  3. Search for "EMPeppol" and click Enable

A new EMPeppol menu appears in your navigation bar.


Initial Configuration (Wizard)

On first access, a setup wizard guides you through 6 steps.

Step 1: Peppyrus API Key

Enter your Peppyrus API key. The connection is tested automatically.

API key configuration

Tip: If you don't have an API key yet, contact Peppyrus to obtain one. EMPeppol works in both test and production environments.

Step 2: Organisation Verification

EMPeppol automatically retrieves your organisation information from Peppyrus: name, VAT number, associated Peppol participants. Select the sender participant matching your company.

Organisation verification

Step 3: Sending Mode

Choose your preferred sending mode:

  • Manual: a send button on each invoice — you stay in control
  • Automatic: invoices are sent as soon as they are validated in Dolibarr

You can also enable automatic discovery of your customers' Peppol identifiers.

Sending mode selection

Step 4: Reception

Enable incoming supplier invoice reception and configure automatic creation of unknown supplier third parties.

Reception configuration

Step 5: VAT Mapping

Configure the correspondence between your Dolibarr VAT rates and Peppol categories. EMPeppol offers smart auto-detection that does the work for you in one click.

Step 6: Summary

The wizard displays a summary of your configuration and confirms that everything is operational.

Configuration complete


Sending Invoices

Preparing an Invoice

For an invoice to be sent via Peppol, it must meet these conditions:

  • The invoice must be validated (status "Unpaid" or higher)
  • The customer must have a Peppol identifier filled in (company number, GLN, etc.)
  • The invoice VAT rates must be mapped in the VATEX configuration

Sending an Invoice

  1. Open the invoice in Dolibarr
  2. Click on the Peppol tab
  3. Review the summary and recipient information
  4. Click Send via Peppol

The system generates the UBL document, sends it via Peppyrus and displays the status in real time.

Sending a Peppol invoice

Multiple File Attachments

EMPeppol allows you to attach multiple files to the UBL invoice sent over the Peppol network. In addition to the invoice PDF (included automatically), you can add annexes, purchase orders, plans or any other relevant document.

File attachment selection

The recipient receives a complete package with the invoice and all supporting documents — directly in their accounting system.

Sending Statuses

Status Description
Pending The invoice is ready but has not yet been sent
Sent The invoice has been transmitted to the Peppol network
Delivered The recipient has acknowledged receipt
Error Sending failed (see the error message)

Sending Queue

EMPeppol manages a sending queue for invoices in automatic mode. You can view pending invoices, resend them manually or process them in bulk.

Sending queue

For experts: The sending queue can be configured with a start date (for historical catch-up), a maximum number of retry attempts, and scheduled tasks (cron) for automatic processing and status verification.


Receiving Invoices

EMPeppol automatically receives incoming supplier invoices via the Peppol network and integrates them into Dolibarr.

How It Works

  1. EMPeppol periodically queries Peppyrus for new documents
  2. Each received document is parsed and converted into a Dolibarr supplier invoice
  3. If the sender matches an existing third party, the invoice is linked automatically
  4. Otherwise, a new supplier third party is created (if the option is enabled)
  5. Invoice lines are created with the amounts, VAT rates and descriptions from the Peppol document

Received Invoice List

Peppol purchase invoice list

Payment QR Code

For received purchase invoices, EMPeppol displays an EPC QR code allowing quick payment via bank scan. Structured communication is supported.

Received invoice with payment QR code

For experts: In expert mode, you can configure automatic validation of received invoices, automatic document acknowledgement (MLR), synchronisation frequency, and stored attachments (source XML/UBL file).


Peppol Messaging (Invoice Message Response)

EMPeppol handles full Peppol responses (IMR — Invoice Message Response), a rare feature among Dolibarr modules. It works for both purchase and sales invoices.

Supported Response Types

Response Description
Acknowledgement Confirmation that the document was received
Acceptance The recipient accepts the invoice
Rejection with reason The recipient rejects the invoice and explains why
Payment notification The recipient signals that payment has been made

Complete Workflow

Peppol response history

For experts: Automatic acknowledgements (MLR) can be configured to automatically respond to received documents, in compliance with Peppol requirements.


Peppol Discovery & Multi-ID

EMPeppol automatically detects whether your customers are registered on the Peppol network based on their VAT number.

Automatic Peppol customer discovery

Features

  • Bulk discovery: scan all your customers in one click to find those on Peppol
  • Multi-ID: a customer can have multiple Peppol identifiers (company number, GLN, etc.). EMPeppol manages them all and lets you choose the right one when sending
  • Peppol tab on third party card: view detected identifiers, Peppol status and exchange history

Peppol tab on third party card


VAT / VATEX Mapping

VAT mapping is essential for Peppol compliance. It establishes the correspondence between your Dolibarr VAT rates and Peppol categories.

VAT / VATEX mapping

Common VAT Codes

Code Description Usage
S Standard Standard VAT rate (21%, 6%, etc.)
Z Zero rated 0% rate with right to deduct
E Exempt VAT exempt
AE Reverse charge Reverse charge (intra-community)
G Export Export outside the EU

EMPeppol offers smart auto-detection that automatically maps your rates to the correct categories. You can also use the one-click pre-configuration for standard cases.

Important: Make sure to map all your VAT rates in use before sending invoices. An unmapped rate will cause an error when sending.


Tracking & Statistics

The EMPeppol dashboard gives you a complete overview of your Peppol exchanges.

Statistics dashboard

  • Breakdown by status: delivered, pending, failed — with amounts
  • Monthly history: sending and reception trends over time
  • Sending queue: bulk processing of pending invoices
  • Peppol columns in the invoice list: view the Peppol status directly from your invoice lists

Invoice list with Peppol status


Advanced Configuration

Simple Mode vs Expert Mode

EMPeppol offers two configuration modes:

  • Simple Mode: essential options, perfect for getting started quickly
  • Expert Mode: all customisation options for full control

Full configuration in expert mode

Advanced Sending Options

Expert mode sending settings

  • Sending queue: configurable start date for historical catch-up
  • Automatic retry: maximum number of attempts on failure
  • Scheduled tasks: automatic queue processing and status verification via cron
  • Events: trigger actions on invoice events (validation, sending)

Advanced Reception Options

Expert mode reception settings

  • Automatic validation: automatically validate received supplier invoices
  • Automatic acknowledgement: automatically respond to documents (MLR)
  • Invoice Response: send automatic responses (acknowledgement, acceptance)
  • Attachments: store the source XML/UBL file
  • Synchronisation frequency: configurable to suit your needs

Other Options

  • Debug mode: detailed logs in documents/empeppol/logs/
  • API timeout: maximum wait time for Peppyrus API calls (default: 30s)
  • Document storage: local storage of UBL documents
  • Webhook: callback URL for reception notifications

Maintenance and Diagnostics

Go to EMPeppol → Maintenance to check the status of your installation:

  • API connection: connectivity test with Peppyrus
  • PHP extensions: verification of soap, xml, curl
  • Configuration: module settings validation
  • Logs: view sending and reception logs (debug mode)

Common Issues

Sending fails with "Invalid participant" → Verify that the recipient's Peppol identifier is correct and that they are registered on the network.

"VATEX mapping missing" → A VAT rate used in the invoice has no Peppol correspondence. Configure it in the VAT mapping.

API connection error → Check your API key, test connectivity from the Maintenance page, and make sure your server can reach the Peppyrus API (no firewall blocking).

Received invoices don't create third parties → Check that automatic supplier creation is enabled in the reception settings.

Statuses remain "Sent" without moving to "Delivered" → Status verification requires a scheduled task. Configure it in the advanced sending settings or run it manually.


FAQ

Which countries are supported?

All countries connected to the Peppol network: most EU countries, the United Kingdom, Singapore, Australia, New Zealand and others. Over 30 countries in total.

Does EMPeppol work with multi-entity?

Yes. Each Dolibarr entity can have its own configuration, API key and Peppol participant.

What invoice format is used?

The UBL 2.1 format compliant with the Peppol BIS Billing 3.0 profile, the European standard for electronic invoicing compliant with the EN 16931 norm.

Can I send credit notes?

Yes, EMPeppol supports sending credit notes. The process is identical to sending invoices.

Can I attach files to invoices?

Yes. The invoice PDF is automatically included in the UBL file, and you can add other documents (annexes, purchase orders, etc.) before sending.

Are there per-send fees?

No. With the Peppyrus access point, sending and receiving are free and unlimited. You pay for the module once.

How do I migrate from another Peppol module?

  • If your current module already uses Peppyrus: sending history recovery is possible
  • From another access point: set a start date and new invoices will be sent via EMPeppol
  • In all cases, you save in the long term thanks to no subscription fees

How do I update the module?

  1. Download the new version from the DoliStore
  2. Replace the files in htdocs/custom/empeppol/
  3. Access Dolibarr — the module detects the update and applies migrations automatically

Where can I find help?

  • E-dem support: Contact us for any technical questions
  • Peppol documentation: peppol.eu for network specifications