---
title: "Belgium"
url: "https://developer.incode.com/general-reference/belgium/"
section: "general-reference"
group: "eKYB Reference / eKYB Prefill Coverage"
version: "v1.1"
status: "live"
---
# Belgium

eKYB Prefill in Belgium leverages Belgium's source of truth to automatically retrieve and populate business information based on a company's BCE/KBO number or VAT number, including the business name, entity type, registration status, registration date, credit rating, and other corporate details, without requiring manual input from the user.

## Source

| Country | Source | Description |
| --- | --- | --- |
| Belgium | `BE_KYB_PREFILL` | Returns matching Belgian business details from Belgium's source of truth for pre-fill. |

## Direct API approach

For general integration notes and shared response semantics, see the [eKYB Prefill API Reference](/general-reference/ekyb-prefill-api-reference/).

All module configurations and user data can be forwarded directly in the request for performing a Prefill lookup. This overrides existing configuration and data collected about the user.

### Endpoint

`POST /omni/externalVerification/ekyb-prefill`

### Request parameters

| Parameter | Required | Description |
| --- | --- | --- |
| `plugins` | Mandatory | String array. Must be `["ekyb-prefill"]`. Specifies the Prefill flow. |
| `source` | Mandatory | String. Must be `BE_KYB_PREFILL`. Identifies the Prefill source. |
| `country` | Mandatory | String. Two-letter Alpha-2 country code. Must be `BE`. |
| `taxId` | Mandatory | String. BCE/KBO number or VAT number. See [Tax ID formats](#tax-id-formats) for details. |
| `businessName` | Optional | String. Registered business name, used to verify the match against the source of truth. |
| `address` | Optional | String. Business address, used to verify the match against the source of truth. |

### Tax ID formats

Belgium supports two business identifier formats as search input. Requests with an invalid format return a 400 error.

| Entity Type | Format |
| --- | --- |
| BCE/KBO number | 9 numeric digits, no prefix (e.g. `656908546`) |
| VAT number | `BE0` + the same 9-digit BCE number (e.g. `BE0656908546`) |



### Sample request

```json
{
    "plugins": ["ekyb-prefill"],
    "source": "BE_KYB_PREFILL",
    "country": "BE",
    "taxId": "656908546",
    "businessName": "",
    "address": ""
}
```

### Sample response

The Prefill response returns business data retrieved directly from the source of truth. Passthrough fields are returned as-is from the source, without fuzzy matching or verification scoring. Match fields (`nameMatch`, `addressMatch`) are only returned when the corresponding input (`businessName`, `address`) was submitted. Field availability varies significantly by company — see the notes under each example below.

**Example 1 — purchasing cooperative (large turnover, small headcount)**

```json
{
    "kyb-prefill": [
        {
            "tin": "123456789",
            "vatNo": "BE0123456789",
            "name": "SAMPLE TRADING CV",
            "nameMatch": "Verified",
            "address": "Sample Straat 10, 1040 Sample City",
            "city": "Sample City",
            "postalCode": "1040",
            "entityType": "Cooperative company",
            "registrationStatus": "ACTIVE",
            "registrationDate": "2016-06-22T00:00:00Z",
            "creditRating": "B",
            "creditRatingDescription": "Low Risk",
            "industryDesc": "Activities of business and employers membership organisations",
            "turnover": { "currency": "EUR", "value": 13390642077 },
            "employeeCount": "39",
            "shareholders": [
                { "name": "SAMPLE HOLDING SA", "percentSharesHeld": 32.67 }
            ],
            "directors": [
                { "name": "SAMPLE DIRECTOR NAME", "positionName": "Director" }
            ],
            "otherAddresses": [
                { "otherAddress": "Sample Straat 10 1040 Sample City" }
            ],
            "otherNames": [
                { "name": "SAMPLE TRADING", "businessNameType": "Trading Name" }
            ]
        }
    ]
}
```

**Example 2 — multinational subsidiary (cross-border parent)**

```json
{
    "kyb-prefill": [
        {
            "tin": "987654321",
            "vatNo": "BE0987654321",
            "name": "SAMPLE CHOCOLATE BELGIUM SA",
            "nameMatch": "Verified",
            "address": "Sample Dreve 13, 7700 Sample Town",
            "city": "Sample Town",
            "postalCode": "7700",
            "entityType": "Public limited company",
            "registrationStatus": "ACTIVE",
            "registrationDate": "1997-09-24T00:00:00Z",
            "industryDesc": "Wholesale of sugar, chocolate and sugar confectionery",
            "turnover": { "currency": "EUR", "value": 48835433 },
            "employeeCount": "270",
            "websites": ["http://www.samplechocolate.example"],
            "shareholders": [
                { "name": "SAMPLE HOLDING FRANCE SAS", "percentSharesHeld": 100 }
            ],
            "ultimateParent": { "name": "SAMPLE NETHERLANDS HOLDING B.V.", "country": "NL" },
            "immediateParent": { "name": "SAMPLE NETHERLANDS HOLDING B.V.", "country": "NL" },
            "otherAddresses": [
                { "otherAddress": "Sample Dreve(L) 13 7700 Sample Town" },
                { "otherAddress": "Sample Lei 37 2018 Sample City" }
            ],
            "otherNames": [
                { "name": "SAMPLE CHOCOLATE BELGIUM NV", "businessNameType": "Trading Name" }
            ]
        }
    ]
}
```

**Example 3 — small boutique with a distinct trading name**

```json
{
    "kyb-prefill": [
        {
            "tin": "456789123",
            "vatNo": "BE0456789123",
            "name": "SAMPLE BOUTIQUE BVBA",
            "nameMatch": "Verified",
            "address": "Sample Walletje 20 C, 8300 Sample Coast",
            "city": "Sample Coast",
            "postalCode": "8300",
            "entityType": "Private limited liability company",
            "registrationStatus": "ACTIVE",
            "registrationDate": "2010-07-30T00:00:00Z",
            "industryDesc": "Tour operator activities",
            "otherNames": [
                { "name": "SAMPLE LUXURY BRAND BOUTIQUE", "businessNameType": "Trading Name" }
            ]
        }
    ]
}
```



:::info
Field availability differs significantly by company. `turnover`, `employeeCount`, `shareholders`, `directors`, `websites`, `otherAddresses`, and `creditRating` may all be absent for a given company — this is expected and does not indicate an error. `ultimateParent`/`immediateParent` are absent for companies that sit at the top of their own group.
:::

### Response fields

| Key | Value | Description |
| --- | --- | --- |
| `tin` | BCE/KBO number | 9-digit registration number, as returned from the source of truth. |
| `vatNo` | VAT number | `BE0` + the 9-digit BCE number. |
| `name` | Business name | The registered legal name of the business as returned from the source of truth. |
| `nameMatch` | Verified, Approximate Match, Unverified | Match result comparing the submitted `businessName` against the registered name. Only returned when `businessName` is submitted. |
| `address` | Address | The registered business address as returned from the source of truth. |
| `addressMatch` | Verified, Approximate Match, Unverified | Match result comparing the submitted `address` against the registered address. Only returned when `address` is submitted. |
| `city` | City | The city associated with the registered business address, when available. |
| `postalCode` | Postal code | The postal code associated with the registered business address, when available. |
| `entityType` | Entity type | The legal entity type of the business (e.g. Cooperative company, Public limited company). Defaults to "Unknown" when not available. |
| `registrationStatus` | Active, Expired, Unknown, Not Found | Current registration status of the business. Defaults to "Unknown" when not available. |
| `registrationDate` | Date | The date the business was registered. |
| `creditRating` | Rating value (e.g. A, B) | The business's credit rating, as returned from the source of truth. Defaults to "Unknown" when not available. |
| `creditRatingDescription` | Description (e.g. Low Risk) | Human-readable description of the credit rating. Defaults to "Unknown" when not available. |
| `industryDesc` | Industry description | Description of the business's main activity. May not reflect the company's actual current business activity in all cases. |
| `activityDesc` | Activity description | Description of the business's principal activity. Same data-quirk caveat as `industryDesc`. |
| `turnover` | `{currency, value}` object | The business's latest reported turnover figure. May not be present. |
| `employeeCount` | Number (as string) | Latest reported number of employees, if available. |
| `shareholders` | Array of `{name, percentSharesHeld}` | Shareholder information. May not be present, or may only reflect a partial capitalization table for large companies. |
| `directors` | Array of `{name, positionName}` | Directors associated with the business, if available. |
| `ultimateParent` | `{name, country}` | The business's ultimate parent company, if the business is a subsidiary. Absent when the entity sits at the top of its own group. |
| `immediateParent` | `{name, country}` | The business's immediate parent company, if the business is a subsidiary. Absent when the entity sits at the top of its own group. |
| `otherNames` | Array of `{name, businessNameType}` | The business's trading name, with `businessNameType` set to `"Trading Name"`. Usually identical to `name`, but can genuinely differ. |
| `otherAddresses` | Array of `{otherAddress}` | Addresses associated with the business other than the main registered address, if any. May not be present for smaller companies. |
| `websites` | Array of strings | Websites associated with the business, if available. |

## Error responses

For standard HTTP response codes, see the API Error Response page. Belgium Prefill returns the following country-specific 400 errors.

`taxId` is not a valid BCE/KBO number (bare 9 digits) or VAT number (`BE0` + 9 digits):

```json
{
    "status": 400,
    "error": "Bad Request",
    "message": "taxId must be a valid Belgian BCE/KBO number or VAT number",
    "path": "/omni/externalVerification/ekyb-prefill"
}
```

Any mandatory field (`plugins`, `source`, `country`, or `taxId`) is missing:

```json
{
    "status": 400,
    "error": "Bad Request",
    "message": "must not be blank",
    "path": "/omni/externalVerification/ekyb-prefill"
}
```

No business match is found for the submitted `taxId`:

```json
{
    "timestamp": 1782851583695,
    "status": 200,
    "message": "No business found matching the provided tax ID.",
    "path": "/omni/externalVerification/ekyb-prefill"
}
```





## Single Session Dashboard results

Prefill results are available on the **Business** tab in [single Session view](/dashboard-platform-administration/single-session-view/).