E-Invoice Batch ValidatorPrivacy: All processing runs locally
Validate many XRechnung XML and ZUGFeRD/Factur-X PDF invoices at once — drop files or a ZIP archive, review results in one table, and export reports. Nothing is uploaded.
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
| File | Type | Status | Errors | Warnings | Actions |
|---|
Grouped findings
What this tool does
This batch validator runs the same local XRechnung/ZUGFeRD validation engines as the single-invoice viewer across many files at once — dropped directly, or bundled inside a ZIP archive. Everything runs in your browser tab: nothing is uploaded, and reloading or closing the page clears the batch.
ZIP archives
ZIP archives are read locally with the vendored, open-source JSZip library — never loaded from a CDN. Every archive is checked for path traversal, absolute paths, duplicate entries, excessive entry counts, oversized entries and high compression ratios (a zip-bomb heuristic) before any entry content is used. Nested archives are never automatically expanded.
Duplicate detection
Exact duplicates (identical file bytes, by SHA-256) are detected and skipped automatically. Probable duplicates — same seller, invoice number, issue date, currency and gross total but different bytes — are flagged only; they are always still fully validated, never auto-discarded.
Concurrency and scheduling
At most one PDF is validated at a time (the PDF/A engine is a single shared instance), and up to two XML-only validations can run at once using two independent engine instances. You can pause, resume, cancel individual files, cancel the whole batch, or retry a failed entry.
Exports
Export a summary CSV (safe against spreadsheet formula injection), a batch JSON report (never including your original file bytes), a combined line-items CSV, a ZIP of per-file validation reports, or a ZIP of extracted invoice XML (only when you explicitly request it).
Privacy and local processing
All processing stays in browser memory for the lifetime of the tab. No upload, no server validation, no analytics. Batch state is never written to local storage, session storage, or any database.
Technical validation versus legal assessment
Technical validation checks machine-readable structure and standard rules. It does not replace legal, tax or accounting advice.
FAQ
Are my invoices uploaded?
No. Everything runs locally in your browser tab; no invoice data is transmitted.
How many files can I validate at once?
Up to 200 source files per batch, combined across direct file selections and ZIP archive entries.
Can I use 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.
What happens to duplicate files?
Exact byte-for-byte duplicates are detected and skipped. Invoices that merely share business details (seller, invoice number, date, currency, total) are flagged as probable duplicates but still fully validated.
Can I cancel or retry a file?
Yes — pause/resume the whole batch, cancel one entry or all entries, and retry any entry that failed or was cancelled.
Does closing the tab keep my data?
No. Batch state lives only in page memory; reloading or closing the tab clears it. Nothing is written to storage.
What can I export?
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.
Does this replace the single-invoice viewer?
No — opening an entry's details reuses the same single-invoice viewer in an embedded view so you get the identical detailed breakdown per file.
Technical validation checks machine-readable structure and standard rules. It does not replace legal, tax or accounting advice.