Wgraj fakturę XML i sprawdź reguły przed wysłaniem. Wynik pokazujemy tylko wtedy, gdy faktycznie przebiegnie walidacja API na żywo. Jeśli API jest niedostępne, nie dostaniesz zmyślonego "zielonego światła".
To narzędzie służy do serwerowej walidacji dokumentów XML. Wynik pokazujemy tylko wtedy, gdy odpowie bramka walidacyjna eFaktúra centrum; przy awarii nie dostaniesz fałszywego potwierdzenia.
Publiczny walidator używaj do testowych lub zanonimizowanych plików XML. Dokumenty produkcyjne i dane wrażliwe należą do trybu workspace/API z audytem, polityką retencji i wyższymi limitami.
# Walidacja jednego pliku XML przez payload JSON curl -X POST https://efakturacentrum.sk/api/validate-file \ -H "Content-Type: application/json" \ -d '{ "filename": "faktura.xml", "content": "<Invoice xmlns=\"urn:oasis:names:specification:ubl:schema:xsd:Invoice-2\">...</Invoice>" }' # Walidacja wsadowa wielu plików XML curl -X POST https://efakturacentrum.sk/api/validate \ -H "Content-Type: application/json" \ -d '{ "files": [ { "filename": "faktura1.xml", "content": "<Invoice>...</Invoice>" }, { "filename": "faktura2.xml", "content": "<Invoice>...</Invoice>" } ] }'
import { readFile } from "node:fs/promises"; const xml = await readFile("faktura.xml", "utf8"); const response = await fetch("https://efakturacentrum.sk/api/validate-file", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ filename: "faktura.xml", content: xml }) }); const result = await response.json(); console.log(result.valid, result.fatal_count, result.issues);
import json from urllib.request import Request, urlopen with open("faktura.xml", "r", encoding="utf-8") as f: xml = f.read() payload = json.dumps({"filename": "faktura.xml", "content": xml}).encode("utf-8") req = Request( "https://efakturacentrum.sk/api/validate-file", data=payload, headers={"Content-Type": "application/json"}, method="POST", ) print(json.loads(urlopen(req, timeout=30).read()))
{
"filename": "faktura.xml",
"valid": false,
"fatal_count": 1,
"warning_count": 0,
"summary": {
"invoice_id": "FV-2026-0001",
"seller_name": "Moja Firma s.r.o.",
"payable_amount": "1240.00",
"currency": "EUR"
},
"issues": [
{
"level": "fatal",
"layer": "EN16931",
"rule_id": "BR-CO-10",
"message": "Súčet riadkov nesedí s LegalMonetaryTotal."
}
]
}