Cogwork APIs

Free EN 16931 E-Invoice Generator

Paste invoice JSON, get a compliant EU e-invoice — UBL, CII, or Factur-X — or validate it. No signup. Same engine as the InvoiceForge API.

Invoice (JSON)

Result

Your e-invoice appears here.

Need EN 16931 e-invoices in your billing flow?

One call turns JSON into UBL, CII, or a Factur-X PDF — or validates against the EU rules. Free tier: 50 e-invoices/month — then $5/mo for 1,000, up to 60,000 on higher plans.

POST /einvoice { "output": "ubl", "invoice": { … } }
Get an API key →

InvoiceForge handles the hard part of EU e-invoicing — the EN 16931 data model and its UBL, CII, and Factur-X serializations — so your billing code can stay simple JSON. The free tool below runs the same engine as the API, generating or validating a compliant e-invoice from the data you paste.

How it works

Describe an invoice as plain JSON — seller, buyer, line items, VAT rates — and InvoiceForge computes the totals and emits a standards-compliant EU e-invoice. Choose UBL 2.1 (Peppol), UN/CEFACT CII, or a Factur-X PDF with the structured XML embedded, or run the same JSON through validation to check it against the EN 16931 semantic rules before you send. The tool here calls the same POST /einvoice endpoint as the API.

Use cases

FAQ

Which formats does it produce?
UBL 2.1 (Peppol BIS), UN/CEFACT CII, and Factur-X (a PDF/A-3 with embedded CII XML) — plus an EN 16931 validation mode that returns issues and computed totals.
Does it calculate VAT and totals?
Yes. It computes line, tax-exclusive, tax, tax-inclusive, and payable amounts from your line items and VAT rates, so you don't have to pre-total anything.
What is EN 16931?
The European standard that defines the semantic data model for electronic invoices. Compliance is what makes an e-invoice acceptable across EU member states and Peppol.
Is it free?
Yes — free to try here, no signup. The API has a free tier of 50 e-invoices/month; paid plans start at $5/mo for 1,000 and scale to 60,000.

API reference

Call it through RapidAPI. Base host: invoiceforge-en-16931-e-invoicing.p.rapidapi.com. Send your key as X-RapidAPI-Key and the host as X-RapidAPI-Host.

POST/einvoice

Turn invoice JSON into a compliant EU e-invoice, or validate it against EN 16931.

FieldTypeDescription
outputoptstringubl (default) · cii · facturx · validate.
invoicerequiredobjectNeeds number and at least one lines[] entry. Fields: number, issueDate, currency, seller{name,vatId,countryCode}, buyer{name,countryCode}, lines[]{description,quantity,unitPrice,vatRate}.
jsonoptbooleanFor facturx only: false returns raw PDF bytes instead of { url }.

Returnsubl/cii: XML; facturx: { url } to a PDF/A-3 with embedded CII; validate: { valid, issues[], computed:{ taxExclusive, taxTotal, taxInclusive, payable } }.

curl -X POST "https://invoiceforge-en-16931-e-invoicing.p.rapidapi.com/einvoice" \
  -H "content-type: application/json" \
  -H "X-RapidAPI-Key: YOUR_KEY" \
  -H "X-RapidAPI-Host: invoiceforge-en-16931-e-invoicing.p.rapidapi.com" \
  -d '{"output":"ubl","invoice":{"number":"INV-1001","currency":"EUR","seller":{"name":"Seller GmbH","vatId":"DE123456789","countryCode":"DE"},"buyer":{"name":"Buyer SARL","countryCode":"FR"},"lines":[{"description":"Consulting","quantity":2,"unitPrice":100,"vatRate":19}]}}'