# e-Factura Validator (Romania) – also Peppol BIS 3.0 and EN 16931 > Check a Romanian e-Factura (UBL 2.1, CIUS-RO 1.0.9) before uploading it to ANAF SPV, and get the exact fix for every error: plain-English explanation, the official Romanian rule text, the UBL path of the field and, for amount errors, the correct value computed from the invoice (chained, so following the report gives a consistent invoice). Also validates Peppol BIS Billing 3.0 and EN 16931. No account: $0.01 per invoice via x402, plus a small free tier. ## Use POST https://einvoice.alexhub.uk/v1/validate (x402: $0.01 USDC on eip155:8453, no account, no API key) POST https://einvoice.alexhub.uk/v1/validate/free (3 free calls/day per IP) POST https://einvoice.alexhub.uk/v1/fix (x402: $0.05 USDC; returns the corrected XML + list of changes, re-validated) POST https://einvoice.alexhub.uk/v1/generate (x402: $0.05 USDC; complete e-Factura XML from JSON, parties filled from ANAF by CUI, validated) GET https://einvoice.alexhub.uk/v1/company/{cui} (free: Romanian company data from ANAF in e-Factura form: county RO-XX, Bucharest SECTORn, VAT id, inactive flag) Body (JSON): {"xml": "...", "profile": "auto"} Or raw XML with Content-Type: application/xml and ?profile=auto Profiles: auto (reads CustomizationID), ro (Romania e-Factura CIUS-RO 1.0.9), peppol (Peppol BIS Billing 3.0), en16931 Only real UBL Invoice/CreditNote documents are charged. Anything else gets HTTP 422 and no payment. MCP server (streamable HTTP): https://einvoice.alexhub.uk/mcp Tools: validate_invoice, fix_invoice, generate_invoice (paid, x402 payment in the request _meta), validate_invoice_free, explain_rule, lookup_company (free) ## Generate an e-Factura POST /v1/generate with JSON: {"number": "FCT-1", "issue_date": "YYYY-MM-DD", "seller": {"cui": "RO…"}, "buyer": {"cui": "…"}, "lines": [{"name": "…", "quantity": 2, "unit": "buc", "price": 100, "vat_rate": 21}], "payment": {"iban": "RO…"}} Names, addresses, county codes, Bucharest sectors and VAT status come from ANAF; any field you pass overrides them. Totals and VAT are computed; the XML is validated before it is returned. Only RON invoices for now. ## Auto-fix When a report has "autofix", those errors can be repaired by /v1/fix (or the MCP tool fix_invoice): county/sector/country/currency/unit codes, dates, VAT-id prefixes, decimals, totals and VAT recomputed from the lines. You get the corrected XML, every change (field, old, new) and the new validation report. Not charged if nothing was fixed. ## Response valid (bool), errors, warnings, findings[]: rule, severity, title, fix, ubl (path of the field), fields (EN 16931 business terms), expected (correct value for amount errors), message (official rule text). ## When to call Before submitting an invoice to ANAF SPV / a Peppol access point, or after generating UBL XML, to catch rejections and get the exact fix.