Create a validated ZUGFeRD or Factur-X PDF locally in your browser
Open a CII invoice XML, let the tool detect and lock its profile, choose a template and create a PDF/A-3B with your exact XML embedded. Your invoice never leaves this browser tab.
- Open invoice (not started)
- Validate (not started)
- Design (not started)
- Generate (not started)
Open your invoice
Drop a CII invoice XML here, or click to select
.xml — nothing is uploaded
Already have a PDF invoice? Open it in the Viewer. It can extract the embedded XML and send it here. Open the XRechnung & ZUGFeRD Viewer
Try a sample Factur-X invoice
Loads a synthetic test invoice — not real data.
Source validation
Profile and container
The target profile is locked to the detected source profile. There is nothing to select, because the tool never converts between profiles.
- Detected source profile
- —
- Target hybrid profile
- —
- Embedded filename
- —
- AFRelationship
- —
- PDF/A level
- —
- Container validation
- —
UBL cannot be embedded as ZUGFeRD or Factur-X. For a readable PDF from UBL, use XRechnung to PDF. Open XRechnung to PDF
Validation details
Open an invoice to see its validation results.
Invoice summary
- Syntax
- —
- Detected standard
- —
- Detected profile
- —
- Invoice number
- —
- Seller
- —
- Buyer
- —
- Currency
- —
- Amount due
- —
- Source validation
- —
- Standards pack
- —
- Validation engine build
- —
Validation layers
Fix the findings in the Correction Assistant, validate again, then create the PDF from the corrected invoice.
Technical details
Validation basis
These values are read live from the installed engines and standards packs. They change automatically when a pack is updated.
Show technical details
- Generator version
- —
- Generator build ID
- —
- PDF/A level
- —
- veraPDF version
- —
- Detected profile
- —
- Embedded filename
- —
- XRechnung series
- —
- XRechnung specification revision
- —
- KoSIT validator
- —
- EN 16931 / CEN rule version
- —
- ZUGFeRD / Factur-X pack
- —
- XML validation engine build
- —
- Standards pack
- —
Invoice templates
Customise
Open a valid invoice to choose a design.
PNG or JPEG · processed locally
No logo selected
More customisation
Plain text only. No formatting or HTML is applied.
Design changed — generate the document again
Generate and verify
Verification stages
Preview
Open a valid invoice to see a preview.
Result
The result appears here after generation.
Downloads
Downloads become available after the result is ready.
Further downloads & reports
Reports contain technical results only: no invoice content, party names, addresses, bank data or logo.
About this generator
What you receive
Professional PDF
- PDF/A-3B with selectable text
- Your exact source XML embedded as a single attachment
- Five professional templates
- Optional logo, accent color, sender line and footer note
Technical checks
- The hybrid PDF is offered for download only when every required check passed
- There is no draft ZUGFeRD or Factur-X PDF
- A failed check blocks the result and lists the reasons
Local processing
- Generation report (JSON and HTML)
- PDF/A report and container report
- Embedded XML validation and consistency reports
- Provenance report, with no invoice content
Downloadable reports
- Profile detected and locked locally
- Live preview of the real PDF
- Nothing is stored or uploaded
What is checked
Source XML, invoice rules, PDF/A and semantic consistency.
Show all validation layers
| Check | Applies to | What the result means |
|---|---|---|
| XML security and well-formedness | Source XML | The XML is checked for hostile patterns (DTD, external entities, XInclude) and must be well-formed. |
| Profile detection and compatibility | Source XML | The declared profile must be one of the six supported profiles and is locked as the target. No upgrade, downgrade or rewrite. |
| XML Schema, EN 16931 and profile rules | Source XML | The XML is validated against its profile's schema and rules. XRECHNUNG rules are validated by the XRechnung engine. |
| Invoice arithmetic | Source XML | Line, tax and total amounts are recomputed with exact decimals. |
| Exact XML embedding | Hybrid PDF | The embedded XML is byte-identical to your source XML. |
| Container structure and metadata | Hybrid PDF | Catalog /AF, name tree, file specification, MIME type, AFRelationship and XMP metadata are inspected independently. |
| PDF/A-3B (veraPDF) | Hybrid PDF | The final document is validated in full by the local veraPDF engine. |
| PDF and XML consistency | Hybrid PDF | The invoice data shown in the PDF matches the data in the XML extracted from the final document. |
How it works
- Open a CII invoice XML or try a sample.
- The source is validated and its profile is detected and locked.
- Choose one of five templates and optional logo, color and texts.
- Check the live preview of the real PDF.
- Generate the final hybrid PDF; the exact XML is embedded and every required check runs.
- Download the validated PDF and the reports you need.
Limits
- Hybrid PDFs are created from CII XML only. UBL Invoice, UBL CreditNote and other XML are not accepted.
- Profile and syntax conversion do not exist. The profile of your XML is the profile of the result.
- Invalid XML, incomplete validation or a profile mismatch produce no hybrid PDF.
- Input is XML only. To open a PDF invoice, use the Viewer.
- One invoice at a time. There is no batch mode, no PDF editing and no digital signing.
Private by design
Your invoice stays in this browser tab. It is never uploaded to Konvi.ch or another conversion or validation server. No document data is transmitted.
- The static generator and validator assets load from Konvi.ch.
- Your invoice bytes stay in this browser tab.
- Your logo bytes stay local.
- The preview is generated locally.
- The final PDF is generated locally.
- Validation runs locally.
- Reports are created locally when you ask for them.
- There is no autosave. Reloading or closing the tab clears the session.
- The source XML is embedded byte for byte and never changed.
How can I verify this?
Open your browser's developer tools before loading a file. In the Network panel only requests to konvi.ch for the page's own static assets (scripts, engines, standards packs) appear. No request carries your invoice. In the Application or Storage panel, localStorage, sessionStorage, IndexedDB and cookies stay free of invoice content while you work. No document data is transmitted.
Konvi creates and technically validates a PDF representation of the supplied electronic invoice. It does not determine whether the invoice is legally, commercially or tax-correct. Review the source invoice and generated document before sending or archiving it.
A validated hybrid result proves the tested technical layers. It does not guarantee acceptance by every recipient or authority.
FAQ
Is my invoice uploaded?
No. Everything runs locally in this browser tab. The page loads static application files from Konvi.ch, but no document data is transmitted.
Which profiles are supported?
MINIMUM, BASIC WL, BASIC, EN 16931, EXTENDED and XRECHNUNG, always from CII XML. The profile is read from your XML and cannot be changed.
Why is UBL not accepted?
ZUGFeRD and Factur-X embed CII XML. UBL cannot be embedded as ZUGFeRD or Factur-X, and this tool does not convert UBL to CII. For a readable PDF from UBL, use XRechnung to PDF.
Is the source XML changed?
No. The exact bytes of your XML are embedded, and the tool checks that the XML extracted from the final PDF is byte-identical to the source.
Which XML filename is embedded?
factur-x.xml for MINIMUM, BASIC WL, BASIC, EN 16931 and EXTENDED, and xrechnung.xml for XRECHNUNG. The page shows the filename for your invoice.
What is AFRelationship?
A PDF/A-3 field describing how the embedded file relates to the document. This tool sets Data for MINIMUM and BASIC WL, and Alternative for BASIC, EN 16931, EXTENDED and XRECHNUNG.
How is PDF/A validated?
The final document is validated as PDF/A-3B by the veraPDF engine running in your browser, together with independent inspection of the embedded-file structure and XMP metadata.
How is XML consistency checked?
The XML is extracted again from the final PDF and parsed into a fresh invoice model. That model is compared with the model used to draw the PDF, field by field, for everything the profile contains.
Can the Generator convert between profiles?
No. There is no upgrade, downgrade or profile rewrite. The target profile is always the profile your XML declares.
Can I add a logo?
Yes. Choose a PNG or JPEG. It is processed and re-encoded locally; the original file is not embedded and never uploaded.
What happens when validation fails?
The result is blocked and lists the failed checks. No hybrid PDF is offered. If the source XML has findings, you can open it in the Correction Assistant and come back with the corrected invoice.
Does a valid result guarantee recipient acceptance?
No. A validated result confirms the technical checks shown. It does not guarantee that every recipient or authority accepts the invoice.