🇧🇷 Brazil eKYB

Earlier in our docs is an overview of our Know Your Business here. Now, this page is focused specifically on eKYB in Brazil. eKYB in Brazil leverages the government source of truth to validate the legitimacy of businesses, including their taxID (CNPJ), 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:: (optional) 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. in US 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. (BR has 8 digit postal codes)
  • country: (mandatory) String. Two letter Alpha-2 country code. (Must be BR)
  • taxId: (mandatory) String. Tax ID of the business (14 digit CNPJ which is the Business taxID in Brazil)
  • uboNames: (optional) String. Full legal name(s) of Unique Beneficial owners to check against list of legal business associations

REQUEST FORMAT EXAMPLE
{
  "plugins" : ["ekyb"], //required field
  "businessName" : "RENATA DISTR. DE SUPLEMENTOS LTDA",
  "street" : "Rua Curupaiti",
  "houseNo" : "225",
  "addressLine2" : "",
  "city" : "Rio De Janeiro",
  "state" : "RJ",
  "postalCode" : "20735320",
  "country" : "BR", //required field
  "taxId" : "41111051548164", //required field
  "uboNames" : ["MICHEL RODRIGUES", "ERIC SANTOS", "MICHELLE MUNHOZ"]
}

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"
        },
        {
            "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": "MICHEL RODRIGUES",
            "nameId_match": "2"
        },
        {
            "key": "ubo_name_match",
            "sub_label": "Verified",
            "uboName_input": "ERIC SANTOS",
            "nameId_match": "1"
        },
        {
            "key": "ubo_name_match",
            "sub_label": "Unverified",
            "uboName_input": "MICHELLE MUNHOZ",
            "nameId_match": "-1"
        }
    ],
    "kybSource": {
        "uboNames": [
        {
            "id": "1",
            "uboName": "ERIC SANTOS"
        },
        {  
            "id": "2",
            "uboName": "MICHEL RODRIGUES"
        }
        ]
    }
}

Note: NameId_match matches to the id listed in the kybSource section. If "nameId_match": "-1", this means that there is no match to the source of truth. If nameId_match is equal to any of the id's listed in the kybSource part of the response, the name is being matched to this uboName.


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 CNPJ in the government database.
tinVerified, UnverifiedSubmitted Tax ID (CNPJ) is verified or unverified in the government database.
address_verificationVerified, Approximate Match, UnverifiedSubmitted address is verified, approximate match, or unverified against the address associated with the CNPJ in the government database.
cityMatchVerified, Approximate Match, UnverifiedSubmitted city is verified, approximate match, or unverified against the city associated with the CNPJ in the government database.
postalCodeMatchVerified, UnverifiedSubmitted postal code is verified or unverified against the city associated with the CNPJ in the government database.
registrationStatusNull, Active, Suspended, Unfit, Written offActive: This occurs when the CNPJ is active.

Suspended: This occurs is when the company did not comply with its tax obligations that year, presented problems with the data submitted to the Federal Revenue Service or is under investigation for possible fraud;

Null: represents an invalid CNPJ, because there are registration problems in other instances, such as a duplicate State Registration.

Unfit: When there is any tax irregularity or omission of company tax information, the Federal Revenue Service changes the CNPJ status from Active to Unfit, until regularization is made.

Written off: The expression "Written Off" in relation to a CNPJ (National Register of Legal Entities) may indicate that the Federal Revenue Service considered the company as "written off" or "cancelled", that is, the registration of the legal entity has been terminated. This can occur for different reasons, such as the closure of the company's activities, serious tax irregularities, failure to submit mandatory declarations or a voluntary request for dismissal by the company itself.
ubo_name_matchVerified, Approximate Match, UnverifiedSubmitted UBO is an exact match against the UBO associated with the CNPJ 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
"kybSource": {
"uboNames": [
{
"id": "1",
"uboName": "XXX"
},
{
"id": "2",
"uboName": "XXX"
}
]
}
Full names of the UBOsThis will display the full list of uboNames stored within the government source of truth

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 eKYB tab

eKYB single session dashboard results

eKYB results