Romania e-Factura Validator avatar

Romania e-Factura Validator

Pricing

from $4.00 / 1,000 invoice validateds

Go to Apify Store
Romania e-Factura Validator

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

Kamer Ozkan

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

a day ago

Last modified

Categories

Share

CIUS-RO Romanian rules UBL Billing

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. ACCEPTED means the XML passed the pinned XSD and Schematron layers. It is not an ANAF acceptance, delivery, signature, identity, legal, accounting, or tax-validity guarantee.

Run the live Actor

Supported documents

DocumentSupportRequired checks
UBL 2.1 InvoiceYesOASIS UBL 2.1 XSD and Romanian ro16931-ubl 1.0.9 Schematron
UBL 2.1 CreditNoteYesOASIS UBL 2.1 XSD and Romanian ro16931-ubl 1.0.9 Schematron
CIINoReturned as unsupported and not evaluated
PDFNoReturned 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, effective 2024-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

ProcessingConformanceMeaningValidation event
SUCCEEDEDACCEPTEDEvery pinned technical layer passedCharged
SUCCEEDEDREJECTEDThe XML was evaluated and at least one required rule failedCharged
FAILEDNOT_EVALUATEDInput, format, source, engine, timeout, or budget failure prevented a decisionNot 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: always OFFLINE_PREFLIGHT
  • externalStateStatus: always NOT_EVALUATED_EXTERNAL_STATE
  • rulesetEffectiveAt: 2024-06-05
  • syntax: UBL_INVOICE or UBL_CREDIT_NOTE
  • profile: CIUS_RO_1_0_1
  • counts and findings: XSD, EN 16931, and CIUS-RO results
  • sha256: digest of the submitted XML
  • versions: 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.004 for each invoice that produces ACCEPTED or REJECTED
  • apify-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 XML
  • storeHtmlReport: 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

ArtifactExact sourceSHA-256
Romanian CIUS-RO UBL rules 1.0.9https://mfinante.gov.ro/static/10/eFactura/ro16931-ubl-1.0.9.zip818e7dd77e429f5dbde7c60b43dddbdf1a9a82a1773c359caa80a36ef89ea7f2
OASIS UBL 2.1https://docs.oasis-open.org/ubl/os-UBL-2.1/UBL-2.1.zip60b80d76394a8a2add90723ecb8e0e2e9d826775de9749df37a72d60703f86ed
OASIS UBL Invoice main XSDInside the pinned UBL 2.1 archive40fae8cb436f3a9506d7acce65ba162caef3b0bed4d5cbc0992b2153ded4edf4
OASIS UBL CreditNote main XSDInside the pinned UBL 2.1 archivea54651b1225052f811bf2ba01346f13f2454e7cc3e0be290c91dd680dc7b7b1a
Saxon-HE 10.9Maven Central491d8edf4ec811d15c2b2417b007218b9b938f15e4dfbad004025beb4e70e960
Compiled CIUS-RO Schematron XSLTDeterministic build from the pinned source and skeleton3088b39e24dab440dc98b55cb4ba6845a5fd22b382da1f376f592ee6e0d0f2eb
Schematron skeletonCommit 02f3707b194ce5792bf77b14a66d782c060abba3bea534eac69918d2efca963e18fac2964f7b53c65bcced25fc4612e18958a71d
Eclipse Temurin JRE 21 Jammy imageDocker Hub OCI indexd63bd8d9b171999cbed8576f2c76e874dd4856791a358536e5c4d407e77edc13

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)