Open source · Peppol CLI

Peppol,
from your terminal.

A fast, scriptable CLI for sending and receiving e-invoices over the Peppol network. Built for terminals, CI pipelines, and AI agents like Claude Code and Codex. Every command speaks JSON and returns clean exit codes.

$brew install e-invoice-be/tap/peppol-cli

Free and open source. Built in Go. A single binary on macOS, Linux, Windows.

Install in one line.

Homebrew, Go, or a pre-built binary. One install, every desktop, no runtime to manage.

Requires an e-invoice.be account. Sign up free.

peppol-clihomebrew
$ brew tap e-invoice-be/tap
$ brew install e-invoice-be/tap/peppol-cli

Built for automation, not clicking.

A handful of design decisions that make this CLI safe to hand to a script. Or a CI runner. Or an agent.

--json

Agent & workflow ready

Deterministic exit codes and a raw API hatch let agents and pipelines drive your Peppol account directly. Drop it into Claude Code, n8n, or a Makefile.

| jq

Pipes, not parsers

Every command supports --json, plus --output table for humans. Pipe through jq, xargs, or any UNIX tool. Filter, project, and reshape without writing a single integration line.

$PEPPOL_API_KEY

Secrets stay in the shell

Browser-based OAuth, or set PEPPOL_API_KEY for unattended runs. Tokens live in your shell environment, never in plaintext config files and never in your shell history.

peppol *

Every endpoint, every subcommand

Inbox, outbox, drafts, documents, lookup, validate, stats. The CLI is the API. No feature gap, no second tool to learn.

Real work, one line at a time.

peppol-cli composes with the tools you already use. jq, xargs, cron, your CI runner, your favourite LLM. Six workflows people actually run.

Reporting

Generate P&L numbers, straight into your spreadsheet.

Stream sent and received invoice volumes as CSV. Drop it into Excel, Sheets, or your BI tool. No more exporting from the dashboard and copy-pasting into a pivot table.

Compliance

Nightly archive of every invoice you sent or received.

Belgian tax law expects you to keep e-invoices for seven years. Dump inbox and outbox as JSON every night. Drop the command in a cron job or a GitHub Action.

Agents

Let an agent triage new invoices for you.

Pipe the inbox into your model and act on its decisions. Auto-approve trusted vendors. Flag anything weird for a human. No integration code, no webhook plumbing.

Validation

Lint UBL invoices before the network ever sees them.

Run Peppol BIS validation locally against any UBL file. Catch missing fields, broken tax rates, and bad customer IDs in CI, not after the document bounces back from a receiver.

Lookup

Check if a customer is reachable on Peppol.

Before you bill them, confirm the participant exists, which document types they accept, and which Access Point routes them. One command instead of digging through the SML.

ERP sync

Drop new invoices into your accounting every night.

Pull what came in since yesterday and let Claude map each invoice to the format your ERP expects. Works for Xero, Exact, or whatever lives on the other end. A cron job, one pipe, zero manual data entry.

Drive Peppol from anywhere.

Install once. Script everything. Hand the rest to an agent. The CLI is free and open source. You only pay for the invoices you send or receive, from €0.18.

e-invoice.be is a certified Peppol Access Point. Account creation is instant; company verification takes 24–48 hours.

Questions, answered.

Everything we get asked before the first install.

Peppol CLI | Open-Source E-Invoicing Tool | e-invoice.be