Odoo 20.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 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
Hérite de (mixins)
analytic.mixinres.currency.rate.consolidation.mixinproduct.catalog.line.mixin

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 techniqueLibelléTypeDétails
accrual_move_idsAccrual 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_idsUnité de mesure autoriséemany2many
calculé
amount_to_invoice_at_dateMontantfloat
calculé
bill_to_receiveBill to Receiveboolean
company_currency_idDevise de la sociétémany2one

related : company_id.currency_id

ajouté par Alternative d'achat (purchase_alternative)

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_orderÉchéance de 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é
date_promisedDate 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 (purchase_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)

document_tax_modeMode de taxe du documentselection

related : order_id.document_tax_mode

forecasted_issueProblème prévuboolean
calculé

ajouté par Purchase Stock (purchase_stock)

forecasted_location_idForecasted Location

Location used in the computation of the forecast.

many2one

ajouté par Purchase Stock (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 Purchase Matrix (purchase_product_matrix)

is_downpaymentEst un acompteboolean
is_storableIs Storableboolean

related : product_id.is_storable

ajouté par Purchase Stock (purchase_stock)

labelLibellétext
calculé
matched_invoice_countMatched Invoices Countinteger
calculé
move_dest_idsMouvements en aval altmany2many

ajouté par Purchase Stock (purchase_stock)

move_idsRéservationone2many
lecture seule

inverse : purchase_line_id

ajouté par Purchase Stock (purchase_stock)

nameDescriptiontext
calculé, stocké
non_deductible_taxTaxe non déductiblefloat
calculé, stocké
on_time_rate_percOTDfloat

related : order_id.on_time_rate_perc

ajouté par Purchase Alternative Stock (purchase_alternative_stock)

order_idRéférence commandemany2one
requis
orderpoint_idPoint de commandemany2one

ajouté par Purchase Stock (purchase_stock)

parent_idLigne de section parentemany2one
calculé
partner_idPartenairemany2one
lecture seule

related : order_id.partner_id

prepaid_expensePrepaid Expenseboolean
price_subtotalSous-totalmonetary
calculé, stocké
price_subtotal_to_invoiceÀ facturermonetary
calculé
price_taxTaxefloat
calculé, stocké
price_totalTotalmonetary
calculé, stocké
price_total_ccSous-total de la sociétémonetary
calculé, stocké

ajouté par Alternative d'achat (purchase_alternative)

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

Prix d’une unité de la quantité de mesure du produit

float
calculé, stocké
product_description_variantsDescription personnaliséechar

ajouté par Purchase Stock (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 Purchase Matrix (purchase_product_matrix)

product_typeType de produitselection
lecture seule

related : product_id.type

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

ajouté par Purchase Stock (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é
qty_to_invoice_rawNot 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_idArticle de vente d'originemany2one

ajouté par Sale Purchase (sale_purchase)

sale_order_idCommande clientmany2one

related : sale_line_id.order_id

ajouté par Sale Purchase (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
calculé, stocké
uom_idUnitémany2one
analytic_distributionRépartition Analytiquejson
calculé, stocké

hérité de analytic.mixin

analytic_precisionPrécision analytiqueinteger

hérité de analytic.mixin

consolidation_currency_idDevise de consolidationmany2one
calculé

hérité de res.currency.rate.consolidation.mixin

consolidation_rateTauxfloat
calculé

hérité de res.currency.rate.consolidation.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 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
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 20.0)</a>

Sources

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.