eKYB Prefill in Italy leverages Italy's source of truth to automatically retrieve and populate business information based on a company's CCIAA/NREA number, VAT/Tax Code, or Codice Fiscale, including the business name, registered address, entity type, registration status, directors, shareholders, and additional financial and corporate data, without requiring manual input from the user.
Source
| Country | Source | Description |
|---|---|---|
| Italy | IT_KYB_PREFILL |
Returns matching Italian business details from Italy's source of truth for pre-fill. |
Direct API approach
For general integration notes and shared response semantics, see the 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 IT_KYB_PREFILL. Identifies the Prefill source. |
| country | Mandatory | String. Two-letter Alpha-2 country code. Must be IT. |
| taxId | Mandatory | String. Italian business identifier. See Tax ID formats for details. |
| businessName | Optional | String. Registered name of the business. When provided, adds nameMatch to the response. |
| address | Optional | String. Business address as a freeform string. When provided, adds addressMatch to the response. |
Tax ID formats
The taxId field accepts three Italian business identifier types. Routing between them is determined automatically by the format of the submitted value.
| ID Type | Description | Format | Example |
|---|---|---|---|
| CCIAA/NREA | Chamber of Commerce registration number | 2 letters + 6 or 7 digits | BR123456, VA187262 |
| Partita IVA (VAT/Tax Code) | Italian VAT identifier | 11 numeric digits. A leading IT prefix is stripped automatically before processing. |
02324830740, IT08719600960 |
| Codice Fiscale | Personal tax code for sole traders | 16-character alphanumeric | CGNMHL70D16A225B |
Inputs that do not match any of the above formats return a 400 error.
Sample request
{
"plugins": ["ekyb-prefill"],
"source": "IT_KYB_PREFILL",
"country": "IT",
"taxId": "BR123456",
"businessName": "ITALIA VENEZIA ENTERPRISE",
"address": "STRADA MILANO STRADA 17, 72014 CISTERNINO BR"
}
Sample response
The Prefill response returns business data retrieved directly from the source of truth. Fields are returned as-is from the source. nameMatch and addressMatch are only present when businessName or address were submitted in the request. Fields such as turnover, employeeCount, shareholders, directors, creditRating, and companySize may be absent for sole traders and smaller companies — this is expected, not an error.
Example 1 — ITALIA VENEZIA ENTERPRISE (Limited Liability Company)
{
"kyb-prefill": [
{
"tin": "BR123456",
"vatNo": "12345678901",
"name": "ITALIA VENEZIA ENTERPRISE - SOCIETA' A RESPONSABILITA' LIMITATA",
"nameMatch": "Verified",
"address": "STRADA MILANO STRADA 17, 72014 CISTERNINO BR",
"city": "CISTERNINO",
"postalCode": "72014",
"entityType": "LIMITED LIABILITY COMPANY",
"registrationStatus": "Active",
"creditRating": "C",
"creditRatingDescription": "Moderate Risk",
"industryDesc": "Non-specialised retail sale",
"turnover": { "currency": "EUR", "value": 2298098 },
"employeeCount": "4",
"shareholders": [
{ "name": "Alessandro Moretti", "percentSharesHeld": 60 }
],
"directors": [
{ "name": "Giulia Romano", "positionName": "SOLE DIRECTOR" }
]
}
]
}
Example 2 — RUOTA LIBERA DI CAGNAZZI MICHELE (Sole trader)
{
"kyb-prefill": [
{
"tin": "BA123456",
"vatNo": "12345678901",
"name": "RUOTA VENEZIA DI CAGNAZZI MICHELE",
"nameMatch": "Verified",
"address": "HOUSE 123, STREET ABC, 72014 CISTERNINO BR",
"city": "CISTERNINO",
"postalCode": "72014",
"entityType": "SOLE PROPRIETOR",
"registrationStatus": "Active",
"registrationDate": "2008-09-22T00:00:00Z",
"industryDesc": "Other retail sale of new goods in specialised stores"
}
]
}
Response fields
| Key | Value | Description |
|---|---|---|
| tin | CCIAA/NREA number | The Italian Chamber of Commerce registration number as confirmed by the source of truth. |
| vatNo | Partita IVA | The 11-digit Italian VAT number as returned from alternateSummary.vatRegistrationNumber in the source of truth. This field is reliable for all entity types, including sole traders, regardless of how the search was performed. |
| 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 name on file. Only present when businessName was submitted in the request. See Name and address match values for details. |
| address | Registered address | The primary registered address of the business as returned from the source of truth. |
| addressMatch | Verified, Approximate Match, Unverified | Match result comparing the submitted address against the registered address on file. Only present when address was submitted in the request. See Name and address match values for details. |
| city | City | The city of the registered address as returned from the source of truth. |
| postalCode | Postal code | The postal code of the registered address as returned from the source of truth. |
| entityType | Entity type | The legal form of the business as returned from the source of truth (for example, LIMITED LIABILITY COMPANY, SOLE PROPRIETOR). Defaults to Unknown when not available. |
| registrationStatus | Registration status | The current company status as returned from the source of truth (for example, Active). Defaults to Unknown when not available. |
| registrationDate | Date | The date the company was incorporated (incorporationDate), as returned from the source of truth. May not be present for all companies. |
| creditRating | Credit rating value | The standardized credit rating value (for example, A). Defaults to Unknown when not available. May not be present for sole traders. |
| creditRatingDescription | Credit rating description | A human-readable description of the credit rating (for example, Very Low Risk). May not be present for sole traders. |
| industryDesc | Industry description | The primary activity description as returned from the source of truth (for example, Non-specialised retail sale). |
| activityDesc | Activity description | The principal activity description as returned from the source of truth. For Italy, this is typically identical to industryDesc. May not be present for all companies. |
| turnover | {currency, value} object |
The latest turnover figure as returned from the source of truth. May not be present for sole traders and smaller companies. |
| employeeCount | String | The latest employee count as returned from the source of truth. Always returned as a string. May not be present for sole traders and smaller companies. |
| companySize | String | The company size classification as returned from the source of truth (for example, Small Company). May not be present for all companies. |
| shareholders | Array of {name, percentSharesHeld} |
Shareholders associated with the business as returned from the source of truth. percentSharesHeld is sourced from quotaPercentage under shareCapitalStructureExtra. May not be present for sole traders. |
| directors | Array of {name, positionName} |
Current directors and officers as returned from the source of truth. positionName reflects the primary position title on file. May not be present for sole traders. |
Name and address match values
| Status | Description |
|---|---|
| Verified | Exact match found against registry data. |
| Approximate Match | Similar match found; may reflect minor differences in naming or address formatting. |
| Unverified | No match found in registry data. |
Registration status values
| Status | Description |
|---|---|
| Active | The company is currently active and registered. |
| Inactive | The company registration is dissolved, struck off, or no longer active. |
| Unknown | The registration status could not be determined. |
Error responses
For standard HTTP response codes, see the API Error Response page. Italy Prefill returns the following country-specific 400 errors.
taxId is missing, empty, or does not match a supported Italian identifier format:
{
"timestamp": 1782851408892,
"status": 400,
"error": "Bad Request",
"message": "taxId must be a valid Italian identifier: CCIAA/NREA (2 letters + 6-7 digits), Partita IVA (11 digits), or Codice Fiscale (16 alphanumeric characters)",
"path": "/omni/externalVerification/ekyb-prefill"
}
Any mandatory field (plugins, source, country, or taxId) is missing:
{
"timestamp": 1782851468367,
"status": 400,
"error": "Bad Request",
"message": "must not be blank",
"path": "/omni/externalVerification/ekyb-prefill"
}
No business match is found for the submitted taxId:
{
"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.