Skip to main content

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)
Invopop allows you to send and receive documents through the Peppol network using a single integration while continuing to work with our GOBL format. This guide walks you through the steps to register a company in Invopop and then issue and receive invoices on its behalf.

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
If you only want to send invoices through Peppol, you can skip step 3 and 4 of the setup. Alternatively, if you only want to receive invoices through Peppol, you can skip step 2. The Peppol app is designed to only send and receive the document, generating and importing the appropriate file is delegated to format specific apps such as OASIS UBL or UN/CEFACT CII. This is done to keep the Peppol app simple and focused on the Peppol protocol, while allowing you to use the format that best suits your needs.
1

Connect the Peppol app

  1. Within the Console, navigate to Configuration โ†’ Apps
  2. Find the Peppol app in the list
  3. Click Connect to activate it. The Peppol app should now appear in the list of Enabled apps
Connect Peppol app
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.

Peppol issue invoice workflow

This workflow convert a GOBL document into the Peppol format and sends it to the network
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.
Congratulations! Your workspace is now configured to send and receive Peppol documents and programmatically onboard Peppol participants with Invopop.

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. Peppol requires Invopop to collect proof of ownership for regulatory compliance. As outlined in Section 3.3 End user Identification of the Internal Regulations II document, key details such as VAT number, address, contact information, and company name must be provided and validated during registration. To register a party:
  1. Upload it to the Silo with required company information
  2. 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:
  1. Find the Parties section in the sidebar and click Suppliers
  2. Click + New Supplier to open the editor
  3. Use one of the following examples and adapt to your needs
Belgium supplier example
{
    "$schema": "https://gobl.org/draft-0/org/party",
    "name": "Benelux Industries SA/NV",
    "tax_id": {
        "country": "BE",
        "code": "0316597904"
    },
    "addresses": [
        {
            "num": "42",
            "street": "Rue de la Loi",
            "locality": "Brussels",
            "region": "Brussels-Capital",
            "code": "1040",
            "country": "BE"
        }
    ],
    "emails": [
        {
            "addr": "[email protected]"
        }
    ]
}
The mandatory fields for Peppol registration are:
  • Company name (fiscal name)
  • VAT number (tax ID)
  • Complete company address
  • Contact information
  • Peppol Participant ID*
*If not provided, Invopop will assign a Participant ID during registration based on the VAT number and the country. After registration the supplier entry will be updated with their Peppol inbox:
  "inboxes": [
      {
          "key": "peppol",
          "scheme": "9920", // country schemeID
          "code": "ESB85905495" // Participant ID derived from VAT ID
      }
  ],
If the company has already been registered before or you need to set a specific participant ID, include this information so that it is not auto-generated. All fields are required for identity validation and proof of ownership verification. Click Build to validate the document, then Save.

Send to the registration workflow

Once the document is saved:
  1. Click the Select Workflow button
  2. Select the Register Supplier workflow created during setup
  3. Click Run Workflow
The execution should succeed, and the silo entryโ€™s state will change to Processing The first step creates a registration link that you can extract from the Meta tab or via the API:
Sending party to the registration workflow
This link leads to a web form where you can upload proof of ownership documents and confirm your company details:
Peppol registration wizard
After submitting the web form, Invopop will be notified and will validate your information within 72 hours. The approval status will be shown in the Meta tab of the entry.

Programmatic registration (white-label)

For programmatic integration, upload the proof of ownership document using the API. This is particularly useful for white-label implementations when you want to integrate the registration process into your own application. After using this API endpoint the verification process will begin automatically.

Completion

After Invopop approves your registration, your party will be registered in the Peppol network. Youโ€™ll see the Peppol Participant ID in the Meta tab of the entry, and the GOBL document will contain an inboxes array.
Peppol inboxes
Participant IDs are represented as inboxes within a Party record because they function as network addressesโ€”the location where invoices are sent to and received from. The party can now send and/or receive invoices in Peppol via Invopop.

Unregistering a participant

If you need to unregister an entity (because the supplier is no longer your client, for example), use the following workflow template:
Example Peppol unregister party workflow
{
    "name": "Peppol unregister party",
    "description": "Revoke participant permissions to issue and receive documents",
    "schema": "org/party",
    "steps": [
        {
            "id": "77b7c460-adc5-11f0-abd8-03a58bc40d2a",
            "name": "Register Peppol Party",
            "provider": "peppol.register",
            "summary": "Disable Party",
            "config": {
                "disable": true,
                "visibility": "smp+sml+peppol",
                "doc_groups": []
            }
        },
        {
            "id": "7e79f610-adc5-11f0-abd8-03a58bc40d2a",
            "name": "Set State",
            "provider": "silo.state",
            "summary": "Set state to `void`{.state .void}",
            "config": {
                "state": "void"
            }
        }
    ],
    "rescue": [
        {
            "id": "9141b350-adc5-11f0-abd8-03a58bc40d2a",
            "name": "Set State",
            "provider": "silo.state",
            "summary": "Set state to `error`{.state .error}",
            "config": {
                "state": "error"
            }
        }
    ]
}

Sending invoices

To send an invoice, you need to store it as a Silo Entry with the
  1. Store it as a Silo Entry with the Peppol inboxes previously obtained.
  2. Send it to the Sending Invoice Workflow created during setup
You can perform these steps manually via the Console or programmatically via the API using the Create an Entry and Create a Job endpoints. For API usage, refer to our quickstart guide. When creating your invoice, ensure you add the eu-en16931-v2017 addon to enable validations and extensions needed for Peppol
Regular invoices are used for B2B transactions. Regular invoices must be issued when:
  • The customer is a registered business (has a tax identification number).
  • The customer needs a complete invoice with all tax details for accounting or tax purposes.
To create a regular invoice, include the eu-en16931-v2017 addon and ensure the customer field contains valid tax identification details. The addon will automatically set the document type to 380 when the silo entry is built (which happens automatically when saving a silo entry through the API or console).
{
    "$schema": "https://gobl.org/draft-0/bill/invoice",
    "$regime": "BE",
    "$addons": [
        "eu-en16931-v2017"
    ],
    "type": "standard",
    "series": "INV",
    "code": "PP000003",
    "issue_date": "2025-04-03",
    "currency": "EUR",
    "supplier": {
        "name": "Benelux Industries SA/NV",
        "tax_id": {
            "country": "BE",
            "code": "0316597904"
        },
        "inboxes": [
            {
                "key": "peppol",
                "scheme": "0208",
                "code": "0316597904"
            }
        ],
        "addresses": [
            {
                "num": "42",
                "street": "Rue de la Loi",
                "locality": "Brussels",
                "region": "Brussels-Capital",
                "code": "1040",
                "country": "BE"
            }
        ],
        "emails": [
            {
                "addr": "[email protected]"
            }
        ]
    },
    "customer": {
        "name": "Benelux Industries SA/NV",
        "tax_id": {
            "country": "BE",
            "code": "0859536301"
        },
        "inboxes": [
            {
                "key": "peppol",
                "scheme": "0208",
                "code": "0859536301"
            }
        ],
        "addresses": [
            {
                "num": "127",
                "street": "Avenue Louise",
                "locality": "Ixelles",
                "region": "Brussels-Capital",
                "code": "1050",
                "country": "BE"
            }
        ],
        "emails": [
            {
                "addr": "[email protected]"
            }
        ]
    },
    "lines": [
        {
            "i": 1,
            "quantity": "12",
            "item": {
                "name": "Sambox services",
                "price": "145.00",
                "unit": "one"
            },
            "sum": "1740.00",
            "taxes": [
                {
                    "cat": "VAT",
                    "rate": "general"
                }
            ],
            "total": "1740.00"
        }
    ],
    "payment": {
        "terms": {
            "detail": "Will be paid by 2026-06-02"
        }
    }
}
Goods and services that are subject to VAT but taxed at a 0% rate. Zero rated goods in Belgium are:
  • Daily and weekly newspapers, as well as periodical publications that meet a specific criteria.
  • Recyclable materials such as waste and scrap intended for recycling.
  • Educational materials under specific conditions.
To create an invoice with zero rated goods, use the tax key zero in your invoice lines. The eu-en16931-v2017 addon will automatically set the UNTDID 5305 tax category to Z (zero rated goods) when the silo entry is built.
With zero-rated supplies, businesses can still reclaim input VAT on their purchases, whereas with exempt supplies they cannot.
{
    "$schema": "https://gobl.org/draft-0/bill/invoice",
    "$regime": "BE",
    "$addons": [
        "eu-en16931-v2017"
    ],
    "type": "standard",
    "series": "INV",
    "code": "PP000003",
    "issue_date": "2025-04-03",
    "currency": "EUR",
    "supplier": {
        "name": "Benelux Industries SA/NV",
        "tax_id": {
            "country": "BE",
            "code": "0316597904"
        },
        "inboxes": [
            {
                "key": "peppol",
                "scheme": "0208",
                "code": "0316597904"
            }
        ],
        "addresses": [
            {
                "num": "42",
                "street": "Rue de la Loi",
                "locality": "Brussels",
                "region": "Brussels-Capital",
                "code": "1040",
                "country": "BE"
            }
        ],
        "emails": [
            {
                "addr": "[email protected]"
            }
        ]
    },
    "customer": {
        "name": "Benelux Industries SA/NV",
        "tax_id": {
            "country": "BE",
            "code": "0859536301"
        },
        "inboxes": [
            {
                "key": "peppol",
                "scheme": "0208",
                "code": "0859536301"
            }
        ],
        "addresses": [
            {
                "num": "127",
                "street": "Avenue Louise",
                "locality": "Ixelles",
                "region": "Brussels-Capital",
                "code": "1050",
                "country": "BE"
            }
        ],
        "emails": [
            {
                "addr": "[email protected]"
            }
        ]
    },
    "lines": [
        {
            "i": 1,
            "quantity": "1",
            "item": {
                "name": "Het Laatste Nieuws",
                "price": "2.00",
                "unit": "one"
            },
            
            "taxes": [
                {
                    "cat": "VAT",
                    "key": "zero"
                }
            ],
            "total": "2.00"
        }
    ],
    "payment": {
        "terms": {
            "detail": "Will be paid by 2026-06-02"
        }
    }
}
Exempt invoices are used for B2B transactions that are exempt from VAT, which also covers exemptions in internal operations.To create an exempt invoice, use the tax key exempt in your invoice lines. The eu-en16931-v2017 addon will automatically set the UNTDID 5305 tax category to E when the silo entry is built. You must also state the reason for the exemption through the CET VATEX - VAT exemption reason codes.
Exempt operations are not subject to VAT but must still be reported. The supplier must be previously registered with the tax authority and the customer tax id must be valid.
{
    "$schema": "https://gobl.org/draft-0/bill/invoice",
    "$regime": "BE",
    "$addons": [
        "eu-en16931-v2017"
    ],
    "type": "standard",
    "series": "INV",
    "code": "PP000003",
    "issue_date": "2025-04-03",
    "currency": "EUR",
    "supplier": {
        "name": "Benelux Industries SA/NV",
        "tax_id": {
            "country": "BE",
            "code": "0316597904"
        },
        "inboxes": [
            {
                "key": "peppol",
                "scheme": "0208",
                "code": "0316597904"
            }
        ],
        "addresses": [
            {
                "num": "42",
                "street": "Rue de la Loi",
                "locality": "Brussels",
                "region": "Brussels-Capital",
                "code": "1040",
                "country": "BE"
            }
        ],
        "emails": [
            {
                "addr": "[email protected]"
            }
        ]
    },
    "customer": {
        "name": "Singapore Company LTD",
        "tax_id": {
            "country": "SG",
            "code": "199904785Z"
        },
        "inboxes": [
            {
                "key": "peppol",
                "scheme": "0195",
                "code": "SGUEN199904785Z"
            }
        ],
        "addresses": [
            {
                "street": "18 Marina Gardens Drive",
                "locality": "Singapore",
                "region": "Central Region",
                "code": "018953",
                "country": "SG"
            }
        ],
        "emails": [
            {
                "addr": "[email protected]"
            }
        ]
    },
    "lines": [
        {
            "i": 1,
            "quantity": "12",
            "item": {
                "name": "Sambox product",
                "price": "145.00",
                "unit": "one"
            },
            "sum": "145.00",
            "taxes": [
                {
                    "cat": "VAT",
                    "key": "export"
                }
            ],
            "total": "145.00"
        }
    ],
    "payment": {
        "terms": {
            "detail": "Will be paid by 2026-06-02"
        }
    }
}
Reverse charge invoices are used for B2B services provided to customers in other EU member states. Reverse charge must be applied when:
  • The customer is a registered business in another EU member state (has a valid EU VAT ID).
  • The service is provided to a business customer (B2B), not a consumer.
  • The service is subject to VAT but the customer accounts for the VAT in their own country.
To create a reverse charge invoice, use the tax key reverse-charge in your invoice lines. The eu-en16931-v2017 addon will automatically set the UNTDID 5305 tax category to AE (reverse charge) when the silo entry is built.
With reverse charge, no VAT is charged by the supplier. The customer accounts for VAT in their own country. Both supplier and customer VAT ID must be valid and registered in the EU VIES system.
{
    "$schema": "https://gobl.org/draft-0/bill/invoice",
    "$regime": "BE",
    "$addons": [
        "eu-en16931-v2017"
    ],
    "type": "standard",
    "series": "INV",
    "code": "PP000003",
    "issue_date": "2025-04-03",
    "currency": "EUR",
    "supplier": {
        "name": "Benelux Industries SA/NV",
        "tax_id": {
            "country": "BE",
            "code": "0316597904"
        },
        "inboxes": [
            {
                "key": "peppol",
                "scheme": "0208",
                "code": "0316597904"
            }
        ],
        "addresses": [
            {
                "num": "42",
                "street": "Rue de la Loi",
                "locality": "Brussels",
                "region": "Brussels-Capital",
                "code": "1040",
                "country": "BE"
            }
        ],
        "emails": [
            {
                "addr": "[email protected]"
            }
        ]
    },
    "customer": {
        "name": "Invopop SL",
        "tax_id": {
            "country": "ES",
            "code": "B85905495"
        },
        "inboxes": [
            {
                "key": "peppol",
                "scheme": "9920",
                "code": "ESB85905495"
            }
        ],
        "addresses": [
            {
                "street": "Calle Pradillo 42",
                "locality": "Madrid",
                "region": "Madrid",
                "code": "28002",
                "country": "ES"
            }
        ],
        "emails": [
            {
                "addr": "[email protected]"
            }
        ]
    },
    "lines": [
        {
            "i": 1,
            "quantity": "12",
            "item": {
                "name": "Sambox services",
                "price": "145.00",
                "unit": "one"
            },
            "sum": "1740.00",
            "taxes": [
                {
                    "cat": "VAT",
                    "key": "reverse-charge"
                }
            ],
            "total": "1740.00"
        }
    ],
    "payment": {
        "terms": {
            "detail": "Will be paid by 2026-06-02"
        }
    }
}
Intra-community supply invoices are used for B2B goods delivered to customers in other EU member states. Intra-community supplies must be applied when:
  • The customer is a registered business in another EU member state (has a valid EU VAT ID).
  • Goods are physically delivered to another EU member state.
  • The supply is exempt from VAT in the origin country and subject to VAT in the destination country.
To create an intra-community supply Peppol invoice, use the tax key intra-community in your invoice lines. The eu-en16931-v2017 addon will automatically set the UNTDID 5305 tax category to K (VAT exempt for EEA intra-community supply of goods and services) when the silo entry is built.
With intra-community supplies in the EU, the customer accounts for VAT in their destination country. The supplier must be previously registered with the tax authority and the customer VAT ID must be valid and registered in the EU VIES system.
{
    "$schema": "https://gobl.org/draft-0/bill/invoice",
    "$addons": [
        "eu-en16931-v2017"
    ],
    "$regime": "BE",
    "type": "standard",
    "series": "INV",
    "code": "PP000003",
    "issue_date": "2025-04-03",
    "currency": "EUR",
    "supplier": {
        "name": "Benelux Industries SA/NV",
        "tax_id": {
            "country": "BE",
            "code": "0316597904"
        },
        "inboxes": [
            {
                "key": "peppol",
                "scheme": "0208",
                "code": "0316597904"
            }
        ],
        "addresses": [
            {
                "num": "42",
                "street": "Rue de la Loi",
                "locality": "Brussels",
                "region": "Brussels-Capital",
                "code": "1040",
                "country": "BE"
            }
        ],
        "emails": [
            {
                "addr": "[email protected]"
            }
        ]
    },
    "customer": {
        "name": "Invopop SL",
        "tax_id": {
            "country": "ES",
            "code": "B85905495"
        },
        "inboxes": [
            {
                "key": "peppol",
                "scheme": "9920",
                "code": "ESB85905495"
            }
        ],
        "addresses": [
            {
                "street": "Calle Pradillo 42",
                "locality": "Madrid",
                "region": "Madrid",
                "code": "28002",
                "country": "ES"
            }
        ],
        "emails": [
            {
                "addr": "[email protected]"
            }
        ]
    },
    "lines": [
        {
            "i": 1,
            "quantity": "12",
            "item": {
                "name": "Sambox product",
                "price": "145.00",
                "unit": "one"
            },
            "sum": "1740.00",
            "taxes": [
                {
                    "cat": "VAT",
                    "key": "intra-community"
                }
            ],
            "total": "1740.00"
        }
    ],
    "payment": {
        "terms": {
            "detail": "Will be paid by 2026-06-02"
        }
    }
}
Outside scope invoices are used for B2B services provided to customers outside the EU.To create an outside scope Peppol invoice, use the tax key outside-scope in your invoice lines. The eu-en16931-v2017addon will automatically set the UNTDID 5305 tax category to O (Services outside scope of tax) when the silo entry is built.
Services provided to non-EU customers are generally outside the scope of EU VAT.
{
    "$schema": "https://gobl.org/draft-0/bill/invoice",
    "$regime": "BE",
    "$addons": [
        "eu-en16931-v2017"
    ],
    "type": "standard",
    "series": "INV",
    "code": "PP000003",
    "issue_date": "2025-04-03",
    "currency": "EUR",
    "supplier": {
        "name": "Benelux Industries SA/NV",
        "tax_id": {
            "country": "BE",
            "code": "0316597904"
        },
        "inboxes": [
            {
                "key": "peppol",
                "scheme": "0208",
                "code": "0316597904"
            }
        ],
        "addresses": [
            {
                "num": "42",
                "street": "Rue de la Loi",
                "locality": "Brussels",
                "region": "Brussels-Capital",
                "code": "1040",
                "country": "BE"
            }
        ],
        "emails": [
            {
                "addr": "[email protected]"
            }
        ]
    },
    "customer": {
        "name": "Singapore Company LTD",
        "tax_id": {
            "country": "SG",
            "code": "199904785Z"
        },
        "inboxes": [
            {
                "key": "peppol",
                "scheme": "0195",
                "code": "SGUEN199904785Z"
            }
        ],
        "addresses": [
            {
                "street": "18 Marina Gardens Drive",
                "locality": "Singapore",
                "region": "Central Region",
                "code": "018953",
                "country": "SG"
            }
        ],
        "emails": [
            {
                "addr": "[email protected]"
            }
        ]
    },
    "lines": [
        {
            "i": 1,
            "quantity": "12",
            "item": {
                "name": "Sambox service",
                "price": "145.00",
                "unit": "h"
            },
            "sum": "145.00",
            "taxes": [
                {
                    "cat": "VAT",
                    "key": "outside-scope"
                }
            ],
            "total": "145.00"
        }
    ],
    "payment": {
        "terms": {
            "detail": "Will be paid by 2026-06-02"
        }
    }
}
Export invoices are used for B2B goods delivered to customers outside the EU.To create an export Peppol invoice, use the tax key export in your invoice lines. The eu-en16931-v2017 addon will automatically set the UNTDID 5305 tax category to G (Free export item, tax not charged) when the silo entry is built.
Exported goods are exempt from VAT. The supplier must be previously registered with the tax authority. Customer tax identification is optional but recommended for record-keeping purposes.
{
    "$schema": "https://gobl.org/draft-0/bill/invoice",
    "$regime": "BE",
    "$addons": [
        "eu-en16931-v2017"
    ],
    "uuid": "019bb71c-7205-7000-9aef-878145b9fce6",
    "type": "standard",
    "series": "INV",
    "code": "PP000003",
    "issue_date": "2025-04-03",
    "currency": "EUR",
    "supplier": {
        "name": "Benelux Industries SA/NV",
        "tax_id": {
            "country": "BE",
            "code": "0316597904"
        },
        "inboxes": [
            {
                "key": "peppol",
                "scheme": "0208",
                "code": "0316597904"
            }
        ],
        "addresses": [
            {
                "num": "42",
                "street": "Rue de la Loi",
                "locality": "Brussels",
                "region": "Brussels-Capital",
                "code": "1040",
                "country": "BE"
            }
        ],
        "emails": [
            {
                "addr": "[email protected]"
            }
        ]
    },
    "customer": {
        "name": "Singapore Company LTD",
        "tax_id": {
            "country": "SG",
            "code": "199904785Z"
        },
        "inboxes": [
            {
                "key": "peppol",
                "scheme": "0195",
                "code": "SGUEN199904785Z"
            }
        ],
        "addresses": [
            {
                "street": "18 Marina Gardens Drive",
                "locality": "Singapore",
                "region": "Central Region",
                "code": "018953",
                "country": "SG"
            }
        ],
        "emails": [
            {
                "addr": "[email protected]"
            }
        ]
    },
    "lines": [
        {
            "quantity": "12",
            "item": {
                "name": "Sambox product",
                "price": "145.00",
                "unit": "one"
            },
            "sum": "1740.00",
            "taxes": [
                {
                    "cat": "VAT",
                    "key": "export"                
                }
            ],
            "total": "1740.00"
        }
    ],
    "payment": {
        "terms": {
            "notes": "Will be paid by 2026-06-02"
        }
    }
}
The payment: { "terms": {"detail": "..."}} field is required for EN16931 (EU) invoices and should be filled in with due dates or payment terms.

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.
The visibility of your Peppol Party determines what documents you can send and receive.
  • smp: Only SMP, should be used for testing
  • smp+sml: SMP and SML, useful when you want to send documents but not receive them
  • smp+sml+peppol: SMP, SML, and Peppol Directory, recommended for both sending and receiving documents as you will be visible in the Peppol Directory
In general, you should use the highest visibility available.
Yes, you can remove either format based on your needs. Our template includes both UBL and CII imports for comprehensiveness, but if youโ€™re certain youโ€™ll only receive invoices in one format, you can safely remove the unused format. This simplifies your workflow and reduces the number of apps you need to activate.
Participant IDs are unique identifiers for entities in the Peppol network. They consist of two parts:
  • Scheme: Identifies the type of identifier being used (e.g., 9920 for Spanish VAT numbers, 0208 for Belgian BCE numbers)
  • Code: The actual identification number
In most cases, Participant IDs are based on VAT numbers or local business identifiers. Since most countries have a default scheme, we can typically derive the Participant ID automatically from a Tax ID.
This is because because a supplier with the stated participant ID has already been registered in your workspace.
By default, the regime is automatically determined from each supplierโ€™s settings, which is recommended in Peppol.
You must register them through different silo entries, even though they represent the same party. The supplier must upload their proof of ownership documentation for each inbox assigned.
In countries where Peppol is the standard but not mandatory, you must often provide an e-invoice even if the recipient isnโ€™t registered in the Peppol network. Both parties can agree on an alternative transfer method (not Peppol), but the invoice must still be EN16931 compliant.Recommended approach:
  • Set up a separate workflow that generates the XML without sending it via Peppol
  • Alternatively, use your current workflow without the customer Peppol ID (the send Peppol document step will automatically skip)
  • Fetch the generated XML
  • Deliver it through an agreed-upon method, typically email
B2C (business-to-consumer) invoices typically donโ€™t include the structured customer information required for Peppol delivery, and most consumers donโ€™t have Peppol inboxes to receive invoices through the network. While itโ€™s technically possible to send B2C invoices via Peppol if you have the customerโ€™s Peppol endpoint details, this is rarely the case in practice.The recommended approach is to implement a conditional workflow:
  1. Check for Peppol capability โ€“ Using the If/Else workflow step, detect the presence of the customerโ€™s inbox via the following expr: count(customer.inboxes, true) > 0
  2. Set up an alternative flow - Adding a workflow condition, select โ€œOKโ€ and code false. Then set-up your alternative flow (Generate PDF and send by email, for example). Make sure to stop the flow within the workflow condition at the end.
This will ensure B2C invoices are handled by a separate flow. This hybrid approach ensures you can leverage Peppolโ€™s benefits for B2B transactions while maintaining a smooth invoicing process for your consumer customers.

Participate in our community

Ask and answer questions about Peppol โ†’