Romania e-Factura Validator
Pricing
from $4.00 / 1,000 invoice validateds
Romania e-Factura Validator
Preflight Romanian UBL Invoice and CreditNote XML against pinned UBL 2.1, CIUS-RO 1.0.1, and ro16931-ubl 1.0.9 rules.
Pricing
from $4.00 / 1,000 invoice validateds
Rating
0.0
(0)
Developer
Kamer Ozkan
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
Preflight Romanian e-Factura UBL XML before submission. Each evaluated Invoice or CreditNote receives a deterministic technical result, structured rule findings, an input SHA-256 digest, and the exact pinned ruleset versions.
Technical offline preflight only.
ACCEPTEDmeans the XML passed the pinned XSD and Schematron layers. It is not an ANAF acceptance, delivery, signature, identity, legal, accounting, or tax-validity guarantee.
Supported documents
| Document | Support | Required checks |
|---|---|---|
| UBL 2.1 Invoice | Yes | OASIS UBL 2.1 XSD and Romanian ro16931-ubl 1.0.9 Schematron |
| UBL 2.1 CreditNote | Yes | OASIS UBL 2.1 XSD and Romanian ro16931-ubl 1.0.9 Schematron |
| CII | No | Returned as unsupported and not evaluated |
| No | Returned as unsupported and not evaluated |
The Romanian ruleset requires this specification identifier:
urn:cen.eu:en16931:2017#compliant#urn:efactura.mfinante.ro:CIUS-RO:1.0.1
The pinned national package contains:
- CIUS-RO
1.0.1 - Romanian Schematron package
1.0.9, effective2024-06-05 - Its embedded EN 16931 layer
1.3.8 - UBL 2.1 Invoice and CreditNote bindings
The current EU EN 16931 release is not substituted into the national package. Doing so would stop this product from matching the published Romanian artifact composition.
Quick start
Run the Actor with an empty input:
{}
The Actor then validates its project-authored synthetic CIUS-RO 1.0.1 sample. The sample contains fictional names and identifiers and is intended only to prove the offline pipeline.
For production use, send one source per document:
{"documents": [{"documentId": "supplier-invoice-1042","fileName": "supplier-invoice-1042.xml","xml": "<Invoice xmlns=\"urn:oasis:names:specification:ubl:schema:xsd:Invoice-2\">...</Invoice>"}],"resultDetail": "FINDINGS","maxFindingsPerDocument": 100,"storeXmlReport": false,"storeHtmlReport": false}
Each item must contain exactly one of url, xml, or base64. HTTPS URLs, console uploads, and records in a customer key-value store are also supported.
The input and output schemas are agent-readable and work through the Apify API, MCP clients, webhooks, Make, n8n, and standard SDKs.
Result semantics
| Processing | Conformance | Meaning | Validation event |
|---|---|---|---|
SUCCEEDED | ACCEPTED | Every pinned technical layer passed | Charged |
SUCCEEDED | REJECTED | The XML was evaluated and at least one required rule failed | Charged |
FAILED | NOT_EVALUATED | Input, format, source, engine, timeout, or budget failure prevented a decision | Not charged |
One dataset item is returned for every submitted entry. A technically rejected invoice is a successful validation operation, not a processing failure.
Important output fields:
validationScope: alwaysOFFLINE_PREFLIGHTexternalStateStatus: alwaysNOT_EVALUATED_EXTERNAL_STATErulesetEffectiveAt:2024-06-05syntax:UBL_INVOICEorUBL_CREDIT_NOTEprofile:CIUS_RO_1_0_1countsandfindings: XSD, EN 16931, and CIUS-RO resultssha256: digest of the submitted XMLversions: pinned versions and artifact hashes
The shared family output contains preview fields. This product has no preview ruleset, so previewConformanceStatus is always NOT_EVALUATED and preview findings are empty.
Real output examples
These compact records are taken from successful live run
FVLTBJAZyNfTn2epm, dataset JAkABPptE7mBiYAng. The run emitted exactly two
invoice-validated events for the evaluated documents. The unsafe HTTP source
was not billed.
Pricing
invoice-validated:$0.004for each invoice that producesACCEPTEDorREJECTEDapify-actor-start: the platform Actor-start event when applicable
Unsupported CII/PDF files and other NOT_EVALUATED processing failures do not trigger the invoice validation event. Platform start charges can still apply.
Optional reports
Both optional records are off by default:
storeXmlReport: normalized validation result XMLstoreHtmlReport: human-readable findings report
Returned keys appear in the row's reports object. Reports can contain invoice values and follow the retention settings of the customer's Apify account.
Security and limits
- Validation runs locally inside the Actor container.
- Invoice XML is not sent to ANAF or another third-party validation API.
- Raw invoice content is not copied to the output dataset or logs.
- HTTPS downloads block private, local, reserved, and cloud metadata targets.
- DTDs, entities, external XML resources, and network schema resolution are blocked.
- Schematron execution has a timeout and bounded report size.
- Each XML document is limited to 5 MiB.
- A run can evaluate up to 100 XML documents and 100 MiB total input.
- Finding text and total returned findings are bounded.
Findings can quote an offending invoice value. Treat the dataset and optional reports as sensitive invoice data.
Pinned artifacts
| Artifact | Exact source | SHA-256 |
|---|---|---|
Romanian CIUS-RO UBL rules 1.0.9 | https://mfinante.gov.ro/static/10/eFactura/ro16931-ubl-1.0.9.zip | 818e7dd77e429f5dbde7c60b43dddbdf1a9a82a1773c359caa80a36ef89ea7f2 |
OASIS UBL 2.1 | https://docs.oasis-open.org/ubl/os-UBL-2.1/UBL-2.1.zip | 60b80d76394a8a2add90723ecb8e0e2e9d826775de9749df37a72d60703f86ed |
| OASIS UBL Invoice main XSD | Inside the pinned UBL 2.1 archive | 40fae8cb436f3a9506d7acce65ba162caef3b0bed4d5cbc0992b2153ded4edf4 |
| OASIS UBL CreditNote main XSD | Inside the pinned UBL 2.1 archive | a54651b1225052f811bf2ba01346f13f2454e7cc3e0be290c91dd680dc7b7b1a |
Saxon-HE 10.9 | Maven Central | 491d8edf4ec811d15c2b2417b007218b9b938f15e4dfbad004025beb4e70e960 |
| Compiled CIUS-RO Schematron XSLT | Deterministic build from the pinned source and skeleton | 3088b39e24dab440dc98b55cb4ba6845a5fd22b382da1f376f592ee6e0d0f2eb |
| Schematron skeleton | Commit 02f3707b194ce5792bf77b14a66d782c060abba3 | bea534eac69918d2efca963e18fac2964f7b53c65bcced25fc4612e18958a71d |
| Eclipse Temurin JRE 21 Jammy image | Docker Hub OCI index | d63bd8d9b171999cbed8576f2c76e874dd4856791a358536e5c4d407e77edc13 |
The Java and Python base images are digest-pinned. The Docker build downloads every runtime artifact from its exact URL and stops if its SHA-256 differs. The runtime also rechecks the two routed main XSD files before evaluating an invoice. License texts and the OASIS specification notice are retained in /opt/licenses; the unmodified Romanian Schematron source tree is retained in /opt/rules/cius-ro-source.
Release fixtures
The repository contains only project-authored synthetic fixtures:
- accepted UBL Invoice
- accepted UBL CreditNote
- retired CIUS-RO identifier rejection
- arithmetic inconsistency rejection
- explicit CII unsupported case
The accepted fixtures pass the pinned offline XSD and Schematron layers. They are not official ANAF examples and do not prove online acceptance or legal validity.
Current boundary
This Actor does not:
- submit invoices to ANAF or SPV
- guarantee ANAF acceptance or delivery
- support CII or PDF
- validate electronic signatures, certificates, or timestamps
- query live company, VAT, tax, or registry status
- confirm that a CUI, CNP, NIF, IBAN, or party identity exists
- reproduce extra procedural identifier checks that may exist in the separate ANAF standalone application but are not present in the published XSD and Schematron artifacts
- provide legal, accounting, or tax advice
Rule artifacts can change. A future release must update the pinned URL, checksum, tests, version metadata, and documentation together.
This Actor is also exposed to AI agents through Apify's MCP server (mcp.apify.com): an agent can discover it by search and run it with the same pay-per-event billing, with no separate integration.
E-invoice validator family
Same engine, same output contract, one validator per market: XRechnung & ZUGFeRD (Germany) | Peppol BIS Billing | Poland KSeF FA(3)