How can I verify that an XML invoice is valid and deliverable?
Short answer
No single check is sufficient. Verify, in sequence: the UBL 2.1 XSD structure, EN 16931 semantic rules through Schematron, the Peppol BIS Billing 3.0 profile, Slovak implementation and validation rules, and deliverability through the provider. A document may pass XSD yet fail an EN 16931 business rule, or pass content validation but remain undeliverable because the EndpointID is wrong or the recipient is not registered.
XML structure
It verifies the structure, order of elements, data types and mandatory elements according to the UBL 2.1 scheme. If the XML does not pass the XSD, further checks cannot be continued.
Business significance
Checks mandatory business data, logical links, calculations, VAT and mandatory identifiers — via Schematron rules.
Network rules
Peppol Additional Rules: Supported Codes, Allowed Values, Party IDs, EndpointIDs and Email Addresses.
National requirements
Slovak validation rules beyond the framework of the European standard — e.g. method of stating VAT number/ID (scheme 0245).
Validation vs. human/business error
Professional accounting software should not generate a technically invalid document on its own — these layers (XSD, EN 16931, Peppol BIS, Slovak transpositions) are handled automatically by the exporter. In practice, therefore, you will most often encounter not a technical validation error, but a human or business error: the wrong supplier, customer, incorrect taxable supply, quantity or price. None of the five validation layers will detect these, because the XML is technically and formally correct — it is simply the content that does not correspond to reality. See also Can an XML invoice be technically correct but commercially incorrect? and The difference between a critical error and a warning.
Even a valid document can fail
Most common reasons: incorrect EndpointID, recipient not registered on the network, incorrect subscriber identifier, routing error.
Why a single green check is not enough
An XML document may be valid against the XSD, but may not comply with EN 16931; it may comply with EN 16931, but may not comply with Peppol BIS; it may be fully valid, yet still undeliverable.
Most common mistakes
- Incorrectly calculated VAT or a discrepancy between line items and total amounts.
- Missing mandatory data or invalid entity identifiers.
- Incorrect EndpointID or unauthorised codes according to EN 16931/Peppol BIS.
Conclusion
The correctness of an XML invoice cannot be assessed on the basis of a single successful check. Reliable validation involves a technical check of the XML, EN 16931 business rules, Peppol BIS rules, Slovak transpositions and, finally, verification of deliverability. Use a validator that clearly states which layers it checks, and in production, also verify delivery via a real provider.
Sources: OASIS UBL 2.1 Specification; European Standard EN 16931 (European Commission); OpenPeppol BIS Billing 3.0 Documentation; official methodological and information materials from the Financial Administration of the Slovak Republic (Slovak transpositions and validation rules). Verified on 8 July 2026.