The XML invoice viewer and the UBL to PDF converter are one free tool on two pages: open a UBL invoice or credit note, read it, and download it as a PDF. Neither needs an account.
Supported documents
| Input | What happens |
|---|---|
UBL 2.1 Invoice | Opens. Every supported field is read. |
UBL 2.1 CreditNote | Opens as a credit note, with CreditNoteLine and CreditedQuantity. |
| Peppol BIS Billing 3 (UBL) | Opens. The workspace notes that the document declares Peppol BIS Billing 3; a declaration is not proof of conformance. |
| Another UBL-based profile, such as XRechnung UBL | Opens with the supported fields. The rest stays visible in the XML tab. No support for the profile's own rules is claimed. |
| UN/CEFACT CII, Factur-X, ZUGFeRD | Refused, naming the format. Not supported in this release. |
| PDF, ZIP, gzip, other XML, text | Refused, naming the file type where it can tell. |
A document is identified by its root element's namespace and name, not by its prefix or file name: urn:oasis:names:specification:ubl:schema:xsd:Invoice-2 or ...:CreditNote-2. UBLVersionID, CustomizationID and ProfileID are shown as the document declares them.
What the viewer shows
The readable invoice shows the document the way a person reads one. The Details tab lists every field below with the line of the XML it came from.
| Group | UBL elements |
|---|---|
| Identity | ID, IssueDate, DueDate, TaxPointDate, the type code, DocumentCurrencyCode, TaxCurrencyCode, Note |
| Parties | AccountingSupplierParty, AccountingCustomerParty, PayeeParty, TaxRepresentativeParty: names, addresses, EndpointID, identifiers, VAT and company IDs, contacts |
| References | BuyerReference, OrderReference, BillingReference, ContractDocumentReference, ProjectReference, despatch and receipt references, AdditionalDocumentReference |
| Period and delivery | InvoicePeriod, Delivery date, location and address |
| Payment | PaymentMeans (code, reference, account, bank, card, mandate) and PaymentTerms |
| Lines | InvoiceLine or CreditNoteLine: ID, quantity and unit, item name, description and identifiers, classifications, properties, price and base quantity, line net amount, line allowances and charges, VAT category |
| Adjustments | Document AllowanceCharge: amount, base, percentage, reason and VAT |
| Tax | TaxTotal and each TaxSubtotal: taxable amount, tax, category, rate and exemption reason |
| Totals | LegalMonetaryTotal: line total, allowances, charges, totals with and without VAT, prepaid, rounding and payable amount |
Attachments are listed by file name and type only; their contents are never decoded, shown or put into the PDF. UBLExtensions and any element outside this list stay in the XML tab: the readable view shows supported fields, not the whole XML.
How values are shown
- Every amount, quantity, date and identifier is the text the XML contains. Nothing is added up, rounded, corrected or filled in.
- Amounts keep all their decimals and show their currency code. A tax total in a second currency is shown on its own, never added to the first.
- A missing value is shown as missing, never as zero. An explicit zero is shown as written.
- Dates are calendar dates, shown without any time zone change. A value that is not a valid date is shown exactly as written, with a note.
- Leading zeros in numbers, postcodes and account numbers are kept. Web addresses in the invoice are shown as text, never as links, and payment details are never turned into payment actions.
- A credit note's total is labelled as the amount credited. Signs are shown as the XML has them.
Where a field the layout expects is missing, or a single field appears twice with different values, a note above the invoice says so and links to the XML line. These are notes about reading the document, not validation findings.
The PDF
Download PDF builds the PDF from the same fields as the screen: A4 by default, or US Letter. The text is selectable, the line table's headings repeat on every page, rows are not split between pages, every page is numbered, and any reading notes are printed with the document. The footer says it is a readable rendering of the source XML and has not been validated.
The PDF is not the invoice and does not replace the XML. It is not signed, not PDF/A and not Factur-X, it includes no attachments, and it does not carry the supplier's own design. Print, in the workspace, prints the same readable invoice from your browser.
What happens to your file
| Action | Where | Kept |
|---|---|---|
| Open a file, paste XML or open a sample | Ironfang's free tools API reads it in memory, in the UK | Nothing. The page holds the file until you remove it, open another or leave. |
| Details and XML tabs | Your browser | Nothing |
| Download PDF | The tools API builds it in memory | Nothing. The PDF goes to your downloads. |
| Download the original XML, Print | Your browser | Nothing |
| Validate invoice | Ironfang Finance | An anonymous check keeps no invoice XML or result. Content-free request and security metadata, including your IP address, may be kept for up to 90 days. |
Nothing from a document's contents is logged or sent to analytics: usage is counted as totals such as "a PDF was downloaded", and the tool pages are never session-recorded. The file is not written to browser storage, and no web address ever names a document. See the privacy policy.
Validation
The viewer does not check an invoice against any rules. Validate invoice sends the exact file you opened to Ironfang Finance, which checks it against the UBL 2.1 schema, the EN 16931 business rules and the Peppol BIS Billing 3 rules, and shows the verdict and each finding in a Validation tab beside the invoice. It is the same check as the Peppol validator, with the same anonymous rate limits. A service failure or rate limit is shown as no verdict, never as invalid. To validate from your own software, use the Finance API.
Errors and limits
| Message | Cause |
|---|---|
| Too large to open | The file is over 5 MiB (5,242,880 bytes). |
| Too large to display | More than 2,000 lines, more than 150,000 XML elements, nesting deeper than 64 levels, or one text value over 1 MiB (an embedded attachment is exempt: it is never read). The document is refused rather than shown with parts missing. |
| Not well-formed XML | The file is not complete, well-formed XML. The message gives the line and column where reading stopped. |
| Document type declarations are not accepted | The file contains a DOCTYPE or entity declarations. UBL never needs them, and they are refused for safety. |
| Unsupported text encoding | Not UTF-8, and not UTF-16 with a byte order mark; or the XML declaration contradicts the byte order mark. |
| Not a UBL invoice or credit note | A PDF, archive, CII invoice, other XML or plain text. |
| Too many requests | The free tools are rate limited per visitor. Wait a minute. |
The viewer never fetches anything a document points to: no schema locations, stylesheets, images or attachment links. Scripts and markup inside a document are shown as text.
