Odoo 20.0 Community · Persistente

purchase.order: campos, relaciones y API

El modelo purchase.order («Pedido de compra») es un modelo persistente declarado por el módulo Compra y ampliado por 15 módulos más. Expone 107 campos, 74 de ellos declarados directamente en el modelo; 14 campos de otros modelos apuntan a él. A continuación encontrará cada campo con su nombre técnico, tipo, etiqueta en español y relaciones, y un ejemplo de llamada a la API JSON-2 de Odoo 20.

Ficha de identidad

Nombre técnico
purchase.order
Etiqueta
Pedido de compra
Tipo
Persistente (models.Model)
Tabla SQL
purchase_order
Módulo de origen
Compra (purchase)
Ampliado por
purchase_stock, sale_purchase, sale_purchase_stock, stock_dropshipping, mrp_subcontracting_dropshipping, purchase_mrp, mrp_subcontracting_purchase, project_purchase, purchase_alternative, purchase_alternative_stock, purchase_edi_ubl_bis3, purchase_product_matrix, purchase_repair, purchase_requisition, purchase_requisition_stock
Orden por defecto (_order)
priority desc, id desc
Hereda de (mixins)
portal.mixinproduct.catalog.mixinmail.threadmail.activity.mixinaccount.document.import.mixin

Campos del modelo

74 campos propios, 27 heredados de mixins y 6 campos automáticos del ORM. Haga clic en un nombre para obtener el enlace directo al campo.

107 de 107 campos mostrados

Nombre técnicoEtiquetaTipoDetalles
acknowledgedReconocido

Indica que el proveedor ha confirmado la recepción del pedido de compra.

boolean
alternative_po_idsAlternative POs

Other potential purchase orders for purchasing products

one2many

related: purchase_group_id.order_ids

añadido por Purchase Alternative (purchase_alternative)

amount_taxImpuestosmonetary
solo lecturacalculado, almacenado
amount_totalTotalmonetary
solo lecturacalculado, almacenado
amount_total_ccTotal en monedamonetary
solo lecturacalculado, almacenado
amount_untaxedImporte basemonetary
solo lecturacalculado, almacenado
bill_matched_ratioBill Matched Ratiofloat
calculado
company_currency_idMoneda de la empresamany2one

related: company_id.currency_id

company_idCompañíamany2one
obligatorio
company_price_includeCompany Price Includeselection

related: company_id.account_price_include

country_codeCódigo del paíschar

related: company_id.account_fiscal_country_id.code

currency_idMonedamany2one
obligatoriocalculado, almacenado
currency_rateTipo de cambiofloat
calculado, almacenado
date_approveFecha del pedidodatetime
solo lectura
date_calendar_startFecha de inicio del calendariodatetime
solo lecturacalculado, almacenado
date_orderFecha límite del pedido

Representa la fecha en la que la solicitud de presupuesto debe validarse y convertirse en un pedido de compra.

datetime
obligatorio
date_plannedLlegada prevista

Expected delivery date of goods by the vendor based on the latest information

datetime
calculado, almacenado
date_promisedPromised Date

Date promised by the vendor for at least 1 or more products to be delivered by.

datetime
calculado, almacenado

añadido por Purchase Stock (purchase_stock)

default_location_dest_id_is_subcontracting_locLa ubicación de destino predeterminada es una ubicación de subcontrataciónboolean
calculado

añadido por Dropship and Subcontracting Management (mrp_subcontracting_dropshipping)

default_location_dest_id_usageTipo de ubicación de destino

Campo técnico utilizado para mostrar la dirección de Dropshipping

selection
solo lectura

related: picking_type_id.default_location_dest_id.usage

añadido por Purchase Stock (purchase_stock)

dest_address_idDirección de Dropshipping

Ponga una dirección si desea entregar directamente desde el proveedor al cliente. De lo contrario, mantenga vacía para entregar a su propia compañía.

many2one
calculado, almacenado
document_tax_modeModo de impuestos del documentoselection
obligatoriocalculado, almacenado

Valores: tax_excluded (Impuestos no incluidos), tax_included (Impuestos incluidos)

dropship_picking_countNúmero de dropshippingsinteger
calculado

añadido por Drop Shipping (stock_dropshipping)

duplicated_order_idsPedido duplicadomany2many
calculado
effective_dateLlegada

Completion date of the last receipt order.

datetime
calculado, almacenado

añadido por Purchase Stock (purchase_stock)

fiscal_position_idPosición fiscalmany2one
gridCuadrícula

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

char

añadido por Purchase Matrix (purchase_product_matrix)

grid_product_tmpl_idPlantilla de cuadrícula del producto

Campo técnico para las funcionalidades de product_matrix.

many2one

añadido por Purchase Matrix (purchase_product_matrix)

grid_updateActualización de la cuadrícula

Si el campo de cuadrícula contiene una nueva matriz para aplicar o no.

boolean

añadido por Purchase Matrix (purchase_product_matrix)

has_sale_orderCampo técnico para determinar si el pedido de compra tiene pedidos de venta asociadosboolean
calculado

añadido por Sale Purchase (sale_purchase)

incoming_picking_countNúmero de envíos entrantesinteger
calculado

añadido por Purchase Stock (purchase_stock)

incoterm_idIncoterm

Los términos de comercio internacional son una serie de condiciones comerciales usadas en las transacciones internacionales.

many2one
calculado, almacenado
incoterm_locationUbicación del Incotermchar
calculado, almacenado
invoice_countNúmero de facturasinteger
calculado, almacenado
invoice_idsFacturasmany2many
calculado, almacenado
invoice_statusEstado de facturaciónselection
solo lecturacalculado, almacenado

Valores: no (Nada a facturar), to invoice (Facturas en espera), invoiced (Totalmente facturado)

is_lateEs tardeboolean
is_shippedEstá enviadoboolean
calculado

añadido por Purchase Stock (purchase_stock)

lock_confirmed_poLock Confirmed Poselection

related: company_id.po_lock

lockedBloqueado

No puede modificar los pedidos de compra bloqueados.

boolean
mrp_production_countNúmero de fuentes de órdenes de fabricacióninteger
calculado

añadido por Purchase and MRP Management (purchase_mrp)

nameReferencia del pedidochar
obligatorio
noteTérminos y condicioneshtml
on_time_rateOn Time Ratefloat

related: partner_id.on_time_rate

añadido por Purchase Stock (purchase_stock)

on_time_rate_percEntrega a tiempofloat
calculado

añadido por Purchase Alternative Stock (purchase_alternative_stock)

order_lineLíneas del pedidoone2many

inverso: order_id

originOrigen

Referencia del documento que generó esta solicitud de pedido de compra (por ejemplo, un pedido de venta)

char
partner_bill_countPartner Bill Countinteger

related: partner_id.supplier_invoice_count

partner_idProveedor

Puede encontrar un proveedor por su nombre, NIF, correo electrónico o referencia interna.

many2one
obligatorio
partner_refReferencia de proveedor

Referencia del pedido de venta o la oferta que envió el proveedor. Se utiliza para conciliar inventario al recibir los productos, ya que esta referencia se suele incluir en la nota de entrega que le envía su proveedor.

char
payment_term_idCondiciones de pagomany2one
picking_idsRecepcionesmany2many
calculado, almacenado

añadido por Purchase Stock (purchase_stock)

picking_type_idEntregar a

Esto determinará el tipo de operación del envío entrante

many2one
obligatorio

añadido por Purchase Stock (purchase_stock)

priorityPrioridadselection

Valores: 0 (Normal), 1 (Urgente)

product_idProductomany2one

related: order_line.product_id

project_idProyectomany2one

añadido por Project Purchase (project_purchase)

purchase_group_idPurchase Groupmany2one

añadido por Purchase Alternative (purchase_alternative)

purchase_warning_textAdvertencia de compra

Advertencia interna para el contacto o los productos según lo establecido por el usuario.

text
calculado
receipt_reminder_emailRecordatorio de reciboboolean
calculado, almacenado
receipt_statusReceipt Statusselection
calculado, almacenado

Valores: pending (No recibido), partial (Partially Received), full (Fully Received)

reference_idsReferenciasmany2many

añadido por Purchase Stock (purchase_stock)

reminder_date_before_receiptDías antes de la recepcióninteger
calculado, almacenado
repair_countNúmero de reparaciones de origeninteger
calculado

añadido por Purchase Repair (purchase_repair)

requisition_idAcuerdomany2one

añadido por Acuerdos de compra (purchase_requisition)

requisition_typeRequisition Typeselection

related: requisition_id.requisition_type

añadido por Acuerdos de compra (purchase_requisition)

sale_order_countNúmero de venta de origeninteger
calculado

añadido por Sale Purchase (sale_purchase)

show_comparisonMostrar comparaciónboolean
calculado
show_receive_buttonShow Receive Buttonboolean
calculado
stateEstadoselection
solo lectura

Valores: draft (SdP), sent (SdP enviada), to approve (A aprobar), purchase (Pedido de compra), cancel (Cancelado)

subcontracting_resupply_picking_countNúmero de reabastecimientos por subcontratación

Número de reabastecimientos por subcontratación por componente

integer
calculado

añadido por Purchase and Subcontracting Management (mrp_subcontracting_purchase)

tax_calculation_rounding_methodMétodo de redondeo al calcular impuestosselection
solo lectura

related: company_id.tax_calculation_rounding_method

tax_country_idImpuesto del país

Campo técnico para filtrar los impuestos disponibles que dependen del país fiscal y la posición fiscal.

many2one
calculado
tax_totalsTotal de impuestosjson
calculado
user_idCompradormany2one
access_tokenToken de seguridadchar

heredado de portal.mixin

access_urlURL de acceso al portal

URL del portal de cliente

char
calculado

heredado de portal.mixin

access_warningAdvertencia de accesotext
calculado

heredado de portal.mixin

activity_calendar_event_idSiguiente evento en el calendario de actividades.many2one
calculado

heredado de mail.activity.mixin

activity_date_deadlineFecha límite de la siguiente actividaddate
solo lecturacalculado

heredado de mail.activity.mixin

activity_exception_decorationDecoración de Actividad de Excepción

Tipo de actividad de excepción en el registro.

selection
calculado

Valores: warning (Alerta), danger (Error)

heredado de mail.activity.mixin

activity_exception_iconIcono

Icono para indicar una actividad de excepción.

char
calculado

heredado de mail.activity.mixin

activity_idsActividadesone2many

inverso: res_id

heredado de mail.activity.mixin

activity_plans_idsPlanes de actividadesmany2many
calculado

heredado de mail.activity.mixin

activity_stateEstado de la actividad

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

selection
calculado

Valores: overdue (De retraso), today (Hoy), planned (Planificado)

heredado de mail.activity.mixin

activity_summaryResumen de la siguiente actividadchar

related: activity_ids.summary

heredado de mail.activity.mixin

activity_type_iconIcono de tipo de actividadchar

related: activity_ids.icon

heredado de mail.activity.mixin

activity_type_idTipo de la siguiente actividadmany2one

related: activity_ids.activity_type_id

heredado de mail.activity.mixin

activity_user_idUsuario responsablemany2one
solo lecturacalculado

heredado de mail.activity.mixin

has_messageTiene un mensajeboolean
calculado

heredado de mail.thread

message_attachment_countNúmero de archivos adjuntosinteger
calculado

heredado de mail.thread

message_follower_idsSeguidoresone2many

inverso: res_id

heredado de mail.thread

message_has_errorError de envío de mensaje

Si está marcada, algunos mensajes tienen error de envío.

boolean
calculado

heredado de mail.thread

message_has_error_counterNúmero de errores

Número de mensajes con error de envío

integer
calculado

heredado de mail.thread

message_has_sms_errorError de envío del SMS

Si está marcada, algunos mensajes tienen error de envío.

boolean
calculado

heredado de mail.thread

message_idsMensajesone2many

inverso: res_id

heredado de mail.thread

message_is_followerEs un seguidorboolean
calculado

heredado de mail.thread

message_needactionAcción requerida

Si está marcada, hay nuevos mensajes que requieren su atención.

boolean
calculado

heredado de mail.thread

message_needaction_counterNúmero de acciones

Número de mensajes que requieren una acción

integer
calculado

heredado de mail.thread

message_partner_idsSeguidores (Contactos)many2many
calculado

heredado de mail.thread

my_activity_date_deadlineFecha límite de mi actividaddate
solo lecturacalculado

heredado de mail.activity.mixin

rating_idsCalificacionesone2many

inverso: res_id

heredado de mail.thread

create_dateCreado eldatetime
solo lecturaautomático
create_uidCreado pormany2one
solo lecturaautomático
display_nameNombre mostradochar
solo lecturacalculadoautomático
idIDinteger
solo lecturaautomático
write_dateÚltima actualización eldatetime
solo lecturaautomático
write_uidÚltima actualización pormany2one
solo lecturaautomático

Relaciones

Modelos enlazados desde este modelo

Campos de otros modelos que apuntan aquí

Leer este modelo por la API

Ejemplo de llamada a la API JSON-2 de Odoo 20: lectura de los cinco primeros registros con campos reales del modelo. Sustituya la instancia, la base y la clave API por las suyas.

curl
curl -X POST "https://su-instancia.odoo.com/json/2/purchase.order/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: su-base" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["name","company_id","currency_id","date_order","document_tax_mode"],"limit":5}'
Python (requests)
import requests

BASE_URL = "https://su-instancia.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "su-base"}

res = requests.post(
    f"{BASE_URL}/purchase.order/search_read",
    headers=headers,
    json={"domain": [], "fields": ["name","company_id","currency_id","date_order","document_tax_mode"], "limit": 5},
)
res.raise_for_status()
print(res.json())
  • El acceso a la API externa está reservado al plan Custom de Odoo.
  • XML-RPC y JSON-RPC se retirarán en Odoo 22 (otoño de 2028): use JSON-2.
  • Se aplican los permisos de acceso y las reglas de registro del usuario de la clave.

Citar esta herramienta

¿Escribe un tutorial, una documentación interna o una respuesta en un foro? Copie este enlace para dirigir a sus lectores a la ficha actualizada.

<a href="https://aidoo.ai/es/outils/explorateur-modeles-odoo/purchase-order">purchase.order (Odoo 20.0)</a>

Fuentes

Datos verificados el 25 de septiembre de 2026 · Odoo 20.0 Community

¿Tiene un proyecto Odoo o quiere aprovechar su ERP con la IA? Hablemos

Implantación, desarrollo de módulos, conexión de Claude o ChatGPT a sus datos: cuéntenos su contexto y le responderemos en 24 horas laborables.