Earlier in our docs is an overview of our Know Your Business [here](https://developer.incode.com/docs/ekyb). Now, this page is focused specifically on eKYB in France (FR). eKYB in FR leverages France's source of truth to validate the legitimacy of businesses, including their tax ID, business name, business address, along with UBOs and directors.

# Integration

## User input flow

## 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).

## Direct API Approach

All module configurations and user data can be forwarded directly in the request for performing a 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](https://developer.incode.com/reference/introduction).

### [KYB request](https://developer.incode.com/reference/externalverificationekyb)  
**POST /omni/externalVerification/ekyb**

This endpoint performs a 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. Registered name of the business.
- **country**: (mandatory) String. Two-letter Alpha-2 country code. Must be `FR`.
- **taxId**: (mandatory) String. French business identifier. See supported tax ID types below. There is no fixed format rule for French tax IDs.
- **street**: (optional) String. Street name of the business.
- **houseNo**: (optional) String. Building or house number on the street.
- **addressLine2**: (optional) String. Additional address information.
- **city**: (optional) String. City of the business address.
- **state**: (optional) String. State or region of the business address.
- **postalCode**: (optional) String. French postal code (e.g. `59170`).
- **uboNames**: (optional) Array of strings. Full legal name(s) of Ultimate Beneficial Owners to check against list of legal business associations.
- **directors**: (optional) Array of strings. Full legal name(s) of directors to check against list of legal business associations.

**Note:** The country parameter is used to limit business validation to that specific region. We will only validate a business established in the country selected in the eKYB request.

> ✍️
>
> ### **Business Tax IDs Supported in FR**  
> The following tax ID types are accepted. There is no fixed format rule for these numbers.
>
> - **SIREN** — 9-digit company identifier
> - **SIRET** — 14-digit establishment identifier (SIREN + 5-digit NIC suffix)
> - **RCS** — Registre du Commerce et des Sociétés number
> - **RC** — Registre du Commerce number
> - **VAT Number** — French intra-community VAT number

JSON

```json
{
    "plugins": ["ekyb"],
    "country": "FR",
    "taxId": "XXXXXXXXX",
    "businessName": "AUCHAN RETAIL INTERNATIONAL",
    "street": "RUE MAL DE LATTRE DE TASSIGNY",
    "houseNo": "",
    "addressLine2": "",
    "city": "CROIX",
    "state": "",
    "postalCode": "59170",
    "uboNames": ["LLO", "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.

JSON

```json
"kyb": [\
    { "key": "name",                 "sub_label": "Verified" },\
    { "key": "tin",                  "sub_label": "Verified" },\
    { "key": "address_verification", "sub_label": "Verified" },\
    { "key": "cityMatch",            "sub_label": "Verified" },\
    { "key": "postalCodeMatch",      "sub_label": "Verified" },\
    { "key": "registrationStatus",   "sub_label": "Active" },\
    {\
      "key": "entityType",\
      "entityType": {\
        "entityType": "Limited Liability Granting Company"\
      }\
    },\
    {\
      "key": "ubo_name_match",\
      "sub_label": "Verified",\
      "uboName_input": "LLO"\
    },\
    {\
      "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"\
    }\
]
```

| Incode API Key | Status | Definition |
| --- | --- | --- |
| name | Verified, Approximate Match, Unverified | Submitted business name is verified, approximate match, or unverified against the business name associated with the business Tax ID in the source of truth. |
| tin | Verified, Unverified | Submitted Tax ID (SIREN, SIRET, RCS, RC, or VAT number) is found or not found in the source of truth. |
| address_verification | Verified, Approximate Match, Unverified | Submitted address is verified, approximate match, or unverified against the address associated with the business Tax ID in the source of truth. |
| cityMatch | Verified, Approximate Match, Unverified | Submitted city is verified, approximate match, or unverified against the city associated with the business taxID in the source of truth. |
| postalCodeMatch | Verified, Unverified | Submitted postal code is verified or unverified against the postal code associated with the business taxID in the source of truth. |
| registrationStatus | Active, Inactive, Unknown | Active: the registration status of the business is active. Inactive: the registration status of the business is suspended, inactive, or the business no longer exists. Unknown: the registration status is not available. |
| entityType | Legal entity type of the business | Displays the legal entity type of the company, if available, from the source of truth (e.g. Limited Liability Granting Company). If not available, "Unknown" is displayed. |
| ubo_name_match | Verified, Approximate Match, Unverified | Submitted UBO name is matched against UBOs associated with the business Tax ID in the source of truth. One entry is returned per submitted UBO name, distinguishable via `uboName_input`. |
| directors_name_match | Verified, Approximate Match, Unverified | Submitted director name is matched against directors associated with the business Tax ID in the source of truth. One entry is returned per submitted director name, distinguishable via `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 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.

### KYB error responses

Please refer to [error response](https://developer.incode.com/reference/introduction#api-responses) to see conventional HTTP response codes to indicate the success or failure of an API request.

Custom 400 error message if `businessName`, `taxId`, or `country` is missing or empty:

```undefined
businessName, taxId, and country are minimum required fields.
```

## Single Session Dashboard Results

They are available on Single Session view under the _Business_ tab.

Updated 18 days ago

* * *

Did this page help you?

Yes

No

Copy Page
