Écrire dans Odoo
aidoo_create, aidoo_write, aidoo_workflow, aidoo_execute et aidoo_delete : ce qui borne réellement une écriture, les modes groupés, et comment ouvrir l'écriture sans prendre de risque.
6 min de lectureMis à jour le 7 août 2026
Passer de la lecture à l'écriture change la nature de l'outil : une réponse fausse se corrige, une écriture appliquée reste. Aucune permission d'écriture n'est donc accordée par défaut.
Ce qui borne réellement une écriture
La seule barrière serveur, ce sont vos permissions
Aidoo vérifie à chaque appel que votre clé porte la permission voulue, que le modèle et les champs ne sont pas bloqués, et que l'outil n'appelle que la méthode Odoo qui lui est liée. Ces contrôles s'exécutent côté serveur : l'assistant ne peut pas les contourner. Tout le reste dépend de votre client et de votre vigilance.
L'approbation dans la conversation. Claude ou ChatGPT vous montre l'appel et ses arguments, et attend votre accord. C'est votre meilleur point de contrôle sur les valeurs, mais il appartient au client : réglé sur « Toujours autoriser », il disparaît. Voir Se connecter avec Claude.
Les hints, en garde-fou de qualité. Si le modèle visé porte un hint, l'outil renvoie vos consignes à l'assistant au lieu d'écrire, et lui demande de reprendre ses valeurs. C'est ce qui fait appliquer une règle du type « toute activité doit être assignée au commercial du client, jamais à l'utilisateur courant ».
Ce mécanisme oriente l'assistant, il ne le contraint pas
Le renvoi des hints vit dans l'outil MCP, pas dans le serveur : c'est l'assistant qui décide de confirmer. Comptez dessus pour la justesse des valeurs, jamais comme barrière de sécurité. Pour borner ce qui est possible, ce sont les permissions et le blocage de modèles qui comptent.
aidoo_create
Crée un ou plusieurs enregistrements.
- Unitaire :
model+values - Groupé :
model+values_list, une liste de dictionnaires
En mode groupé, tout part dans un seul appel Odoo. C'est plus rapide, et surtout plus cohérent : Odoo applique ses contraintes sur l'ensemble.
Crée les trois contacts suivants dans Odoo : Marie Dubois ([email protected]), Paul Martin ([email protected]) et Sophie Bernard ([email protected]), tous rattachés à la société Exemple SA.
aidoo_write
Modifie des enregistrements existants.
- Unitaire :
ids+values, les mêmes valeurs pour tous les identifiants - Groupé :
batch, une liste de{ids, values}, chaque lot reçoit ses propres valeurs
Le mode groupé renvoie le détail lot par lot : si le troisième échoue, vous savez lequel et pourquoi, et les deux premiers restent appliqués.
Archiver plutôt que supprimer
Passer active à false retire l'enregistrement des vues sans détruire l'information ni casser les documents qui le référencent. Dans la quasi-totalité des cas, c'est la bonne réponse à « supprime ce contact ».
aidoo_workflow
Déclenche une action métier d'Odoo : les boutons de vos écrans. Confirmer un devis, valider une facture, réceptionner un transfert.
Paramètres : model, ids, action. Seules les méthodes préfixées action_ ou button_ sont acceptées ; le serveur rejette tout le reste.
Confirme le devis S00042.
L'intérêt par rapport à aidoo_write : l'action déclenche toute la logique Odoo associée, écritures comptables, mouvements de stock, séquences, e-mails. Modifier le champ state à la main ne ferait rien de tout cela et laisserait votre base incohérente.
Ne forcez jamais un statut par écriture directe
Si l'assistant vous propose de passer state à sale avec aidoo_write, refusez et demandez l'action métier. Un devis « confirmé » sans les écritures associées est une bombe à retardement comptable.
aidoo_execute
Appelle une méthode Odoo arbitraire : la porte de sortie pour ce que les autres outils ne couvrent pas.
Paramètres : model, method, args, kwargs.
Les méthodes qui doublonneraient un outil dédié sont bloquées : create, write, unlink, read, search_read, read_group, fields_get, export_data, load, import_data. Sans quoi une clé disposant de execute pourrait contourner l'absence de create ou de delete.
C'est l'outil le plus puissant du catalogue. Il mérite une décision consciente, pas une case cochée « au cas où ».
aidoo_delete
Supprime définitivement (unlink). Pas de corbeille, pas d'annulation.
La seule opération sans retour
Odoo refuse souvent la suppression d'un enregistrement référencé ailleurs : c'est une protection, pas un bug. Quand il l'accepte, l'information est perdue. Gardez cette permission fermée en production, et ouvrez-la ponctuellement pour une opération de nettoyage identifiée.
Ouvrir l'écriture sans prendre de risque
Commencez sur l'environnement de test
Si vous disposez d'une copie de votre base, activez create et write sur l'environnement staging uniquement. Les permissions se règlent séparément par environnement.
Écrivez vos règles métier dans les hints
Avant d'ouvrir l'écriture, documentez vos conventions dans le hint du modèle : champs obligatoires, valeurs interdites, qui doit être assigné. Ces consignes sont réinjectées à chaque tentative d'écriture, avant exécution.
Voir Hints et apprentissage.
Ouvrez modèle par modèle, pas en bloc
Bloquez les modèles sensibles, écritures comptables, paie, utilisateurs, même si la permission write est accordée. Le blocage par modèle s'applique avant la permission.
Relisez le journal la première semaine
Le journal de requêtes montre chaque écriture : qui, quoi, quand, avec quelles valeurs. C'est le meilleur moyen de constater ce que l'assistant fait réellement, avant d'élargir.
Diagnostic
« Permission create is required »
La permission n'est pas accordée à votre clé sur cet environnement. Elle se règle dans Clés API.

Si vous ne pouvez pas l'accorder, un workflow enregistré peut faire l'opération : validé une fois à la création, il s'exécute ensuite avec la permission workflow.
« Access Denied » côté Odoo
La permission Aidoo est bien là, mais votre compte Odoo n'a pas le droit d'écrire sur ce modèle. Le correctif est dans Odoo, pas dans Aidoo : ajoutez le groupe manquant à votre compte.
L'écriture a réussi mais rien ne bouge dans Odoo
Regardez la société active et les filtres de votre vue. Un enregistrement créé sur une autre société n'apparaît pas dans l'écran courant.
L'assistant boucle sur une demande de confirmation
Le hint du modèle contient une consigne que l'assistant n'arrive pas à satisfaire : une valeur obligatoire dont il ne dispose pas, par exemple. Ouvrez le hint et vérifiez qu'il est applicable ; c'est souvent une règle rédigée pour un cas particulier, appliquée à tous.
Étape suivante
- Hints et apprentissage : encoder vos règles métier
- Sécurité et permissions : bloquer modèles et champs