Romania ANAF VAT & Taxpayer Status Check by CUI avatar

Romania ANAF VAT & Taxpayer Status Check by CUI

Pricing

from $0.00005 / actor start

Go to Apify Store
Romania ANAF VAT & Taxpayer Status Check by CUI

Romania ANAF VAT & Taxpayer Status Check by CUI

Check Romanian CUI numbers against the official ANAF register as of a chosen date. One row per CUI: VAT periods, VAT on cash, inactive, split VAT, e-Invoice registry.

Pricing

from $0.00005 / actor start

Rating

0.0

(0)

Developer

Michal Pšenčík

Michal Pšenčík

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Security

Limited permissions

Share

Check Romanian CUI (fiscal code) numbers against ANAF's official public register as of a date you choose. You get one flat row per CUI that ANAF found: VAT registration and its full period history, VAT on cash, inactive taxpayer status, split VAT and the RO e-Factura registry, plus the name, fiscal address and registration details as ANAF publishes them.

Useful for keeping a receipt of what ANAF said about a supplier list on an invoice date, or a monthly sweep of Romanian counterparties.

Input

FieldWhat it does
CUI numbers1 to 300 CUIs, as text or numbers. RO prefixes and spaces are removed.
As-of dateYYYY-MM-DD from 2015-01-01 to today. Empty means today in Romania.
Maximum rowsThe most rows to store (default 300).
Pause between requestsAdvanced; at least 1.2 s, because ANAF allows one request per second.
{ "cuis": ["14399840", "RO 1590082", 2816464], "asOfDate": "2026-10-22" }

Each CUI is checked locally first: it must be 2 to 10 digits without a leading zero and pass the CUI check digit. Values that fail are reported in the run summary and never sent. Duplicates are checked once. ANAF accepts any date silently (a wrong format becomes another year), so the date is validated before anything is sent.

Output

One row per found CUI, in the order you listed them. Example (Dante International, as of 22 Oct 2026):

{
"id": "ro-anaf-vat-status:v1:14399840:2026-10-22",
"cui": "14399840",
"asOfDate": "2026-10-22",
"name": "DANTE INTERNATIONAL SA",
"registrationState": "INREGISTRAT din data 29.08.2006",
"registrationDate": "2002-01-23",
"vatRegisteredAsOf": true,
"vatPeriods": [
{ "startDate": "2002-02-01", "endDate": null, "cancellationRecordedDate": null, "cancellationBasis": null }
],
"vatOnCashAsOf": false,
"inactiveTaxpayerAsOf": false,
"splitVatAsOf": false,
"eInvoiceRegistryAsOf": false,
"eInvoiceRegistryDate": null
}

Rows also carry fiscalAddress, tradeRegisterNo, caenCode, legalForm, the detail objects vatOnCash, inactive and splitVat, and provenance: sourceUrl, sourceResponseSha256 (of ANAF's whole answer), sourceResponseDateHeader, fetchedAt and an observationHash of the data fields. Empty ANAF fields are null.

The ...AsOf flags are ANAF's flags for the requested date. The other dates are exported exactly as that answer sent them; for example the e-Invoice registry date can be empty for a past date and filled for today. Phone, fax, postal codes, bank accounts and ownership fields are never exported. The actor reports what the register says and draws no legal conclusion from it.

Run summary

The key-value store record SUMMARY (free) lists every input position with its outcome: delivered, not_found, invalid_cui, invalid_cui_checksum, or a failure such as error, source_schema_changed, not_attempted_source_stop, not_attempted_deadline, not_delivered_max_items, not_stored_budget, not_stored or delivery_uncertain. complete is true only when every CUI got a definitive answer and every found row was stored. It also carries asOfDate, counts, requests made and any errors.

Pricing

Pay per event: $0.002 per stored row (a CUI that ANAF found) and $0.00005 per run start. Each row is billed once, when it is stored; rows already stored stay billed even if the run later fails or stops. Errors, rows not stored, not-found, invalid or filtered inputs and the SUMMARY carry no item fee. The start event applies to every run, including failed and empty ones. Checking the same CUIs again bills again: the actor keeps no state between runs.

Example: 3 found CUIs cost $0.00605, 300 found cost $0.60005.

Limits

  • Source: ANAF's public web service PlatitorTvaRest/v9/tva, no key. At most 100 CUIs per request, at least 1.2 s between requests, one request at a time, a 240 s run deadline.
  • If ANAF refuses (403, 429, an HTML rejection page) the run stops at once and reports it; there is no proxy or retry around a block. Server errors and timeouts are retried twice.
  • The CUI check digit rule is empirical; a real CUI it rejected would show as invalid_cui_checksum in the summary.
  • Dates before 2015 and positive split-VAT records were not verified.