Peppol for Drupal, as an ordinary module.

A module that fits how you already run Drupal. Every paid order gets an invoice with the right VAT, business customers receive it over Peppol, and a refund is followed by its credit note automatically.

The PeppolKit overview in Drupal Commerce: your invoices, checked against the official rules and sent over Peppol
  • Drupal 10.3 and 11
  • Commerce 2.40 and 3
  • PHP 8.1+
  • Dutch, French, English

Four things that take care of themselves.

01

With every paid order

As soon as Commerce marks an order as paid, PeppolKit makes the invoice, numbered in sequence, and emails it to your customer. Your checkout does not wait for it.

PeppolKit

Invoice2026-00142
VATReverse charge · 0%
EmailSent
PeppolDelivered
PDFUBL
02

Over Peppol to businesses

Belgian shop? Every invoice to a business customer also goes out as an e-invoice over the Peppol network. Included in every plan, with no cost per send.

Invoice 2026-00149 delivered over Peppol
Download UBL ↓
03

With a refund

When you refund all or part of a payment in Commerce, PeppolKit makes the credit note for the original invoice and sends it to your customer.

Credit note 2026-00151 for invoice 2026-00142
Download credit note ↓
04

Your customer's VAT number

Commerce has a VAT number field on the customer profile. Put it in your checkout and PeppolKit checks the number in VIES and puts it on the invoice.

BE0123.456.789 ✓

Installed in five minutes.

  1. 01

    Place the module

    Unpack the zip in modules/custom and enable the module under Extend, or with drush en peppolkit.

  2. 02

    Connect your shop

    Under Commerce → Configuration → PeppolKit, enter your email address and click Connect. Your free account is created automatically.

  3. 03

    Fill in your company details

    Open the PeppolKit dashboard from the module: company number, VAT number and logo. One button also invoices the paid orders of the last 60 days.

Read the full installation guide →

What you see in PeppolKit.

Four screens from the PeppolKit dashboard for your Drupal shop, with what each one shows.

  • The right VAT, decided per order.

    PeppolKit checks business VAT numbers in the EU register (VIES) and applies the rule: reverse charge, OSS for EU consumers, or 0% on exports.

  • Peppol included. No fee per send.

    Belgian shop? Every invoice to a business customer goes over Peppol through our partner SUPER PDP. On every plan, the free one too.

  • Checked before it goes out.

    Every invoice is tested against the official EN 16931 and Peppol BIS 3.0 rules. Only an approved invoice goes over Peppol. If one fails, you see which rule and why.

  • Your invoice, in your customer's language.

    Six PDF designs with your logo and brand colour. Dutch, French or English, chosen per customer.

The same plans, in euros.

Free

To try it out, or for a shop with the odd business customer.

€0 / month

Start free
  • 20 invoices a month
  • Peppol included for every invoice to a business (Belgian shops)
  • No cost per send, no Peppol subscription of your own

Starter

For a webshop that sells to businesses now and then.

€9 / month

Start free
  • 100 invoices a month
  • Peppol included for every invoice to a business (Belgian shops)
  • No cost per send, no Peppol subscription of your own

Growth

Most chosen

For shops that sell to businesses every week.

€19 / month

Start free
  • 500 invoices a month
  • Peppol included for every invoice to a business (Belgian shops)
  • No cost per send, no Peppol subscription of your own

Pro

For high volumes and lots of Peppol traffic.

€49 / month

Start free
  • Unlimited invoices
  • Peppol included for every invoice to a business (Belgian shops)
  • No cost per send, no Peppol subscription of your own

In every plan

  • Reverse charge, OSS and a credit note for every refund
  • Invoice and email in Dutch, French or English
  • PDF and UBL file (Peppol BIS 3.0)
  • Factur-X/ZUGFeRD PDF for businesses in France and Germany
  • A monthly ZIP for your accountant
  • A reply within one working day, from a person

Examples

  • 8 invoices a month, 3 of them to businessesFree €0
  • 40 invoices a month, 20 of them to businessesStarter €9 / month
  • 200 invoices a month, 60 of them to businessesGrowth €19 / month

For a Belgian shop, invoices to businesses go over Peppol automatically, with no cost per send. Consumers get their invoice by email; it counts as an invoice, but never goes over Peppol. Credit notes for refunds are included.

Shop in the Netherlands? You have no Peppol obligation. If you sell to Belgian businesses, send for free through your own Peppyrus account (up to 100 a month).

Prices in euros, excl. VAT. Monthly through Mollie, cancel in your PeppolKit dashboard. There's no trial: start with the free plan. Belgian shop? Every invoice to a business goes over Peppol, included in every plan and with no cost per send.

What people often ask.

Can I send Peppol invoices with Drupal Commerce?

Yes, with the PeppolKit module. Every paid Commerce order becomes an invoice that meets the European standard (EN 16931, Peppol BIS 3.0). Business customers on Peppol receive it over the Peppol network, consumers as a PDF by email. Check whether a customer is on Peppol with the free Peppol check; when it is mandatory is explained in E-invoicing mandatory in Belgium.

What do I need?

Drupal 10.3 or 11 with Drupal Commerce 2.40 or 3 (the Order and Payment modules) and PHP 8.1 or newer. Cron has to run, as on every Drupal site: what cannot be sent right away goes with the next cron run.

Is the module on drupal.org?

Yes, since November 2026: drupal.org/project/peppolkit. Install it with composer require drupal/peppolkit, or download the zip here and unpack it in modules/custom.

How does my customer's VAT number get on the invoice?

Commerce Tax has a VAT number field on the customer profile, but only shows it at checkout once you switch it on: Configuration → People → Profile types → Customer → Manage form display. PeppolKit reads the field, checks the number in VIES and puts it on the invoice.

What does the module send to PeppolKit?

The order as Commerce calculated it: lines, discounts, tax, shipping, the billing address and the VAT number. The key of the connection is kept in Drupal's state, not in configuration, so it never ends up in an export or in your repository.

How do I pay for a plan?

In your PeppolKit dashboard you choose a plan and pay through Mollie, then automatically every month. The free plan has no end date and asks for no payment details.

What happens when I refund an order?

When you refund (part of) a payment in Commerce, PeppolKit automatically creates a credit note that refers to the original invoice and sends it to your customer.

Your next Commerce order, invoiced right.

Free to install · Drupal 10.3 or 11 with Drupal Commerce