Odoo 19.0 Community · Persistant

purchase.order : champs, relations et API

Le modèle purchase.order (« Bon de commande fournisseur ») est un modèle persistant déclaré par le module Achats, puis enrichi par 14 autres modules. Il expose 104 champs, dont 71 déclarés directement sur le modèle ; 14 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
Libellé
Bon de commande fournisseur
Type
Persistant (models.Model)
Table SQL
purchase_order
Module d'origine
Achats (purchase)
Étendu par
purchase_stock, sale_purchase, sale_purchase_stock, stock_dropshipping, mrp_subcontracting_dropshipping, purchase_mrp, mrp_subcontracting_purchase, project_purchase, project_purchase_stock, purchase_edi_ubl_bis3, purchase_product_matrix, purchase_repair, purchase_requisition, purchase_requisition_stock
Tri par défaut (_order)
priority desc, id desc
Hérite de (mixins)
portal.mixinproduct.catalog.mixinmail.threadmail.activity.mixinaccount.document.import.mixin

Champs du modèle

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

104 champs affichés sur 104

Nom techniqueLibelléTypeDétails
acknowledgedConfirmé

Indique que le fournisseur a accusé réception du bon de commande.

boolean
alternative_po_idsBons de commande alternatifs

Autres bons de commande potentiels pour l'achat de produits

one2many

related : purchase_group_id.order_ids

ajouté par Conventions d'achat (purchase_requisition)

amount_taxTaxesmonetary
lecture seulecalculé, stocké
amount_totalTotalmonetary
lecture seulecalculé, stocké
amount_total_ccTotal en devisemonetary
lecture seulecalculé, stocké
amount_untaxedMontant hors taxesmonetary
lecture seulecalculé, stocké
company_currency_idDevise de la sociétémany2one

related : company_id.currency_id

company_idSociétémany2one
requis
company_price_includeCompany Price Includeselection

related : company_id.account_price_include

country_codeCode payschar

related : company_id.account_fiscal_country_id.code

currency_idDevisemany2one
requiscalculé, stocké
currency_rateTaux de changefloat
calculé, stocké
date_approveDate de confirmationdatetime
lecture seule
date_calendar_startDate calendrier de débutdatetime
lecture seulecalculé, stocké
date_orderÉchéance de commande

Représente la date à laquelle le devis devrait être validé et converti en bon de commande.

datetime
requis
date_plannedArrivée prévue

Date de livraison promise par le fournisseur. Cette date est utilisée pour déterminer la date de réception prévue des produits.

datetime
calculé, stocké
default_location_dest_id_is_subcontracting_locID empl. dest. par défaut est empl. sous-traitanceboolean
calculé

ajouté par Gestion du dropshipping et de la sous-traitance (mrp_subcontracting_dropshipping)

default_location_dest_id_usageType d'emplacement de destination

Champ technique utilisé pour afficher l'adresse de dropshipping.

selection
lecture seule

related : picking_type_id.default_location_dest_id.usage

ajouté par Achats Inventaire (purchase_stock)

dest_address_idAdresse de dropshipping

Ajoutez une adresse si vous voulez livrer directement du fournisseur au client. Sinon, laissez vide pour vous faire livrer à votre société.

many2one
calculé, stocké
dropship_picking_countNombre de livraisons en dropshippinginteger
calculé

ajouté par Drop Shipping (stock_dropshipping)

duplicated_order_idsCommande dupliquéemany2many
calculé
effective_dateArrivée

Date d'achèvement de la première réception.

datetime
calculé, stocké

ajouté par Achats Inventaire (purchase_stock)

fiscal_position_idPosition fiscalemany2one
gridGrid

Technical storage of grid. If grid_update, will be loaded on the PO. If not, represents the matrix to open.

char

ajouté par Matrice d'achat (purchase_product_matrix)

grid_product_tmpl_idGrille des modèles de produits

Champ technique pour les fonctionnalités de product_matrix.

many2one

ajouté par Matrice d'achat (purchase_product_matrix)

grid_updateMise à jour de la grille

Si le champ grille contient une nouvelle matrice à appliquer ou pas.

boolean

ajouté par Matrice d'achat (purchase_product_matrix)

has_sale_orderChamp technique indiquant si le bon de commande est lié à des commandes client.boolean
calculé

ajouté par Ventes & Achats (sale_purchase)

incoming_picking_countNombre de réceptionsinteger
calculé

ajouté par Achats Inventaire (purchase_stock)

incoterm_idIncoterm

Les Incoterms sont une série de termes commerciaux prédéfinis utilisés dans les transactions internationales.

many2one
incoterm_locationLieu Incotermchar

ajouté par Achats Inventaire (purchase_stock)

invoice_countNombre de facturesinteger
calculé, stocké
invoice_idsFactures fournisseursmany2many
calculé, stocké
invoice_statusStatut de facturationselection
lecture seulecalculé, stocké

Valeurs : no (Rien à facturer), to invoice (Factures en attente), invoiced (Entièrement facturé)

is_lateEn retardboolean
is_shippedEst expédiéboolean
calculé

ajouté par Achats Inventaire (purchase_stock)

lock_confirmed_poLock Confirmed Poselection

related : company_id.po_lock

lockedVerrouillé

Les bons de commandes verrouillés ne peuvent pas être modifiés.

boolean
mrp_production_countNombre d'OF d'origineinteger
calculé

ajouté par Gestion des achats et du MRP (purchase_mrp)

nameRéférence commandechar
requis
noteConditions généraleshtml
on_time_rateOn Time Ratefloat

related : partner_id.on_time_rate

ajouté par Achats Inventaire (purchase_stock)

on_time_rate_percOTDfloat
calculé

ajouté par Demande d'achat stock (purchase_requisition_stock)

order_lineLignes de commandeone2many

inverse : order_id

originSource

Référence du document qui a généré cette demande de bon de commande (par ex. une commande client)

char
partner_bill_countPartner Bill Countinteger

related : partner_id.supplier_invoice_count

partner_idFournisseur

Vous pouvez trouver un fournisseur par son nom, numéro de TVA, e-mail ou sa référence interne.

many2one
requis
partner_refRéférence fournisseur

Référence de la commande client ou de l'offre envoyée par le fournisseur. Utilisé principalement pour faire la correspondance lors de la réception des produits, puisque cette référence est généralement écrite sur le bon de livraison envoyé par votre fournisseur.

char
payment_term_idConditions de paiementmany2one
picking_idsRéceptionsmany2many
calculé, stocké

ajouté par Achats Inventaire (purchase_stock)

picking_type_idLivrer à

Cela déterminera le type d'opération des réceptions

many2one
requis

ajouté par Achats Inventaire (purchase_stock)

priorityPrioritéselection

Valeurs : 0 (Normal), 1 (Urgent)

product_idProduitmany2one

related : order_line.product_id

project_idProjetmany2one

ajouté par Projet Achats (project_purchase)

purchase_group_idGroupe d'achatmany2one

ajouté par Conventions d'achat (purchase_requisition)

purchase_warning_textAvertissement d’achat

Avertissement interne pour le partenaire ou les produits défini par l’utilisateur.

text
calculé
receipt_reminder_emailE-mail de rappel de réceptionboolean
calculé, stocké
receipt_statusStatut de la réception

Red: Late Orange: To process today Green: On time

selection
calculé, stocké

Valeurs : pending (Non reçu), partial (Partiellement reçu), full (Entièrement reçu)

ajouté par Achats Inventaire (purchase_stock)

reference_idsRéférencesmany2many

ajouté par Achats Inventaire (purchase_stock)

reminder_date_before_receiptJours avant réceptioninteger
calculé, stocké
repair_countCount of source repairsinteger
calculé

ajouté par Réparation d'achat (purchase_repair)

report_gridsImprimer la grille des variantes

Si coché, la matrice des produits configurables sera montrée sur le rapport de cette commande.

boolean

ajouté par Matrice d'achat (purchase_product_matrix)

requisition_idAccordmany2one

ajouté par Conventions d'achat (purchase_requisition)

requisition_typeRequisition Typeselection

related : requisition_id.requisition_type

ajouté par Conventions d'achat (purchase_requisition)

sale_order_countNombre de ventes à la sourceinteger
calculé

ajouté par Ventes & Achats (sale_purchase)

show_comparisonAfficher la comparaisonboolean
calculé
stateStatutselection
lecture seule

Valeurs : draft (Demande de prix), sent (Envoyé), to approve (À approuver), purchase (Bon de commande fournisseur), cancel (Annulé)

subcontracting_resupply_picking_countNombre de réapprovisionnements de sous-traitance

Nombre de réapprovisionnements de sous-traitance pour les composants

integer
calculé

ajouté par Gestion des achats et de la sous-traitance (mrp_subcontracting_purchase)

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

related : company_id.tax_calculation_rounding_method

tax_country_idPays de la taxe

Champ technique pour filtrer les taxes disponibles en fonction du pays fiscal et de la position fiscale.

many2one
calculé
tax_totalsTaxes totalesbinary
calculé
user_idAcheteurmany2one
access_tokenJeton de sécuritéchar

hérité de portal.mixin

access_urlURl d'accès au portail

URl du portail client

char
calculé

hérité de portal.mixin

access_warningAvertissement d'accèstext
calculé

hérité de portal.mixin

activity_calendar_event_idActivité suivante de l'événement du calendriermany2one
calculé

hérité de mail.activity.mixin

activity_date_deadlineDate limite de l'activité à venirdate
lecture seulecalculé

hérité de mail.activity.mixin

activity_exception_decorationIndicateur d’exception d’activité

Type d'activité d'exception enregistrée.

selection
calculé

Valeurs : warning (Alerte), danger (Erreur)

hérité de mail.activity.mixin

activity_exception_iconIcône

Icône pour indiquer une activité d'exception.

char
calculé

hérité de mail.activity.mixin

activity_idsActivitésone2many

inverse : res_id

hérité de mail.activity.mixin

activity_stateStatut de l'activité

Status based on activities Overdue: Due date is already passed Today: Activity date is today Planned: Future activities.

selection
calculé

Valeurs : overdue (En retard), today (Aujourd'hui), planned (Planifié)

hérité de mail.activity.mixin

activity_summaryRésumé de l'activité suivantechar

related : activity_ids.summary

hérité de mail.activity.mixin

activity_type_iconIcône de type d'activitéchar

related : activity_ids.icon

hérité de mail.activity.mixin

activity_type_idType d'activités à venirmany2one

related : activity_ids.activity_type_id

hérité de mail.activity.mixin

activity_user_idUtilisateur responsablemany2one
lecture seulecalculé

hérité de mail.activity.mixin

has_messageA un messageboolean
calculé

hérité de mail.thread

message_attachment_countNombre de pièces jointesinteger
calculé

hérité de mail.thread

message_follower_idsAbonnésone2many

inverse : res_id

hérité de mail.thread

message_has_errorErreur d'envoi du message

Si coché, certains messages ont une erreur de livraison.

boolean
calculé

hérité de mail.thread

message_has_error_counterNombre d'erreurs

Nombre de messages avec des erreurs d'envoi

integer
calculé

hérité de mail.thread

message_has_sms_errorErreur d'envoi SMS

Si coché, certains messages ont une erreur de livraison.

boolean
calculé

hérité de mail.thread

message_idsMessagesone2many

inverse : res_id

hérité de mail.thread

message_is_followerEst un abonnéboolean
calculé

hérité de mail.thread

message_needactionNécessite une action

Si coché, de nouveaux messages demandent votre attention.

boolean
calculé

hérité de mail.thread

message_needaction_counterNombre d'actions

Nombre de messages nécessitant une action

integer
calculé

hérité de mail.thread

message_partner_idsAbonnés (Partenaires)many2many
calculé

hérité de mail.thread

my_activity_date_deadlineÉchéance de mon activitédate
lecture seulecalculé

hérité de mail.activity.mixin

rating_idsÉvaluationsone2many

inverse : res_id

hérité de mail.thread

website_message_idsMessages du site web

Historique de communication du site web

one2many

inverse : res_id

hérité de mail.thread

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/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: votre-base" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["name","company_id","currency_id","date_order","partner_id"],"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/search_read",
    headers=headers,
    json={"domain": [], "fields": ["name","company_id","currency_id","date_order","partner_id"], "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">purchase.order (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.