Open an XML invoice, right in your browser
You received an <code>.xml</code> file, double-clicked it, and got a wall of tags. This page explains what you are holding, and opens it in plain language without installing anything.
What your usual tools make of it
An XML invoice carries no presentation of its own. Depending on which program your system hands it to, you fail in one of three ways — none of them your fault:
- The browser shows a collapsible tree of tags. It is doing exactly what it was asked: display an XML document. It has no idea this is an invoice.
- Excel offers to import the file as a table and produces a column layout that resembles no invoice at all — one column per tag, across dozens of nested levels.
- A text editor shows the source as it is, often on one endless line if the file was never indented.
In all three cases the information is there. What is missing is the layer that knows PayableAmount is the amount due and DueDate is the payment deadline. That is what this page supplies.
Opening the file, in three moves
- Go to the home page and drag the file onto the drop area, or click to choose it.
- The syntax is recognised from the first tag of the document. Nothing to declare, nothing to know in advance.
- The invoice is laid out: seller, buyer, lines, VAT breakdown, totals, due date and bank details. The profile declared by the file appears at the top.
No account, no email address, no installation. The expected extensions are .xml for a bare file and .pdf for a hybrid invoice, which carries its XML inside.
Recognising what you are holding
There is no single XML invoice format. There are two syntaxes, and one wrapper. Open the file in a text editor and read the name of the first tag:
<Invoice>or<CreditNote>— you have a UBL 2.1 file, the OASIS syntax. A credit note announces itself right there.<CrossIndustryInvoice>— you have a CII file, the UN/CEFACT syntax. It is also what every Factur-X or ZUGFeRD PDF carries inside.
You will also meet profile names: Peppol BIS Billing 3.0, XRechnung, Factur-X EN 16931. These are not extra formats. They are tighter variants of the two syntaxes above, adding required fields. The format comparison puts them in order.
You can skip this step entirely: drop the file and the format and profile are displayed for you. An extension can lie; the content cannot.
Why your file is never uploaded
An invoice carries your revenue, your customers’ names, your commercial terms and often a bank account number. Uploading that to an unknown service just to see a table is a poor trade.
Lekteo runs entirely in your browser. The file is read on your own machine and sent to no server: no upload, no account, no database, no log. You can check this yourself — load the page, disconnect from the network, then drop the file: reading still works.
Print and export, instead of convert
Many people look for a way to “convert XML to PDF”. Let us be plain: Lekteo does not convert, and produces no new invoice file. It issues nothing, transmits nothing, and replaces no service provider.
What it does, and what actually meets the need:
- Display and print. The laid-out invoice prints straight from your browser, which gives you a PDF to read or to file.
- Export to JSON or CSV. To pick the data up in a spreadsheet or a bookkeeping tool without retyping it.
One point no converter tells you: a PDF printed from an e-invoice is no longer an e-invoice. It is a representation, with no structured data left. Always keep the file you received, unchanged, alongside it.
If the file will not open at all
A file can be refused for three quite distinct reasons, and telling them apart saves you a phone call:
- The file is malformed. The XML is broken, truncated, or its encoding is corrupted — often after a forward or a re-save in an editor. Nothing to negotiate: ask for it again.
- It is not an invoice. An XML file can be perfectly valid and describe something else entirely. You will be told so explicitly.
- The PDF holds no structured invoice. It is then a printed or scanned invoice: an image, with no usable data. Nothing is guessed from the image, and no text recognition is attempted.
A fourth case is more common than people expect: the file opens, but its content breaks a rule of the standard. The invoice is displayed as usual, with the corresponding findings alongside. Who must comply explains where these files come from.
Frequently asked questions
Can I open an XML invoice with Excel?
Technically yes, and the result is almost always unusable. Excel produces a column layout that resembles no invoice, because nothing tells it which tag holds the amount due or the due date. It treats the file as arbitrary data.
Is my file uploaded to a server?
No. It is read in the open tab, on your own machine, and sent nowhere. You can verify it: load the page, disconnect from the network, then drop the file — reading still works.
How do I know whether my file is UBL or CII?
By the first tag of the document. Invoice or CreditNote means UBL; CrossIndustryInvoice means CII. You do not need to know before dropping the file: the syntax is detected automatically and shown afterwards.
Can I turn this XML file into a PDF?
Lekteo does not convert between formats. It displays the invoice, lets you print it — which gives you a PDF to read — and exports the data as JSON or CSV. Keep the XML file you received: a printout is only a representation, with no structured data.
Is an XRechnung a different format from UBL or CII?
No. XRechnung is a national profile of EN 16931, not a separate file format. It is written in either UBL 2.1 or CII, and both are read here. The detected profile is displayed at the top of the invoice.