Use case · automation

Verify a Romanian supplier straight from the invoice email

An invoice arrives from a Romanian company. Before it is approved, your workflow pulls the CUI (tax ID) from the PDF or e-Factura XML, asks HowToRomania whether the company is active, VAT-registered and on e-Factura, and optionally runs a risk report. Works from n8n, Make, Zapier or any AI agent with one HTTP call.

The problem

Romanian supplier checks usually mean Romanian-language portals: ANAF for VAT and inactive status, the trade register, the court portal. Nobody does that by hand for every invoice, so the checks get skipped. A workflow can do it in seconds, as long as it has one API that answers in English JSON.

The workflow

  1. Trigger: new email with an attachment (Gmail/Outlook node), or a new file in a folder.
  2. Extract the CUI: if the attachment is e-Factura XML, POST /v1/efactura/parse returns the seller block as JSON; for PDFs, use your OCR or LLM step to read the "CUI / CIF" field.
  3. Quick check (1 credit): GET /v1/company/{cui}. Branch on status.active, status.inactive, vat.registered and eFactura.registered.
  4. Deep check, new suppliers only (30 credits): GET /v1/company/{cui}/risk-report. Branch on riskBand or on specific flags such as inactive_anaf or insolvency_cases.
  5. Act: post to Slack/Teams, tag the email, or hold the payment for review.

HTTP request (n8n HTTP Request node, Make HTTP module, Zapier Webhooks)

GET https://api.howtoromania.io/v1/company/12345678
x-api-key: <your key>

Every response carries x-credits-used and x-credits-remaining headers, so the workflow can alert you before credits run out.

What comes back (company lookup)

{
  "data": {
    "cui": "12345678",
    "vatId": "RO12345678",
    "name": "FIRMA SRL",
    "registrationNumber": "J40/1234/2015",
    "caenCode": "4690",
    "fiscalStatus": "INREGISTRAT din data 01.03.2015",
    "vat": { "registered": true, "since": "2015-03-01", "cashAccounting": false, "splitVat": false },
    "status": { "active": true, "inactive": false, "inactiveSince": null, "reactivatedOn": null, "deregisteredOn": null },
    "eFactura": { "registered": true, "since": "2022-01-01" },
    "address": { "fiscal": { "formatted": "Str. Exemplu 1, Sector 1, Bucuresti", "...": "..." }, "registeredOffice": { "...": "..." } },
    "queriedForDate": "2026-10-23",
    "source": { "name": "ANAF PlatitorTvaRest v9", "url": "...", "fetchedAt": "2026-10-23T09:00:00.000Z" }
  },
  "fx": { "...": "BNR reference rate" }
}

Response abridged; field names are exact, values are illustrative (FIRMA SRL and CUI 12345678 are example data, not a real company).

What comes back (risk report, abridged)

{
  "data": {
    "cui": "12345678",
    "name": "FIRMA SRL",
    "score": 90,
    "riskBand": "low",
    "flags": [
      { "code": "net_loss_latest", "severity": "low", "points": 10, "explanation": "..." }
    ],
    "sections": {
      "anaf": { "available": true, "active": true, "vatRegistered": true, "eFactura": { "registered": true, "since": "2022-01-01" }, "...": "..." },
      "financials": { "available": true, "latestYear": 2025, "years": [ { "year": 2025, "netTurnover": 0, "netProfit": 0, "equity": 0, "debts": 0, "employees": 0 } ] },
      "courtCases": { "available": true, "since": "2023-01-01", "summary": { "total": 2, "active": 1, "closed": 1, "insolvency": 0, "...": "..." } },
      "registry": { "available": true, "active": true, "status": [ { "code": "...", "label": "..." } ], "representatives": [ { "name": "...", "role": "..." } ], "attribution": { "text": "Contains filtered, decoded, translated ONRC data", "license": "CC BY 4.0", "licenseUrl": "https://creativecommons.org/licenses/by/4.0/" } }
    },
    "unavailableSections": [],
    "disclaimer": "Informational only, generated automatically from public sources with simple published rules. It is NOT credit advice, a credit rating or a recommendation; verify with the original sources before any decision."
  }
}

Response abridged; field names are exact, values are illustrative (FIRMA SRL and CUI 12345678 are example data, not a real company).

Registry fields (status, representatives, authorized CAEN) contain filtered, decoded, translated ONRC data, from ONRC open data on data.gov.ro, licensed under CC BY 4.0.

The score is 0–100 (higher means fewer risk signals) and comes from simple published rules, returned in the same response. It is informational, not a credit rating.

Why teams try HowToRomania

  • Plain HTTPS + JSON: one GET with an x-api-key header works in any n8n, Make or Zapier HTTP step
  • English field names (status.active, vat.registered, eFactura.registered) your workflow can branch on directly
  • Start in minutes: demo key htr_demo with no signup, then 100 free credits per key
  • 1 credit (€0.005) per quick check; errors and not-found are not billed
  • Credits used/remaining in every response header, so the workflow can alert you
  • The same key works over MCP, so an AI agent can run the checks itself

Endpoints and prices

ServiceEndpointCredits≈ EUR
Company lookup
ANAF: name, VAT status, e-Factura registration, active/inactive, address
GET /v1/company/{cui}
MCP lookup_company
1€0.005
Parse e-Factura XML
UBL Invoice/CreditNote to English JSON (seller, buyer, lines, totals)
POST /v1/efactura/parse
MCP parse_efactura
1€0.005
Risk report
One call: ANAF + financials + court cases + ONRC registry, with flags and a 0–100 score
GET /v1/company/{cui}/risk-report
MCP get_company_risk_report
30€0.15
Company court cases
Cases where the company is a party (portal.just.ro), summary + list
GET /v1/company/{cui}/court-cases
MCP get_company_court_cases
15€0.075

Pay per successful call in credits (1 credit = €0.005). Every key gets 100 free credits. Prepaid packs (VAT included): €5 = 1,000 · €20 = 5,000 · €100 = 30,000 credits. No contract or minimum spend; errors and not-found are not billed. Volume subscriptions available on request: hello@howtoromania.io.

Typical cost: a quick check on every invoice is 1 credit; a full risk report once per new supplier is 30 credits. 1,000 credits (€5) cover about 1,000 quick checks or 33 risk reports.

Try it now

curl -H "x-api-key: htr_demo" "https://api.howtoromania.io/v1/company/14399840"

The demo key htr_demo works on 1-credit endpoints with a small daily limit per IP.

Free key: curl -X POST https://api.howtoromania.io/v1/keys -H "content-type: application/json" -d '{"email":"you@example.com","accept_terms":true}'

FAQ

Does it work with Zapier and Make, not only n8n?

Yes. It is a plain HTTPS GET with an x-api-key header, so any HTTP step works.

Can an AI agent do the whole thing?

Yes. Connect the MCP server and the agent can call parse_efactura, lookup_company and get_company_risk_report itself. See MCP in Claude and Cursor.

Is this an official ANAF or government service?

No. HowToRomania is an independent service that reads public sources (ANAF, ONRC open data, portal.just.ro) and returns them as English JSON. It is not affiliated with or endorsed by any public authority. Information only; not legal or credit advice.

Used by InteroCloud