All resources

Peppol & UBL format guide · Free local tool

Anonymize a Peppol invoice without uploading it

Peppol BIS Billing invoices are machine-readable UBL documents. That makes them excellent for automation—and easy to overshare when a production XML is attached to a support ticket or copied into a test environment.

Short answer: Open a duplicate XML in InvoiceVeil, review the detected party, contact, payment and document identifiers, then download a safe copy. Processing happens in the browser and the accounting original stays untouched.

What is inside a Peppol BIS Billing invoice?

Peppol BIS Billing 3.0 is a Core Invoice Usage Specification of the European e-invoicing standard EN 16931. Its invoice syntax uses UBL 2.1, including structured supplier, buyer, delivery, tax, payment and document-reference fields.

The structure is valuable to developers because it preserves the conditions that caused an import or validation problem. The same structure can also carry company names, electronic endpoint IDs, VAT identifiers, email addresses, phone numbers, street addresses, bank account IDs and invoice references.

Which values should be reviewed before sharing?

  • Supplier and buyer names, registration names and party identifiers.
  • EndpointID values and other electronic addressing identifiers.
  • Email addresses, telephone numbers, street names, cities and postcodes.
  • IBAN, BIC and other payee account identifiers.
  • VAT or tax registration IDs, invoice numbers and business references.

How local Peppol anonymization works

InvoiceVeil parses the XML with browser APIs, identifies common sensitive text nodes and proposes clearly synthetic replacements. You can deselect any value that must remain for the test, then create a new XML file. There is no invoice upload endpoint or server-side file store.

Amounts, currencies, tax totals and line-item structure are left unchanged by default because they are often essential for reproducing calculation and import issues. Review them separately when the commercial values themselves are sensitive.

Will the safe copy still pass Peppol validation?

The result remains well-formed XML. Replacement IBANs keep their country, length and BBAN character shape with recalculated MOD-97 check digits. French SIREN and SIRET values explicitly marked with the standard 0002 or 0009 scheme receive linked, randomized Luhn-valid replacements; numeric French VAT values are linked to the same replacement SIREN. Other identifiers may still fail country-specific or Peppol business rules. Use the safe copy for debugging and communication, not for accounting, payment or network delivery.

Primary references

Continue reading