e-Factura Validator (Romania)

uk.alexhubPublished by alexhub.ukOfficial publisherv1.9.0Updated Nov 5, 2026

Validate, fix and generate Romanian e-Factura; check SAF-T D406 (ANAF validator + consistency)

VerifiedStreamable HTTPWeb executableFinanceDeveloper ToolsBusiness & Commerce

Overview

AI-generated overview

Remote MCP server that validates, fixes and generates Romanian e-Factura UBL invoices and checks SAF-T D406 files before ANAF filing.

What you can do
  • Validate UBL 2.1 invoices and credit notes against CIUS-RO, Peppol BIS 3.0 and EN 16931, with per-error fixes and UBL paths
  • Fix rejected invoice XML (codes, dates, VAT prefixes, totals) and generate new CIUS-RO invoice XML from simple data
  • Look up Romanian companies by CUI and pull their annual financials
  • Explain named validation rules in English and Romanian
  • Validate SAF-T D406 files with ANAF's validator plus consistency checks
  • Get BNR FX rates, Romanian holidays, working-day calculations, tax deadlines and IBAN checks
When to use it
Useful when preparing or debugging Romanian e-Factura invoices for ANAF SPV or Peppol, or checking a SAF-T D406 file before filing. Also handy for Romanian company lookups, due-date and FX-rate questions around invoicing.
Requirements
Remote streamable HTTP endpoint; no account, API key or environment variables declared. The paid validate_invoice tool requires an x402 payment wallet with USDC on Base; the free tools need no wallet.
Before you install
validate_invoice costs $0.01 USDC per call via x402, so an assistant can spend money; use the free variant first. Invoice data, CUIs and SAF-T files are sent to a third-party service. Generated or fixed XML should be reviewed before uploading to ANAF.

Installation

In SourceWeft

  1. Open e-Factura Validator (Romania) in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/uk.alexhub%2Feinvoice-validator/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "e-factura-validator-romania": {
      "type": "http",
      "url": "https://einvoice.alexhub.uk/mcp"
    }
  }
}

Tools

14

validate_invoice_free

Validate e-Factura invoice (free, no wallet)

Use before uploading an e-Factura to ANAF SPV, after generating invoice XML, or when ANAF rejected an invoice: validates a UBL 2.1 Invoice/CreditNote (Romanian CIUS-RO 1.0.9, Peppol BIS 3.0, EN 16931) and returns every error with the fix in words, the UBL path of the field and, for amounts, the correct value. Start here: free, no wallet, account or key, 3 calls per day per client IP. Fix the XML from the report and call again. When the quota is used up, switch to validate_invoice.

Parametersxmlrequiredprofile

validate_invoice

Validate e-Factura / Peppol invoice (paid)

Use before uploading an e-Factura to ANAF SPV or sending a Peppol invoice, once the free quota of validate_invoice_free is used up (same report). Every rule violation with a plain-English fix, the UBL path of the field and, for amount errors, the correct value. Paid: $0.01 USDC per call via x402 (network eip155:8453, payment in the request _meta); without a payment it returns the payment requirements. Only real invoices are charged. If the report has 'autofix', fix_invoice can repair those errors.

Parametersxmlrequiredprofile

fix_invoice

Auto-fix invoice XML (paid)

Use when a validation report lists 'autofix' rules, or ANAF or a Peppol access point rejected an invoice for codes, dates or totals, and you want the corrected XML instead of editing it yourself: fixes county/sector/country/currency/unit codes, date formats, VAT-id prefixes, Belgian enterprise numbers (0208), Peppol CustomizationID/ProfileID, empty elements, decimals, totals and VAT recomputed from the lines. Lists every change (field, old, new) and re-validates the result. Paid: $0.05 USDC via x402, charged only if something was fixed. Review the changes before sending the invoice.

Parametersxmlrequiredprofile

generate_invoice

Generate e-Factura XML from JSON (paid)

Use when you have invoice data but no XML and need a Romanian e-Factura ANAF accepts: builds UBL 2.1 CIUS-RO XML from simple data (number, dates, seller and buyer CUI, lines with name, quantity, unit, price without VAT and VAT rate e.g. 21 or 11, optional IBAN). Company names, addresses, county codes, Bucharest sectors and VAT status come from ANAF; totals and VAT are computed; the XML is validated before it is returned. Paid: $0.05 USDC via x402, charged only when a valid invoice is returned. Other currencies: add 'currency': 'EUR' (BNR rate used unless you pass exchange_rate). Example invoice: {"number": "FCT-0001", "issue_date": "2026-10-24", "due_date": "2026-11-23", "seller": {"cui": "RO12345678"}, "buyer": {"cui": "87654321"}, "payment": {"iban": "RO49AAAA1B31007593840000"}, "lines": [{"name": "Servicii consultanta", "quantity": 10, "unit": "ore", "price": 150, "vat_rate": 21}]}

Parametersinvoicerequired

lookup_company

Romanian company by CUI (ANAF)

Use when building or checking an invoice for a Romanian company and you only have its CUI, or to check a partner before invoicing: ANAF data already in e-Factura form: legal name, VAT id (RO… only for VAT payers), trade register number, address with county as ISO code (RO-CJ) and Bucharest city as SECTOR1..6, plus flags: inactive, VAT on collection, e-Factura registry. Free, 100 lookups per day per IP.

Parameterscuirequired

company_financials

Romanian company financial statement (ANAF)

Use when you need a Romanian company's size or financial health from its CUI (credit check before invoicing or selling on terms, lead qualification, due diligence): the annual statement filed with ANAF: CAEN code, turnover, revenue, expenses, net_result (profit positive, loss negative), employees, assets, debts, equity. Without year: the last closed year with a statement. Only companies file statements (not PFA). Free, shares the 100 lookups per day per IP of lookup_company.

Parameterscuirequiredyear

explain_rule

Explain e-invoice rule

Use when ANAF SPV, a Peppol access point or a validation report names a rule (e.g. BR-CO-15, BR-RO-110, PEPPOL-EN16931-R001) and you need to know what it means and how to fix it: official text in English and Romanian, plain-English fix and where the field lives in UBL. Free.

Parametersrule_idrequired

validate_saft_free

Check SAF-T D406 before filing (free, 1/day)

Use before filing a Romanian SAF-T (D406) with ANAF, or when ANAF's DUKIntegrator reported errors: same check as validate_saft, free: 1 file(s) per day per client IP, report limited to the first 10 findings (the total count is given).

Parametersxmlrequired

validate_saft

Check SAF-T D406 before filing (paid)

Use before filing a Romanian SAF-T (D406) with ANAF, for the full report: runs ANAF's official validator (DUKIntegrator) for the reporting period and the consistency checks it does not do offline (balanced entries, GL totals, opening + movements = closing per account, trial balance, partner balances, invoice totals, VAT = base x rate, VAT codes valid for the period, CUI/IBAN check digits, chart of accounts). Every finding has a fix in Romanian and English and the correct value where computable. Paid: $0.50 USDC via x402 (network eip155:8453), charged only if a D406 was checked; without a payment it returns the payment requirements.

Parametersxmlrequired

fx_rate

BNR exchange rate

Use for an invoice in a foreign currency (e-Factura needs the VAT in RON) or any RON conversion: official BNR (National Bank of Romania) rate, RON per 1 unit of the currency, for a date (default today; weekends/holidays return the last publication). Omit currency for all rates. Free.

Parametersdatecurrency

ro_holidays

Romanian public holidays

Use when planning payment or filing dates in Romania: public (legal) holidays for a year, incl. Orthodox Easter and Rusalii. Free.

Parametersyear

ro_business_day

Romanian working day

Use to compute a due date in Romanian working days (e.g. the 5 working days to upload an e-Factura): is a date a working day, which is the next one, and the date N working days later. Free.

Parametersdateadd_days

ro_tax_deadlines

Romanian tax filing deadlines

Use to know when Romanian returns are due: monthly filing deadlines (D112, D300, D100, D390, D394, D406) for a reporting month, moved to the next working day when they fall on a weekend or holiday. General rules; confirm special regimes with ANAF. Free.

Parametersperiod

validate_iban

Check IBAN

Use before putting an IBAN on an invoice or paying to one: checks length and check digits and names the Romanian bank (or the State Treasury). Free.

Parametersibanrequired

Version history

8
  1. v1.9.0LatestNov 5, 2026
  2. v1.8.0Nov 4, 2026
  3. v1.7.0Nov 3, 2026
  4. v1.6.0Oct 30, 2026
  5. v1.5.0Oct 30, 2026
  6. v1.4.0Oct 30, 2026
  7. v1.3.0Oct 25, 2026
  8. v1.2.0Oct 24, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.