Introduction
Peppol (Pan-European Public Procurement On-Line) is a global network for electronic document exchange, widely adopted for e-invoicing across multiple countries. It provides a standardized protocol for companies to exchange business documents like invoices, credit notes, and purchase orders. The Peppol network is particularly popular in:- Nordic countries (Norway, Finland)
- Asia-Pacific region (Japan, Singapore, Malaysia, Australia, New Zealand)
- Several EU countries for business-to-government invoicing (Germany, Italy, Croatia)
Setup
Letโs prepare your workspace to work with Peppol. Weโll configure the Peppol app and create three workflows:- Invoice issuance workflow: Send invoices through the Peppol network
- Invoice reception workflow: Receive invoices from the Peppol network
- Party registration workflow: Programmatically onboard companies (Parties) with Invopop
1
Connect the Peppol app
- Within the Console, navigate to Configuration โ Apps
- Find the Peppol app in the list
- Click Connect to activate it. The Peppol app should now appear in the list of Enabled apps

2
Configure a workflow to issue invoices
Now weโll create the workflow that converts invoices to a valid Peppol format and sends them through the Peppol network. In this example, weโll generate a Peppol BIS Billing UBL 3.0 document.Skip this step if you only want to receive invoices via Peppol.
- Template
- Code
- Build from scratch
3
Configure a workflow to receive invoices
4
Configure the Peppol app
Within the Console, navigate to Configuration โ Apps, find the Peppol App and click Configure. Youโll need to set two fields:
- Incoming Workflow: Select the Receive Invoice Workflow created in Step 3. This is where the app will send incoming invoices (expenses) received from the Peppol network.
5
Configure a Party registration workflow
This workflow onboards companies (Peppol participants) to Invopop before they can issue or receive invoices. If youโre managing your own invoices only, you may use this workflow just once. However, if youโre offering Peppol to your customers through Invopop (white-label use case), youโll run this workflow for each merchant you onboard.
- Template
- Code
- Build from scratch
Running
After setup, you can perform three key operations with Peppol in Invopop: onboarding entities (parties) so they can use Peppol, sending invoices through Peppol, and receiving Peppol invoices.Registering parties
Business entities are represented in Invopop as GOBL org.party objects, which we call Parties. To register a party:- Upload it to the Silo
- Send it to the party registration workflow
Upload a party document
You can upload parties via the Create an Entry API endpoint or manually through the Console. For this guide, weโll demonstrate the manual process:- Find the Contacts section in the sidebar and click Suppliers
- Click + New Supplier to open the editor
- Enter the required information (or use the example below)
- Fiscal name
- Peppol participant ID
Example: Supplier
Example: Supplier
Peppol party example
Send to the registration workflow
Once the document is saved:- Click the Select Workflow button
- Select the Register Supplier workflow created during setup
- Click Run Workflow

Sending invoices
To send an invoice, you need to:- Store it as a Silo Entry
- Send it to the Sending Invoice Workflow created during setup
- Set the appropriate
$regimefield based on the issuerโs country (e.g.,NOfor Norway,FIfor Finland) - Add the
peppoladdon to enable Peppol-specific validations and extensions
Example: Peppol Invoice
Example: Peppol Invoice
Receiving invoices
Invopop automatically processes invoices received from the Peppol network using your configured Incoming Workflow. The workflow converts Peppol documents to GOBL format and creates Silo Entries for each invoice. Configure your workflow with webhooks or Google Drive integration to deliver these invoices to your systems.FAQ
Please contact the Invopop support team if you have any questions that are not listed here.What visibility do I need to have in my Peppol Party?
What visibility do I need to have in my Peppol Party?
The visibility of your Peppol Party determines what documents you can send and receive.
smp: Only SMPsmp+sml: SMP and SMLsmp+sml+peppol: SMP, SML, and Peppol
How can I disable Peppol for a Party?
How can I disable Peppol for a Party?
You can disable Peppol for a Party by running a workflow with the Register Peppol Party step and setting the Status to
Disabled.