What's new
Every change to the Beleggo website, newest first.
v0.25.1
- The engine comparison now shows 24 measured validation engines, eight of them new (among them dealerweb/einvoice, Klarfakt and verifaktura).
- The section on embedding the engine now states what the comparison shows: the only engine that judges every data-kit invoice correctly.
- Invoices with a five-digit year in a date are now checked in full, as the KoSIT validator checks them.
- The comparison page lists eight more online validators, every entry with its source and check date.
v0.25.0
- The engine comparison now shows all 16 measured validators in one table, not only Mustangproject and phive.
- The comparison page now also lists open-source libraries and command-line validators with their measured results.
- The figures for the online validators are re-checked (as of 28 September 2026).
v0.24.2
- FAQ, privacy and security pages now describe the validation engine correctly: the official rules as JavaScript in the browser, Saxon-JS as the reference. Nothing changes in how data is processed — everything stays on your device.
v0.24.1
- Engine comparison: Beleggo measured again with the official rules translated to JavaScript — about five times faster per document, a fraction of the memory, and the install size as what npm actually installs.
v0.24.0
- The features page, home page and FAQ now list the nine national formats (FatturaPA, Facturae, ebInterface, Finvoice, ISDOC, OIOUBL, UBL-TR, SRBDT, ZATCA) and the ZATCA stamp and invoice-chain check.
v0.23.0
- Nine more invoice formats are recognised and checked against their own official rules: FatturaPA (Italy), Facturae with the FACeB2B extension (Spain), ebInterface (Austria), Finvoice (Finland), ISDOC (Czech Republic), OIOUBL (Denmark), UBL-TR (Turkey) and SRBDT (Serbia). Saudi ZATCA invoices are recognised; only the command line checks their rules, because ZATCA publishes them under the LGPL.
- A ZUGFeRD / Factur-X PDF that carries a UBL invoice instead of CII is now invalid (`ZF-UBL-PAYLOAD`): Factur-X requires CII.
- A PDF with no embedded invoice under a valid name (such as `factur-y.xml`) is now rejected with a finding (`ZF-NO-XML`) instead of stopping the check with an error message.
v0.22.1
- The data kit has 22 new samples, now 722: French CTC rules in CII and UBL, the official XRechnung severities, what XRechnung has tightened since 2.4.0, more Peppol countries, and the field formats of CIUS-PT, CIUS-RO and HR-CIUS.
- The engine comparison with Mustangproject is measured again. Its capability table now shows Mustang as “partly” for the French CTC rules (older edition, CII only, almost all warnings) and for the XRechnung Schematron (edition 2.4.0).
- Peppol BIS 3 invoices in CII are recognised and also checked against the Peppol rules for CII.
- A new check on every invoice line: when its net amount does not equal quantity × price (less allowances, plus charges), you get a warning. No official rule checks this.
- Warnings that the ruleset’s publisher has already announced as future errors are now marked as such (currently BR-TMP-4 to -7 in XRechnung).
- French documents: EXTENDED-CTC-FR invoices and Flux 10 e-reporting reports are recognised and checked against their own rules.
- Files that begin with a byte-order mark are now checked in full.
- The Mustangproject comparison page is measured again and lists four more capabilities: Peppol BIS 3 in CII, EXTENDED-CTC-FR and Flux 10, recomputing every line, and announced future errors.
- The comparison page now shows three engines: Beleggo, Mustangproject and phive. The row for the official KoSIT validator measures agreement on the XRechnung documents KoSIT is responsible for; two sections about earlier gaps are gone.
- Peppol response messages are recognised and checked against their own rules: the Invoice Response (accepting, rejecting or querying an invoice) and the Message Level Status that access points must send from 2027.
- Dates and amounts with spaces or line breaks around the value are no longer rejected by the schema check; XML Schema ignores that whitespace, and so does the official validator.
- French CDAR status messages (the life cycle of an invoice: submitted, received, rejected, paid …) are recognised and checked against the BR-FR-CDV rules.
- Very large Peppol invoices with thousands of lines are now checked in seconds instead of minutes.
- Hybrid PDFs are now also checked for whether the visible page shows the same invoice date and the same seller and buyer names as the embedded XML.
- Belgian UBL.BE invoices and Polish KSeF invoices in the FA(3) format are recognised and checked against their own rules.
- Factur-X invoices in the EXTENDED profile are judged by the EXTENDED rules, which adapt the EN 16931 rules to that profile. Sub-lines and invoices from several sellers are no longer wrongly reported as errors.
- Dutch NLCIUS invoices in CII and SI-UBL 2.0 invoices with a G-account are recognised and checked against their own rules.
- A Factur-X / ZUGFeRD PDF that carries a UBL invoice instead of CII under the name factur-x.xml now gets a container warning: receivers that read Factur-X cannot process it.
- Signatures are checked: PAdES and other signatures in PDFs, and XMLDSig / XAdES in XML invoices. The report says whether a signature matches the document, whether anything was appended after signing, and who signed. The invoice's verdict is not affected.
- ZUGFeRD 2.0 invoices in the EXTENDED profile are judged by the EXTENDED rules, like Factur-X EXTENDED.
- Peppol PINT invoices (international, EU, A-NZ, SG, JP, MY, AE, OM) are recognised. OpenPeppol does not allow its PINT rules to be passed on, so the browser does not check them and says “not checked” rather than “valid”; the command line fetches the rules from OpenPeppol itself and checks them in full.
- The comparison page now links to the measured engine comparison (Beleggo, Mustangproject, phive).
- All 722 data-kit samples are now cross-checked against the official KoSIT validator and the EU ITB validator (previously 600); open disagreements: none.
v0.22.0
- The check on /en/e-invoicing-check now also holds ZUGFeRD and Factur-X invoices to the rules of their own level (MINIMUM, BASIC WL, BASIC, EN 16931, EXTENDED): the Factur-X 1.09 schema and Schematron run alongside the EN 16931 rules.
- Schema validation is considerably faster and reports errors with their line number.
- The home page lists Factur-X as a ruleset of its own; the data-kit figures are updated (382 valid, 318 defective samples).
- French domestic invoices (seller and buyer in France) are also checked against the BR-FR rules of the French e-invoicing reform (AFNOR XP Z12-012, FNFE-MPE 1.4.0.04), in force from 1 October 2026.
- ZUGFeRD 1.0 invoices and Order-X orders are recognised and checked against their own schema and Schematron; for ZUGFeRD 1.0 the result says that it has not been an e-invoice under § 14 UStG since 2025.
- Hybrid PDFs get a full PDF/A-3 check — every rule of the veraPDF validation profiles (ISO 19005-3), right in the browser.
v0.21.1
- The data-kit table on /features now describes the “conformance” group by what it exercises: EN 16931 conformance probes across five XRechnung versions, 1.2 to 3.0, valid and invalid alike.
v0.21.0
- A new section on /features: "What is in the data kit" — the 700 samples broken down by syntax (370 UBL, 173 CII, 157 ZUGFeRD hybrids), by ZUGFeRD conformance level and across all 25 groups, each with a line on what it covers.
- The hybrids get their own figures: 157 of 700, 41 of them defective — with the note that MINIMUM and BASIC WL carry no invoice lines at all and so, since 1 January 2025, are not e-invoices under § 14 UStG.
- Every number there is read from the kit’s manifest rather than from the page: extending the kit moves the table instead of dating it.
v0.20.2
- The trust figures now read 700 sample invoices instead of 600 — 383 valid, 317 defective. The growth is in ZUGFeRD hybrids: 157, up from 61.
v0.20.1
- The navigation now links straight to “Features” — the full list of what Beleggo does is one click away from every page.
- The “Home” item is gone from the navigation: the logo next to it already goes there.
v0.20.0
- A new standalone page for checking a single VAT identification number: country prefix, format and check digit are worked out in the browser for all 28 prefixes — nothing is sent.
- One press additionally asks VIES whether the number is actually registered. Supply your own VAT ID and the consultation number comes back with the answer.
- One field, one verdict, one button: your own VAT ID for the consultation number sits in a fold below the button, not in a second field beside the number being checked.
- Where the member state discloses the registered name and address, they now appear with the answer. Most do not — Germany never does — and the page says so rather than leaving the fields blank.
v0.19.8
- The feature list names a new one: confirmation that a VAT ID actually exists — asked explicitly of VIES or the German BZSt (§ 18e UStG), with a consultation number to keep.
- VAT ID check digits are now computed for all 27 member states and Northern Ireland; the page previously said fourteen.
- The "proof, not promises" section names the single exception itself: that one confirmation sends the number to the authority — never the document, and never on its own.
v0.19.7
- The open-source credits page now lists Turborepo at 2.10.12, with the description the package itself ships.
v0.19.6
- The presentations and the data-kit section now say 600 sample invoices — the kit's current size after it grew from 485 to 600 samples.
v0.19.5
- The open-source credits page lists Source Sans 3 as a further typeface in use, and now attributes the packages it names to the prospect pages as well.
v0.19.4
- The data kit now holds 485 sample invoices (up from 433) with 90 reference documents: 25 targeted rule breaks across the core of the standard, each from exactly one edit, so every one ships with the corrected version beside it.
- New too are document chains — invoice, correction and cancellation referencing each other, plus an instalment and the final invoice that deducts it — Peppol country rules for Sweden, Norway, Italy, Denmark and Greece, and eight samples that are valid and still hostile to any importer: 200 lines, twelve VAT rates, Greek and Cyrillic item names.
- The kit's specimen VAT numbers now satisfy their own check digit. That the standard requires such a number to be present but never computes it is now shown by four samples named for the purpose.
- All 485 samples have now run against the official validators — KoSIT, Service-BW and the EU test bed — with no open disagreement. The one that remained was a bug in our own harness: it had announced seven CII samples to the EU test bed as UBL.
v0.19.3
- The data kit now holds 433 sample invoices (up from 395): 19 German special cases — the small-amount invoice (§ 33 UStDV), transport ticket (§ 34 UStDV), the margin schemes (§ 25a, § 25), exempt letting and training, a recurring invoice with an invoicing period, prepayment, partial and final invoices, and the self-billing procedure.
- Six of them pass every official validator and are still not a proper invoice under § 14 UStG — a missing “Gutschrift” wording, or “miscellaneous” as a line description. Exactly the gap a Schematron check cannot see.
- The four national profiles the engine has long validated are now evidenced too: NLCIUS, CIUS-RO, HR-CIUS and CIUS-PT — with the national rules that actually reject a document, such as a Bucharest address that must be written as SECTOR1.
v0.19.2
- The linked slide decks no longer name prices: instead of figures they name the editions — web studio, desktop, Kanzlei & data kit, OEM/white-label — and what each one reaches.
- Every number in the decks is now sourced: the address sits at the foot of the same slide and is clickable, and the marketing deck, the investor pitch and the business case close with a full source list. Our own figures point at the conformance section of this site.
- The investor pitch has a dedicated section for tax practices: the business, the value, and six services a practice can offer its own clients with it — from a validation page under its own name to chasing the suppliers.
v0.19.1
- The ruleset badge now names the current rule sets: EN 16931 via the KoSIT configuration 2026-08-31 (CEN 1.3.16), XRechnung Schematron 2.6.0 and Peppol BIS Billing 3.0.21 — the version the Peppol network has required since 17 August 2026.
- The rule library covers 1,783 documented rules (up from 1,749), including the new Dutch identifier checks and the German Peppol rule on external document links — each with its what, why and how in three languages.
- The cross-check against the official KoSIT validator runs on its version 1.6.3 with the same configuration the validation engine compiles.
v0.19.0
- The overview page “What's possible with Beleggo” is now available in English (/en/overview) and French (/fr/apercu) as well — with the recorded tours in that language and every link pointing at the pages of the same language. The language switch leads from each edition straight to the other two.
v0.18.0
- New use case on “Solutions”: an e-invoice out of an ordinary invoice PDF, via a field mapping per layout. The mapping records which spot on the page holds which EN 16931 term — a label to the right or below, a pattern, a page region, a fixed value or an explicit question; the layout is recognised by its fingerprint, every field carries a confidence and its origin, and the least certain ones reach the mandatory review first. What comes out is an XRechnung or a ZUGFeRD PDF, and the same mapping runs in the terminal and over MCP.
v0.17.0
- New “Features” page (/en/features): the full capability list as one numbered list of 47 entries across ten groups — validate, fraud checks on the hybrid PDF, repair, create, read, VAT, volume & evidence, the data kit, developers & AI, local & safe — each with the use case it is for.
- A group of its own for the hybrid-PDF fraud checks: the visible page against the embedded XML, eight ways to conceal text, the lying font, and two invoices inside one file.
- A group of its own for the data kit: 395 samples with a verdict manifest, 55 golden reference invoices, the kit wizard that puts the customer's own company details on it, and the readiness report — white-label included.
- The same page carries a head-to-head: per criterion, the left column shows what the named vendors publish on their own pages (with the source), the right column what Beleggo offers.
- Every figure on the page — checks, rules, data-kit samples, golden samples, attack fixtures and disagreements with the official verdict — comes from the conformance data and moves with every ruleset or kit update.
- The page is linked from the footer under “Product” and is available in German, English and French.
- New “Under your brand” section on the features page: what a tax practice gets when white-labelling — an app with its own name, logo and advisory text, two shapes, reports on its letterhead, test data carrying its name — and beside it what it can then offer its clients: validation on the practice's own website with no upload, clients creating valid invoices themselves, a dated record per client, test invoices carrying the client's real company details, a run over the whole document folder, and the process documentation.
- Fixed: “Solutions” and “Test invoices” described the data kit as 352 invoices and 52 corrected reference invoices. The correct figures are 395 and 55; the 352 are the samples cross-checked against the official validators. All three now come from the conformance data and can no longer drift apart.
- The page for tax practices now has a white-label section of its own, “Under your name”: six services a practice can offer its clients, what gets relabelled, and the note that this needs an OEM licence and is not part of the multi-seat licence. From there a link leads to the full white-label section on the features page.
- The features page is now reachable from the page body as well as the footer: a link sits under the capability grid on the home page and under the comparison table, each naming the number of capabilities in the link text.
- Prices are gone from the page for tax practices: instead of a price table with Buy buttons, the “Multi-seat licence” section now only describes what the licence grants — perpetual, tiered by seat count, twelve months of rule updates — and leads to a direct enquiry. The page description no longer names a figure either. The “Pricing” column has been dropped from the vendor comparison.
- Price language is gone as well: “free” no longer appears anywhere on the site — not in headings, page titles, descriptions, FAQ entries or the guides' search terms. What is described instead is what actually holds: in the browser, no account, no upload, local. Only the legal pages keep the word, because there free usage is contract text.
v0.16.0
- The home page no longer talks about price: the Pro section has given way to an “In daily use” section that shows the same capabilities — saved invoices and templates, PDF branding with logo, accent colour and payment QR, a note on the PDF, CSV report export.
- “What does it cost?” is now “Is it a fit for my case?”, with a direct route to the contact section — where the person behind Beleggo answers, not a ticket system.
- Hero, audiences, business reasons, FAQ and the newsletter no longer mention free, subscription, one-time payment or licensing; they describe what the tool can do.
v0.15.0
- A new card in the home page's security section: an incoming invoice is untrusted input. Attachments are never shown as themselves, and anything wrong with a file name or a link is reported.
- The security page spells it out: deceptive file names, file names carrying a path, references that are neither web nor mail addresses, and the fact that the validation engine fetches no external reference.
- The published check count rises from 1,781 to 1,784 — the three new attachment checks.
v0.14.0
- A new section on the home page: what happens to the data that stays on the device — encrypted browser storage, a chained activity log, an encrypted backup, and a Content-Security-Policy with no third-party code.
- It also says what that does not do: the key sits on the same device as the data and protects no stolen device — full-disk encryption is what does.
- Security and privacy pages updated: profile, customers, invoices and client records are encrypted in the browser database, no longer plain text in localStorage.
v0.13.0
- A new section on the home page: the recorded tour of the data-kit wizard — in the language you are reading in.
v0.12.1
- The dependency overview now also lists the building blocks of the new data-kit wizard — Preact, Zustand and fflate appear with every component that uses them.
v0.12.0
- New section on the home page: tampered ZUGFeRD PDFs. It shows, with a real sample, how the printed page can state a different IBAN than the embedded XML — and opens that file in Studio on a click.
v0.11.1
- The conformance section now states 352 cross-checked test invoices instead of 340 — still with no open disagreement. The number comes from the public comparison matrix, and the twelve most recently added samples had not been counted in it yet.
v0.11.0
- New page /en/tax-practices: what Beleggo does for tax practices today, which file formats a client folder may contain, the multi-seat prices — and a section of its own on what does not work yet.
- The multi-seat licence can now be bought directly (up to 5, up to 20, unlimited). The practice name is collected at checkout and appears on every report it issues.
- The terms now explain what a seat is and why no data-processing agreement is needed.
- The “For tax practices” card on the home page is no longer “in development” and now leads to the new page instead of to its own paragraph.
- Fix: the French solutions page showed its status chips in English (“Available”, “On request”). They are French now.
v0.10.0
- The error library is now available in French, at /fr/erreurs.
- Every rule page shows the UBL and CII paths side by side. The same rule is named differently in each syntax — which is exactly why running a CII file against the UBL rules produces errors that mean nothing.
- Every XRechnung and Peppol rule now has a written explanation in German, English and French, instead of falling back to the official rule message.
- The in-page validator now speaks French as well.
- The landing page names the new capabilities: UBL and CII side by side, the totals difference in plain figures, and reversing rather than editing.
v0.9.0
- Readability: mono labels, footnotes and the body copy on the blue proof block now clear the WCAG AA contrast threshold — both sat just below it before.
- The middle of the home page has a way in again: a call to start sits after the capability list, with the test invoices as a second route for anyone without an invoice to hand.
- “Before and after the invoice” now comes after “Built for developers”, so the command-line section arrives once the page has introduced the CLI, the MCP server and the desktop app.
- The “Local” row in the receiving/sending section is gone: the blue block above it already demonstrates the point. The tax-practice card now points straight at the overview that states its development status, and the third card at the foot of the page shows the error library instead of the decks.
- Cards and tiles are marked up properly for screen readers and keyboards: headings at every level, short link names instead of whole paragraphs, a visible focus ring. The display font is preloaded, so the headline no longer shifts as the page loads.
v0.8.0
- New home page: the hero leads with what the tool does — headline, “No upload. No account. No cloud.” and, beside it, a real XML file with a green EN 16931 status. The deadlines are still there, one level down.
- An audience switch sits directly below the hero: tax practices and businesses as large cards, plus developers & AI agents, software & ERP vendors and partners & white-label — every audience recognises itself within one scroll.
- The proof that your invoice never leaves your machine is now a blue block near the top, with the F12 network test as a numbered walkthrough; conformance with the 340 test invoices follows right after.
- New logo mark (blue square with a white check) and new typography (Archivo, IBM Plex Mono) across the site; on narrow screens the navigation moves into a menu and “Get started” stays visible.
v0.7.1
- The open-source credits page now also lists the new @beleggo/doc package as a user of fflate and pdf-lib — the list is generated from the actually installed dependencies, not maintained by hand.
v0.7.0
- New “Before and after the invoice” section on the home page: master-data checking before the invoice, handover to DATEV, transport-ready Peppol packages and the sealed audit set — each with its command and the limits that come with it.
v0.6.1
- The open-source credits page now also lists fflate, the library the command line uses to write DATEV document packages as ZIP files.
v0.6.0
- Readiness check: a new question about the originals. If you have been receiving e-invoices since 2025 without keeping the structured XML, you now get a finding of its own — including what rides on it in a tax audit.
- The issuing deadline is derived from your 2026 turnover instead of a yes/no question: above €800,000 means 1 Jan 2027, just below means "not settled yet, plan for 2027", below that 1 Jan 2028.
- Small businesses (§ 19) and businesses without B2B customers now get the right answer instead of a deadline that does not apply to them; small amounts up to €250, travel tickets and private customers are named as exceptions.
- New "shortest route" section: the steps that need no ERP project — mailbox, local check, unchanged retention, structured output format. Anything already covered is ticked off, and the roadmap prints.
- Correction: invoices must be retained for eight years (§ 14b UStG, § 147 AO), not ten. The check was still on the pre-2025 rule.
v0.5.1
- Open-source page updated: pdf-lib is now used by the anonymiser as well, which anonymises printed PDF pages.
v0.5.0
- New "Standing on the shoulders of giants" page (/en/open-source): every open-source library Beleggo builds on, with version, license and what it is used for.
- The list is generated automatically from the package.json files, so it never goes stale.
- Each Beleggo package has its own colour: use the chips at the top to filter down to the libraries behind, say, the studio.
v0.4.1
- Conformance evidence is now marked as available: 352 test invoices, 52 corrected reference invoices and a dated readiness report carrying kit version, content hash and ruleset versions.
- The test-invoices page now says the selection shown is the entry point to a much larger data kit.
- Spelled out for tax firms: reports on their own letterhead, and no data-processing agreement or professional-secrecy question because documents never leave the building.
v0.4.0
- The conformance section now states how many checks actually run — 1,781 per invoice, broken down into official Schematron, § 14 UStG particulars, VAT risk rules and attachment checks.
- Clearer about what is at stake: without a proper invoice the input-VAT deduction is at risk, not just acceptance by the recipient.
- Local validation also means no data-processing agreement, and for tax firms no question of professional secrecy.
v0.3.0
- New on the home page: the product tour as a video — eleven chapters, each explained first and then demonstrated in the real studio. In German, English and French.
v0.2.0
- Five new guides: the Wachstumschancengesetz, e-invoicing for tax firms, choosing a format in practice, e-invoicing in the trades, and the five-step changeover guide.
v0.1.2
- AI assistants now find Beleggo more easily: /llms.txt names both packages, @beleggo/cli and @beleggo/mcp, with their install commands.
v0.1.1
- Unified contact address: enquiry, imprint and legal pages now use [email protected].
v0.1.0
- Trilingual site: the landing page, guides and error library are now available in German, English and French.
- Try validation and auto-repair right on the landing page — a real in-browser check with nothing uploaded.
- New pages: a "Solutions" showcase and a Security & Compliance page with verifiable privacy details.
- Free test-invoice pack and step-by-step e-invoicing guides (including France).
- The conformance section now lists every shipped ruleset with its pinned version, generated automatically (EN 16931, XRechnung 3.0.2, Peppol, and the NL/RO/HR/PT national CIUS).