diff --git a/app/migration/import/authorization_requests/api_ficoba_sandbox_attributes.rb b/app/migration/import/authorization_requests/api_ficoba_sandbox_attributes.rb
index 02bfb8c9d..55f5b47c3 100644
--- a/app/migration/import/authorization_requests/api_ficoba_sandbox_attributes.rb
+++ b/app/migration/import/authorization_requests/api_ficoba_sandbox_attributes.rb
@@ -17,6 +17,9 @@ def affect_modalities
'acces_ficoba_spi' => 'with_ficoba_spi',
'acces_ficoba_personne_morale' => 'with_ficoba_personne_morale',
'acces_ficoba_personne_physique' => 'with_ficoba_personne_physique',
+ 'acces_ficoba_iban_siren' => 'with_ficoba_iban_siren',
+ 'acces_ficoba_iban_personne_morale' => 'with_ficoba_iban_personne_morale',
+ 'acces_ficoba_iban_personne_physique' => 'with_ficoba_iban_personne_physique',
}.each do |from, to|
next unless additional_content[from]
diff --git a/app/models/authorization_request/api_ficoba.rb b/app/models/authorization_request/api_ficoba.rb
index 5f10deb13..0e92dc800 100644
--- a/app/models/authorization_request/api_ficoba.rb
+++ b/app/models/authorization_request/api_ficoba.rb
@@ -9,12 +9,12 @@ class AuthorizationRequest::APIFicoba < AuthorizationRequest
include AuthorizationExtensions::Modalities
include DGFIPExtensions::ExtraContactsInfos
- MODALITIES = %w[with_ficoba_iban with_ficoba_spi with_ficoba_siren with_ficoba_personne_physique with_ficoba_personne_morale].freeze
+ MODALITIES = %w[with_ficoba_iban with_ficoba_spi with_ficoba_siren with_ficoba_personne_physique with_ficoba_personne_morale with_ficoba_iban_siren with_ficoba_iban_personne_physique with_ficoba_iban_personne_morale].freeze
VOLUMETRIES = {
- '50 appels / minute': 50,
'200 appels / minute': 200,
- '1000 appels / minute': 1000,
+ '500 appels / minute': 500,
+ '700 appels / minute': 700,
}.freeze
add_documents :maquette_projet, content_type: ['application/pdf'], size: { less_than: 10.megabytes }
diff --git a/app/models/authorization_request/api_ficoba_sandbox.rb b/app/models/authorization_request/api_ficoba_sandbox.rb
index 796f21b41..da062704f 100644
--- a/app/models/authorization_request/api_ficoba_sandbox.rb
+++ b/app/models/authorization_request/api_ficoba_sandbox.rb
@@ -6,7 +6,7 @@ class AuthorizationRequest::APIFicobaSandbox < AuthorizationRequest
include AuthorizationExtensions::Modalities
include DGFIPExtensions::ExtraContactsInfos
- MODALITIES = %w[with_ficoba_iban with_ficoba_spi with_ficoba_siren with_ficoba_personne_physique with_ficoba_personne_morale].freeze
+ MODALITIES = %w[with_ficoba_iban with_ficoba_spi with_ficoba_siren with_ficoba_personne_physique with_ficoba_personne_morale with_ficoba_iban_siren with_ficoba_iban_personne_physique with_ficoba_iban_personne_morale].freeze
add_documents :maquette_projet, content_type: ['application/pdf'], size: { less_than: 10.megabytes }
diff --git a/config/authorization_definitions/dgfip.yml b/config/authorization_definitions/dgfip.yml
index a017c74d4..f8a7e38db 100644
--- a/config/authorization_definitions/dgfip.yml
+++ b/config/authorization_definitions/dgfip.yml
@@ -881,7 +881,7 @@ api_ficoba:
provider: "dgfip"
kind: 'api'
link: "https://www.data.gouv.fr/fr/dataservices/api-fichier-des-comptes-bancaires-et-assimiles-ficoba/"
- cgu_link: "/cgus/dgfip/cgu_api_ficoba_production.pdf"
+ cgu_link: "/cgus/dgfip/cgu_api_ficoba_prod_2025.pdf"
# FEEDME
access_link: "https://api-ficoba.gouv.fr/tokens/%{external_provider_id}"
support_email: "dtnum.donnees.demande-acces@dgfip.finances.gouv.fr"
@@ -903,22 +903,36 @@ api_ficoba:
- name: safety_certification
- name: volumetrie
scopes: &api_ficoba_scopes
- - name: État civil ou dénomination
+ - name: État civil/Raison sociale du titulaire du compte
value: dgfip_ficoba_etat_civil_denomination
- group: Information du compte
+ group: Informations du compte
- name: Adresse
value: dgfip_ficoba_adresse
- group: Information du compte
- - name: Désignation du compte
+ group: Informations du compte
+ - name: Numéro de compte ouvert et caractéristiques
value: dgfip_ficoba_compte
- included: true
- group: Information du compte
- - name: Établissement bancaire
+ group: Informations du compte
+ - name: Établissement/Guichet bancaire/Adresse
value: dgfip_ficoba_etablissement_bancaire
- group: Information du compte
- - name: Date
+ group: Informations du compte
+ - name: Droit sur le compte et date effective
value: dgfip_ficoba_date
- group: Information du compte
+ group: Informations du compte
+ - name: Restitution vérification (O/N) et date de clôture le cas échéant
+ value: dgfip_ficoba_restitution_verification
+ group: Informations du compte
+ - name: Nombre de comptes trouvés
+ value: dgfip_ficoba_nombre_comptes
+ group: Contrôle multi-détention PER
+ - name: IBAN (si accord client)
+ value: dgfip_ficoba_iban
+ group: Contrôle multi-détention PER
+ - name: Date d’ouverture (si accord client)
+ value: dgfip_ficoba_date_ouverture
+ group: Contrôle multi-détention PER
+ - name: Motif d’ouverture (si accord client)
+ value: dgfip_ficoba_motif_ouverture
+ group: Contrôle multi-détention PER
api_ficoba_sandbox:
name: API Fichier des Comptes Bancaires et Assimilés (FICOBA)
@@ -926,7 +940,7 @@ api_ficoba_sandbox:
provider: "dgfip"
kind: 'api'
link: "https://www.data.gouv.fr/fr/dataservices/api-fichier-des-comptes-bancaires-et-assimiles-ficoba/"
- cgu_link: "/cgus/dgfip/cgu_api_ficoba_bac_a_sable_decembre2020_v1.1.pdf"
+ cgu_link: "/cgus/dgfip/cgu_api_ficoba_bas_2025.pdf"
# FEEDME
access_link: "https://api-ficoba.gouv.fr/tokens/%{external_provider_id}"
support_email: "dtnum.donnees.demande-acces@dgfip.finances.gouv.fr"
diff --git a/config/authorization_request_forms/api_ficoba.yml b/config/authorization_request_forms/api_ficoba.yml
index cf928ce64..6a5ef2e3d 100644
--- a/config/authorization_request_forms/api_ficoba.yml
+++ b/config/authorization_request_forms/api_ficoba.yml
@@ -44,7 +44,7 @@ api-ficoba-production:
public: false
startable_by_applicant: false
description: Pour les utilisateurs ayant déjà réalisé une recette fonctionnelle en bac à sable et souhaitant obtenir des accès en production.
- introduction: |
+ introduction: &api_ficoba_production_form_introduction |
Votre demande d'accès au bac à sable a été validée, vous pouvez à présent poursuivre votre demande en demandant les accès à la production.
@@ -74,7 +74,7 @@ api-ficoba-production:
authorization_request: APIFicoba
static_blocks: *api_ficoba_sandbox_steps
- steps:
+ steps: &api_ficoba_production_steps
- name: operational_acceptance
- name: safety_certification
- name: volumetrie
@@ -83,7 +83,7 @@ api-ficoba-production-editeur:
name: Demande libre avec éditeur
public: true
description: Pour les utilisateurs travaillant avec un éditeur ayant déjà effectué une recette fonctionnelle.
- introduction: |
+ introduction: &api_ficoba_editor_form_introduction |
Votre éditeur a déjà obtenu l'accès à la sandbox, vous n'avez plus qu'à obtenir l'accès en production via ce formulaire.
authorization_request: APIFicoba
steps:
@@ -95,3 +95,291 @@ api-ficoba-production-editeur:
- name: contacts
- name: safety_certification
- name: volumetrie
+
+#Recouvrement forcé
+api-ficoba-recouvrement-sandbox:
+ name: Recouvrement forcé (Bac à sable)
+ public: true
+ use_case: recouvrement
+ description: Recouvrement forcé
+ authorization_request: APIFicobaSandbox
+ steps: *api_ficoba_sandbox_steps
+ initialize_with:
+ intitule: Recouvrement forcé
+ description: |
+ FICOBA permet de restituer la liste des comptes bancaires ouverts (sans date de clôture) dont le titulaire (personne physique ou personne morale) n’est pas à jour dans le paiement de ses impôts, taxes, amendes, cotisations… A partir des données restituées, le service peut enclencher une procédure de saisie administrative à tiers détenteur (SATD).
+ (A compléter par le demandeur)
+ scopes:
+ - dgfip_ficoba_etat_civil_denomination
+ - dgfip_ficoba_adresse
+ - dgfip_ficoba_compte
+ - dgfip_ficoba_etablissement_bancaire
+ - dgfip_ficoba_date
+ modalities:
+ - with_ficoba_iban
+ - with_ficoba_siren
+ - with_ficoba_personne_morale
+ - with_ficoba_personne_physique
+
+api-ficoba-recouvrement-production:
+ name: Recouvrement forcé
+ public: false
+ startable_by_applicant: false
+ stage:
+ previous_form_uid: api-ficoba-recouvrement-sandbox
+ use_case: recouvrement
+ introduction: *api_ficoba_production_form_introduction
+ authorization_request: APIFicoba
+ static_blocks: *api_ficoba_sandbox_steps
+ steps: *api_ficoba_production_steps
+
+api-ficoba-recouvrement-editeur:
+ name: Recouvrement forcé (avec Éditeur)
+ public: true
+ use_case: recouvrement
+ description: Recouvrement forcé (avec Éditeur)
+ introduction: *api_ficoba_editor_form_introduction
+ authorization_request: APIFicoba
+ steps: *api_ficoba_editor_steps
+ initialize_with:
+ intitule: Recouvrement forcé
+ description: |
+ FICOBA permet de restituer la liste des comptes bancaires ouverts (sans date de clôture) dont le titulaire (personne physique ou personne morale) n’est pas à jour dans le paiement de ses impôts, taxes, amendes, cotisations… A partir des données restituées, le service peut enclencher une procédure de saisie administrative à tiers détenteur (SATD).
+ (A compléter par le demandeur)
+ scopes:
+ - dgfip_ficoba_etat_civil_denomination
+ - dgfip_ficoba_adresse
+ - dgfip_ficoba_compte
+ - dgfip_ficoba_etablissement_bancaire
+ - dgfip_ficoba_date
+ modalities:
+ - with_ficoba_iban
+ - with_ficoba_siren
+ - with_ficoba_personne_morale
+ - with_ficoba_personne_physique
+
+#Vérification des IBAN par rapport au titulaire du compte
+api-ficoba-verification-iban-sandbox:
+ name: Vérification des IBAN (Bac à sable)
+ public: true
+ use_case: verification_iban
+ description: Vérification des IBAN par rapport au titulaire du compte
+ authorization_request: APIFicobaSandbox
+ steps: *api_ficoba_sandbox_steps
+ initialize_with:
+ intitule: Vérification des IBAN avec titulaire
+ description: |
+ FICOBA permet de vérifier la concordance entre le compte bancaire fourni par l’usager (qui demande de bénéficier d’une prestation/aide) et son identité réelle et de confirmer si le compte fourni par le titulaire est bien présent en base pour cette même personne (lutte contre l’usurpation d’identité, de faux IBAN...).
+ (A compléter par le demandeur)
+ scopes:
+ - dgfip_ficoba_restitution_verification
+ modalities:
+ - with_ficoba_iban_siren
+ - with_ficoba_iban_personne_morale
+ - with_ficoba_iban_personne_physique
+
+api-ficoba-verification-iban-production:
+ name: Vérification des IBAN
+ public: false
+ startable_by_applicant: false
+ stage:
+ previous_form_uid: api-ficoba-verification-iban-sandbox
+ use_case: verification_iban
+ introduction: *api_ficoba_production_form_introduction
+ authorization_request: APIFicoba
+ static_blocks: *api_ficoba_sandbox_steps
+ steps: *api_ficoba_production_steps
+
+api-ficoba-verification-iban-editeur:
+ name: Vérification des IBAN (avec Éditeur)
+ public: true
+ use_case: verification_iban
+ description: Vérification des IBAN par rapport au titulaire du compte (avec Éditeur)
+ introduction: *api_ficoba_editor_form_introduction
+ authorization_request: APIFicoba
+ steps: *api_ficoba_editor_steps
+ initialize_with:
+ intitule: Vérification des IBAN avec titulaire
+ description: |
+ FICOBA permet de vérifier la concordance entre le compte bancaire fourni par l’usager (qui demande de bénéficier d’une prestation/aide) et son identité réelle et de confirmer si le compte fourni par le titulaire est bien présent en base pour cette même personne (lutte contre l’usurpation d’identité, de faux IBAN...).
+ (A compléter par le demandeur)
+ scopes:
+ - dgfip_ficoba_restitution_verification
+ modalities:
+ - with_ficoba_iban_siren
+ - with_ficoba_iban_personne_morale
+ - with_ficoba_iban_personne_physique
+
+#Vérification de l’existence de l’IBAN
+api-ficoba-verification-existence-sandbox:
+ name: Vérification de l’existence de l’IBAN (Bac à sable)
+ public: true
+ use_case: verification_existence
+ description: Vérification de l’existence de l’IBAN
+ authorization_request: APIFicobaSandbox
+ steps: *api_ficoba_sandbox_steps
+ initialize_with:
+ intitule: Vérification de l’existence de l’IBAN
+ description: |
+ FICOBA permet de s’assurer que l’IBAN fourni existe bien dans FICOBA, ou s’il est toujours ouvert.
+ (A compléter par le demandeur)
+ scopes:
+ - dgfip_ficoba_restitution_verification
+ modalities:
+ - with_ficoba_iban
+
+api-ficoba-verification-existence-production:
+ name: Vérification de l’existence de l’IBAN
+ public: false
+ startable_by_applicant: false
+ stage:
+ previous_form_uid: api-ficoba-verification-existence-sandbox
+ use_case: verification_existence
+ introduction: *api_ficoba_production_form_introduction
+ authorization_request: APIFicoba
+ static_blocks: *api_ficoba_sandbox_steps
+ steps: *api_ficoba_production_steps
+
+api-ficoba-verification-existence-editeur:
+ name: Vérification de l’existence de l’IBAN (avec Éditeur)
+ public: true
+ use_case: verification_existence
+ description: Vérification de l’existence de l’IBAN (avec Éditeur)
+ introduction: *api_ficoba_editor_form_introduction
+ authorization_request: APIFicoba
+ steps: *api_ficoba_editor_steps
+ initialize_with:
+ intitule: Vérification de l’existence de l’IBAN
+ description: |
+ FICOBA permet de s’assurer que l’IBAN fourni existe bien dans FICOBA, ou s’il est toujours ouvert.
+ (A compléter par le demandeur)
+ scopes:
+ - dgfip_ficoba_restitution_verification
+ modalities:
+ - with_ficoba_iban
+
+#Lutte contre la fraude
+api-ficoba-fraude-sandbox:
+ name: Lutte contre la fraude (Bac à sable)
+ public: true
+ use_case: fraude
+ description: Lutte contre la fraude
+ authorization_request: APIFicobaSandbox
+ steps: *api_ficoba_sandbox_steps
+ initialize_with:
+ intitule: Lutte contre la fraude
+ description: |
+ FICOBA permet d’accéder à la liste des comptes détenus par un titulaire dans le cadre d’une enquête menée par une autorité compétente afin d’appréhender un fraudeur potentiel et de constituer des éléments permettant de prouver la fraude.
+ (A compléter par le demandeur)
+ scopes:
+ - dgfip_ficoba_etat_civil_denomination
+ - dgfip_ficoba_adresse
+ - dgfip_ficoba_compte
+ - dgfip_ficoba_etablissement_bancaire
+ - dgfip_ficoba_date
+ modalities:
+ - with_ficoba_iban
+ - with_ficoba_siren
+ - with_ficoba_personne_morale
+ - with_ficoba_personne_physique
+
+api-ficoba-fraude-production:
+ name: Lutte contre la fraude
+ public: false
+ startable_by_applicant: false
+ stage:
+ previous_form_uid: api-ficoba-fraude-sandbox
+ use_case: fraude
+ introduction: *api_ficoba_production_form_introduction
+ authorization_request: APIFicoba
+ static_blocks: *api_ficoba_sandbox_steps
+ steps: *api_ficoba_production_steps
+
+api-ficoba-fraude-editeur:
+ name: Lutte contre la fraude (avec Éditeur)
+ public: true
+ use_case: fraude
+ description: Lutte contre la fraude (avec Éditeur)
+ introduction: *api_ficoba_editor_form_introduction
+ authorization_request: APIFicoba
+ steps: *api_ficoba_editor_steps
+ initialize_with:
+ intitule: Lutte contre la fraude
+ description: |
+ FICOBA permet d’accéder à la liste des comptes détenus par un titulaire dans le cadre d’une enquête menée par une autorité compétente afin d’appréhender un fraudeur potentiel et de constituer des éléments permettant de prouver la fraude.
+ (A compléter par le demandeur)
+ scopes:
+ - dgfip_ficoba_etat_civil_denomination
+ - dgfip_ficoba_adresse
+ - dgfip_ficoba_compte
+ - dgfip_ficoba_etablissement_bancaire
+ - dgfip_ficoba_date
+ modalities:
+ - with_ficoba_iban
+ - with_ficoba_siren
+ - with_ficoba_personne_morale
+ - with_ficoba_personne_physique
+
+#Contrôle multi-détention PER
+api-ficoba-multi-detention-sandbox:
+ name: Contrôle multi-détention PER - établissements bancaires uniquement (Bac à sable)
+ public: true
+ use_case: multi_detention
+ description: Contrôle multi-détention PER - établissements bancaires uniquement
+ authorization_request: APIFicobaSandbox
+ steps: *api_ficoba_sandbox_steps
+ initialize_with:
+ intitule: Contrôle multi-détention produit d’épargne réglementé
+ description: |
+ FICOBA permet aux établissements bancaires qui commercialisent des produits d’épargne réglementé (PER) de respecter leur obligation légale de vérifier qu'un épargnant qui demande l'ouverture d'un produit d'épargne réglementé n'en détient pas un autre similaire dans un autre établissement.
+ (A compléter par le demandeur)
+ scopes:
+ - dgfip_ficoba_etablissement_bancaire
+ - dgfip_ficoba_nombre_comptes
+ - dgfip_ficoba_iban
+ - dgfip_ficoba_date_ouverture
+ - dgfip_ficoba_motif_ouverture
+ modalities:
+ - with_ficoba_siren
+ - with_ficoba_personne_morale
+ - with_ficoba_personne_physique
+ cadre_juridique_nature: Article R. 221-122 du code monétaire et financier (version au 01/01/2026)
+ cadre_juridique_url: https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000026462277/
+
+api-ficoba-multi-detention-production:
+ name: Contrôle multi-détention PER - établissements bancaires uniquement
+ public: false
+ startable_by_applicant: false
+ stage:
+ previous_form_uid: api-ficoba-multi-detention-sandbox
+ use_case: multi_detention
+ introduction: *api_ficoba_production_form_introduction
+ authorization_request: APIFicoba
+ static_blocks: *api_ficoba_sandbox_steps
+ steps: *api_ficoba_production_steps
+
+api-ficoba-multi-detention-editeur:
+ name: Contrôle multi-détention PER - établissements bancaires uniquement (avec Éditeur)
+ public: true
+ use_case: multi_detention
+ description: Contrôle multi-détention PER - établissements bancaires uniquement (avec Éditeur)
+ introduction: *api_ficoba_editor_form_introduction
+ authorization_request: APIFicoba
+ steps: *api_ficoba_editor_steps
+ initialize_with:
+ intitule: Contrôle multi-détention produit d’épargne réglementé
+ description: |
+ FICOBA permet aux établissements bancaires qui commercialisent des produits d’épargne réglementé (PER) de respecter leur obligation légale de vérifier qu'un épargnant qui demande l'ouverture d'un produit d'épargne réglementé n'en détient pas un autre similaire dans un autre établissement.
+ (A compléter par le demandeur)
+ scopes:
+ - dgfip_ficoba_etablissement_bancaire
+ - dgfip_ficoba_nombre_comptes
+ - dgfip_ficoba_iban
+ - gfip_ficoba_date_ouverture
+ - dgfip_ficoba_motif_ouverture
+ modalities:
+ - with_ficoba_siren
+ - with_ficoba_personne_morale
+ - with_ficoba_personne_physique
+ cadre_juridique_nature: Article R. 221-122 du code monétaire et financier (version au 01/01/2026)
+ cadre_juridique_url: https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000026462277/
\ No newline at end of file
diff --git a/config/locales/authorization_request_forms.fr.yml b/config/locales/authorization_request_forms.fr.yml
index 8ea29e433..cb1090d79 100644
--- a/config/locales/authorization_request_forms.fr.yml
+++ b/config/locales/authorization_request_forms.fr.yml
@@ -859,9 +859,15 @@ fr:
with_ficoba_siren:
label: Via SIREN/SIRET
with_ficoba_personne_physique:
- label: Via personne physique
+ label: Via l'état civil - personne physique
with_ficoba_personne_morale:
- label: Via personne morale
+ label: Via la raison sociale - personne morale
+ with_ficoba_iban_siren:
+ label: Via IBAN+SIREN/SIRET
+ with_ficoba_iban_personne_physique:
+ label: Via IBAN + état civil - personne physique
+ with_ficoba_iban_personne_morale:
+ label: Via IBAN + raison sociale - personne morale
scopes:
info:
title: Comment choisir les données ?
@@ -906,10 +912,28 @@ fr:
Le non-respect du principe de proportionnalité vous expose vis à vis de la
CNIL.
+ Afin de vous accompagner dans le choix de vos données, vous pouvez consulter notre documentation qui vous permettra de comprendre le fonctionnement de notre API ainsi que les données que nous proposons.
+
+ Voir la documentation de l’API FICOBA
api_ficoba_production: &api_ficoba_production
<<: *api_ficoba_sandbox
+ api_ficoba_recouvrement_sandbox: *api_ficoba_sandbox
+ api_ficoba_verification_iban_sandbox: *api_ficoba_sandbox
+ api_ficoba_verification_existence_sandbox: *api_ficoba_sandbox
+ api_ficoba_fraude_sandbox: *api_ficoba_sandbox
+ api_ficoba_multi_detention_sandbox: *api_ficoba_sandbox
+ api_ficoba_recouvrement_production: *api_ficoba_production
+ api_ficoba_recouvrement_editeur: *api_ficoba_production
+ api_ficoba_verification_iban_production: *api_ficoba_production
+ api_ficoba_verification_iban_editeur: *api_ficoba_production
+ api_ficoba_verification_existence_production: *api_ficoba_production
+ api_ficoba_verification_existence_editeur: *api_ficoba_production
+ api_ficoba_fraude_production: *api_ficoba_production
+ api_ficoba_fraude_editeur: *api_ficoba_production
+ api_ficoba_multi_detention_production: *api_ficoba_production
+ api_ficoba_multi_detention_editeur: *api_ficoba_production
api_ficoba_production_editeur: *api_ficoba_production
api_r2p_sandbox: &api_r2p_sandbox
diff --git a/features/habilitations/dgfip/api_ficoba.feature b/features/habilitations/dgfip/api_ficoba.feature
new file mode 100644
index 000000000..75ef5d2b8
--- /dev/null
+++ b/features/habilitations/dgfip/api_ficoba.feature
@@ -0,0 +1,96 @@
+# language: fr
+
+Fonctionnalité: Soumission d'une demande d'habilitation API FICOBA
+ Contexte:
+ Sachant que je suis un demandeur
+ Et que je me connecte
+
+ Scénario: Je soumets une demande d'habilitation valide à l'étape Bac à sable
+ Quand je veux remplir une demande pour "API Fichier des Comptes Bancaires et Assimilés (FICOBA)" via le formulaire "Demande libre (Bac à sable)" à l'étape "Bac à sable"
+
+ * je clique sur "Débuter ma demande"
+ * je renseigne les infos de bases du projet
+ * je clique sur "Suivant"
+
+ * je renseigne les infos concernant les données personnelles
+ * je clique sur "Suivant"
+
+ * je renseigne le cadre légal
+ * je clique sur "Suivant"
+
+ * je coche "Via le Numéro fiscal (SPI)"
+ * je clique sur "Suivant"
+
+ * je coche "État civil/Raison sociale du titulaire du compte"
+ * je clique sur "Suivant"
+
+ * je renseigne les informations des contacts RGPD
+ * je renseigne les informations du contact technique
+ * je clique sur "Suivant"
+
+ * j'adhère aux conditions générales
+
+ * je coche "J’atteste que mon organisation devra déclarer à la DGFiP l’accomplissement des formalités en matière de protection des données à caractère personnel et qu’elle veillera à procéder à l’homologation de sécurité de son projet."
+
+ * je clique sur "Soumettre la demande d'habilitation"
+
+ Alors il y a un message de succès contenant "soumise avec succès"
+ Et je suis sur la page "Demandes et habilitations"
+
+ Scénario: Je soumets une demande d'habilitation valide à l'étape Production
+ Quand j'ai 1 demande d'habilitation "API Fichier des Comptes Bancaires et Assimilés (FICOBA)" à l'étape "Bac à sable" validée
+ Et que je me rends sur mon tableau de bord demandeur habilitations
+ Et je clique sur "Démarrer ma demande d’habilitation en production"
+ Et que je clique sur "Débuter ma demande"
+
+ * je renseigne la recette fonctionnelle
+ * je clique sur "Suivant"
+
+ * je renseigne l'homologation de sécurité
+ * je clique sur "Suivant"
+
+ * je renseigne la volumétrie
+ * je clique sur "Suivant"
+
+ * j'adhère aux conditions générales
+ * je coche "J’atteste que mon organisation devra déclarer à la DGFiP l’accomplissement des formalités en matière de protection des données à caractère personnel et qu’elle veillera à procéder à l’homologation de sécurité de son projet."
+ * je clique sur "Soumettre la demande d'habilitation"
+
+ Alors il y a un message de succès contenant "soumise avec succès"
+ Et je suis sur la page "Demandes et habilitations"
+
+ Scénario: Je soumets une demande d'habilitation valide via le formulaire "Demande libre avec éditeur"
+ Quand je veux remplir une demande pour "API Fichier des Comptes Bancaires et Assimilés (FICOBA)" via le formulaire "Demande libre avec éditeur"
+ Et que je clique sur "Débuter ma demande"
+
+ * je renseigne les infos de bases du projet
+ * je clique sur "Suivant"
+
+ * je renseigne les infos concernant les données personnelles
+ * je clique sur "Suivant"
+
+ * je renseigne le cadre légal
+ * je clique sur "Suivant"
+
+ * je coche "Via le Numéro fiscal (SPI)"
+ * je clique sur "Suivant"
+
+ * je coche "État civil/Raison sociale du titulaire du compte"
+ * je clique sur "Suivant"
+
+ * je renseigne les informations des contacts RGPD
+ * je renseigne les informations du contact technique
+ * je clique sur "Suivant"
+
+ * je renseigne l'homologation de sécurité
+ * je clique sur "Suivant"
+
+ * je renseigne la volumétrie
+ * je clique sur "Suivant"
+
+ * j'adhère aux conditions générales
+ * je coche "J’atteste que mon organisation devra déclarer à la DGFiP l’accomplissement des formalités en matière de protection des données à caractère personnel et qu’elle veillera à procéder à l’homologation de sécurité de son projet."
+ * je clique sur "Soumettre la demande d'habilitation"
+
+ Alors il y a un message de succès contenant "soumise avec succès"
+ Et je suis sur la page "Demandes et habilitations"
diff --git a/public/cgus/dgfip/cgu_api_ficoba_bac_a_sable_decembre2020_v1.1.pdf b/public/cgus/dgfip/cgu_api_ficoba_bac_a_sable_decembre2020_v1.1.pdf
deleted file mode 100644
index 491c7b776..000000000
Binary files a/public/cgus/dgfip/cgu_api_ficoba_bac_a_sable_decembre2020_v1.1.pdf and /dev/null differ
diff --git a/public/cgus/dgfip/cgu_api_ficoba_bas_2025.pdf b/public/cgus/dgfip/cgu_api_ficoba_bas_2025.pdf
new file mode 100644
index 000000000..80a1ccb18
Binary files /dev/null and b/public/cgus/dgfip/cgu_api_ficoba_bas_2025.pdf differ
diff --git a/public/cgus/dgfip/cgu_api_ficoba_prod_2025.pdf b/public/cgus/dgfip/cgu_api_ficoba_prod_2025.pdf
new file mode 100644
index 000000000..b6d4a4815
Binary files /dev/null and b/public/cgus/dgfip/cgu_api_ficoba_prod_2025.pdf differ
diff --git a/public/cgus/dgfip/cgu_api_ficoba_production.pdf b/public/cgus/dgfip/cgu_api_ficoba_production.pdf
deleted file mode 100644
index 083c0a16f..000000000
Binary files a/public/cgus/dgfip/cgu_api_ficoba_production.pdf and /dev/null differ
diff --git a/public/doc/ProtocoleTechniqueFicoba3_v11.pdf b/public/doc/ProtocoleTechniqueFicoba3_v11.pdf
new file mode 100644
index 000000000..723c35a1a
Binary files /dev/null and b/public/doc/ProtocoleTechniqueFicoba3_v11.pdf differ
diff --git a/spec/factories/authorization_requests.rb b/spec/factories/authorization_requests.rb
index 8b5d9b29e..c6415172f 100644
--- a/spec/factories/authorization_requests.rb
+++ b/spec/factories/authorization_requests.rb
@@ -1234,6 +1234,96 @@
with_volumetrie
end
+ trait :api_ficoba_recouvrement_sandbox do
+ api_ficoba_sandbox
+
+ form_uid { 'api-ficoba-recouvrement-sandbox' }
+ end
+
+ trait :api_ficoba_recouvrement_production do
+ api_ficoba_production
+
+ form_uid { 'api-ficoba-recouvrement-production' }
+ end
+
+ trait :api_ficoba_verification_iban_sandbox do
+ api_ficoba_sandbox
+
+ form_uid { 'api-ficoba-verification-iban-sandbox' }
+ end
+
+ trait :api_ficoba_verification_iban_production do
+ api_ficoba_production
+
+ form_uid { 'api-ficoba-verification-iban-production' }
+ end
+
+ trait :api_ficoba_verification_existence_sandbox do
+ api_ficoba_sandbox
+
+ form_uid { 'api-ficoba-verification-existence-sandbox' }
+ end
+
+ trait :api_ficoba_verification_existence_production do
+ api_ficoba_production
+
+ form_uid { 'api-ficoba-verification-existence-production' }
+ end
+
+ trait :api_ficoba_fraude_sandbox do
+ api_ficoba_sandbox
+
+ form_uid { 'api-ficoba-fraude-sandbox' }
+ end
+
+ trait :api_ficoba_fraude_production do
+ api_ficoba_production
+
+ form_uid { 'api-ficoba-fraude-production' }
+ end
+
+ trait :api_ficoba_multi_detention_sandbox do
+ api_ficoba_sandbox
+
+ form_uid { 'api-ficoba-multi-detention-sandbox' }
+ end
+
+ trait :api_ficoba_multi_detention_production do
+ api_ficoba_production
+
+ form_uid { 'api-ficoba-multi-detention-production' }
+ end
+
+ trait :api_ficoba_recouvrement_editeur do
+ api_ficoba_production
+
+ form_uid { 'api-ficoba-recouvrement-editeur' }
+ end
+
+ trait :api_ficoba_verification_iban_editeur do
+ api_ficoba_production
+
+ form_uid { 'api-ficoba-verification-iban-editeur' }
+ end
+
+ trait :api_ficoba_verification_existence_editeur do
+ api_ficoba_production
+
+ form_uid { 'api-ficoba-verification-existence-editeur' }
+ end
+
+ trait :api_ficoba_fraude_editeur do
+ api_ficoba_production
+
+ form_uid { 'api-ficoba-fraude-editeur' }
+ end
+
+ trait :api_ficoba_multi_detention_editeur do
+ api_ficoba_production
+
+ form_uid { 'api-ficoba-multi-detention-editeur' }
+ end
+
trait :api_ficoba_production_editeur do
api_ficoba_production