Odoo 19.0 Community · Persistant

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 10 autres modules. Il expose 67 champs, dont 58 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 19.

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, purchase_product_matrix, purchase_requisition, purchase_requisition_stock
Tri par défaut (_order)
order_id, sequence, id
Hérite de (mixins)
analytic.mixin

Champs du modèle

58 champs propres, 3 hérités des mixins et 6 champs automatiques de l'ORM. Cliquez sur un nom pour obtenir le lien direct vers le champ.

67 champs affichés sur 67

Nom techniqueLibelléTypeDétails
allowed_uom_idsUnité de mesure autoriséemany2many
calculé
amount_to_invoice_at_dateMontantfloat
calculé
company_currency_idDevise de la sociétémany2one

related : company_id.currency_id

ajouté par Conventions d'achat (purchase_requisition)

company_idSociétémany2one
lecture seule

related : order_id.company_id

currency_idDevisemany2one

related : order_id.currency_id

date_approveDate de confirmationdatetime
lecture seule

related : order_id.date_approve

date_orderDate de la commandedatetime
lecture seule

related : order_id.date_order

date_plannedArrivé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é
discountRemise (%)float
calculé, stocké
display_typeType d'affichage

Champ technique utilisé à des fins d'expérience utilisateur.

selection

Valeurs : line_section (Section), line_subsection (Sous-section), line_note (Note)

forecasted_issueProblème prévuboolean
calculé

ajouté par Achats Inventaire (purchase_stock)

invoice_linesLignes de facturationone2many
lecture seule

inverse : purchase_line_id

is_configurable_productCe produit est-il configurable ?boolean

related : product_template_id.has_configurable_attributes

ajouté par Matrice d'achat (purchase_product_matrix)

is_downpaymentEst un acompteboolean
is_storableIs Storableboolean

related : product_id.is_storable

ajouté par Achats Inventaire (purchase_stock)

location_final_idEmplacement de l'approvisionnementmany2one

ajouté par Achats Inventaire (purchase_stock)

move_dest_idsMouvements en aval altmany2many

ajouté par Achats Inventaire (purchase_stock)

move_idsRéservationone2many
lecture seule

inverse : purchase_line_id

ajouté par Achats Inventaire (purchase_stock)

nameDescriptiontext
requiscalculé, stocké
on_time_rate_percOTDfloat

related : order_id.on_time_rate_perc

ajouté par Demande d'achat stock (purchase_requisition_stock)

order_idRéférence commandemany2one
requis
orderpoint_idPoint de commandemany2one

ajouté par Achats Inventaire (purchase_stock)

parent_idLigne de section parentemany2one
calculé
partner_idPartenairemany2one
lecture seule

related : order_id.partner_id

price_subtotalSous-totalmonetary
calculé, stocké
price_taxTaxefloat
calculé, stocké
price_totalTotalmonetary
calculé, stocké
price_total_ccSous-total de la sociétémonetary
calculé, stocké

ajouté par Conventions d'achat (purchase_requisition)

price_unitPrix unitairefloat
requiscalculé, stocké
price_unit_discountedPrix unitaire (remise)float
calculé
price_unit_product_uomPrix unitaire (UdM du produit)

Le prix unitaire du produit dans son unité de mesure

float
calculé
product_description_variantsDescription personnaliséechar

ajouté par Achats Inventaire (purchase_stock)

product_idProduitmany2one
product_no_variant_attribute_value_idsValeurs d'attributs de produit qui ne créent pas de variantesmany2many
product_qtyQuantitéfloat
requis
product_template_attribute_value_idsValeur caratéristique du modèle produitmany2many
lecture seule

related : product_id.product_template_attribute_value_ids

product_template_idModèle de produitmany2one

related : product_id.product_tmpl_id

ajouté par Matrice d'achat (purchase_product_matrix)

product_typeType de produitselection
lecture seule

related : product_id.type

product_uom_idUnitémany2one
product_uom_qtyQuantité totalefloat
calculé, stocké
propagate_cancelPropager l'annulationboolean

ajouté par Achats Inventaire (purchase_stock)

purchase_line_warn_msgMessage d’avertissement de ligne d’achattext
calculé
qty_invoicedQté facturéefloat
calculé, stocké
qty_invoiced_at_dateFacturéfloat
calculé
qty_receivedQté reçuefloat
calculé, stocké
qty_received_at_dateReçufloat
calculé
qty_received_manualQté manuellement reçuefloat
qty_received_methodMé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 : manual (Manuelle)

qty_to_invoiceQuantité à facturerfloat
lecture seulecalculé, stocké
sale_line_idArticle de vente d'originemany2one

ajouté par Ventes & Achats (sale_purchase)

sale_order_idCommande clientmany2one

related : sale_line_id.order_id

ajouté par Ventes & Achats (sale_purchase)

selected_seller_idVendeur sélectionné

Champ technique pour obtenir la liste de prix fournisseur utilisée pour générer cette ligne

many2one
calculé
sequenceSéquenceinteger
stateStatutselection

related : order_id.state

tax_calculation_rounding_methodMéthode d'arrondi pour le calcul des taxesselection
lecture seule

related : company_id.tax_calculation_rounding_method

tax_idsTaxesmany2many
technical_price_unitPrix unitaire technique

Champ technique pour le calcul du prix

float
translated_product_nameNom de produit traduittext
calculé
analytic_distributionRépartition Analytiquejson
calculé, stocké

hérité de analytic.mixin

analytic_precisionPrécision analytiqueinteger

hérité de analytic.mixin

distribution_analytic_account_idsCompte analytique de répartitionmany2many
calculé

hérité de analytic.mixin

create_dateCréé ledatetime
lecture seuleautomatique
create_uidCréé parmany2one
lecture seuleautomatique
display_nameNom affichéchar
lecture seulecalculéautomatique
idIDinteger
lecture seuleautomatique
write_dateDernière mise à jour ledatetime
lecture seuleautomatique
write_uidDernière mise à jour parmany2one
lecture seuleautomatique

Relations

Modèles liés depuis ce modèle

Champs d'autres modèles qui pointent ici

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
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}'
Python (requests)
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 19.0)</a>

Sources

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.