Aidoo AI

Pièces jointes et OCR

aidoo_attach : faire entrer un document dans Odoo par lien d'envoi à usage unique, et déclencher la digitalisation d'une facture fournisseur.

6 min de lectureMis à jour le 7 août 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ètreRôle
actionrequest_upload pour créer le lien, status pour relever le résultat
filesLes emplacements déclarés : un libellé, et obligatoire ou non
model + res_idL'enregistrement Odoo auquel rattacher les fichiers
purposeinvoice pour déclencher la digitalisation d'une facture fournisseur
journal_idLe journal d'achat visé, si vous en avez plusieurs
upload_idL'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.

Page d'envoi Aidoo : deux emplacements nommés, la durée de validité du lien, les formats acceptés et le bouton d'envoi.
Un emplacement par fichier attendu, avec le libellé choisi par l'assistant.

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é

ContrainteValeur
Taille maximale par fichier20 Mo
Nombre d'emplacements par lien10
Durée de validité du lien30 minutes
Nombre d'utilisations1

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. Onze extensions sont acceptées : pdf, png, jpg, jpeg, webp, xlsx, docx, xls, doc, csv et txt.

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.

Étape suivante