Italian company filings sit in a distributed register run by the chambers of commerce. Unioncamere coordinates the network. The EU Business Registers Interconnection System (BRIS) then publishes the cross‑border slice. Each company record carries two numbers: a provincial REA identifier and a national fiscal code. Query an Italian company through software and both usually appear immediately.
A register run through the chambers of commerce
The Registro delle imprese is set out in the Italian Civil Code and administered by the Camere di Commercio. Every chamber maintains the legal record for companies within its province. Those provincial databases feed the national system.
BRIS republishes a restricted EU dataset required by Directive (EU) 2017/1132. Restricted is the key word. The BRIS layer does not expose the entire chamber archive. Only the statutory fields intended for cross‑border disclosure leave Italy through that channel.
That separation carries legal weight. Statutory notice attaches to filings accepted by the chamber register itself. BRIS distributes the information across the Union but it is not the place where registration legally occurs. Software that queries BRIS therefore reads the harmonised disclosure layer used for European company lookups.
Fields that come back through BRIS
A typical Italian company profile returned through the MCP interface exposes several identifiers that compliance teams recognise straight away.
Near the top sits the REA number (Repertorio Economico Amministrativo). This identifier links the entity to its provincial chamber entry. Investigations often begin there. The number anchors the company to a specific chamber office and its filings.
Another field is the codice fiscale. For companies it usually matches the VAT number. Across datasets it behaves as the most stable reference because the same code appears in tax records as well as corporate filings.
The registered office appears as a structured address within the BRIS payload. The upstream Italian entry normally includes municipality and province codes embedded in the jurisdiction fields. When OpenRegistry returns the raw jurisdiction_data, those source values remain visible. No translation layer sits in between.
Legal form is another useful signal. Italian entries use abbreviations such as S.r.l. or S.p.A.. Each abbreviation maps to a company type defined in the Civil Code. Registries tend to store the value exactly as filed rather than converting it into another language.
Officer data arrives through the filings record. Directors and legal representatives appear as officers linked to the company entry. Titles usually remain in Italian. Small detail, real impact. The legal meaning of a role often depends on the precise wording recorded in the registry.
Gaps and legally gated data
Beneficial ownership is the largest gap right now. Legislative Decree 55/2022 created the central titolare effettivo register to meet EU transparency rules. Public access did not last long. The Court of Justice of the European Union ruled on the issue in Joined Cases C‑37/20 and C‑601/20.
Following that judgment, access rules tightened across several member states. Italy followed the same path. Orders from the Consiglio di Stato late in 2024 kept the public portal restricted while a new legitimate‑interest regime is prepared.
The result is simple. Programmatic access to UBO filings is not available through BRIS. OpenRegistry cannot surface what the upstream system does not publish.
Practitioners often fall back on chamber extracts known as a visura camerale. These documents come directly from the chamber record. They may include shareholder details or historical governance data that never travels through the EU interoperability layer.
Document access has similar limits. Some filings exist only as chamber PDFs. BRIS may publish a filing reference yet omit the document file itself. The metadata appears. The scan does not.
Querying it through the MCP server
OpenRegistry exposes the Italian register through the same MCP interface used for the other jurisdictions on the server. The pattern is straightforward. Run a search. Then request the profile using the company number returned.
Example search:
search_companies({
"jurisdiction": "IT",
"query": "ENI S.P.A."
})
The response includes the identifier assigned by the chamber record. That value feeds directly into the next call.
get_company_profile({
"jurisdiction": "IT",
"company_number": "00905811006"
})
Officer data can be requested separately when BRIS publishes it.
get_officers({
"jurisdiction": "IT",
"company_number": "00905811006"
})
Filings metadata follows the same structure.
list_filings({
"jurisdiction": "IT",
"company_number": "00905811006"
})
Each response contains the harmonised EU fields together with the original Italian payload stored inside jurisdiction_data. That raw block often includes chamber identifiers or classification codes that receive little attention in the official BRIS notes.
Practical use in diligence
Cross‑border M&A work often begins with a basic question: which Italian entity actually signed the agreement. The chamber record answers that quickly. It confirms legal existence, the registered office, and the individuals listed as legal representatives.
Sanctions and AML teams start from the same entry when mapping control. Even without public UBO access, the officer list and filing trail can hint at influence. Repeated directors across related firms. Representatives appearing in nominee roles. Patterns emerge.
Journalists use the identifiers differently. The REA number and fiscal code act as bridges when linking Italian companies to foreign subsidiaries disclosed through BRIS. One number opens the door to another dataset.
Developers building compliance tooling usually focus on a smaller detail. OpenRegistry preserves the raw Italian registry fields instead of rewriting them into a simplified schema. That choice avoids the data loss common in the legacy paid databases and leaves interpretation to the client.
OpenRegistry exposes the Italian BRIS dataset alongside 27 other national company registers through one MCP endpoint. Documentation and connection details sit at https://openregistry.sophymarine.com.
Top comments (0)