Documentation11 min de lecture

Identité française : SIRET, régions, départements et numéro de sécurité sociale

Le module OCA `l10n_fr_department` (dépôt `l10n-france`, version 18.0.2.1.0, licence AGPL-3) ajoute à Odoo 18 Community la notion administrative qui manque à son découpage du monde : il crée le modèle **Département** et charge les **96 départements de France métropolitaine**, puis déduit automatiquement celui d'un contact à partir de son code postal. Les six autres modules d'identité française, dont celui qui remplit une fiche client depuis la base SIRENE.

Salle de réunion vide dans un immeuble de bureaux

Odoo connaît les pays et les « États ». Il ne connaît ni les régions françaises, ni les départements, ni le SIRET — trois notions sans lesquelles une base de contacts française est approximative et une déclaration impossible.

Sept modules comblent ce manque. Deux chargent des données, deux posent des contrôles, un remplit les fiches tout seul, deux sont des rouages invisibles.

Résumé

l10n_fr_state crée les 13 régions métropolitaines au code INSEE en vigueur depuis 2016 ; l10n_fr_department ajoute le modèle Département et ses 96 valeurs, avec un champ calculé automatiquement sur chaque contact depuis le code postal (et depuis la ville pour les communes à cheval) ; l10n_fr_department_oversea y ajoute les 5 régions et 5 départements d'outre-mer.

l10n_fr_siret_lookup est le module qui fait gagner le plus de temps au quotidien : il interroge la base SIRENE et remplit raison sociale, adresse, SIREN, NIC et numéro de TVA — soit depuis un assistant sur une fiche existante, soit automatiquement à la saisie d'un SIREN, d'un SIRET ou d'un numéro de TVA dans une fiche neuve. l10n_fr_hr_check_ssnid bloque la saisie d'un numéro de sécurité sociale invalide (format, longueur, clé). Restent deux rouages : l10n_fr_siret_account (traçabilité du SIREN et du NIC dans le fil de discussion) et l10n_fr_cog (le code officiel géographique de l'INSEE, exigé par la DAS2).

L'essentiel

  • 13 régions, 96 départements métropolitains, 5 régions et 5 départements d'outre-mer, chargés en données.
  • Le département d'un contact est calculé, pas saisi : il suit le code postal et se met à jour tout seul.
  • La base SIRENE interrogée depuis Odoo : nom, adresse, SIREN, NIC, TVA — en création comme sur une fiche existante.
  • Le numéro de TVA calculé depuis le SIREN, puis vérifiable auprès du service européen VIES.
  • Le numéro de sécurité sociale contrôlé (clé comprise) pour les sociétés françaises et les territoires d'outre-mer.
  • Le SIREN et le NIC suivis dans le fil de discussion : qui a changé l'identifiant d'un client, et quand.
  • country_fr : un module d'une seule ligne utile — poser le pays France avant l'installation de la comptabilité, pour obtenir le plan comptable français.

Ce que ces modules ajoutent à l'instance

ModuleApportVersion
l10n_fr_state13 régions métropolitaines (codes INSEE 2016)18.0.1.0.0
l10n_fr_departmentModèle Département + 96 valeurs + champ calculé sur les contacts18.0.2.1.0
l10n_fr_department_oversea5 régions et 5 départements d'outre-mer18.0.1.0.0
l10n_fr_siret_lookupRecherche et remplissage depuis la base SIRENE18.0.1.1.0
l10n_fr_siret_accountSuivi du SIREN/NIC dans le fil de discussion, affichage corrigé18.0.1.1.0
l10n_fr_hr_check_ssnidContrôle du numéro de sécurité sociale18.0.1.0.0
l10n_fr_cogCode officiel géographique INSEE sur les pays18.0.1.0.0
country_frPose le pays France sur la société principale18.0.1.0.0

Un seul de ces modules ajoute un menu : Contacts ▸ Configuration ▸ Localisation ▸ Départements. Tous les autres enrichissent des écrans existants, ou ne se voient pas du tout.

Régions et départements : ce que le standard ne sait pas

Le découpage d'Odoo s'arrête au pays et à l'« État ». Pour la France, cela veut dire : pas de régions tant qu'on ne les crée pas, et aucune notion de département.

  • l10n_fr_state crée les 13 régions métropolitaines avec leur code INSEE officiel depuis la réforme territoriale de 2016. Elles apparaissent ensuite dans le champ « État » standard, partout où le pays est la France.
  • l10n_fr_department crée le modèle Département, sous-division de la région, et charge les 96 départements métropolitains avec leur code — « 01 » pour l'Ain, « 2A » et « 2B » pour la Corse.
  • Sur chaque contact français, un champ Département est calculé à partir du code postal, et pour quelques communes à cheval sur deux départements, à partir du nom de la ville. Il est en lecture seule : rien à saisir, et il se met à jour dès que l'adresse change.
  • l10n_fr_department_oversea ajoute les 5 régions et départements d'outre-mer — Guadeloupe (971), Martinique (972), Guyane (973), La Réunion (974), Mayotte (976).

Un champ calculé plutôt qu'un champ à saisir : c'est la différence entre une donnée juste sur 100 % des fiches et une donnée renseignée sur 40 % d'entre elles. Toute analyse par territoire — tournées commerciales, secteurs, statistiques — en dépend.

Le département n'est pas un ornement : il est exigé par la déclaration EMEBI, qui demande le département d'origine ou de destination de chaque mouvement de marchandises. C'est d'ailleurs la dépendance que déclare le module français d'EMEBI.

Un hook de pré-installation gère par ailleurs le cas des régions françaises déjà créées autrement — par un import géographique, par exemple —, qui ferait sinon échouer l'installation.

Remplir une fiche client depuis la base SIRENE

l10n_fr_siret_lookup interroge l'annuaire officiel des entreprises et remplit la fiche. Deux usages, selon le moment.

SituationDéclenchementChamps remplis
Fiche existanteMenu Action ▸ recherche SIRENE, puis choix dans une listeNom, rue, code postal, ville, pays, SIREN, NIC, TVA
CréationSaisie d'un SIREN, SIRET ou numéro de TVA valide — y compris collé dans le champ NomLes mêmes, plus la langue

Le numéro de TVA est calculé depuis le SIREN — la clé française est déterministe — puis peut être vérifié auprès du service européen VIES selon la configuration retenue au niveau de la société.

Deux remarques d'usage. La première : coller un SIRET dans le champ « Nom de la société » et voir la fiche se remplir est le genre de détail qui fait adopter un ERP par une équipe commerciale. La seconde : la source étant un service en ligne, la disponibilité et la fraîcheur des données ne dépendent pas d'Odoo — à vérifier si votre activité repose sur des créations d'entreprises très récentes.

La fiche contact et ses autres modules d'identité sont traités dans identité, adresses et contacts.

Les contrôles et les rouages invisibles

Le numéro de sécurité sociale

l10n_fr_hr_check_ssnid n'ajoute ni champ ni écran : il renforce la validation du numéro déjà présent sur la fiche employé. Dès qu'il est renseigné, pour une société située en France ou dans un territoire français — outre-mer, Polynésie, Saint-Pierre-et-Miquelon, Nouvelle-Calédonie, Saint-Barthélemy, Saint-Martin —, le format, la longueur et la clé de contrôle sont vérifiés, et l'enregistrement est bloqué en cas d'erreur.

C'est le contrôle qui évite la découverte au moment de la paie, c'est-à-dire au pire moment.

La traçabilité du SIREN

l10n_fr_siret_account est un module de colle qui s'installe automatiquement : il active le suivi des modifications sur les champs SIREN et NIC d'une fiche contact — toute modification devient visible dans l'historique — et corrige la visibilité du SIRET sur la vue partenaire de la comptabilité française, que cette dernière redéfinissait de son côté.

Tracer qui a changé le SIREN d'un fournisseur paraît excessif jusqu'au jour où un virement part sur le mauvais compte. C'est exactement le type de champ dont la modification doit laisser une trace.

Le code officiel géographique

l10n_fr_cog ajoute un code INSEE sur la fiche des pays et le remplit à l'installation pour tous les pays déjà présents. Il sert de référence à d'autres modules — en premier lieu la DAS2, qui exige ce code. Tous les pays en ont un, sauf la France elle-même et les territoires d'outre-mer.

Le module d'une seule ligne

country_fr pose le pays France sur la société principale avant l'installation du module de comptabilité, pour qu'Odoo applique le plan comptable général français. Il n'a aucun effet si la comptabilité est déjà installée.

C'est un module de provisionnement automatisé — il sert à créer des bases françaises correctes en série, ce qui est précisément notre métier côté hébergement. Sur une base existante, il est sans objet.

Limites connues

  • country_fr n'a aucun effet si account est déjà installé : l'ordre compte, et il ne rattrape pas une base déjà créée.
  • Le département se calcule depuis le code postal : une adresse incomplète donne un département vide, sans erreur visible.
  • L'outre-mer demande un module séparé : sans lui, un contact ultramarin n'a pas de département.
  • La recherche SIRENE dépend d'un service en ligne : disponibilité et fraîcheur ne sont pas garanties par Odoo.
  • Le code officiel géographique n'existe pas pour la France ni pour les territoires d'outre-mer — c'est voulu, et surprenant à la lecture des données.
  • Le contrôle du numéro de sécurité sociale ne s'applique qu'aux sociétés françaises et aux territoires listés par le module.

Identité technique

ModuleDépôt OCAVersionLicenceDépend de
l10n_fr_statel10n-france18.0.1.0.0AGPL-3base
l10n_fr_departmentl10n-france18.0.2.1.0AGPL-3contacts, l10n_fr_state
l10n_fr_department_overseal10n-france18.0.1.0.0AGPL-3l10n_fr_department
l10n_fr_siret_lookupl10n-france18.0.1.1.0AGPL-3base_vat, l10n_fr_siret
l10n_fr_siret_accountl10n-france18.0.1.1.0AGPL-3l10n_fr_account, l10n_fr_siret
l10n_fr_hr_check_ssnidl10n-france18.0.1.0.0AGPL-3hr
l10n_fr_cogl10n-france18.0.1.0.0AGPL-3base
country_frl10n-france18.0.1.0.0AGPL-3base

Questions fréquentes

Odoo gère-t-il les départements français nativement ?

Non : son découpage s'arrête au pays et à l'« État ». l10n_fr_state crée les 13 régions métropolitaines, l10n_fr_department ajoute le modèle Département et ses 96 valeurs, et l10n_fr_department_oversea complète avec l'outre-mer. Le département d'un contact est ensuite calculé depuis son code postal, pas saisi.

Peut-on remplir une fiche client depuis le SIRET ?

Oui, avec l10n_fr_siret_lookup : sur une fiche existante via le menu Action, ou automatiquement à la création dès qu'un SIREN, un SIRET ou un numéro de TVA valide est saisi — y compris collé dans le champ Nom. Les champs remplis sont le nom, l'adresse complète, le SIREN, le NIC et le numéro de TVA, calculé depuis le SIREN puis vérifiable auprès de VIES.

À quoi sert country_fr ?

À poser le pays France sur la société principale avant l'installation du module de comptabilité, pour qu'Odoo applique automatiquement le plan comptable général français. C'est un module de provisionnement automatisé : installé après account, il n'a aucun effet. Sur une base existante, il est sans objet.

Le numéro de sécurité sociale est-il vérifié ?

Avec l10n_fr_hr_check_ssnid, oui : format, longueur et clé de contrôle sont vérifiés dès que le champ est renseigné, pour les sociétés situées en France ou dans un territoire français. L'enregistrement de la fiche employé est bloqué en cas d'erreur — ce qui évite de le découvrir au moment de la paie.

Pourquoi tracer les modifications du SIREN et du NIC ?

Parce que ce sont les identifiants qui décident du routage d'une facture électronique et, indirectement, de la confiance accordée à une fiche fournisseur. l10n_fr_siret_account active leur suivi dans le fil de discussion : chaque modification laisse une trace datée et attribuée.

Se faire accompagner

L'identité des tiers est la donnée la plus rentable d'un ERP français : elle conditionne le routage des factures électroniques, les déclarations, et toute analyse par territoire. Elle est aussi celle qu'on néglige, parce qu'elle ne fait rien d'elle-même — jusqu'au jour où une facture ne part pas faute de SIRET.

Nous traitons donc la reprise d'identité avant la reprise comptable : SIREN et NIC complétés depuis SIRENE, départements vérifiés sur les adresses, traçabilité activée sur les champs qui décident d'un virement. Voir les prestations d'Atalios Consulting ou demander un rappel.

Pour aller plus loin

En résumé

Les notions administratives françaises qu'Odoo n'a pas : régions, départements calculés depuis le code postal, SIRET rempli depuis SIRENE, numéro de sécurité sociale contrôlé, code géographique INSEE. Sept modules dont un seul ajoute un menu — et un huitième qui ne sert qu'au moment de créer la base. Parlons de votre reprise de données.

Documentation OCAFranceContacts

Partager

Fiches connexes

Écran de configuration des accès et des permissions
Treize modules OCA complètent le dépôt `sale-workflow` pour Odoo 18 Community : `sale_tier_validation` (version 18.0.1.1.0) soumet la confirmation d'une commande à une **approbation à plusieurs niveaux**, et `sale_validity_auto_cancel` **annule automatiquement les devis périmés** depuis un nombre de jours configurable. Les onze autres, de la visibilité limitée à son équipe commerciale à la liste de souhaits d'un client.
Lire la suite
Documentation OCA, Ventes
Utilisation d'un logiciel de gestion sur tablette et ordinateur
Vingt-quatre modules OCA du dépôt `sale-workflow` traitent le client et l'organisation commerciale dans Odoo 18 Community : `portal_sale_personal_data_only` corrige un défaut de confidentialité : par défaut, un utilisateur du portail voit **toutes les commandes dont un membre de son organisation est suiveur**. Les vingt-trois autres, de l'adresse de livraison restreinte au calendrier des visites commerciales.
Lire la suite
Documentation OCA, Ventes