Skip to content

Commit

Permalink
Add liens capitalistiques
Browse files Browse the repository at this point in the history
  • Loading branch information
skelz0r committed Feb 16, 2025
1 parent bcc32a0 commit b7a3a63
Showing 1 changed file with 230 additions and 0 deletions.
230 changes: 230 additions & 0 deletions config/blog_posts/api_entreprise/liens-capitalistiques.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,230 @@
Mercredi 14 février 2025 - Publication

# Liens capitalistiques d'une entreprise

## Comprendre les informations des liasses fiscales

Les **liasses fiscales** permettent d’extraire des informations capitalistiques clés sur une entreprise. Elles contiennent des données déclarées aux impôts par les sociétés soumises à l'impôt sur les sociétés (IS) et offrent une **vision précise de la répartition du capital et des participations**.

Ces informations sont **accessibles via l'API Liasses Fiscales** du portail [API Entreprise](https://entreprise.api.gouv.fr/catalogue/dgfip/liasses_fiscales){:target="_blank"}, permettant aux administrations et organismes habilités de **valoriser ces données** pour divers cas d’usage métier.

{:.fr-highlight}
**ℹ️ La structure capitalistique d’une entreprise peut être précieuse** pour analyser la gouvernance, identifier les liens entre sociétés et évaluer les risques associés à certaines structures d’actionnariat.

---

## **Les informations clés des liasses fiscales** 📄

Les données capitalistiques sont principalement contenues dans deux déclarations fiscales :
- **2059-F** (*Structure du capital - Actionnaires*) → Permet d'identifier les **actionnaires**, aussi bien **personnes morales que personnes physiques**, et leur répartition dans le capital.
- **2059-G** (*Filiales et Participations*) → Permet d'identifier **les sociétés dans lesquelles l'entreprise détient une participation**.

### **Actionnaires : Qui détient l'entreprise ?**
L’imprimé **2059-F** contient les informations suivantes :
- **Actionnaires personnes morales** :
- **SIREN de l’actionnaire** (code 2005724)
- **Nom de l’actionnaire** (code 2005722)
- **Forme juridique** (code 2008006)
- **Pourcentage de détention** (code 2005726)
- **Nombre de parts détenues** (code 2005725)
- **Adresse** : numéro (2005727), voie (2005729), lieu-dit (2005730), code postal (2005731), ville (2005732), pays (2005733)

- **Actionnaires personnes physiques** :
- **Nom de l’actionnaire** (code 2005734)
- **Nom marital** (code 2005735)
- **Date de naissance** (code 2005746)
- **Pourcentage de détention** (code 2005738)
- **Nombre de parts détenues** (code 2005737)
- **Adresse** : numéro (2005739), voie (2005741), lieu-dit (2005742), code postal (2015508), ville (2015507), pays (2015509)

📌 **Cas d'usage** : Permet d’identifier **les actionnaires principaux**, repérer **les structures de contrôle**, et comprendre la **répartition du capital** entre entreprises et individus.

### **Participations : Dans quelles entreprises l’entreprise investit-elle ?**
L’imprimé **2059-G** liste les sociétés détenues avec :
- **SIREN de la filiale ou participation** (code 2005836)
- **Nom de la société détenue** (code 2005834)
- **Forme juridique** (code 2008007)
- **Pourcentage de détention** (code 2005844)
- **Pays d’implantation** (code 2005843)
- **Adresse** : numéro (2005837), voie (2005839), lieu-dit (2005840), code postal (2005841), ville (2005842), pays (2005843)

📌 **Cas d'usage** : Cartographier les **filiales et participations** d’une entreprise, analyser son **empreinte économique**, et repérer les **liens capitalistiques intra-groupes**.

---

## **Exploiter ces données avec l'API Liasses Fiscales**
L'[API Liasses Fiscales](https://entreprise.api.gouv.fr/catalogue/dgfip/liasses_fiscales){:target="_blank"} permet d’accéder à ces informations sous forme structurée.

{:.fr-h5}
### **Exemple de récupération des actionnaires**

Voici un exemple en ruby:

```ruby
liasses_fiscales = lookup_data("/v3/dgfip/unites_legales/#{siren}/liasses_fiscales/#{year}")

actionnaires = []

declaration = declarations.find { |d| d['numero_imprime'] == '2059F' }

sirens = extract_values(declaration, '2005724')
denominations = extract_values(declaration, '2005722')
formes = extract_values(declaration, '2008006')
pourcentages = extract_values(declaration, '2005726')
nombres_parts = extract_values(declaration, '2005725')

noms_physiques = extract_values(declaration, '2005734')
noms_maritaux = extract_values(declaration, '2005735')
pourcentages_physiques = extract_values(declaration, '2005738')
nombres_parts_physiques = extract_values(declaration, '2005737')
dates_naissance = extract_values(declaration, '2005746')
pays_physiques = extract_values(declaration, '2015509')

adresse_numero = extract_values(declaration, '2005727')
adresse_voie = extract_values(declaration, '2005729')
adresse_lieu_dit_hameau = extract_values(declaration, '2005730')
adresse_code_postal = extract_values(declaration, '2005731')
adresse_ville = extract_values(declaration, '2005732')
adresse_pays = extract_values(declaration, '2005733')

adresse_physique_numero = extract_values(declaration, '2005739')
adresse_physique_voie = extract_values(declaration, '2005741')
adresse_physique_lieu_dit_hameau = extract_values(declaration, '2005742')
adresse_physique_code_postal = extract_values(declaration, '2015508')
adresse_physique_ville = extract_values(declaration, '2015507')
adresse_physique_pays = extract_values(declaration, '2015509')

sirens.each_with_index do |siren, index|
actionnaire = {
type: 'personne_morale',
pourcentage: build_pourcentage(pourcentages[index]),
nombre_parts: nombres_parts[index]&.to_i,
personne_physique_attributs: {
nom: nil,
nom_marital: nil,
date_naissance: nil,
pays: nil,
adresse: {}
},
personne_morale_attributs: {
siren: siren,
denomination: denominations[index],
forme_juridique: formes[index],
adresse: {
numero: adresse_numero[index],
voie: adresse_voie[index],
lieu_dit_hameau: adresse_lieu_dit_hameau[index],
code_postal: adresse_code_postal[index],
ville: adresse_ville[index],
pays: adresse_pays[index]
}
}
}
actionnaires << actionnaire
end

noms_physiques.each_with_index do |nom, index|
actionnaire = {
type: 'personne_physique',
pourcentage: build_pourcentage(pourcentages_physiques[index]),
nombre_parts: nombres_parts_physiques[index]&.to_i,
personne_physique_attributs: {
nom: nom,
nom_marital: noms_maritaux[index],
date_naissance: dates_naissance[index],
pays: pays_physiques[index],
adresse: {
numero: adresse_physique_numero[index],
voie: adresse_physique_voie[index],
lieu_dit_hameau: adresse_physique_lieu_dit_hameau[index],
code_postal: adresse_physique_code_postal[index],
ville: adresse_physique_ville[index],
pays: adresse_physique_pays[index]
}
},
personne_morale_attributs: {
siren: nil,
denomination: nil,
forme_juridique: nil,
adresse: {}
}
}
actionnaires << actionnaire
end

actionnaires
```

{:.fr-h5}
### **Exemple de récupération des participations**

En ruby

```ruby
liasses_fiscales = lookup_data("/v3/dgfip/unites_legales/#{siren}/liasses_fiscales/#{year}")

participations=[]

sirens = extract_values(declaration, '2005836')
denominations = extract_values(declaration, '2005834')
formes = extract_values(declaration, '2008007')
pourcentages = extract_values(declaration, '2005844')
pays = extract_values(declaration, '2005843')

adresse_numero = extract_values(declaration, '2005837')
adresse_voie = extract_values(declaration, '2005839')
adresse_lieu_dit_hameau = extract_values(declaration, '2005840')
adresse_code_postal = extract_values(declaration, '2005841')
adresse_ville = extract_values(declaration, '2005842')
adresse_pays = extract_values(declaration, '2005843')

sirens.each_with_index do |siren, index|
participation = {
siren: siren,
denomination: denominations[index],
forme_juridique: formes[index],
pourcentage: build_pourcentage(pourcentages[index]),
pays: pays[index],
adresse: {
numero: adresse_numero[index],
voie: adresse_voie[index],
lieu_dit_hameau: adresse_lieu_dit_hameau[index],
code_postal: adresse_code_postal[index],
ville: adresse_ville[index],
pays: adresse_pays[index]
}
}

participations << participation
end
participations
```

---

## **Quels usages métier ?**
Ces données peuvent être exploitées pour :
- **Cartographier les réseaux d’entreprises** (identification des structures de contrôle).
- **Analyser la gouvernance et la répartition du capital** (investisseurs, holdings…).
- **Faire des contrôles réglementaires et fiscaux** (vérification des bénéficiaires réels, lutte contre la fraude).
- **Compléter des analyses économiques et financières** en croisant avec d'autres API (ex : [API INSEE](https://entreprise.api.gouv.fr/catalogue/insee/unites_legales){:target="_blank"}, [API RNE](https://entreprise.api.gouv.fr/catalogue/rne/entreprises){:target="_blank"}).

---

### **Données déclaratives : attention à la qualité des informations**
Il est important de noter que les **adresses renseignées dans les liasses fiscales sont déclaratives**, ce qui peut engendrer des **erreurs ou incohérences** :
- Certaines entreprises **ne renseignent pas toutes les informations**, laissant des champs vides.
- Le **pays peut être inscrit dans la voie** par erreur, ou l’adresse peut être **partiellement renseignée**.
- Les **personnes physiques peuvent omettre certains détails** (ex : absence de numéro de rue, informations erronées sur la ville).

Ainsi, lors de l’exploitation des données d’adresse, il est recommandé de **croiser avec d’autres sources (ex : API INSEE, RNE) et de prévoir des contrôles de cohérence**.

---

## **Conclusion**
L’intégration des données des liasses fiscales via API Entreprise permet aux **administrations et acteurs habilités** d’exploiter **une information fiable et déclarative** pour mieux comprendre **les structures capitalistiques et les liens entre entreprises**.

💡 **Envie d’exploiter ces données ?** Découvrez l'[API Liasses Fiscales](https://entreprise.api.gouv.fr/catalogue/dgfip/liasses_fiscales){:target="_blank"} et testez-la dès maintenant !

---
[Toutes les API du catalogue API Entreprise](https://entreprise.api.gouv.fr/catalogue){:.fr-btn .fr-btn--secondary fr-btn--icon-right fr-icon-arrow-right-fill}

0 comments on commit b7a3a63

Please sign in to comment.