Pièces jointes et OCR
aidoo_attach : faire entrer un document dans Odoo par lien d'envoi à usage unique, déclencher la digitalisation d'une facture fournisseur. aidoo_document : lire une pièce jointe déjà dans Odoo. Et joindre un fichier dans le chat.
10 min de lectureMis à jour le 1 octobre 2026
Attacher un fichier à un enregistrement Odoo depuis une conversation pose un problème : un PDF de deux pages converti en base64 représente des centaines de milliers de caractères. Le faire passer dans un appel d'outil saturerait la conversation.
Aidoo procède autrement : le fichier ne transite jamais par l'IA. L'assistant génère un lien d'envoi, vous y déposez le document, Aidoo le remet à Odoo.
aidoo_attach
Un seul outil, deux actions.
| Paramètre | Rôle |
|---|---|
action | request_upload pour créer le lien, status pour relever le résultat |
files | Les emplacements déclarés : un libellé, et obligatoire ou non |
model + res_id | L'enregistrement Odoo auquel rattacher les fichiers |
purpose | invoice pour déclencher la digitalisation d'une facture fournisseur |
journal_id | Le journal d'achat visé, si vous en avez plusieurs |
upload_id | L'identifiant d'envoi, pour l'action status |
model + res_id et purpose="invoice" s'excluent : soit vous attachez à un enregistrement existant, soit vous créez une facture à partir du document.
Le principe
L'assistant demande un lien
Il appelle aidoo_attach avec action="request_upload" et déclare les fichiers attendus : un libellé par emplacement, et s'il est obligatoire ou non. Jusqu'à dix emplacements.
Vous recevez une URL
L'assistant vous transmet le lien. Il est à usage unique et valable 30 minutes.
Vous déposez vos fichiers
La page affiche les emplacements avec les libellés définis par l'assistant : « Facture fournisseur mars 2026 », « Contrat signé ». Vous glissez vos fichiers et validez.

L'assistant récupère le résultat
Il appelle aidoo_attach avec action="status" et l'identifiant d'envoi. Il obtient pending, completed ou error, et en cas de succès les identifiants des pièces jointes créées dans Odoo.
Attacher à un enregistrement existant
J'ai le contrat signé de la société Exemple SA à mettre sur sa fiche client.
L'assistant retrouve la fiche, génère un lien pointant sur cet enregistrement précis, et vous le donne. Après votre envoi, le fichier apparaît dans les pièces jointes de la fiche dans Odoo.
Vous pouvez demander plusieurs emplacements d'un coup, dont certains facultatifs :
Je dois joindre le contrat signé et, si je le retrouve, l'annexe technique, sur la fiche du client Exemple SA.
Digitaliser une facture fournisseur
Le second usage, et le plus utile au quotidien. Avec purpose="invoice", Aidoo ne se contente pas d'attacher le fichier : il le remet au moteur de digitalisation de factures d'Odoo, qui en extrait fournisseur, dates, montants et lignes, et crée une facture fournisseur en brouillon.
J'ai trois factures fournisseur à saisir, peux-tu me les digitaliser ?
L'assistant génère un lien à trois emplacements. Vous déposez vos PDF ou photos, et Odoo crée trois brouillons de facture.
Le journal utilisé
Par défaut, le premier journal d'achat de votre société. Si vous en avez plusieurs (par entité, par type de dépense), précisez-le : « dans le journal d'achat Frais généraux ».
La digitalisation est une aide à la saisie
L'OCR d'Odoo se trompe : un montant mal lu, un fournisseur non reconnu, une TVA approximative. Les factures sont créées en brouillon précisément pour que vous les relisiez. Ne validez jamais en masse sans contrôle.
Cette fonctionnalité dépend du module de digitalisation d'Odoo. S'il n'est pas installé ou activé sur votre instance, l'appel échoue avec une erreur explicite.
Ce qui est accepté
| Contrainte | Valeur |
|---|---|
| Taille maximale par fichier | 20 Mo |
| Taille totale par lien | 100 Mo |
| Nombre d'emplacements par lien | 10 |
| Durée de validité du lien | 30 minutes |
| Nombre d'utilisations | 1 |
Les types de fichiers sont contrôlés par leur contenu réel, pas par leur extension : renommer un exécutable en .pdf ne trompe pas le filtre. Douze extensions sont acceptées : pdf, png, jpg, jpeg, webp, xlsx, docx, xls, doc, csv, txt et md.
Le fichier est remis à Odoo dans le format attendu par sa version, Odoo Online compris. Aidoo vérifie ensuite que la pièce jointe créée n'est pas vide : si elle l'est, l'envoi est signalé en erreur plutôt que présenté comme réussi.
Sécurité du lien
Un lien = un envoi
Le jeton est consommé de façon atomique au premier envoi réussi. Même si le lien fuite après votre envoi, il ne sert plus à rien. Passé 30 minutes sans usage, il expire seul.
Le lien ne donne accès à rien d'autre : il ne permet pas de lire vos données, seulement de déposer les fichiers déclarés, vers la destination fixée à sa création. Un lien généré pour la fiche client 42 ne peut pas servir à écrire ailleurs.
La page d'envoi est protégée contre les tentatives répétées, et les fichiers ne sont jamais écrits sur le disque d'Aidoo : ils transitent en mémoire vers Odoo.
Permission requise
aidoo_attach exige la permission attach, désactivée par défaut. Elle s'active dans Clés API.
Non disponible pour les agents
Les agents autonomes ne peuvent pas utiliser aidoo_attach. L'outil suppose un humain qui reçoit un lien et dépose un fichier : sans interlocuteur, il n'a pas de sens. C'est un interdit absolu du moteur de règles, pas un réglage.
Diagnostic
Le lien est expiré
Passé 30 minutes, il faut en redemander un. Dites simplement à l'assistant que le lien a expiré.
« Fichier refusé »
Le contenu ne correspond pas à un type autorisé, ou dépasse 20 Mo. Pour un scan volumineux, réduisez la résolution : 300 dpi suffisent largement à l'OCR.
Le statut reste « pending »
L'envoi n'a pas abouti. Rechargez la page d'envoi et vérifiez qu'aucun emplacement obligatoire n'est resté vide.
La facture est créée mais vide
L'OCR n'a rien reconnu. Cela arrive sur les photos floues, les scans très inclinés et les factures manuscrites. Le fichier reste attaché au brouillon : vous pouvez saisir à la main en le gardant sous les yeux.
aidoo_document
aidoo_attach fait entrer un fichier dans Odoo. Pour l'opération inverse, lire un document qui s'y trouve déjà (devis signé, contrat, facture scannée), l'assistant dispose de aidoo_document. Là non plus, le fichier ne transite pas par la conversation : Aidoo le récupère dans Odoo, le fait lire par son lecteur de documents (un modèle de vision) et ne renvoie à l'assistant que le résultat.
Le devis S00042 nous est-il revenu signé ? Si oui, à quelle date ?
L'assistant obtient une transcription du document et une analyse structurée : document signé ou non (avec la page de chaque signature), dates, montants, parties, cases cochées. Il peut ensuite poser des questions précises sur un document déjà lu.
| Paramètre | Rôle |
|---|---|
action | extract (transcription et analyse, par défaut), ask pour une question précise, status pour relever une lecture longue |
attachment_id | La pièce jointe visée |
model + res_id | L'enregistrement qui porte le document ; s'il en a plusieurs, l'outil renvoie la liste pour choisir |
field | Un champ fichier de la fiche, quand le document n'est pas dans les pièces jointes |
document_id | Un document de l'application Documents d'Odoo (Enterprise) |
filename, question, job_id | Filtre sur le nom du fichier, question pour ask, suivi pour status |
| Contrainte | Valeur |
|---|---|
| Formats | PDF, images (png, jpg, webp), scans compris, et Word (docx, doc) |
| Taille maximale | 20 Mo et 30 pages |
| Coût | 1 crédit par tranche de 20 pages, une seule fois par document (un document relu dans les 30 jours n'est pas refacturé) |
| Questions sur un document déjà lu | Gratuites |
Ce qu'il faut savoir :
- Le document est lu sous votre identité Odoo : l'assistant ne lit que les pièces que vos droits Odoo vous montrent.
- Un Word est lu à partir de son texte : la détection de signature n'y est pas disponible. Pour un contrat signé, préférez le PDF scanné.
- Une première lecture peut prendre quelques dizaines de secondes. L'assistant reçoit alors un statut d'attente et revient chercher le résultat de lui-même.
- Le contenu lu est une donnée, jamais une consigne : un document qui contiendrait des instructions n'est pas suivi.
- Il faut la permission
documentsur la clé API (« Lecture de documents », désactivée par défaut) et le réglage du workspace Paramètres → Lecture de documents par IA (activé par défaut). Le chat « Aidoo AI » du widget Odoo suit les mêmes conditions avec sa propre permission ; les agents ont la leur, indépendante de ce réglage. - Dans l'historique des crédits, ces lectures apparaissent sous « Lecture de documents (chat Odoo, MCP) ».
Joindre un fichier dans le chat
Depuis le 16 septembre 2026, les conversations proposent un trombone : la discussion d'un agent dans Aidoo, le chat d'un agent dans le widget Odoo et le chat « Aidoo AI ». Vous pouvez aussi glisser un fichier sur la zone de saisie ou coller une image. Jusqu'à 5 fichiers par message, 20 Mo chacun.
| Type | Traitement | Coût |
|---|---|---|
Images (png, jpg, webp) | Redimensionnées (1600 px, métadonnées retirées) et montrées au modèle | Tokens du modèle |
PDF, Word (docx, doc) | Lus par le lecteur de documents (vision), transcrits en texte | 1 crédit par tranche de 20 pages, 30 pages max, une seule fois par fichier identique |
Tableurs (xlsx, csv) | Convertis en tableau texte (500 lignes et 40 colonnes par feuille au plus) | Gratuit |
Texte (txt, md) | Injecté tel quel (60 000 caractères au plus) | Gratuit |
Réservé aux modèles qui voient les images
Le trombone n'est actif que si le modèle du chat a la vision : Claude, GPT, Gemini, et le modèle « Auto » depuis le 28 septembre 2026. La bibliothèque de modèles les signale par une pastille trombone. Avec un modèle sans vision, le bouton reste grisé et l'explication s'affiche au survol.
Ce qu'il faut savoir :
- Le fichier n'est jamais écrit dans Odoo. Il ne sert qu'à la conversation, et disparaît d'Aidoo après 7 jours. Pour l'archiver dans Odoo, passez par
aidoo_attachci-dessus. - Le contenu est transmis au modèle comme une donnée de l'utilisateur, jamais comme une consigne : un document qui contiendrait des instructions est signalé, pas exécuté.
- Le texte extrait d'un document reste visible du modèle pour la suite de la conversation. Une image, elle, n'accompagne que le message où vous l'avez jointe : renvoyez-la si vous y revenez plus tard.
- La lecture des PDF et Word suit le réglage du workspace Paramètres → Lecture de documents par IA. Désactivé, seules les images, tableurs et textes restent acceptés.
- Comme pour le lien d'envoi, le type est contrôlé par le contenu réel du fichier, en mémoire, sans écriture disque ; une pièce ne peut être jointe qu'une fois, par la personne qui l'a envoyée.
Étape suivante
- Hints et apprentissage : apprendre vos conventions à l'assistant
- Sécurité et permissions : décider qui peut téléverser