syrto_get_company_structure restituisce la struttura proprietaria e organizzativa di un’azienda: chi la controlla, chi ne detiene le quote, chi la gestisce e quali entità ne fanno parte.
Strumenti correlati: Per i dati del profilo aziendale (settore, sede, dipendenti), usa Panoramica aziendale. Per le metriche finanziarie, usa Analisi aziendale. Per i contatti di una persona, usa Contatti persona.
Quando usare questo strumento
- Scoprire chi possiede o controlla un’azienda
- Vedere amministratori, management, membri del consiglio e dirigenti
- Esplorare controllate e struttura di gruppo
- Ricostruire come un titolare effettivo arriva all’azienda, attraverso le holding intermedie
- Determinare se un’azienda è a controllo estero
Argomenti
string[]
obbligatorio
Le aziende di cui ottenere la struttura - da 1 a 20 ID, senza duplicati, sempre come lista anche per una sola azienda. Gli ID provengono da
syrto_find_company o syrto_lookup_companies_by_tax_id.Oltre la singola azienda le liste all’interno di ciascuna voce sono limitate molto più in basso, perché condividono un’unica risposta - vedi Limiti delle liste più sotto.string[]
Mostra solo gli amministratori che ricoprono un ruolo in queste categorie. Ometti per avere tutti gli amministratori registrati.Valori:
GOVERNING_BODIES, ADMINISTRATION_AND_EXECUTIVES, AUDITING, REPRESENTATION_AND_AUTHORITY, EXTRAORDINARY_PROCEDURES, FUNCTIONAL_ROLES, PARTICIPATION_OWNERSHIP, CHIEF_EXECUTIVE_OFFICER, OTHER.Per “chi guida questa azienda”, la coppia utile è ["GOVERNING_BODIES", "CHIEF_EXECUTIVE_OFFICER"]: in una grande azienda la maggior parte delle righe sono titolari di una procura (EXTRAORDINARY_PROCEDURES), che risponde a una domanda diversa.string
"en" per inglese (predefinito) o "it" per italiano.Risposta
result è { "companies": [...], "not_found": [...] } - la stessa forma per un ID come per venti.
object[]
Una voce per azienda, nell’ordine in cui le hai richieste. È più corta della tua lista quando un ID non ha restituito nulla, quindi la posizione di una voce non è la sua posizione nella richiesta - abbina le voci tramite il loro
company_id.string[]
Gli ID per i quali non è tornata alcuna struttura. Fa parte di una risposta riuscita, non è un errore.
companies contiene:
string
L’ID a cui si riferisce questa voce.
string
Ragione sociale ufficiale dell’azienda.
string | null
Forma giuridica dell’entità, es.
"S.p.A.", "S.r.l.". null se non disponibile.string | null
Categoria dell’entità controllante. Valori comuni:
FAMILY, INDUSTRIAL_GROUP, FINANCIALLY_OWNED_GROUP. null se non determinata.boolean | null
Se l’azienda è a maggioranza di proprietà estera.
null se non disponibile.object[]
Una voce per amministratore - chi ricopre due ruoli compare una volta sola, con entrambi. Ogni voce contiene:
name- nome dell’amministratore (nullse non disponibile)person_id- l’ID della persona, oppurenullquando l’amministratore è una società (vedi ID persona)roles- lista di{ "role_category": ..., "role": ... }, la categoria standardizzata e il titolo specificoage- età in anni compiuti (nullper amministratori società o se sconosciuta)
integer | null
Tutti i ruoli di amministratore registrati, prima che
role_categories venga applicato e prima che i ruoli vengano raggruppati in una voce per persona. È normale che superi la lunghezza di officers: chi ricopre due ruoli deposita due righe. Non è segno che qualcosa sia stato omesso - questo lo segnala warning.Azionisti diretti. Ogni voce contiene:
name- nome dell’azionista (nullse non disponibile)person_id- l’ID della persona, oppurenullper un azionista societàtax_id- il codice fiscale di un azionista società,nullper una persona fisica (vedi Riferimenti ad altre aziende)share_percent- percentuale di partecipazione (nullse non divulgata pubblicamente)age- età in anni compiuti (nullper azionisti società o se sconosciuta)
object[]
Titolari effettivi (le persone che in ultima istanza controllano). Ogni voce contiene:
name- nome del titolare effettivo (nullse non disponibile)person_id- l’ID della persona, oppurenullse il titolare non è una persona fisicatax_id- il codice fiscale di un titolare che è una società,nullper una persona fisicashare_percent- percentuale di partecipazione effettiva (nullse non divulgata)age- età in anni compiuti (nullse sconosciuta)ownership_chains- il percorso o i percorsi attraverso cui questo titolare arriva all’azienda (vedi sotto)
object[][]
Una lista di percorsi, ciascuno una lista di passaggi ordinati da quello più vicino a questa azienda fino al titolare. Ogni passaggio contiene
name, person_id (solo persone fisiche), tax_id (solo società) e la sua share_percent nel passaggio precedente.Una catena non cambia mai la share_percent del titolare - quel valore è già il prodotto dei passaggi di un percorso - la spiega. Un titolare che detiene l’azienda direttamente compare come un percorso di un solo passaggio che nomina sé stesso: è questo l’aspetto della proprietà diretta, non un problema di dati. I percorsi arrivano dal più diretto in poi, e warning segnala quando un titolare ne aveva di più.object[]
Ogni voce contiene:
tax_id- codice fiscale italiano (omesso nella rara voce priva di codice fiscale in camera di commercio)name- nome della controllata (nullse non disponibile)share_percent- quota di partecipazione della capogruppo (nullse non divulgata)
object[]
Aziende controllate dalla stessa capogruppo (quota ≥ 51%). Ogni voce contiene:
tax_id- codice fiscale italiano (omesso nella rara voce priva di codice fiscale in camera di commercio)name- nome dell’azienda (nullse non disponibile)
Aziende che condividono un decisore con questa azienda - un amministratore che in entrambe siede in
GOVERNING_BODIES o è CHIEF_EXECUTIVE_OFFICER. Senza questa restrizione la lista si riempirebbe di aziende che si limitano a usare la stessa società di revisione, il cui personale siede in centinaia di consigli. role_categories non la modifica: quel parametro restringe solo la lista officers. Ogni voce contiene:tax_id- codice fiscale italiano (omesso nella rara voce priva di codice fiscale in camera di commercio)name- nome dell’azienda (nullse non disponibile)
string | null
Presente quando una lista è stata troncata. Indica la lista e il suo totale reale - per esempio
"officer roles 50 of 63" - così una lista troncata non viene mai scambiata per una completa. In una chiamata su più aziende riporta il numero di aziende interessate invece di nominarle una per una. companies_with_shared_officers è l’unica eccezione: è limitata ma non riporta alcun totale.result, la risposta contiene i campi restituiti da ogni strumento. Qui display_title è la ragione sociale dell’azienda, oppure un conteggio quando ne sono state richieste diverse, e subtitle indica quanti ID non sono stati trovati.
ID persona
person_id è un ID persona accettato dagli altri strumenti sulle persone. Passalo direttamente a syrto_get_person_contacts o alla sezione di filtro people di Cerca aziende, senza passare da syrto_find_person - quello è una ricerca per nome, quindi può finire sull’omonimo sbagliato.
È null su un amministratore, azionista o titolare che è una società anziché una persona fisica; una società può ricoprire una carica, come una società di revisione o un socio unico persona giuridica. Quindi null significa “non è una persona fisica”, mai “persona che non siamo riusciti a identificare”.
Riferimenti ad altre aziende
subsidiaries, linked_companies e companies_with_shared_officers identificano le aziende tramite tax_id, non tramite ID aziendale. Per analizzarne una, passa i codici fiscali a syrto_lookup_companies_by_tax_id (fino a 20 in una sola chiamata) e usa gli ID aziendali che restituisce - che puoi poi passare a filters.company_ids in Cerca aziende per sotto-filtrare le partecipazioni. Un codice fiscale può tornare not_found: in quel caso l’azienda è identificabile solo per nome.
Anche un azionista, un titolare effettivo o un passaggio di una catena di controllo che sia una società riporta un tax_id - la stessa identità riportata dalle controllate. Per capire se un titolare è una società che hai già, confronta i codici fiscali e non i nomi: due aziende possono avere lo stesso nome, e una chiamata su più aziende accorcia i nomi lunghi. tax_id è null su una persona fisica (usa person_id), su un’entità che il registro non ha saputo classificare e sulla rara società priva di codice fiscale in camera di commercio. Un amministratore che è una società non riporta alcun tax_id.
Limiti delle liste
Ogni lista è limitata per evitare paginazioni illimitate, e i limiti sono più bassi in una chiamata su più aziende perché tutte condividono un’unica risposta.
Il limite delle controllate per una singola azienda è volutamente lo stesso del filtro
filters.company_ids, così qualsiasi elenco di controllate mostrato qui entra in un solo filtro per ID quando viene risolto su un’unica base di bilancio.
Su più aziende, sono i campi *_total a rispondere alla domanda interessante - quanto è grande il consiglio o il gruppo di questa azienda - più che le liste stesse. Una chiamata su più aziende serve soprattutto per i campi sopra le liste: legal_entity_type, controlling_entity_category, is_foreign_owned e i maggiori azionisti. Chiedi una sola azienda quando ti serve il consiglio completo.
I valori share_percent possono essere null se non divulgati pubblicamente.
Esempio
Ottenere la struttura proprietaria di Ferrari:- Azionisti e titolari effettivi con nomi, percentuali di partecipazione dove divulgate, un
person_idper ciascuna persona e untax_idper ciascuna società controlling_entity_categoryeis_foreign_ownedper il contesto proprietario- Amministratori raggruppati in una voce per persona, ciascuno con tutti i ruoli che ricopre
- Controllate, aziende collegate e aziende che condividono un decisore, ciascuna identificata dal
tax_id