EN
Get API keyGet key
The platform for European e-invoicing

Generate, validate, and deliver e-invoices from one API.

Europe is mandating structured e-invoicing country by country, each with its own format and network. Beliq gives you one integration for the whole lifecycle, with compliance you can verify against the exact authority ruleset. Generate and validate are live today. Managed delivery is next.

Generate + validateLiveDeliveryIn development
5min
to your first compliant invoice
Free tier, no card. Sign up, paste, validate.
POST api.beliq.eu/v1/generate✓ 200 · application/pdf
Request · json
{
  "number": "RE-2026-0731",
  "seller": {
    "name": "Brightline Studio"
  },
  "buyer": {
    "name": "Riverpark Press"
  },
  "lines": [
    {
      "description": "Website relaunch",
      "lineTotal": 4200,
      "vatRate": 19
    }
  ]
}
Response · pdf/a-3
Invoice
RE-2026-0731
Brightline Studio · DE
Riverpark Press · DE
Net4.200,00
VAT 19%798,00
Total€ 4.998,00
Validatedinvoice.pdfPDF/A-3
XRechnung 3.0.2 · EN 16931
Embedded XML · UBL 2.1
Hetzner · EU-resident · re-verified on a pinned schedule
Stat 01
9
Format families
XRechnung, Factur-X, ZUGFeRD, Peppol BIS 3.0, NLCIUS, FatturaPA, Facturae, e-SLOG and KSeF FA(3).
Stat 02
100%
EU-hosted
Hetzner, EU. No US subprocessors. Status page and changelog both public, linked below.
01The lifecycle

One API, the whole e-invoice lifecycle.

One integration covers generating the file, proving it against the authority rules, and delivering it over the right network. Two of the three are live today, and the third is what we build next.

Also live today: parse structured data from incoming hybrid PDFs, and convert between CII and UBL.

01
GenerateLive

JSON in, compliant XML or hybrid PDF/A-3b out. Factur-X, ZUGFeRD, XRechnung, Peppol BIS 3.0, UBL and CII.

02
ValidateLive

XSD, EN 16931 and the country rules in one pass. Failures come back as rule ID, XPath and a message you can act on.

03
DeliverIn development

Routed across certified EU networks, chosen per destination. Billed per delivered invoice.

02Coverage

Every format, and exactly how we check it.

We list every format we support and the strongest check we can run against each. Where the format authority publishes a rulebook, we run it, pinned by version and hash. Where none exists, we validate against the official XSD schema. The badge on each card tells you which.

9 formats
Authority rulesets re-verified on a schedule
Authority-checkedChecked against the format authority's own rulebook, pinned by version and hash.
Schema-checkedNo rulebook is published for this format, so we check it against the official XSD schema.
XRechnungAuthority-checked
3.0.2
EN 16931 CIUS - UBL & CII
Checked against the authority's own rulebook.
Germany
KoSIT · XRechnung Schematron v2.6.0 · released 2026-08-31
Factur-XAuthority-checked
1.09.2
EN 16931 - CII embedded in PDF/A-3
Checked against the authority's own rulebook.
France
FNFE-MPE - DGFiP · Factur-X Schematron v1.09.2 · released 2026-09-04
ZUGFeRDAuthority-checked
ZF-2.x
EN 16931 - CII embedded in PDF/A-3
Checked against the authority's own rulebook.
Germany
FeRD · CEN EN 16931 CII Schematron v1.3.16 · released 2026-04-04
Peppol BIS Billing 3.0Authority-checked
BIS 3.0
OpenPeppol Billing 3.0 - UBL
Checked against the authority's own rulebook.
Cross-border (Peppol)
OpenPeppol · Peppol BIS Billing Schematron v3.0.21 · released 2026-05-20
NLCIUSAuthority-checked
NLCIUS 1.0
SI-UBL 2.0 overlay on Peppol BIS
Checked against the authority's own rulebook.
Netherlands
NPa - NEN · NLCIUS Schematron v2.0.3.13 · released 2026-05-21
FatturaPASchema-checked
1.2.3
FatturaPA ordinaria (FPR12) - Italian national XML
No rulebook is published. Checked against the official XSD schema.
Italy
Agenzia delle Entrate (SdI)
Final acceptance is decided by the authority's own system at submission.
FacturaeSchema-checked
3.2.2
Facturae 3.2.2 - Spanish national XML
No rulebook is published. Checked against the official XSD schema.
Spain
MINECO / MINHAP (Facturae)
e-SLOGSchema-checked
2.0
e-SLOG 2.0 eRacun - Slovenian national XML
No rulebook is published. Checked against the official XSD schema.
Slovenia
GZS (Slovenian Chamber of Commerce)
KSeF FA(3)Schema-checked
FA(3) 1-0E
KSeF FA(3) - Polish national structured invoice
No rulebook is published. Checked against the official XSD schema.
Poland
Ministerstwo Finansów (KSeF)
Ordinary VAT invoices in PLN. KSeF decides acceptance at submission, and Beliq does not operate KSeF submission.
Peppol BIS 3.0 is OpenPeppol's UBL invoice for the Peppol network, built on EN 16931. Beliq builds and checks it; your access point sends it.Browse coverage ↗
03Proof

Correctness you can verify, not just trust.

01

Pinned, checksummed sources

Beliq's compliance engine pins every Schematron, schema and codelist by version and SHA-256 from CEN, KoSIT, OpenPeppol, FNFE-MPE, FeRD, DGFiP and NEN. Drift detection runs on a pinned schedule against the authorities' own artefacts.

CENKoSITOpenPeppolFNFE-MPEFeRDDGFiPNEN
02

Validation in one call

XSD plus EN 16931 Schematron plus the country CIUS in a single round-trip. Errors return as rule ID, XPath and a human-readable message your support team can paste into a ticket.

XSDEN 16931Country CIUSCII ↔ UBL
03

PDF/A-3b out of the box

Factur-X PDFs are built as PDF/A-3 with the invoice XML embedded. Before the PDF is returned, veraPDF checks it against its PDF/A-3b profile, and a file in which it reports a violation is not returned; a test-mode PDF is watermarked after the check. The same call returns the structured invoice plus the PDF.

MustangPDF/A-3bEmbedded XML
04

Deterministic, within reason

XML output is byte-identical for a fixed input and pinned ruleset. PDF metadata, embedded fonts and XML attachment positions are pinned per release, so audit fingerprints stay stable across deploys even when PDF bytes do not.

Byte-stable XMLPinned fontsStable attachments
05

Signed webhooks, structured errors

Every webhook is HMAC-SHA256 signed; every error carries rule ID, XPath, the offending value and a stable error code so you can route by exception class without parsing strings.

HMAC-SHA256Stable error codesx-request-id
06

European, on purpose

EU-resident infrastructure on Hetzner, GDPR-aligned data handling, and engineering that overlaps your auditors' working hours. No surprise transatlantic data transfers.

Hetzner, EUGDPR-alignedCET hours
Delivery

One integration, never locked to one network.

When it ships, Beliq routes each invoice over the right national network automatically, across certified EU networks we select per destination and keep interchangeable. You integrate once and never wire up a network yourself, and you are never locked to one provider. Billed per delivered invoice.

Provider-independent routingIn development
Beliq APIone integrationPeppolFrance PAmore, per country
Beliq platformcertified networks

One integration, many certified networks, selected per destination. We pick the network and can reroute, and your integration never changes.

Today, Beliq's compliance engine builds and proves the file, and you send it through the vendor you already use.

Where Beliq stops today ↗
04Integration paths

Five callers, one signature.

Call Beliq straight over REST, from the Node, Python, MCP and CLI developer tools, or with no code from n8n, Activepieces or Directus. Generate from a Shopware or WooCommerce store (the plugins install from GitHub; their listings are pending), or add an independent check to the e-invoices your accounting tool already emits. Every path speaks the same envelope and the same JSON error shape.

01REST API

POST JSON. Get a wire-ready document.

REST and cURL, available today. Every other path here wraps this API, so REST gives you full flexibility to integrate Beliq into your own software. One envelope, one error shape, every endpoint.

POST /v1/generate
02SDKs & developer tools

Call Beliq from your own stack.

Typed Node and Python SDKs, an MCP server for AI agents, a CLI, and a GitHub Action, all wrapping the same API.

Node · Python · MCP · CLI
03No-code & automation

Drop Beliq into your workflow tool.

Drop Beliq into n8n, Activepieces or Directus. Map your fields and ship compliant invoices without writing code.

n8n · Activepieces · Directus
04E-commerce
Listing pending

Invoice straight from your store.

Plugins for Shopware and WooCommerce turn store orders into compliant invoices, generated and validated on the order status you pick. You keep sending and filing.

Shopware · WooCommerce
05Accounting & ERP

A second opinion on what your tools emit.

Validate and convert the e-invoices your accounting tool already generates, as an independent authority-pinned check. In this flow Beliq does not re-generate or send the invoice.

sevDesk
05Live playground

Run the real engine, before you write a line of code.

Generate, validate, parse and convert against the live API. Edit the request, see the real response: the file, the verdict, the parsed JSON, the converted XML.

  • The live engine, not a mock
  • Bot-checked and rate-limited
  • Not persistently stored
POST api.beliq.eu/v1/generatelive demo
$ curl -X POST https://api.beliq.eu/v1/generate \
  -H "Authorization: Bearer $BELIQ_KEY" \
  -H "Content-Type: application/json" \
  -d @invoice.json

✓ 200 · application/pdf
x-validation   pass · 0 err · 2 warn
x-pdf-kind     hybrid
x-request-id   4f1a9c02-7b3e-4d18-9a06-2c5e8d41b7f0
07PDF templates

Your branding on top, the validated XML inside.

Design your invoice PDF in the dashboard (logo, colours, layout), then generate by template ID. Your Factur-X or ZUGFeRD comes back as a PDF/A-3b with the structured XML embedded, validated exactly like the default output.

  • Drag-and-drop designer in the dashboard, the preview is the output
  • Templates are org-scoped and encrypted at rest
  • Data is rendered from the validated invoice, so the layout can't contradict the XML
Nordlicht GmbH
Invoice
F-2026-0042
Bill toAcme Trading BVIssued2026-06-20
DescriptionQtyAmount
Compliance audit1€ 1.200,00Onboarding setup1€ 400,00
Net€ 1.600,00VAT 21%€ 336,00Total€ 1.936,00
PDF/A-3b·factur-x.xml embedded
Free tool · no signup

Not a developer? Make one compliant invoice, free.

Pick a format, fill the essentials, and generate a real validated e-invoice to download. No account, no card, no watermark.

Open the generator →
EU-hosted · HetznerNo US subprocessorsGDPR-aligned · DPA on requestRulesets pinned & re-verified
Visit the Trust Center →
08Pricing

Two things to price: the engine, and delivery.

Same engine on every plan, same EN 16931 conformance. You pay for the documents you process by volume, and for the invoices you deliver per invoice. Nothing is gated by format. Prices in EUR; annual billing saves about 20%.

1The enginegenerate, validate, parse, convert · priced by volume
Free01/06
€0
/forever
20 documents / mo
Rate limit · 10 / min

The full engine, no card. Every feature the paid plans have, at the smallest volume.

Start free →
Starter02/06
€18
/mo · billed annually
2,000 documents / mo
Rate limit · 100 / min

For a first integration running in production at a small, steady volume.

Start Starter →
Growth03/06
€39
/mo · billed annually
10,000 documents / mo
Rate limit · 200 / min

For teams that have outgrown Starter but are not yet at enterprise volume.

Start Growth →
Business04/06
€68
/mo · billed annually
20,000 documents / mo
Rate limit · 300 / min

For SaaS platforms running e-invoicing in production, with the throughput to match.

Start Business →
Scale05/06
€144
/mo · billed annually
50,000 documents / mo
Rate limit · 500 / min

For ERPs and accounting suites sending tens of thousands of documents a month.

Start Scale →
Enterprise06/06
Custom
50,000+ documents / mo
Rate limit · Custom

For volumes above the largest plan, priced to your volume.

Contact sales
Every plan includes
  • Every live format
  • Validate · generate · parse · convert
  • Webhooks + signed events
  • Byte-stable XML · PDF/A-3b
  • EU-hosted · GDPR-aligned
  • Test-mode sandbox keys

Accounts and paid plans are for businesses only (entrepreneurs, Section 14 BGB), so there is no consumer right of withdrawal. The prices shown are final prices: the applicable VAT is included, and Creem as merchant of record itemizes it at checkout. The free tools on this site are open to everyone.Terms of Service · Free offerings

2Deliveryroute to the right national network · priced per invoice · in development
In development
Managed delivery, on any paid plan

One integration, many certified networks, selected per destination. You never wire up a network yourself and are never locked to one provider.

€0.25 / delivered invoice
Per delivered invoice · provisional
Every delivered invoice€0.25
High volumeCustom rate
For a volume rate, write tosales@beliq.eu
09FAQ

Questions, answered.

The honest version. If something here is unclear, talk to the engineers who build it.

Contact Us ↗
Do you deliver invoices to Peppol, KSeF or SDI?

Not yet for Peppol and SDI. Generate, validate, parse and convert are live today. Managed delivery is what we are building next: automatic routing across certified EU networks we select per destination, billed per delivered invoice. Until then, build and check the file with Beliq and send it through the access point or portal you already trust. KSeF is different: Beliq does not operate KSeF submission, so Polish invoices go via your chosen intermediary. Subscribe to the newsletter below and we will tell you the moment delivery goes live.

Which formats are live right now?

XRechnung, Factur-X, ZUGFeRD, Peppol BIS 3.0 and NLCIUS are Authority-checked: run against the format authority's own rulebook, pinned by version and hash. FatturaPA, Facturae, e-SLOG and KSeF FA(3) are Schema-checked: validated against the official XSD schema since no machine-readable rulebook is published for them. All nine formats are live to generate and to validate. KSeF FA(3) generation covers ordinary VAT invoices in PLN, and Beliq does not operate KSeF submission. The five Authority-checked formats build on EN 16931. The four Schema-checked ones are national formats, and no EN 16931 rules run on them.

How do you validate an e-invoice?

How do I integrate?

Start with the REST API and cURL, which every other path wraps. From there: typed Node and Python SDKs, a CLI, a GitHub Action, and an MCP server for AI agents; no-code connectors for n8n, Activepieces and Directus; plugins for Shopware and WooCommerce, which install from GitHub while their listings are pending; and an accounting and ERP path that independently checks the e-invoices tools like sevDesk already emit. Every path speaks the same envelope and the same JSON error shape.

Can I test before I go live?

Yes. Every API key is either live or test. A test key (blq_test_…) runs the same engine, the same rulesets and the same validation verdict as a live key, but it never counts against your quota, never bills, and can never reach a real network. Its output is stamped as a sandbox specimen (a watermark on PDFs, a comment in the XML) so it can never pass as a production invoice. Mint one from the dashboard, build and rehearse your integration, then switch to a live key. Test keys work against generate, validate, parse and convert today; send and receive are not open yet in either key mode.

What happens if I go over my plan's quota or rate limit?

Both are hard limits, not metered overage. When you reach your monthly document quota or your per-minute rate limit, further calls return HTTP 429 (with a Retry-After hint on the rate limit) until the window resets, so there is no surprise bill. Upgrade or downgrade any time from the dashboard.

How do validation errors come back?

As structured JSON, not prose you have to scrape. Each finding carries the rule ID (a stable code), the severity, the document location (XPath) it fired on, and a plain-language message your support team can paste into a ticket. Every response also returns an x-request-id for tracing.

What happens when an e-invoice fails validation?

How do you keep rulesets current?

Each Schematron, schema and codelist is pinned by version and SHA-256 from its publisher, then re-verified on a published schedule against its source. Every change lands in the public changelog.

Which version of the rules is my invoice checked against?

Where is my data processed?

In the EU only, on Hetzner infrastructure across several EU data centers, with no US subprocessors. Payloads are processed in memory and not persistently stored; an error report can hold parts of one. The Trust Center has the detail.

When can I send and receive invoices, not just validate them?

Managed delivery (Peppol and national channels, not KSeF) is in active development. Today Beliq produces and checks the document; transmission stays with your access point. It opens in test mode first, so you can rehearse a send and a receive against the delivery partner's own sandbox before anything of yours goes on a real network. What a rehearsal can show differs by network, and the docs say which rather than modelling the gaps: on Peppol it is the real test network, on Italy's SdI the partner runs a mock whose outcome is not a prediction of a live send, and France and Poland have no rehearsal yet. Subscribe to the newsletter below and we will tell you the moment delivery goes live.

Do you sign a DPA? Are you GDPR-compliant?

Yes. For the invoice data you send, you are the controller and we are your processor under the Data Processing Agreement linked in the footer. Every subprocessor that touches that invoice data is EU-based with no US data transfer, and the Trust Center lists them alongside hosting, retention and provenance.

Do I need a credit card, and can I cancel any time?

No card for the free tier: 20 documents a month, no strings. On a paid plan you can upgrade, downgrade or cancel any time from the dashboard, with downgrades taking effect at the end of the billing period.

Can I use Beliq as a private individual?

Accounts and paid plans are for businesses: you register on behalf of a company or an organization, or as a self-employed professional. The free tools on this site need no account and no contract, and anyone can use them:

  • Invoice generator: pick a format, fill the essentials, download a real validated e-invoice.
  • Live playground: generate, validate, parse and convert against the live API in the browser.

Why not for individuals?

Selling to consumers brings its own legal regime with it: withdrawal periods, cancellation flows, different price display.

10Changelog

Shipping in the open.

Changed2026-11-07
A repeat of a charged validate, generate, parse or convert request within 15 minutes is not charged again

A validate, generate, parse or convert request that repeats one charged in the 15 minutes before, with the same body, query, Content-Type, Accept, ruleset selection and stored PDF template, from the same organisation with the same kind of key, is computed again but uses no further quota or test allowance, for up to ten repeats. The window, the cap and what counts as the same are Beliq's choice. Its answer carries x-beliq-idempotent-replay: true. So a retry after a lost connection, or a platform running a step again, costs one document. A repeat runs the engine afresh: driftCheckedAt, engineBuild, a KSeF creation time or a PDF's dates can differ from the first answer. A request sent once is unchanged. The API docs have the details.

Fixed2026-11-06
Factur-X BASIC WL and EXTENDED-CTC-FR are marked provisional, and convert no longer drops extension content between syntaxes

Factur-X BASIC WL had no official example to check it against, as FNFE-MPE and FeRD publish theirs only behind a request form, and an EXTENDED-CTC-FR invoice Beliq generates fails the French pack. Both move from supported to provisional, so the Factur-X and ZUGFeRD formats show provisional; how invoices are checked does not change. AFNOR's XP Z12-012 V1.4 example invoices now back the EN 16931 and EXTENDED profiles. Convert wrote the plain EN 16931 identifier, or that of a profile inside the core such as XRechnung, over an XRechnung Extension or EXTENDED-CTC-FR invoice when it changed between UBL and CII, dropping what EN 16931 does not define with no loss recorded. It now refuses, as it did within one syntax.

Fixed2026-11-05
Factur-X and ZUGFeRD EN 16931 invoices Beliq builds are checked against FNFE-MPE's profile rules too

The Factur-X and ZUGFeRD EN 16931 profile writes the same specification identifier as plain EN 16931 CII, so Beliq checked every such invoice against CEN's EN 16931 rules alone, and FNFE-MPE's EN 16931 profile pack and XSD never ran. Where Beliq builds the invoice (generate) or converts to that profile, both now run, and a rule both carry is reported once. The verdict lists both packs, and its verificationTier is the profile's own, builder-round-trip; the badge stays Authority-checked. A Factur-X EXTENDED invoice now converts to EN 16931 when that profile's schema accepts it. An invoice sent to validate is checked as before.

11Get started

Five minutes to your first compliant invoice.

Sign up, paste an invoice, and watch the engine validate it against EN 16931 and the country CIUS in one round-trip. No card. 20 free documents every month.