Peppifyest. 2026

PEPPOL · EN-16931 · UBL 2.1

Compliant e-invoices, composed with care.

Peppify turns a simple input into a standards-perfect invoice, tucks a human-readable PDF inside it, and delivers it to the PEPPOL network — all from your own machine.

Open source · Python 3.10+ · self-hosted · CLI & web UI

Sent via PEPPOL ✓
Invoice
№ 2026-0042
Issued 24 May 2026
Due 23 Jun 2026
FromAtelier Tilkin BV
BE 0674.415.660
Bill toMaison Dupont SRL
BE 0123.456.789
Advisory — May12 h€ 1.080,00
UBL integration1€ 450,00
Subtotal€ 1.530,00
VAT 21%€ 321,30
Total due€ 1.851,30
Scan to pay · SEPA
BE68 5390 0754 7034
EPC QR · Girocode

The composition

Five movements, one invoice

From a line of input to a delivered, auditable document — Peppify handles each step in order.

i.

Create

From a simple JSON file or the web form, it builds standards-perfect UBL 2.1 XML.

ii.

Render

A human-readable PDF — in EN, NL, FR or DE — embedded inside the XML (rule R008).

iii.

Validate

Structural checks and the official UBL 2.1 XSD schemas, before anything is sent.

iv.

Send

Delivered to PEPPOL through the Peppyrus Access Point, with automatic retry.

v.

Report

Fetch validation and transmission reports for every message you send.

Details that matter

The fine print, done right

The small touches that make a receiver’s bookkeeping — and yours — effortless.

A PDF inside the XML

Every invoice carries its own human-readable rendering, so receivers’ software always has something to show.

ENNLFRDE1.234,56

Scan-to-pay QR

An EPC / SEPA Girocode on euro credit-transfer invoices — the recipient scans it to pre-fill IBAN, amount and reference.

EPC QRGirocode

Validated before it flies

Structural checks plus the official UBL 2.1 XSD schemas catch problems on your machine, not after sending.

UBL 2.1 XSD

Auto-reconciliation

Bank details live in structured cac:PaymentMeans (IBAN / BIC), so receivers’ bookkeeping can match payments automatically.

IBANBIC

VAT-exempt friendly

First-class support for tax categories E and O — for businesses that don’t charge VAT.

Cat. ECat. O

Credit notes too

Compliant UBL 2.1 credit notes via the command line, alongside the regular invoice flow.

CLIBIS Billing 3.0

Run it yourself

Up in one command

The Docker image bundles Python and every native library, so the host needs nothing but Docker. Prefer bare metal? Run it under gunicorn or straight from the CLI.

Your Peppyrus API key is read once at startup and stays server-side — the web UI never exposes it to the browser. Everything binds to 127.0.0.1 by default.

peppify — bash
# add your Peppyrus credentials, then start
$ cp .env.example .env
$ docker compose up --build
 web UI on http://127.0.0.1:5000
# or drive it from the command line
$ python cli.py create  --in invoice.json
$ python cli.py validate --file out.xml
$ python cli.py send     # → PEPPOL ✓
❦ ❦ ❦

Made for the small business that issues its own invoices — not for enterprise volume.

One organisation, one API key, your own machine. Deliberately simple, deliberately yours.

Compose your first invoice.

Clone it, add your credentials, and send a compliant e-invoice today.