Vérifier les procédures collectives et le numéro de TVA par API (entreprises françaises et espagnoles)

Deux appels d’API à 1 unité : l’état des procédures collectives (BODACC, BORME) et le numéro de TVA avec le lien VIES. Ce que veut dire chaque réponse.

· Par l’équipe Fuentio · 7 min de lecture

Image de partage : « Vérifier les procédures collectives et le numéro de TVA par API » sur le fond papier de Fuentio, avec l’étiquette Tutoriel.

Deux questions reviennent dans chaque revue de client ou de fournisseur : cette entreprise fait-elle l’objet d’une procédure collective, et son numéro de TVA est-il juste ? L’API Fuentio répond aux deux avec un appel chacun, pour 1 unité, avec la source et la date de vérification. Ce tutoriel montre les appels, le sens de chaque champ, comment lire les états honnêtement (y compris « non couvert »), et une petite fonction qui fait les deux contrôles.

Ce que vous allez apprendre

  • Appeler le point d’accès des procédures collectives, et le sens de ses états en France et en Espagne
  • Appeler le point d’accès TVA, et pourquoi il ne dit jamais « immatriculé »
  • Une vraie réponse pour chacun, enregistrée depuis l’API
  • Combiner les deux dans votre entrée en relation ou votre revue de crédit
  • Ce que ces contrôles ne disent pas

Procédures collectives : GET /v1/companies/{country}/{identifier}/insolvency

curl https://api.fuentio.com/v1/companies/FR/552100554/insolvency -H "X-API-Key: YOUR_API_KEY"

Coût : 1 unité. La réponse contient un state et, s’il y en a une, la procedure, les dates opened_on et closed_on, et la liste des notices, chacune avec sa référence officielle. covered_since indique le premier jour de données chargé.

France : les annonces du BODACC, reliées par SIREN

En France, la réponse vient des annonces de procédures collectives publiées au BODACC (bulletin A, publié par la DILA), reliées à l’entreprise par son SIREN. Le state est l’un de ceux-ci :

ÉtatSens
in_procedureUne procédure est ouverte.
under_planL’entreprise est sous plan de sauvegarde ou de redressement.
closedLa procédure est close.
notice_foundUne annonce existe, mais la procédure a été ouverte avant les années chargées.
none_foundAucune annonce, et le BODACC est chargé sur toute la vie de l’entreprise.
not_coveredLes années chargées ne couvrent pas l’entreprise : aucune conclusion possible.

La procedure vaut safeguard (sauvegarde), reorganisation (redressement judiciaire) ou liquidation. Les annonces qui concernent des personnes et les sanctions personnelles sont écartées.

Une vraie réponse, enregistrée le 12 octobre 2026 pour PEUGEOT SA :

{
  "data": {
    "company": { "country": "FR", "id": "FR-SIREN-552100554", "name": "PEUGEOT SA" },
    "state": "not_covered",
    "procedure": null,
    "opened_on": null,
    "closed_on": null,
    "notices": [],
    "covered_since": "2008-02-13",
    "attribution": "Source: DILA, BODACC",
    "note": "From BODACC A insolvency notices (DILA), linked by SIREN. Notices about people and personal sanctions are left out. No notice outside the loaded years is not proof of no procedure."
  },
  "meta": { "cost": { "units": 1 } }
}

Ici, not_covered n’est ni une bonne ni une mauvaise nouvelle : les années du BODACC chargées (depuis le 13 février 2008) ne couvrent pas toute la vie de cette entreprise, donc l’API ne prétend pas qu’il n’y a jamais eu de procédure. Traitez not_covered comme « inconnu », et none_found comme le seul « rien de publié ».

Espagne : les actes « Situación concursal » du BORME

En Espagne, la réponse vient des actes du BORME inscrits comme « Situación concursal ». Le state vaut notice_found, none_found ou not_covered. Il n’y a pas de closed : le BORME ne dit pas quand une procédure se termine. Pour un concurso espagnol, la référence reste le registre public des procédures d’insolvabilité : voir savoir si une entreprise est en liquidation judiciaire pour la France, et le registre espagnol cité en fin d’article.

TVA : GET /v1/companies/{country}/{identifier}/vat

curl https://api.fuentio.com/v1/companies/FR/441639465/vat -H "X-API-Key: YOUR_API_KEY"

Coût : 1 unité. Pour la France, la réponse donne le numéro de TVA intracommunautaire de l’entreprise : celui que publie le registre, ou, à défaut, celui calculé à partir du SIREN avec la clé standard (quelques entreprises ont une clé en lettres, qui ne se calcule pas). Elle indique aussi comment le numéro a été obtenu.

Deux champs méritent l’attention :

  • registration_checked vaut toujours false. Un numéro de TVA peut être bien formé sans être actif pour les échanges intracommunautaires. Fuentio n’interroge pas VIES à votre place ; la réponse vous donne la page officielle de VIES dans check_url pour vérifier l’immatriculation.
  • Pour l’Espagne, pas de numéro de TVA : le BORME ne les publie pas.

Les mêmes informations de TVA accompagnent aussi une consultation française, dans meta.vat. Enregistrées pour RENAULT le 12 octobre 2026 :

"vat": {
  "number": "FR63441639465",
  "origin": "published by the source",
  "registration_checked": false,
  "note": "VAT registration not checked. Check the registration on the official VIES page.",
  "check_url": "https://ec.europa.eu/taxation_customs/vies/"
}

Pour seulement vérifier le format d’un numéro de TVA français que vous avez déjà, pas besoin d’appel : la clé se calcule à partir du SIREN.

def french_vat(siren: str) -> str:
    key = (12 + 3 * (int(siren) % 97)) % 97
    return f"FR{key:02d}{siren}"

assert french_vat("441639465") == "FR63441639465"

Pour toutes les règles de validation (y compris les chiffres de contrôle du SIREN et du SIRET), voir SIREN, SIRET et numéro de TVA : formats et validation.

Les deux contrôles dans une fonction

Une esquisse d’étape « risque » pour l’entrée en relation ou avant d’accorder des délais de paiement, avec la fonction de relance de démarrer avec l’API :

def risk_checks(country, identifier, key):
    insolvency = fuentio_get(f"/v1/companies/{country}/{identifier}/insolvency", key)
    vat = fuentio_get(f"/v1/companies/{country}/{identifier}/vat", key)
    state = (insolvency.get("data") or {}).get("state")
    return {
        "insolvency_state": state,
        "needs_review": state in ("in_procedure", "under_plan", "notice_found", "not_covered"),
        "vat": vat.get("data"),
    }

needs_review signale chaque état où une personne doit regarder, y compris not_covered, parce que « on ne sait pas » n’est pas « rien à signaler ». Enregistrez la meta.source et la date de chaque réponse avec votre décision.

Deux unités par entreprise, c’est assez peu pour le faire à chaque nouveau client et avant chaque décision de crédit importante. Pour beaucoup d’entreprises d’un coup, la vérification de liste gratuite fait le contrôle des procédures collectives pour 20 entreprises françaises au plus, avec un fichier CSV ; dans un agent IA, les mêmes contrôles sont les outils check_insolvency et check_vat en MCP.

Une clé API gratuite donne 100 unités par mois. Voyez ce que nous couvrons.

Lire une annonce de procédure collective

Quand la réponse française contient des annonces, chacune porte sa référence officielle et son dossier, et la réponse donne la procedure et les dates opened_on et closed_on. Trois habitudes font la différence :

  • Lisez d’abord l’annonce la plus récente. Une entreprise peut avoir un ancien redressement clos et une nouvelle procédure. Le state reflète la situation actuelle ; les annonces racontent l’histoire.
  • Suivez la référence. Chaque annonce renvoie à sa publication au BODACC. Pour toute décision importante (une déclaration de créance, une résiliation de contrat), une personne doit lire l’annonce officielle elle-même.
  • Notez qui contacter. L’annonce d’ouverture désigne le mandataire judiciaire ou le liquidateur : c’est à lui qu’un créancier déclare sa créance, dans le délai (voir savoir si une entreprise est en liquidation judiciaire).

Les erreurs fréquentes

  • Prendre not_covered pour un feu vert. Cela veut dire « impossible à dire avec les années chargées ». Faites-le relire quand l’enjeu le justifie.
  • Croire qu’un numéro de TVA bien formé est actif. Le format et l’immatriculation sont deux questions différentes : VIES répond à la seconde.
  • Attendre un numéro de TVA pour l’Espagne. Le BORME ne les publie pas ; demandez au fournisseur son NIF-IVA et vérifiez-le sur VIES.
  • Ne vérifier qu’une fois, à l’entrée en relation. Une procédure collective est un événement daté. Refaites le contrôle avant les grosses commandes, les acomptes et les décisions de crédit.
  • Perdre la source. Conservez la meta.source et la date de chaque résultat ; sans elles, personne ne saura plus tard sur quoi reposait le contrôle.

Questions fréquentes

L’API dit-elle si une entreprise française est en liquidation ?

Oui, quand le BODACC l’a publié : la réponse donne l’état (par exemple in_procedure), la procédure (liquidation) et les annonces avec leurs références.

Que veut dire not_covered ?

Que les années chargées ne couvrent pas toute la vie de l’entreprise : l’API ne peut pas dire qu’il n’y a jamais eu de procédure. Traitez-le comme inconnu, pas comme rassurant.

Fuentio vérifie-t-il l’immatriculation à la TVA dans VIES ?

Non. registration_checked vaut toujours false, et la réponse donne le lien vers VIES pour la vérifier vous-même.

Peut-on obtenir le numéro de TVA d’une société espagnole ?

Non. Le BORME ne publie pas les numéros de TVA.

Sources

← Tous les articles · Flux RSS