Because Because "What's the lawin', lass?" should be an API call! "What's the lawin', lass?" should be an API call! "What's the lawin', lass?" "What's the lawin', lass?" should be an API call! should be an API call!
Coming Q1 2026

The E-Invoicing Engine for Developers

JSON in, PDF/A-3 out. EN 16931 compliant. No data stored. Ever.

ZUGFeRD 2.3
Factur-X 1.0
9 Formats
~50ms
GDPR

Get notified when we launch

We'll send you one email when we launch. No spam, promise.

How It Works

Three steps to EU-compliant e-invoices. No setup, no configuration.

1

Send JSON

POST your invoice data as simple JSON. Seller, buyer, items, taxes.

POST /v1/generate
{"format": "zugferd"}
2

We Process

Generate PDF/A-3 with embedded XML. EN 16931 validated.

XML Schema valid
PDF/A-3 compliant
EN 16931 rules
3

Receive PDF

Base64-encoded PDF in JSON response. Ready to send or store.

"pdf_base64": "JVBERi..."
// ~50ms response

9 EU Standards Supported

One API for all European e-invoicing formats. From Germany to Italy, B2B to B2G.

🇩🇪

Germany

ZUGFeRD 2.3 - B2B standard (PDF + CII XML)
XRechnung 3.0 - B2G mandatory (UBL XML)

XRechnung required for public sector since Nov 2020. ZUGFeRD recommended for B2B.

🇫🇷

France

Factur-X 1.0 - Identical to ZUGFeRD (PDF + CII XML)

Mandatory for B2G. B2B rollout 2024-2026. Submitted via Chorus Pro portal.

🇮🇹

Italy

FatturaPA 1.2 - Mandatory for B2B/B2G (XML only)

Requires SDI submission. Needs codice fiscale + codice destinatario or PEC. Mandatory since Jan 2019.

🇪🇺

EU & International

Peppol BIS 3.0 - Cross-border network
UBL 2.1 - OASIS standard
CII - UN/CEFACT format
Plain PDF - No XML attachment

Peppol used in EU, UK, Australia, Singapore, New Zealand. UBL is EN 16931 foundation.

Smart Format Detection

Set "format": "auto" and we'll choose the right standard based on country codes, buyer type, and required fields. Germany B2G? XRechnung. France B2B? Factur-X. Italy? FatturaPA.

Stateless by Design

Your invoice data never touches our disk. Send JSON, receive PDF.

Type-safe SDKs

Official libraries for TS, Python, Ruby, Kotlin, Java, Swift, Dart, C#.

AI-Ready (MCP)

Native Model Context Protocol. Let Claude or GPT generate invoices.

EN 16931
No Data Storage
Made in Germany
example.js
const invoice = {
  "number": "RE-2026-001",
  "seller": { "name": "Acme GmbH" },
  "items": [{ "description": "Consulting" }]
}

const pdf = await thelawin.generate(invoice)
// ZUGFeRD PDF in ~50ms ✨
L
thelawin.dev
© 2026