Get Ready PEPPOL- 2026

Transform your invoicing process with seamless, compliant, and automated PEPPOL integration

odoo integration workflow with peppol

​ Discover how Odoo makes PEPPOL e-invoicing effortless, compliant, and ready for the EU’s 2026 

​Europe is entering a new era of digital finance.

Starting 1st January 2026, e-invoicing becomes mandatory for all European companies, marking one of the biggest transformations in business operations in decades. Traditional paper invoices and emailed PDFs will no longer meet compliance standards. Instead, businesses will be required to exchange invoices in a structured, government-approved e-invoicing format.

At the heart of this shift lies PEPPOL, the global network trusted by governments and enterprises for secure electronic document exchange.

And with the release of Odoo, companies now have a powerful, ready-to-use PEPPOL integration that makes this transition not just compliant—but smooth, efficient, and future-proof.

What Exactly Is PEPPOL? 

PEPPOL (Pan-European Public Procurement Online) is a secure digital network that allows businesses and public authorities to exchange e-invoices and other procurement documents in a standardized format.

PEPPOL ensures:
- Faster delivery
- Verified and traceable transmission
- Universal interoperability
- Compliance with EU e-invoicing laws

Today, PEPPOL has evolved into a global standard, already adopted by more than 30 countries. 
As Europe prepares for mandatory e-invoicing, PEPPOL is no longer just a benefit—it’s becoming a legal requirement.

Peppol Four Corner Model

Countries Supported

The following countries are eligible for PEPPOL registration in Odoo - As of November 2025. Countries marked in Blue Colour.


Andorra

Germany

Ireland

Malta

San Marino

Albania

Denmark

Iceland

Netherlands

Turkey

Austria

Estonia

Italy

Norway

Holy See (Vatican City State).

Bosnia

Spain

Liechtenstein

Poland

Czech Republic

Herzegovina

Finland

Lithuania

Portugal

Hungary

Belgium

France

Luxembourg

Romania

North Macedonia

Bulgaria

United Kingdom

Latvia

Serbia

Slovakia

Switzerland

Greece

Monaco

Sweden


Cyprus

Croatia

Montenegro

Slovenia



Formats Supported:

 Supported formats for sending documents include BIS Billing 3.0, XRechnung CIUS, and NLCIUS

Why PEPPOL Matters for Modern Businesses?

Advantages Of E invoicing

1. Compliance with the 2026 Mandate

The biggest advantage: PEPPOL ensures your invoices are accepted under evolving EU regulations. Avoid penalties and stay ahead of the curve. 

2. Faster Payments

Structured validated invoices reach customers instantly—resulting in quicker approvals and shorter payment cycles. 

3. Lower Administrative Costs 

Automated document delivery reduces reliance on manual entry, email exchanges, and human verification. 

4. Enhanced Accuracy & Data Quality 

Standardized data formats drastically reduce errors, disputes, and rejections. 

5. Secure & Verified Delivery 

Every invoice is transmitted via certified Access Points, ensuring security, traceability, and guaranteed receipt. 

6. International Reach 

Once connected, you can send compliant invoices to any PEPPOL participant worldwide. No additional integrations needed.

Why Companies Should Act Now:

The 2026 deadline is approaching fast—and early adopters are already enjoying the benefits:

  • Reduced administrative burden

  • Faster payment turnaround

  • Streamlined accounting workflows

  • Centralized document exchange

  • Zero compliance worries

  • A modern, digitalized finance operation

While others scramble last minute, your business can run ahead with a mature, tested e-invoicing setup.

How to Configure PEPPOL in Odoo? 

Step 1: To use PEPPOL functionality, in Odoo Apps, 3 modules should be installed 

  1. Account_PEPPOL 
  2. Account_PEPPOL_advanced_fields 
  3. Documents_account_PEPPOL

PEPPOL functionality


Step 2: Go to Accounting -> Configuration
You will be able to see an option named Active Electronic Invoicing
Click on it

Peppol ELectronic Invoicing


Step 3: Odoo will ask you to select the Company registry type. Here, you can select a different country-specific registry. You will have to define a Registry number, Email ID, and Phone number. After that, click on Activate PEPPOL

Peppol- activate electronic invoicing

After successfully linking, Odoo will generate a success notification

Peppol Accounting


Afterward, in the PEPPOL configuration, you will have 2 options: to manage via

1. Receive in Journal - Here, you will have to define an Invoice Journal
Incoming PEPPOL vendor invoices will go directly into the Accounting → Vendor Bills section.

Odoo will:

  • Create a draft Vendor Bill automatically
  • Fill in vendor details, invoice lines, totals, VAT, etc.
  • Attach the original PEPPOL XML
  • Create a PDF preview

    This is best when:
  • You want invoices to be created automatically
  • our accounting team works mainly inside Accounting → Bills
  • You don’t use Odoo Documents module

Peppol - Receive In Journal

2. Receive in Documents - Here you can define a Document folder or via a Document tag
Incoming PEPPOL invoices will first arrive in the Documents app, NOT directly in Accounting.

Odoo will:
- Put the XML and PDF inside the specified Document Folder
- Add tags if selected
- Wait for a user to review/approve in Documents
- Only convert to a bill when you click "Create Vendor Bill"

This is best when:

  • You want a workflow, like: Received → Confirm → Approve → Convert to Bill
  • You store invoices centrally in Odoo Documents
  •  You want approvals before the bill is created

Peppol - Receive In Documents

Customer configuration

Step 1: By going to Customer master, in the Accounting tab, you will have to perform the following steps under the Customer Invoices section

Step 2: 1. Set Invoice sending: by PEPPOL -

peppol invoice sending


2. Set eInvoice Format - You can set it as per the customer’s choice. Here, we have 

e invoice Formate


3. Belgian Company Registry - write down Endpoint for PEPPOL

Invoicing Sending


Step 3: You will be asked to verify customer details with PEPPOL. There is A Verify button that will be displayed; click on the Verify button to verify customer registration details with PEPPOL

peppol - Customer Invoices


Step 4: Now, create an invoice for that customer with invoice lines, and post it.

Peppol - invoice


Step 5: When you click on the Send button, a wizard will pop up in which you can see an option to send by PEPPOL

send by PEPPOL


Step 6: After doing that operation, a process log will be generated as shown in the figure, also the system will generate a file for UBL XML format, as we did the configuration for that customer earlier
Peppol Invoices


Step 7: By going to the list view of invoices, under PEPPOL Status, you will be able to see the Current status here

Peppol Invoice Status


Peppol Incvoices


Apart from only sending an invoice to PEPPOL, you can also be able to manage the details of the Advanced PEPPOL configuration to manage

  • Contract Document Reference
  • Project Reference
  • Originator Document Reference
  • Despatch Document Reference
  • Additional Document Reference
  • Accounting Cost
  • Delivery Location - GLN
  • XML Invoice - Odoo automatically attaches an XML file when the status of this Invoice with PEOPPL becomes successful

The user will also be able to select multiple invoices from the list view, and will also be able to send them via the PEPPOL option

 via the PEPPOL option


By clicking on the Documents smart icon, you will be able to see attached copy of Invoices and XML UBL document for this customer

peppol document

Invoices Peppol


In case when Odoo maps customer Invoice data with PEPPOL and finds some irrelevant data for that customer or Invoice lines, the system will generate a warning while sending the customer Invoice to Peoppl


Condition 1: Each Invoice line should have at least one tax defined
Condition 2: Each Invoice line should have only one tax
Condition 3: Each Invoice line should have a product or a label

Peppol invalid Operation


Self-Billing through PEPPOL

If activated, as a customer, you will be able to send and receive self-billed invoices via PEPPOL

Because some companies don't receive vendor bills from some vendors, in this case, they can be able to create a self-billing and then will be able to send it to their suppliers as a Sales Invoice

Step 1:For this, please go to Accounting -> Settings -> Peppol Configuration
Go to Advanced Configuration

Peppol - Advanced Configuration


Step 2: From the wizard, you will have to enable an option named Self Billing

Active Self Billing - Peppol - Advanced Configuration

Step 3: While self-billing, we will have to create a separate journal in Odoo as this is a legal requirement, so that they won't match with the normal journal


Go to Accounting -> Journal -> Create a Self Billing Journal with Journal type as Purchase

Peppol - Journal

Go to the Advanced Settings of the Journal and enable the option named Self-billing

peppol self billing

Important: Unless and until you will not enable Self Billing option in Journal, you will not be able to send a vendor bill to the vendor via Odoo via PEPPOL

Step 4: Go to the Accounting Dashboard and proceed with the Self-billing Journal

Peppol - Self-billing Journal


Step 5: Create a vendor bill with vendor bill lines
Please note: A vendor should also be registered with PEPPOL

Peppol -  Create a vendor bill with vendor bill lines


Step 6: Click on the Send button, and a wizard will pop up. From there, select an option named By PEPPOL, then click on the Send button

peppol dashboard/ bill


Step 7: After an invoice is sent to PEPPOL, in the Chatter part, you will be able to see the PEPPOL status

peppol

By clicking on the Vendor bill action button, you will also be able to refresh the e-Invoice status

Peppol - Refresh e Invoices Status


Step 8: After the PEPPOL status becomes Done, you will be able to see the relevant message in Odoo chatter from the same record

Peppol


Step 9: Afterward, by going to Documents, you will be able to see an invoice copy along with UBL BIS 3 XML format

peppol purchase

self billing in peppol

Scheduled Actions - Odoo

To manually trigger the scheduled action used to check the PEPPOL registration status, enable developer mode, open the Settings app, go to Settings ‣ Technical ‣ Scheduled actions, and search for PEPPOL: update participant status. Open the scheduled action, then click Run Manually.

schedule action - Peppol

Use of each Odoo Scheduler

Scheduler 1: PEPPOL: Retrieve new documents - This scheduler fetches new incoming PEPPOL documents from your PEPPOL Access Point (AP).

Why is it important?
Without this, Odoo wouldn’t automatically receive new vendor invoices from PEPPOL.
Result in Odoo

Result in Odoo
Depending on your setting:
-> If “Receive in Journal” → Creates Vendor Bill
-> If “Receive in Documents” → Stores XML/PDF in Documents folder

Depending on your setting:
-> If “Receive in Journal” → Creates Vendor Bill
-> If “Receive in Documents” → Stores XML/PDF in Documents folder

Scheduler 2: PEPPOL: Update Message Status - This scheduler checks the delivery status of all outgoing PEPPOL documents (invoices, credit notes, etc.).
Status includes: Pending, Sent, Delivered, Rejected, Accepted, Failed

Why is it important?
PEPPOL deliveries are asynchronous — the recipient’s Access Point may send status updates hours later.

This scheduler keeps Odoo up-to-date by pulling the latest message status from the PEPPOL network.

Result in Odoo:
You see updated delivery statuses under:
Accounting → E-Invoicing → PEPPOL Messages

Scheduler 3: PEPPOL: update participant status - This scheduler checks the status of your own company’s PEPPOL registration and the validity of your endpoint on the PEPPOL SMP (Service Metadata Publisher).

It verifies things like:
- Your PEPPOL Endpoint is active
- Correct document types are registered
- Your SMP registration is valid
- Your company is discoverable on the PEPPOL network

Why is it important?
PEPPOL endpoints can expire, get disabled, or require re-validation by your Access Point.
This automated check prevents failed deliveries due to outdated endpoint metadata.

Result in Odoo:
PEPPOL onboarding screen shows updated connection/activation state.

Scheduler 4. POPPOL: Webhook keep alive - This verifies and maintains the webhook connection between Odoo and your PEPPOL Access Point.

A "webhook" means your AP can automatically notify Odoo when:
- A new invoice arrives
- A message status changes
- A delivery is updated

Why it’s important:
Some Access Points automatically deactivate inactive or expired webhook URLs.
This keeps your webhook active so that real-time notifications continue to work.

Result in Odoo:
Ensures real-time updates for incoming documents and message statuses remain functional.

How to Switch b/w Demo and Production mode of PEPPOL in Odoo?

To try PEPPOL without sending real data, enable demo mode by selecting Odoo Demo ID as the PEPPOL endpoint identifier. To switch back to production mode, deregister from the demo mode and register in production.

Active einvoice by peppol


remove from peppol

Common FAQs

Because Odoo expects a pure 10-digit identifier (e.g., 0477472701), not BE0477472701 or 0208:0477472701.

You didn’t select an e-invoice format (BIS 3.0), or the customer has no PEPPOL ID set.

You didn’t select an e-invoice format (BIS 3.0), or the customer has no PEPPOL ID set.

Yes — enable Receive in Journal or Receive in Documents under PEPPOL settings.

Because “Receive in Documents” is selected, bills are created only after you convert them manually.

Odoo delivered it successfully via PEPPOL, but your AP returned a format or tax error afterward.

Your PEPPOL participant status is inactive — check the scheduled action: update participant status.

Using the scheduler “webhook keep alive” every 2 weeks.

The scheduler “retrieve new documents” is disabled or has failed.  

Because self-billing must follow a legally separate numbering from vendor bills.

Most common reasons:

  • Wrong endpoint scheme

  • Wrong tax configuration

  • Missing legal identifiers

Wrong document type (invoice vs credit note)

Yes — enable PEPPOL Test/Sandbox Mode in Odoo.

You must set a Self-Billing Journal + self-billing sequence + vendor PEPPOL ID.

Only limited/structured attachments — PDFs are sometimes rejected depending on country rules.

The customer's “Send by PEPPOL” setting overrides email by default.

in Odoo

POS Loyalty & Reward Program
Microsoft Teams