Check eVAT 2.0 XML in the browser
Load the file and we will show formal errors against the NAV eVAT 2.0 schema. The check runs in your browser, so the file does not leave your machine. NAV eVAT 2.0 XSD, pinned release 2.0.2 (2026-07-01, commit 21065b6b).
What do the three steps check?
XML structure
We check whether the XML is well-formed: no unclosed or mismatched tags, and no encoding problems. In practice, a large share of issues already surface here.
eVAT 2.0 identity
We only check the root element and namespace — that the file is actually an eVAT 2.0 analytics payload. An export from an earlier version fails here. Missing required children, such as declarationInfo, belong to the next, XSD step.
NAV schema validation
The file is compared with the pinned NAV eVAT 2.0 XSD: required elements, element order, allowed values and formats. Validation is performed by the widely used libxml2 engine.
What errors does it report, and how can they be fixed?
Original NAV schema messages arrive in English and technical wording. The table below summarises the most common cases, with typical cause and the direction of the fix. Raw libxml2 text is shown unchanged under technical validation detail.
| Reported error | Typical cause | Fix |
|---|---|---|
| This is not an eVAT 2.0 XML file | The root element or namespace does not match the NAV eVAT analytics schema. Typically an export from an earlier schema version, or a completely different data report. | Confirm that an eVAT M2M 2.0 export was selected in the source system. |
| Missing or misplaced required element | A required element is missing at this point, or the element order differs from the schema. The XSD prescribes a fixed sequence, so a correct element in the wrong place also fails. | Add the missing element and review the element order in the affected section. |
| Unexpected element | The schema does not accept this element at this location. Often an internal custom field remains in the export, or the element name is misspelled. | Check the element name, namespace and position, then the source system’s eVAT 2.0 export settings. |
| Invalid value (format or length) | The field value does not match the format, length or allowed set prescribed by the schema. Typical cases are date format, decimal places and the tax number. | Correct the value on the indicated line. For a tax number, only the eight-digit core number is accepted — no space, hyphen or country code. |
| Unclosed or mismatched XML tag | An opening or closing tag is missing, or does not match its pair. This happens with truncated files or after manual editing. | Fix the tags around the indicated line, then run the check again. |
| Other schema error | The affected field or surrounding structure fails the schema for another reason. In that case the original schema message is shown under technical validation detail. | Inspect the indicated line, then request a new eVAT 2.0 export from the source system if needed. |
What is this checker for?
What it finds
- Missing or invalid fields
- Incorrect date and number formats
- Incorrect element order
- When the file is not eVAT 2.0 XML
What it does not decide
- Whether the return’s tax content is correct
- Whether NAV would accept it under its business rules
- Whether the tax-code mapping is professionally sound
A successful check does not mean NAV acceptance. This page helps you find formal errors in the file. NAV may still examine the return’s content and further business rules.
Frequently asked questions
Is the file uploaded anywhere?
No. The check runs in the browser: the browser reads the file, and schema validation also happens locally with libxml2 compiled to WebAssembly. The file contents never leave the machine — this can be verified on the Network tab of the browser developer tools.
Which schema does the checker use?
The pinned eVAT 2.0 XSD release published on NAV’s public eVAT repository (NAV eVAT 2.0 XSD, pinned release 2.0.2 (2026-07-01, commit 21065b6b)). We do not bundle a copy of the schema; we download this release from the NAV source. The page prints the validation basis both before and after the run.
If the file passes, will NAV definitely accept it?
No. This is a formal check: it tests whether the file matches the structure and formats in the schema. NAV also runs technical, processing and business validation with its own messages — collected on the eVAT validation messages page.
How large a file can it check?
The limit is the machine’s memory, not a server-side cap. Validation runs on a separate thread (Web Worker), so the interface does not freeze on larger analytics files.
Why does element order matter?
Because the XSD prescribes order, not only which elements may appear. A correct element therefore still fails if it is in the wrong place — one of the most common misunderstandings of schema errors.