VAT Validator Service
Access info
Endpoint | https://vat-validator-api.socrate.io/graphql |
Required access keys | Tenant-level service access key, Application-level service access key |
Pricing | Please contact us for details at contact@bitsoftware.ro |
Notes | To call the service, the access key must be provided in the x-api-key header of the HTTP request. If you are using the GraphQL console, you can view the service’s documentation and schema only after entering an access key. Make sure that the scope of the key allows access to the queries and mutations that you require. For example, to grant the key access to all queries and mutations, the keys’s scope must be set to vat-validator-api.:query:* vat-validator-api.:mutation:* . |
Usage
The VAT Validator Service enables calling applications to perform the following actions:
- View the status of a Romanian VAT registration number on a specific date. You can perform the call for a single VAT number or for a batch of VAT numbers (the maximum number is 500).
- View the status of a VAT registration number in the international VAT Information Exchange System (VIES). You can perform this call for a single VAT number.
- Check the validity of a Romanian Personal Numeric Code (in Romanian, CNP). You can perform the call for a single CNP or for a batch.
- View the balance sheet of a Romanian organization for a given year, by supplying the year and the organization’s VAT number as input.
This service sends queries to, and depends on the infrastructure provided by the Romanian National Agency for Fiscal Administration (ANAF). At the time of writing this document, the following rules are enforced by ANAF:
- The maximum number of VAT numbers you can query simultaneously through the
checkVATBatch
query is 500 - No more than one request per second is allowed.
Queries
checkBalanceSheet
Arguments
Argument | Type | Description |
---|---|---|
input | BalanceSheetInput! |
Mandatory. Provides the query’s input, as BalanceSheetInput object. |
BalanceSheetInput
input
Attribute | Type | Description |
---|---|---|
vatNo | Int! |
Mandatory. The VAT number of the organization to be checked. |
year | Int! |
Mandatory. The calendar year for which the check is made. |
Result
BalanceSheetInfo
type
Attribute | Type | Description |
---|---|---|
vatNo | Int |
The organization’s VAT number. |
year | Int |
The year for which the query was made. |
company | String |
The organization’s name. |
caen | Int |
The main CAEN (in Romanian: Clasificarea Activităților din Economia Națională) code identifying the area of activity of the organization. |
caenDescription | String |
The description of the CAEN code. |
indicators | [BalanceSheetIndicator] |
The list of indicators pertaining to the balance sheet, as an array of BalanceSheetIndicator objects. |
BalanceSheetIndicator
type
Attribute | Type | Description |
---|---|---|
code | String |
The indicator’s code. |
value | Int |
The indicator’s value. |
description | String |
The indicator’s description. |
checkCNP
Arguments
Attribute | Type | Description |
---|---|---|
input | String! |
Mandatory. The Romanian 13-digit Personal Numeric Code (CNP) whose validity must be checked. |
Result
CNPInfo
type
Attribute | Type | Description |
---|---|---|
cnp | String |
The Romanian 13-digit Personal Numeric Code (CNP). |
valid | Boolean |
This value is true if the CNP is valid, false otherwise. |
checkCNPBatch
Arguments
Attribute | Type | Description |
---|---|---|
input | [String!]! |
Mandatory. Must be an array of Romanian 13-digit Personal Numeric Codes (CNP) whose validity must be checked. |
Result
The result is an array of CNPInfo
objects.
checkVAT
Arguments
Argument | Type | Description |
---|---|---|
input | VATInput! |
Mandatory. Provides the query’s input, as VATInput object. |
VATInput
input
Attribute | Type | Description |
---|---|---|
vatNo | Int! |
Mandatory. The Romanian VAT number of the organization to be checked. |
date | Date! |
Mandatory. The date for which the check is made, in YYYY-MM-DD format. |
Result
VATInfo
type
Attribute | Type | Description |
---|---|---|
vatNo | Int |
The organization’s VAT number. |
date | Date |
The date for which the query was made. |
company | String |
The organization’s name. |
address | String |
The organization’s address as one line. |
vatStatus | Boolean |
Indicates whether the organization is subject to VAT on the query date. Valid values: true - the organization is subject to VAT, false - the organization is not subject to VAT on the query date. |
startDate | Date |
The date in the past when the organization was registered for VAT purposes. |
endDate | Date |
The date when the organization ceased to be subject to VAT. |
voidRequestDate | Date |
The date when the organization’s VAT de-registration was operated. |
message | String |
A message associated with the VAT tax payer status, provided by ANAF. |
delayedVatStartDate | Date |
The date starting with which the deferred VAT payer status is applicable. |
delayedVatEndDate | Date |
The date up to which the deferred VAT payer status is applicable. |
delayedVatUpdateDate | Date |
|
delayedVatPublishDate | Date |
|
delayedVatUpdateType | String |
|
delayedVatStatus | Boolean |
Indicates if the organization is a deferred VAT payer. |
deactivationDate | Date |
The date when the organization was deactivated, if applicable. |
reactivationDate | Date |
The date when the organization was reactivated, if applicable. |
publishDate | Date |
|
erasureDate | Date |
The date when the organization was dissolved. |
isInactive | Boolean |
Indicates whether the organization is active on the query date. Valid values: true - inactive, false - active. |
splitVatStartDate | Date |
The date from which split VAT applies. |
splitVatEndDate | Date |
The date up to which split VAT applies. |
splitVatStatus | Boolean |
Indicates if the organization applies split VAT payments on the query date. |
splitVatIban | String |
The IBAN associated with split VAT payments. |
phone | String |
The organization’s contact phone. |
fax | String |
The organization’s fax number. |
zipCode | String |
The organization’s postal code. |
nrRegCom | String |
Specifies the organization’s registration number issued by the National Trade Registration Office (in Romanian, ONRC - Oficiul National al Registrului Comerțului). |
statusRO_e_Factura | Boolean |
A true value indicates that the organization is present in the Romanian e-Factura registry on the query date. |
competentFiscalAuthority | String |
The name of the national fiscal authority. |
ownershipStructure | String |
Provides information about the company’s ownership structure. |
legalPersonhood | String |
Identifies if the entity is a physical person or a legal person. |
legalEntityType | String |
Identifies the organization’s legal entity type, for example, “Societate comercială cu răspundere limitată” for a private limited liability company. |
authorizationAct | String |
The organization’s authorization act. |
registrationStatus | String |
The organization’s registration status. |
registrationDate | String |
The organization’s registration date. |
caenCode | String |
The organization’s CAEN (Classification of Activities within National Economy) code. |
registeredOfficeAddress | Address |
The address where the main office of the organization is registered, as Address type. |
taxResidenceAddress | Address |
The tax residence address, as Address type. |
Address
type
Attribute | Type | Description |
---|---|---|
streetName | String |
The street name. |
number | String |
The street number. |
cityName | String |
The city name. |
cityCode | String |
The numeric code of the city, in ANAF’s nomenclature. |
countyName | String |
The county name. |
countyCode | String |
The numeric code of the county, in ANAF’s nomenclature. |
carCountyCode | String |
The alpha county code. For example, BV for Brașov county. |
addressDetails | String |
Any additional address details that don’t fit elsewhere. |
building | String |
The building identifier, if applicable. |
postalCode | String |
The postal code. |
country | CountryCode |
Enum value that identifies the ISO 3166-2 two-letter country code. |
checkVATBatch
Arguments
Argument | Type | Description |
---|---|---|
input | [VATInput!]! |
Mandatory. Provides the query’s input, as an array of VATInput objects. |
Result
The result is an array of VATInfo
objects.
checkVIES
Arguments
Argument | Type | Description |
---|---|---|
input | [VIESInput!]! |
Mandatory. Provides the query’s input, as VIESInput object. |
VIESInput
input
Attribute | Type | Description |
---|---|---|
vatNumber | String! |
Mandatory. The VAT number of the organization to be checked. |
countryCode | CountryCode! |
Mandatory. The 2-character country code. Valid values: AT, BE, BG, CY, CZ, DE, DK, EE, EL, ES, FI, FR, HR, HU, IE, IT, LT, LU, LV, MT, NL, PL, PT, RO, SE, SI, SK, XI |
Result
VIESInfo
type
Attribute | Type | Description |
---|---|---|
vatNumber | String |
The organization’s VAT number. |
countryCode | CountryCode |
The 2-letter country code. |
valid | Boolean |
Indicates whether the organization is a valid VAT payer. |
name | String |
The organization’s name. |
address | String |
The organization’s address as one line. |
requestDate | Date |
The date when the VIES request took place. |
version
Returns the API version.