🇪🇸 Spain eKYB

Earlier in our docs is an overview of our Know Your Business here. Now, this page is focused specifically on eKYB in the Spain (ES). eKYB in ES leverages the government sources of truth to validate the legitimacy of businesses, including their taxID (either Vat No or Reg No), business name, business address, along with UBOs.

Integration

User input flow

eKYB module configuration

eKYB user input flow example

Module Configuration

Module configuration gives various options to specify different KYB criteria you would like to check (eg. Business name, Business Address, and Business taxID).

eKYB module configuration

KYB module configuration

Direct API Approach

All module configurations and user data can be forwarded directly in the request for performing an KYB search. This will override existing configuration and data collected about the user.

📘

API Authentication

All endpoints require authentication headers to be specified as stated in Incode API Documentation

POST /omni/externalVerification/ekyb

This endpoint performs an KYB check for the business specified. Note: Endpoint can have empty body {} and in that case information will be pulled from module configuration and session details.

  • plugins: must be ["ekyb"]: (mandatory)
  • businessName:: (mandatory) String. Name of the business.
  • street: (optional) String. Street name of the business.
  • houseNo: (optional) String. Building or house number on the street.
  • addressLine2: (optional) String. Address line 2 of the business. (eg. apartment or unit number)
  • city: (optional) String. City of the business of the business address.
  • state: (optional) String. State of the business of the business address
  • postalCode: (optional) String. postalCode formatted based on per-country postalCode basis. (ES has 5 digits)
  • country: (mandatory) String. Two letter Alpha-2 country code. (Must be ES)
  • uboNames: (optional) String. Full legal name(s) of Unique Beneficial owners to check against list of legal business associations
  • directors: (optional) String. Full legal name(s) of directors to check against list of legal business associations
  • taxId: (mandatory) String. Tax ID of the business (VatNo or RegNo)

✍️

Business Tax ID in ES

Business taxID supports either Spain's Business Company Number is a single letter followed by 8 digits or the VAT number is a single letter followed by 7 digits and a control letter at the end


REQUEST FORMAT EXAMPLE
{
  "plugins" : ["ekyb"], //required field
  "businessName" : "Mercado", //required field
  "street" : "S STADIUM ST MARY Kemp House",
  "houseNo" : "",
  "addressLine2" : "BRITANNIA ROAD",
  "city" : "SOUTHAMPTON",
  "state" : "",
  "postalCode" : "33155",
  "country" : "ES", //required field
  "taxId" : "XXXXXXXXX", //required field
  "uboNames" : ["ST MARY'S FOOTBALL GROUP LTD", "Sarah Smith" ],
  "directors" : ["Andrew Martin", "Sarah Schrader" ]
    
}

Response

All module configurations and user data can be forwarded directly in the request for performing an eKYB search. This will override existing configuration and data collected about the user.

📘

API Authentication

All endpoints require authentication headers to be specified as stated in Incode API Documentation

RESPONSE EXAMPLE

"kyb": [
    {
      "key": "name",
      "sub_label": "Verified"
    },
    {
      "key": "tin",
      "sub_label": "Verified",
      "reasonCodes": [
      	"REGNO"
      ]
    },
    {
      "key": "address_verification",
      "sub_label": "Verified"
    },
    {
      "key": "cityMatch",
      "sub_label": "Verified"
    },
    {
      "key": "postalCodeMatch",
      "sub_label": "Verified"
    },
    {
      "key": "registrationStatus",
      "sub_label": "Active"
    },
    {
      "key": "ubo_name_match",
      "sub_label": "Verified",
      "uboName_input": "ST MARY'S FOOTBALL GROUP LTD"
    },
    {
      "key": "ubo_name_match",
      "sub_label": "Unverified",
      "uboName_input": "Sarah Smith"
    },
    {
      "key": "directors_name_match",
      "sub_label": "Verified",
      "directorsName_input": "Andrew Martin"
    },
    {
      "key": "directors_name_match",
      "sub_label": "Unverified",
      "directorsName_input": "Sarah Schrader"
    }
}

Please refer to error response to see conventional HTTP response codes to indicate the success or failure of an API request.

Custom 400 error messages if businessName, taxId, or country is “ “ or null:

message: businessName, taxId, and country are minimum required fields.

BR API KeyStatusDefinition
nameVerified, Approximate Match, UnverifiedSubmitted business name is verified, approximate match, or unverified against the business name associated with the business Tax ID in the government database.
tinFound, Not FoundSubmitted Tax ID is found or not found in the government database.
address_verificationVerified, Approximate Match, UnverifiedSubmitted address is verified, approximate match, or unverified against the address associated with the business Tax ID in the government database.
cityMatchVerified, Approximate Match, UnverifiedSubmitted city is verified, approximate match, or unverified against the address associated with the business taxID in the government database.
postalCodeMatchVerified, UnverifiedSubmitted postal code is verified, approximate match, or unverified against the address associated with the business taxID in the government database.
registrationStatusActive, InactiveSubmitted business is active or inactive
ubo_name_matchVerified, Approximate Match, UnverifiedSubmitted UBO is an exact match against the UBO associated with the business Tax ID in the government database.

In situations where user has submitted multiple ubo names to be verified against the government source of truth, you will see additional fields called ubo_name_match.

You can distinguish ubo_name_match when looking at uboName_input
directors_name_matchVerified, Approximate Match, UnverifiedSubmitted Directors is an exact match against the DIrectors associated with the business Tax ID in the government database.

In situations where user has submitted multiple ubo names to be verified against the government source of truth, you will see additional fields called directors_name_match.

You can distinguish directors_name_match when looking at directorsName_input

Learning more about Approximate Match : Approximate Match is generated through Incode's proprietary fuzzy matching algorithm. If approximate match is returned, the algorithm has identified a similar match with the string submitted in relation to the string stored in the government source of truth for a particular field. Approximate Match is returned when exact matches are not possible due to misspellings, typographical errors, or slight variations in input data.

Single Session Dashboard Results

They are available on Single Session view under Business tab

eKYB single session dashboard results

eKYB results