Home Text Data Developer Files Media Utilities

Validate multiple E-Invoices at once — entirely in your browser

Select files, a folder or a ZIP archive. Konvi checks XRechnung, ZUGFeRD, Factur-X, CII and UBL invoices locally, detects duplicates, groups validation findings and creates batch reports without uploading your documents.

🔒 All processing runs locally in your browser. No data leaves your device.
🔒 Your complete batch stays in this browser tab

Drop ZUGFeRD/Factur-X PDFs, XRechnung XML files, or a ZIP archive here, or click to select

Up to 200 files per batch — nothing is uploaded

Loads a synthetic, anonymized sample batch (valid, invalid, exact duplicate, probable duplicate, mixed XML/PDF) — not real data.

Batch settings

What you receive

Queue and progress

  • Controlled local processing, one file at a time for PDFs
  • Pause and resume the whole batch
  • Cancel one entry or all entries
  • Retry any entry that failed or was cancelled

Duplicate detection

  • Exact duplicates (identical bytes, by SHA-256) are detected and skipped automatically
  • Probable business duplicates (same seller, invoice number, date, currency, total) are flagged only
  • Probable duplicates are never auto-removed — they are always still fully validated

Grouped findings

  • Group findings by rule
  • Group findings by validation layer
  • See every affected invoice per finding
  • Filter results and open a detail view per file

Batch exports

  • Summary CSV (safe against spreadsheet formula injection)
  • Batch JSON report (never includes your original file bytes)
  • Reports ZIP (per-file validation reports)
  • Extracted XML ZIP (only on explicit request)
  • Combined line-items CSV

What is checked

LayerApplies toWhat the result means
PDF signature and structurePDF onlyThe file is a well-formed PDF the tool can parse safely.
PDF/A conformancePDF only — n/a for standalone XMLThe declared PDF/A level is verified in full by the local veraPDF engine.
ZUGFeRD/Factur-X containerPDF only — n/a for standalone XMLThe embedded invoice XML is correctly referenced from the PDF.
XML securityXML and embedded XMLThe XML is checked against known hostile patterns before further parsing.
XML Schema (XSD)XML and embedded XMLThe document matches the CII or UBL schema for its declared type.
EN 16931 / XRechnungXML and embedded XMLThe invoice satisfies the EN 16931 business rules, and XRechnung rules where applicable.
Invoice arithmeticXML and embedded XMLLine, tax and total amounts are recomputed with exact decimals.
ZIP safetyZIP archives onlyEvery entry is checked for path traversal, absolute paths, duplicate paths, excessive entry counts, oversized entries and high compression ratios before use.
Operating-system metadata filteringZIP archives onlymacOS AppleDouble (._*) files, __MACOSX/ entries and .DS_Store are recognized and ignored — never treated as invoices or failures.
Content-based file detectionAll filesA file's real type is detected from its content signature, not its extension — a mislabeled file is reported as unrecognized rather than fed into the wrong engine.
Exact duplicate detectionAll filesIdentical file bytes (SHA-256) are detected and skipped.
Probable duplicate detectionXML and embedded XMLMatching business details (seller, invoice number, date, currency, total) are flagged, but the file is still fully validated.
Queue completion and cleanupAll filesWorkers and object URLs used during processing are released once a file's validation settles or the batch is reset.

How it works

  1. Select files, a folder or a ZIP.
  2. Review detected files and ignored metadata.
  3. Start the controlled queue.
  4. Filter results and grouped findings.
  5. Download batch reports.

Private by design

  • Invoice bytes are read by the browser.
  • They are not sent to Konvi.ch or another validation server.
  • Static validation engines and standards packs are loaded from Konvi.ch.
  • Document processing begins only inside the browser.
  • Invoice content and validation results are not written to localStorage, sessionStorage or IndexedDB.
  • Closing or reloading the tab clears the current session and batch.
  • Reports and extracted XML are generated locally when the user requests a download.

How can I verify this?

Open your browser's DevTools before loading files. In the Network panel, only requests to konvi.ch for the page's own static application assets appear — no request carries your invoice data, and no request goes to a third-party host. In the Application/Storage panel, localStorage, sessionStorage and IndexedDB stay empty of invoice content while you work. No document data is transmitted.

What validation statuses mean

Valid
Every mandatory applicable check completed successfully.
Valid with warnings
Mandatory checks passed, but non-blocking findings remain.
Invalid
Validation completed and at least one mandatory rule failed.
Incomplete
A required check could not run or did not finish. No complete technical verdict was issued.
Failed
An unexpected processing error prevented a trustworthy result.
Cancelled
The user stopped processing before completion.

Konvi performs technical validation against the displayed standards and rulesets. The result is not legal, tax or accounting advice and does not guarantee that an invoice will be accepted by every recipient or authority.

FAQ

Are invoices uploaded?

No. Everything runs locally in your browser tab; no invoice data is transmitted.

How many files can I process?

Up to 200 source files per batch, combined across direct file selections and ZIP archive entries.

Can I select a complete folder?

Yes — use the “Select folder” action to add every supported file within it.

Can I open a ZIP archive?

Yes. ZIP entries are security-checked (path traversal, duplicates, entry count, size, compression ratio) before use; nested archives are never auto-expanded.

Which file types are ignored?

Operating-system metadata such as macOS AppleDouble (._*) files, __MACOSX/ entries and .DS_Store are recognized and ignored, never counted as failures.

How are duplicates detected?

Exact byte-for-byte duplicates (SHA-256) are detected and skipped. Invoices that merely share business details are flagged as probable duplicates but still fully validated.

Why are PDF files processed conservatively?

At most one PDF is validated at a time because the PDF/A engine is a single shared instance — this keeps memory use predictable for large batches.

What does incomplete mean?

A required check could not run or did not finish, so no complete technical verdict was issued — this is different from invalid or failed.

Which batch exports are available?

A summary CSV, a batch JSON report, a combined line-items CSV, a ZIP of per-file reports, and (on request) a ZIP of extracted invoice XML.

Is the batch restored after reloading?

No. Batch state lives only in page memory; reloading or closing the tab clears it.

Are original invoices included in report ZIPs?

No — the batch JSON report and reports ZIP never include your original file bytes, only extracted/normalized data and findings.

Does the result guarantee legal validity?

No. Technical validation does not replace legal, tax or accounting advice.