Romania e-Factura Validator (CIUS-RO, Peppol, EN 16931)
Pricing
from $10.00 / 1,000 invoice validateds
Romania e-Factura Validator (CIUS-RO, Peppol, EN 16931)
Validate UBL invoices before uploading to ANAF SPV: official CIUS-RO 1.0.9, EN 16931 and Peppol BIS 3.0 rules, the fix for every error in plain words, and optional auto-repair of codes, dates and totals.
Pricing
from $10.00 / 1,000 invoice validateds
Rating
0.0
(0)
Developer
Alex Constantin
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 hours ago
Last modified
Categories
Share
Romania e-Factura Validator (CIUS-RO, Peppol BIS 3.0, EN 16931)
Check UBL 2.1 invoices before you upload them to ANAF SPV (or send them over Peppol) and get every error with the fix in plain words. Optionally the Actor repairs what can be fixed without guessing and returns the corrected XML.
Built for accountants, ERP and invoicing developers, and AI agents that produce e-Factura XML.
What it checks
- UBL 2.1 schema (XSD) for Invoice and CreditNote
- EN 16931 business rules (CEN), the European core
- CIUS-RO 1.0.9, the Romanian rules ANAF applies to e-Factura (BR-RO-xxx)
- Peppol BIS Billing 3.0
autopicks the rule set from the invoice'sCustomizationID
Every finding has the rule id, severity, the official message, a short title and the fix, the UBL path of the field, and for calculation errors (BR-CO-10…17, BR-S-09) the correct value computed from the invoice itself.
Auto-fix (optional)
With autofix: true, invoices whose errors can be repaired get a corrected XML, re-validated:
- county codes → ISO 3166-2:RO (
Cluj→RO-CJ), BucharestSector 3→SECTOR3 - country, currency (
LEI→RON) and unit codes (buc→H87), dates →YYYY-MM-DD - VAT id country prefix, CIUS-RO
CustomizationID - decimals, then all totals and VAT amounts recomputed from the lines, in dependency order
Every change is listed (rule, field, path, old value, new value).
Input
{"xmlUrls": ["https://example.com/invoices/FCT-0001.xml"],"profile": "auto","autofix": true}
Or send one invoice as text in xml (handy for AI agents). Up to 2 MB per invoice.
Output (one dataset row per invoice)
{"source": "https://example.com/invoices/FCT-0001.xml","valid": false,"profile": "ro","errors": 1,"warnings": 0,"autofix_rules": ["BR-CO-15"],"findings": [{"rule": "BR-CO-15", "severity": "error", "title": "Total with VAT is wrong","fix": "Set it to: total without VAT + total VAT.","ubl": "cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount","expected": {"field": "BT-112", "value": "1210.00", "found": "1190.00", "currency": "RON"}}],"fixed_xml": "<?xml version='1.0' encoding='UTF-8'?><Invoice …>","valid_after_fix": true}
Pricing (pay per event)
| Event | Price | When |
|---|---|---|
| Invoice validated | $0.01 | an UBL Invoice/CreditNote was checked (valid or not) |
| Invoice fixed | $0.05 | autofix is on and something was actually repaired |
Not charged: files that are not UBL invoices, unreadable links, or when the service is unavailable.
Use it from an AI agent
Add Apify's MCP server (https://mcp.apify.com) to Claude, Cursor or VS Code and ask, for example,
"validate this e-Factura before I upload it to SPV": the agent can find and run this Actor. Through the Apify
API it is a single call to run-sync-get-dataset-items.
Data
Invoices are sent over HTTPS to the validation service run by the author in the EU, checked in memory and not stored. Results stay in your Apify storage. Each rule is explained at einvoice.alexhub.uk/en/rules/ (Romanian: /ro/erori/).
FAQ
Is this the ANAF validator? It applies the same official rule sets (the CIUS-RO and EN 16931 Schematron published by the Ministry of Finance and CEN), so an invoice that passes here passes those checks at ANAF. SPV also checks things that need its own data (for example that your CUI may upload).
Romanian error text? CIUS-RO rules include message_ro.
Related: e-Factura Generator (JSON → valid CIUS-RO XML), Romanian Company Lookup by CUI (ANAF), SAF-T D406 Validator.