purchase.order.line : champs, relations et API
Le modèle purchase.order.line (« Ligne de bon de commande ») est un modèle persistant déclaré par le module Achats, puis enrichi par 12 autres modules. Il expose 78 champs, dont 67 déclarés directement sur le modèle ; 6 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 20.
Fiche d'identité
- Nom technique
purchase.order.line- Libellé
- Ligne de bon de commande
- Type
- Persistant (models.Model)
- Table SQL
purchase_order_line- Module d'origine
- Achats (
purchase) - Étendu par
- purchase_stock, stock_landed_costs, sale_purchase, sale_purchase_stock, stock_dropshipping, purchase_mrp, project_purchase, project_purchase_stock, purchase_alternative, purchase_alternative_stock, purchase_product_matrix, purchase_requisition
- Tri par défaut (_order)
order_id, sequence, id
Champs du modèle
67 champs propres, 5 hérités des mixins et 6 champs automatiques de l'ORM. Cliquez sur un nom pour obtenir le lien direct vers le champ.
78 champs affichés sur 78
| Nom technique | Libellé | Type | Détails |
|---|---|---|---|
| accrual_move_ids | Accrual Entries Accrual entries generated for this line, so it isn't accrued again while one is still standing (posted, not yet reversed or cancelled). | many2many | |
| allowed_uom_ids | Unité de mesure autorisée | many2many→ uom.uom | calculé |
| amount_to_invoice_at_date | Montant | float | calculé |
| bill_to_receive | Bill to Receive | boolean | |
| company_currency_id | Devise de la société | many2one | related : ajouté par Alternative d'achat ( |
| company_id | Société | many2one | lecture seule related : |
| currency_id | Devise | many2one | related : |
| date_approve | Date de confirmation | datetime | lecture seule related : |
| date_order | Échéance de commande | datetime | lecture seule related : |
| date_planned | Arrivée prévue Date de livraison prévue du fournisseur. Cette date correspond par défaut au délai de livraison du fournisseur, puis à la date du jour. | datetime | calculé, stocké |
| date_promised | Date promise Date de livraison promise par le fournisseur. Si le fournisseur livre les produits après cette date, son taux de ponctualité sera impacté négativement. | datetime | ajouté par Purchase Stock ( |
| discount | Remise (%) | float | calculé, stocké |
| display_type | Type d'affichage Champ technique utilisé à des fins d'expérience utilisateur. | selection | Valeurs : |
| document_tax_mode | Mode de taxe du document | selection | related : |
| forecasted_issue | Problème prévu | boolean | calculé ajouté par Purchase Stock ( |
| forecasted_location_id | Forecasted Location Location used in the computation of the forecast. | many2one | ajouté par Purchase Stock ( |
| invoice_lines | Lignes de facturation | one2many | lecture seule inverse : |
| is_configurable_product | Ce produit est-il configurable ? | boolean | related : ajouté par Purchase Matrix ( |
| is_downpayment | Est un acompte | boolean | |
| is_storable | Is Storable | boolean | related : ajouté par Purchase Stock ( |
| label | Libellé | text | calculé |
| matched_invoice_count | Matched Invoices Count | integer | calculé |
| move_dest_ids | Mouvements en aval alt | many2many | ajouté par Purchase Stock ( |
| move_ids | Réservation | one2many | lecture seule inverse : ajouté par Purchase Stock ( |
| name | Description | text | calculé, stocké |
| non_deductible_tax | Taxe non déductible | float | calculé, stocké |
| on_time_rate_perc | OTD | float | related : ajouté par Purchase Alternative Stock ( |
| order_id | Référence commande | many2one | requis |
| orderpoint_id | Point de commande | many2one | ajouté par Purchase Stock ( |
| parent_id | Ligne de section parente | many2one | calculé |
| partner_id | Partenaire | many2one | lecture seule related : |
| prepaid_expense | Prepaid Expense | boolean | |
| price_subtotal | Sous-total | monetary | calculé, stocké |
| price_subtotal_to_invoice | À facturer | monetary | calculé |
| price_tax | Taxe | float | calculé, stocké |
| price_total | Total | monetary | calculé, stocké |
| price_total_cc | Sous-total de la société | monetary | calculé, stocké ajouté par Alternative d'achat ( |
| price_unit | Prix unitaire | float | requiscalculé, stocké |
| price_unit_discounted | Prix unitaire (remise) | float | calculé |
| price_unit_product_uom | Prix unitaire (UdM du produit) Prix d’une unité de la quantité de mesure du produit | float | calculé, stocké |
| product_description_variants | Description personnalisée | char | ajouté par Purchase Stock ( |
| product_id | Produit | many2one | |
| product_no_variant_attribute_value_ids | Valeurs d'attributs de produit qui ne créent pas de variantes | many2many | |
| product_qty | Quantité | float | requis |
| product_template_attribute_value_ids | Valeur caratéristique du modèle produit | many2many | lecture seule related : |
| product_template_id | Modèle de produit | many2one | related : ajouté par Purchase Matrix ( |
| product_type | Type de produit | selection | lecture seule related : |
| product_uom_qty | Quantité totale | float | calculé, stocké |
| propagate_cancel | Propager l'annulation | boolean | ajouté par Purchase Stock ( |
| purchase_line_warn_msg | Message d’avertissement de ligne d’achat | text | calculé |
| qty_invoiced | Qté facturée | float | calculé, stocké |
| qty_invoiced_at_date | Facturé | float | calculé |
| qty_received | Qté reçue | float | calculé, stocké |
| qty_received_at_date | Reçu | float | calculé |
| qty_received_manual | Qté manuellement reçue | float | |
| qty_received_method | Méthode de la quantité reçue According to product configuration, the received quantity can be automatically computed by mechanism: - Manual: the quantity is set manually on the line - Stock Moves: the quantity comes from confirmed pickings | selection | calculé, stocké Valeurs : |
| qty_to_invoice | Quantité à facturer | float | lecture seulecalculé, stocké |
| qty_to_invoice_raw | Not Invoiced Quantity Ordered quantity not invoiced. This may or may not include quantities that won't be invoiced, depending on the product's Control Policy. | float | calculé, stocké |
| sale_line_id | Article de vente d'origine | many2one | ajouté par Sale Purchase ( |
| sale_order_id | Commande client | many2one | related : ajouté par Sale Purchase ( |
| selected_seller_id | Vendeur sélectionné Champ technique pour obtenir la liste de prix fournisseur utilisée pour générer cette ligne | many2one | calculé |
| sequence | Séquence | integer | |
| state | Statut | selection | related : |
| tax_calculation_rounding_method | Méthode d'arrondi pour le calcul des taxes | selection | lecture seule related : |
| tax_ids | Taxes | many2many | |
| technical_price_unit | Prix unitaire technique Champ technique pour le calcul du prix | float | calculé, stocké |
| uom_id | Unité | many2one→ uom.uom | |
| analytic_distribution | Répartition Analytique | json | calculé, stocké hérité de analytic.mixin |
| analytic_precision | Précision analytique | integer | hérité de analytic.mixin |
| consolidation_currency_id | Devise de consolidation | many2one | calculé hérité de res.currency.rate.consolidation.mixin |
| consolidation_rate | Taux | float | calculé hérité de res.currency.rate.consolidation.mixin |
| distribution_analytic_account_ids | Compte analytique de répartition | many2many | calculé hérité de analytic.mixin |
| 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
- account.move : accrual_move_ids
- account.move.line : invoice_lines
- account.tax : tax_ids
- product.product : product_id
- product.supplierinfo : selected_seller_id
- product.template : product_template_id
- product.template.attribute.value : product_no_variant_attribute_value_ids, product_template_attribute_value_ids
- purchase.order : order_id
- purchase.order.line : parent_id
- res.company : company_id
- res.currency : company_currency_id, currency_id
- res.partner : partner_id
- sale.order : sale_order_id
- sale.order.line : sale_line_id
- stock.location : forecasted_location_id
- stock.move : move_dest_ids, move_ids
- stock.warehouse.orderpoint : orderpoint_id
- uom.uom : allowed_uom_ids, uom_id
Champs d'autres modèles qui pointent ici
- account.move.line : purchase_line_id
- account.tax : purchase_order_line_ids
- purchase.bill.line.match : pol_id
- purchase.order.line : parent_id
- stock.move : created_purchase_line_ids, purchase_line_id
Lire ce modèle par l'API
Exemple d'appel à l'API JSON-2 d'Odoo 20 : 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/purchase.order.line/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: votre-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","order_id","price_unit","product_qty","state"],"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}/purchase.order.line/search_read",
headers=headers,
json={"domain": [], "fields": ["name","order_id","price_unit","product_qty","state"], "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/purchase-order-line">purchase.order.line (Odoo 20.0)</a>Sources
- Code source du modèle sur GitHub
- Documentation Odoo 20 : ORM API
- Documentation Odoo 20 : API externe JSON-2
Données vérifiées le 25 septembre 2026 · Odoo 20.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.