Se rendre au contenu

Comment résoudre l'erreur « L'enregistrement n'existe pas ou a été supprimé » dans Odoo

Apprenez à résoudre l'erreur "enregistrement Odoo n'existe pas" dans Odoo avec des explications claires, les causes courantes et des solutions étape par étape pour les utilisateurs et développeurs Odoo.
17 février 2026 par
Elisa Van Outrive
| Aucun commentaire pour l'instant

Introduction


L'erreur « L'enregistrement n'existe pas ou a été supprimé » est l'un des messages les plus déroutants rencontrés par les utilisateurs d'Odoo. Elle apparaît souvent soudainement lors de l'ouverture d'un formulaire, de la validation d'un enregistrement ou de l'exécution d'un processus automatisé.


Malgré le ton dramatique, cette erreur indique généralement une référence brisée plutôt qu'une réelle corruption des données.


Décomposons ce que cela signifie vraiment et comment le résoudre en toute sécurité.

Que signifie cette erreur


Odoo a tenté d'accéder à un enregistrement de base de données en utilisant un ID qui :


  • n'existe plus
  • A été supprimé
  • Est inaccessible en raison des autorisations
  • Appartient à une autre entreprise

Exemple :


record = self.env['res.partner'].browse(45)

Si l'ID d'enregistrement 45 n'existe pas, Odoo génère une erreur.



Causes courantes



1. Enregistrements supprimés toujours référencés

Les champs Many2one peuvent référencer des entrées supprimées.


Cela se produit couramment après :


  • Suppressions manuelles
  • Nettoyage des données de test
  • Importations échouées

2. Mapping d'ID externe incorrect


Lors des intégrations API, des systèmes externes peuvent envoyer des ID invalides.

Si Odoo reçoit :


{ "partner_id": 99999 }

Et que cet ID n'existe pas, l'erreur se produit.


3. Restrictions Multi-Entreprise


L'enregistrement existe mais n'est pas visible dans le contexte de l'entreprise actuelle.

Passer en mode superutilisateur révèle souvent l'enregistrement.


4. Problèmes de Migration ou de Mise à Niveau


Après la mise à niveau des modules, les références peuvent pointer vers des enregistrements obsolètes ou restructurés.

Comment le résoudre


Étape 1 – Vérifier si l'enregistrement existe

record = self.env['model.name'].browse(record_id) if record.exists(): # sûr à utiliser

Étape 2 – Vérifier les droits d'accès


Tester avec un compte administrateur.

Si l'administrateur peut le voir mais pas l'utilisateur → problème de règle d'accès.


Étape 3 – Nettoyer les champs relationnels


Trouver les champs Many2one orphelins et les corriger ou les annuler.


Étape 4 – Valider les intégrations externes


Réviser :


  • les charges utiles de l'API
  • la logique de mappage
  • la couche de synchronisation

Un mappage d'ID incohérent est une cause fréquente dans les systèmes intégrés.



Comment l'éviter



  • Éviter de coder en dur les ID.
  • Utilisez correctement les identifiants externes
  • Validez les entrées de l'API
  • Testez les migrations sur la mise en scène
  • Évitez de supprimer des enregistrements référencés ailleurs


Comment Dasolo prévient les problèmes de « L'enregistrement n'existe pas »


L'erreur « Enregistrement n'existe pas » apparaît souvent lorsque les références entre les modèles deviennent incohérentes. Bien qu'elle puisse apparaître dans l'interface utilisateur, sa cause profonde est généralement liée à des enregistrements supprimés, des liens relationnels brisés ou une manipulation directe de la base de données non sécurisée.


Chez Dasolo, nous considérons cette erreur comme un signal structurel plutôt qu'un dysfonctionnement isolé. Elle révèle généralement :


  • Des références relationnelles orphelines
  • Des workflows de suppression inappropriés
  • Des incompatibilités d'intégration
  • Des vérifications de validation manquantes avant l'accès aux enregistrements
  • Une gestion incohérente du contexte multi-entreprises

Pour prévenir ces situations, nous concevons des systèmes Odoo avec une gestion contrôlée du cycle de vie des données. Au lieu de supprimer des enregistrements critiques, nous privilégions des stratégies d'archivage et faisons respecter l'intégrité référentielle grâce à des pratiques ORM structurées. Cette approche minimise les exceptions inattendues « enregistrement non trouvé » en production.



Conclusion


L'erreur "L'enregistrement n'existe pas" d'Odoo se produit lorsque le système tente d'accéder à un enregistrement qui a été supprimé ou qui n'a jamais été créé correctement. Bien que cela puisse sembler être une simple entrée manquante, la cause sous-jacente est souvent liée à une logique relationnelle rompue ou à des opérations sur des données non sécurisées.


En maintenant une architecture relationnelle cohérente, en validant l'existence des enregistrements avant l'accès et en évitant la manipulation directe de la base de données, les développeurs peuvent réduire considérablement l'occurrence de cette erreur. Dans des environnements Odoo bien structurés, l'intégrité des enregistrements est préservée grâce à des flux de travail contrôlés et à des pratiques de gestion des données prévisibles.


Traiter ce problème correctement non seulement corrige l'erreur immédiate mais renforce également la stabilité globale de la base de données et la fiabilité à long terme du système.

Questions fréquemment posées


Pas nécessairement. Il peut juste être inaccessible.

Oui, surtout les tâches de synchronisation automatisées.

Seulement s'il n'existe aucune dépendance relationnelle.


Elisa Van Outrive 17 février 2026
Partager cet article
Se connecter pour laisser un commentaire.