product.document : champs, relations et API
Le modèle product.document (« Document du produit ») est un modèle persistant déclaré par le module Produits & Listes de prix, puis enrichi par 6 autres modules. Il expose 14 champs, dont 8 déclarés directement sur le modèle ; 3 champs d'autres modèles pointent vers lui. Retrouvez ci-dessous chaque champ avec son nom technique, son type, son libellé français et ses relations, puis un exemple d'appel à l'API JSON-2 d'Odoo 19.
Fiche d'identité
- Nom technique
product.document- Libellé
- Document du produit
- Type
- Persistant (models.Model)
- Table SQL
product_document- Module d'origine
- Produits & Listes de prix (
product) - Étendu par
- sale, mrp, sale_gelato, sale_pdf_quote_builder, website_sale, website_sale_gelato
- Tri par défaut (_order)
sequence, name- Délégation (_inherits)
- ir.attachment : les champs de ce modèle sont aussi accessibles, via
ir_attachment_id
Champs du modèle
8 champs propres, 0 hérités des mixins et 6 champs automatiques de l'ORM. Cliquez sur un nom pour obtenir le lien direct vers le champ.
14 champs affichés sur 14
| Nom technique | Libellé | Type | Détails |
|---|---|---|---|
| active | Actif | boolean | |
| attached_on_mrp | MRP : Visible dans Leave hidden if document only accessible on product form. Select Bill of Materials to visualise this document as a product attachment when this product is in a bill of material. | selection | requis Valeurs : ajouté par Fabrication ( |
| attached_on_sale | Vente : visible dans Allows you to share the document with your customers within a sale. Leave it empty if you don't want to share this document with sales customer. On quote: the document will be sent to and accessible by customers at any time. e.g. this option can be useful to share Product description files. On order confirmation: the document will be sent to and accessible by customers. e.g. this option can be useful to share User Manual or digital content bought on ecommerce. Inside quote: The document will be included in the pdf of the quotation and sale order between the header pages and the quote table. | selection | requis Valeurs : ajouté par Ventes ( |
| form_field_ids | Champs de formulaire inclus | many2many | calculé, stocké ajouté par Créateur de devis PDF ( |
| ir_attachment_id | Pièce jointe associée | many2one | requis |
| is_gelato | est Gelato | boolean | lecture seule ajouté par Gelato ( |
| sequence | Séquence | integer | |
| shown_on_product_page | Publier sur le site web | boolean | ajouté par eCommerce ( |
| create_date | Créé le | datetime | lecture seuleautomatique |
| create_uid | Créé par | many2one | lecture seuleautomatique |
| display_name | Nom affiché | char | lecture seulecalculéautomatique |
| id | ID | integer | lecture seuleautomatique |
| write_date | Dernière mise à jour le | datetime | lecture seuleautomatique |
| write_uid | Dernière mise à jour par | many2one | lecture seuleautomatique |
Relations
Modèles liés depuis ce modèle
- ir.attachment : ir_attachment_id
- sale.pdf.form.field : form_field_ids
Champs d'autres modèles qui pointent ici
- sale.order.line : available_product_document_ids, product_document_ids
- sale.pdf.form.field : product_document_ids
Lire ce modèle par l'API
Exemple d'appel à l'API JSON-2 d'Odoo 19 : lecture des cinq premiers enregistrements avec des champs réels du modèle. Remplacez l'instance, la base et la clé API par les vôtres.
curl -X POST "https://votre-instance.odoo.com/json/2/product.document/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: votre-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["attached_on_mrp","attached_on_sale","ir_attachment_id","active","is_gelato"],"limit":5}'import requests
BASE_URL = "https://votre-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "votre-base"}
res = requests.post(
f"{BASE_URL}/product.document/search_read",
headers=headers,
json={"domain": [], "fields": ["attached_on_mrp","attached_on_sale","ir_attachment_id","active","is_gelato"], "limit": 5},
)
res.raise_for_status()
print(res.json())- L'accès à l'API externe est réservé à la formule Custom d'Odoo.
- XML-RPC et JSON-RPC seront retirés dans Odoo 22 (automne 2028) : préférez JSON-2.
- Les droits d'accès et règles d'enregistrement de l'utilisateur de la clé s'appliquent.
Citer cet outil
Vous rédigez un tutoriel, une documentation interne ou une réponse sur un forum ? Copiez ce lien pour renvoyer vos lecteurs vers la fiche à jour.
<a href="https://aidoo.ai/fr/outils/explorateur-modeles-odoo/product-document">product.document (Odoo 19.0)</a>Sources
- Code source du modèle sur GitHub
- Documentation Odoo 19 : ORM API
- Documentation Odoo 19 : API externe JSON-2
Données vérifiées le 23 septembre 2026 · Odoo 19.0 Community
Vous avez un projet Odoo ou souhaitez exploiter votre ERP avec l'IA ? Échangeons
Intégration, développement de modules, connexion de Claude ou ChatGPT à vos données : décrivez-nous votre contexte, nous vous répondons sous 24 heures ouvrées.