Odoo 19.0 Community · Persistente

sale.order: campos, relaciones y API

El modelo sale.order («Pedido de venta») es un modelo persistente declarado por el módulo Ventas y ampliado por 36 módulos más. Expone 175 campos, 143 de ellos declarados directamente en el modelo; 31 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 19.

Ficha de identidad

Nombre técnico
sale.order
Etiqueta
Pedido de venta
Tipo
Persistente (models.Model)
Tabla SQL
sale_order
Módulo de origen
Ventas (sale)
Ampliado por
delivery, sale_stock, stock_delivery, delivery_mondialrelay, sale_management, event_sale, event_booth_sale, sale_crm, mass_mailing_sale, repair, sale_purchase, sale_purchase_stock, stock_dropshipping, partnership, pos_sale, sale_margin, sale_mrp, sale_project, sale_expense, sale_edi_ubl, sale_gelato, sale_loyalty, sale_loyalty_delivery, sale_pdf_quote_builder, sale_product_matrix, sale_timesheet, website_sale, website_sale_slides, website_event_booth_sale, website_event_sale, website_sale_stock, website_sale_collect, website_sale_gelato, website_sale_loyalty, website_sale_mondialrelay, website_sale_mrp
Orden por defecto (_order)
date_order desc, id desc
Hereda de (mixins)
portal.mixinproduct.catalog.mixinmail.threadmail.activity.mixinutm.mixinaccount.document.import.mixinpos.load.mixin

Campos del modelo

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

175 de 175 campos mostrados

Nombre técnicoEtiquetaTipoDetalles
amount_deliveryGastos de envío

Impuestos incluidos o excluidos en función de la configuración del sitio web.

monetary
calculado

añadido por Comercio electrónico (website_sale)

amount_invoicedYa facturadomonetary
calculado
amount_paidImporte de las transacciones de pago

La suma de las transacciones realizadas con el formulario del método de pago en línea que están en estado "hecho" o "autorizado" y vinculadas a este pedido.

float
calculado
amount_taxImpuestosmonetary
calculado, almacenado
amount_to_invoiceSaldo no facturadomonetary
calculado
amount_totalTotalmonetary
calculado, almacenado
amount_undiscountedImporte antes del descuentofloat
calculado
amount_unpaidImporte a pagar en el TPV

Importe restante a pagar en el TPV para evitar el doble pago o la doble facturación.

monetary
calculado, almacenado

añadido por TPV - Ventas (pos_sale)

amount_untaxedImporte basemonetary
calculado, almacenado
applied_coupon_idsCupones aplicados manualmentemany2many

añadido por Ventas fidelidad (sale_loyalty)

assigned_grade_idNivel asignadomany2one
calculado

añadido por Asociación / Afiliación (partnership)

attendee_countNúmero de asistentesinteger
calculado

añadido por Ventas de eventos (event_sale)

authorized_transaction_idsTransacciones autorizadasmany2many
calculado
available_quotation_document_idsDocumentos de presupuesto disponiblesmany2many
calculado

añadido por Creador de presupuesto en PDF para Ventas (sale_pdf_quote_builder)

campaign_idCampañamany2one
carrier_idMétodo de envío

Complete este campo si facturará el envío basado en el albarán de la preparación de pedidos.

many2one

añadido por Gastos de envío (delivery)

cart_quantityCantidad en la cestainteger
calculado

añadido por Comercio electrónico (website_sale)

cart_recovery_email_sentCorreo electrónico de recuperación de cesta ya enviadoboolean

añadido por Comercio electrónico (website_sale)

client_order_refReferencia del clientechar
closed_task_countClosed Task Countinteger
calculado

añadido por Ventas - Proyecto (sale_project)

code_enabled_rule_idsReglas activadas manualmentemany2many

añadido por Ventas fidelidad (sale_loyalty)

commitment_dateFecha de entrega

Es la fecha de entrega prometida al cliente. Si se establece, la orden de entrega se programará en función de esta fecha en lugar de los plazos de entrega del producto.

datetime
company_idCompañíamany2one
obligatorio
company_price_includeCompany Price Includeselection

related: company_id.account_price_include

completed_task_percentageCompleted Task Percentagefloat
calculado

añadido por Ventas - Proyecto (sale_project)

country_codeCódigo del paíschar

related: company_id.account_fiscal_country_id.code

coupon_point_idsPunto de cupónone2many

inverso: order_id

añadido por Ventas fidelidad (sale_loyalty)

create_dateFecha de creacióndatetime
solo lectura
currency_idMonedamany2one
calculado, almacenado
currency_rateTipo de cambiofloat
calculado, almacenado
customizable_pdf_form_fieldsCampos de formulario en PDF personalizablesjson

añadido por Creador de presupuesto en PDF para Ventas (sale_pdf_quote_builder)

date_orderFecha de pedido

Creation date of draft/sent orders, Confirmation date of confirmed orders.

datetime
obligatorio
delivery_countÓrdenes de entregainteger
calculado

añadido por Gestión de Ventas y Almacén (sale_stock)

delivery_messageMensaje de entregachar
solo lectura

añadido por Gastos de envío (delivery)

delivery_setEntrega establecidaboolean
calculado

añadido por Gastos de envío (delivery)

delivery_statusEstado de la entrega

Blue: Not Delivered/Started Orange: Partially Delivered Green: Fully Delivered

selection
calculado, almacenado

Valores: pending (No entregado), started (Iniciado), partial (Parcialmente entregado), full (Completamente entregado)

añadido por Gestión de Ventas y Almacén (sale_stock)

disabled_auto_rewardsRecompensas automáticas deshabilitadasmany2many

añadido por Cupones, promociones, tarjetas de regalo y programa de fidelización para comercio electrónico (website_sale_loyalty)

dropship_picking_countNúmero de dropshippingsinteger
calculado

añadido por Dropshipping (stock_dropshipping)

duplicated_order_idsPedido duplicadomany2many
calculado
effective_dateFecha efectiva

Fecha de finalización de la primera orden de entrega.

datetime
calculado, almacenado

añadido por Gestión de Ventas y Almacén (sale_stock)

event_booth_countNúmero de estandsinteger
calculado

añadido por Ventas de estands de eventos (event_booth_sale)

event_booth_idsEstandsone2many

inverso: sale_order_id

añadido por Ventas de estands de eventos (event_booth_sale)

expected_dateFecha prevista

Fecha de entrega que puede prometer al cliente, en el caso de los productos de servicio, se calcula a partir del plazo mínimo de las líneas del pedido. En el caso de los envíos, se tendrá en cuenta la política de envíos del pedido para utilizar el plazo mínimo o máximo de las líneas del mismo.

datetime
calculado
expense_countN.° de gastosinteger
calculado

añadido por Gastos de ventas (sale_expense)

expense_idsGastosone2many
solo lectura

inverso: sale_order_id

añadido por Gastos de ventas (sale_expense)

fiscal_position_idPosición fiscal

Las posiciones fiscales se utilizan para adaptar impuestos y cuentas para clientes particulares o pedidos de venta/facturas. El valor por defecto proviene del cliente.

many2one
calculado, almacenado
gift_card_countNúmero de tarjetas de regalointeger
calculado

añadido por Ventas fidelidad (sale_loyalty)

gridAlmacenamiento local de matriz

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

char

añadido por Matriz de ventas (sale_product_matrix)

grid_product_tmpl_idPlantilla de cuadrícula del productomany2one

añadido por Matriz de ventas (sale_product_matrix)

grid_updateActualización de la cuadrículaboolean

añadido por Matriz de ventas (sale_product_matrix)

has_active_pricelistTiene una lista de precios activaboolean
calculado
has_archived_productsTiene productos archivadosboolean
calculado
has_authorized_transaction_idsTiene transacciones autorizadasboolean
calculado
incotermIncoterm

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

many2one

añadido por Gestión de Ventas y Almacén (sale_stock)

incoterm_locationUbicación del Incotermchar

añadido por Gestión de Ventas y Almacén (sale_stock)

invoice_countNúmero de facturasinteger
calculado
invoice_idsFacturasmany2many
calculado
invoice_statusEstado de la facturaselection
calculado, almacenado

Valores: upselling (Oportunidad de venta adicional), invoiced (Completamente facturado), to invoice (A facturar), no (Nada que facturar)

is_abandoned_cartCesta abandonadaboolean
calculado

añadido por Comercio electrónico (website_sale)

is_all_serviceProducto de servicioboolean
calculado

añadido por Gastos de envío (delivery)

is_expiredEstá vencidoboolean
calculado
is_pdf_quote_builder_available¿Está disponible el creador de presupuestos en PDF?boolean
calculado

añadido por Creador de presupuesto en PDF para Ventas (sale_pdf_quote_builder)

is_product_milestoneIs Product Milestoneboolean
calculado

añadido por Ventas - Proyecto (sale_project)

journal_idDiario de factura

Si se establece, los pedidos de venta se facturarán en este diario. De lo contrario, se utilizará el diario de ventas con la secuencia más baja.

many2one
calculado, almacenado
json_popoverDatos JSON para el widget de ventana emergentechar
calculado

añadido por Gestión de Ventas y Almacén (sale_stock)

late_availabilityDisponibilidad tardía

True si alguna operación de picking relacionada tiene disponibilidad tardía

boolean
calculado

añadido por Gestión de Ventas y Almacén (sale_stock)

lockedBloqueado

No se pueden modificar los pedidos bloqueados.

boolean
loyalty_dataDatos de fidelidadjson
calculado

añadido por Ventas fidelidad (sale_loyalty)

marginMargenmonetary
calculado, almacenado

añadido por Márgenes en pedidos de venta (sale_margin)

margin_percentMargen (%)float
calculado, almacenado

añadido por Márgenes en pedidos de venta (sale_margin)

medium_idMediomany2one
milestone_countMilestone Countinteger
calculado

añadido por Ventas - Proyecto (sale_project)

mrp_production_countNúmero de órdenes de fabricación generadasinteger
calculado

añadido por Gestión de Ventas y MRP (sale_mrp)

mrp_production_idsÓrdenes de fabricación vinculadas a este pedido de venta.many2many
calculado

añadido por Gestión de Ventas y MRP (sale_mrp)

nameReferencia del pedidochar
obligatorio
noteTérminos y condicioneshtml
calculado, almacenado
only_servicesSolo serviciosboolean
calculado

añadido por Comercio electrónico (website_sale)

opportunity_idOportunidadmany2one

añadido por Oportunidad a presupuesto (sale_crm)

order_lineLíneas del pedidoone2many

inverso: order_id

originDocumento de origen

Referencia del documento que generó esta solicitud de pedido de venta

char
partner_credit_warningAdvertencia de crédito del contactotext
calculado
partner_idClientemany2one
obligatorio
partner_invoice_idDirección de facturaciónmany2one
obligatoriocalculado, almacenado
partner_shipping_idDirección de entregamany2one
obligatoriocalculado, almacenado
payment_term_idCondiciones de pagomany2one
calculado, almacenado
pending_email_template_idPlantilla de correo electrónico pendientemany2one
solo lectura
picking_idsTrasladosone2many

inverso: sale_id

añadido por Gestión de Ventas y Almacén (sale_stock)

picking_policyPolítica de envío

Si entregas todos los productos a la vez, el albarán se programará teniendo en cuenta el plazo de entrega más largo. De lo contrario, se programará según el más corto.

selection
obligatorio

Valores: direct (Lo antes posible), one (Cuando todos los productos estén listos)

añadido por Gestión de Ventas y Almacén (sale_stock)

pickup_location_dataInformación de ubicación de recogidajson

añadido por Gastos de envío (delivery)

pos_order_countNº de pedidos de TPVinteger
solo lecturacalculado

añadido por TPV - Ventas (pos_sale)

pos_order_line_idsLíneas de pedido que se transfirieron al punto de ventaone2many
solo lectura

inverso: sale_order_origin_id

añadido por TPV - Ventas (pos_sale)

preferred_payment_method_line_idMétodo de pagomany2one
calculado, almacenado
prepayment_percentPorcentaje de pago anticipado

El porcentaje del importe que el cliente debe pagar para confirmar el pedido.

float
calculado, almacenado
pricelist_idLista de precios

Si modifica la lista de precios, solo afectará a las nuevas líneas que añadió.

many2one
calculado, almacenado
project_account_idCuenta del proyectomany2one

related: project_id.account_id

añadido por Ventas - Proyecto (sale_project)

project_countNumber of Projectsinteger
calculado

añadido por Ventas - Proyecto (sale_project)

project_idProyecto

Se creará una tarea para el proyecto al confirmar el pedido de venta. La distribución analítica de este proyecto también servirá como referencia para los nuevos artículos del pedido de venta.

many2one

añadido por Ventas - Proyecto (sale_project)

project_idsProyectosmany2many
calculado

añadido por Ventas - Proyecto (sale_project)

purchase_order_countNúmero de pedidos de compra generadasinteger
calculado

añadido por Venta y compra (sale_purchase)

quotation_document_idsEncabezados/pies de páginamany2many

añadido por Creador de presupuesto en PDF para Ventas (sale_pdf_quote_builder)

recompute_delivery_priceEl coste de envío debería ser recalculadoboolean

añadido por Gastos de envío (delivery)

referenceRef. de pago

La referencia de pago de este pedido de venta.

char
repair_countÓrdenes de reparacióninteger
calculado

añadido por Reparaciones (repair)

repair_order_idsOrden de reparaciónone2many

inverso: sale_order_id

añadido por Reparaciones (repair)

report_gridsImprimir cuadrículas de variantesboolean

añadido por Matriz de ventas (sale_product_matrix)

require_paymentPago en línea

Solicite al cliente que pague en línea para confirmar el pedido.

boolean
calculado, almacenado
require_signatureFirma en línea

Solicite al cliente que firme en línea para confirmar el pedido.

boolean
calculado, almacenado
reward_amountImporte de la recompensafloat
calculado

añadido por Ventas fidelidad (sale_loyalty)

sale_order_template_idPlantilla de presupuestomany2one
calculado, almacenado

añadido por Ventas (sale_management)

sale_warning_textAdvertencia de venta

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

text
calculado
shipping_weightPeso del envíofloat
calculado, almacenado

añadido por Gastos de envío (delivery)

shop_warningAdvertenciachar

añadido por Comercio electrónico (website_sale)

show_create_project_buttonShow Create Project Buttonboolean
calculado

añadido por Ventas - Proyecto (sale_project)

show_hours_recorded_buttonShow Hours Recorded Buttonboolean
calculado

añadido por Partes de horas en ventas (sale_timesheet)

show_json_popoverPreparación de stock retrasadaboolean
calculado

añadido por Gestión de Ventas y Almacén (sale_stock)

show_project_buttonShow Project Buttonboolean
calculado

añadido por Ventas - Proyecto (sale_project)

show_update_fposHa cambiado la posición fiscalboolean
show_update_pricelistHa cambiado la lista de preciosboolean
signatureFirmaimage
signed_byFirmada porchar
signed_onFirmado eldatetime
source_idOrigenmany2one
stateEstadoselection
solo lectura

Valores: draft (Presupuesto), sent (Presupuesto enviado), sale (Pedido de venta), cancel (Cancelado)

stock_reference_idsReferenciasmany2many

añadido por Gestión de Ventas y Almacén (sale_stock)

tag_idsEtiquetasmany2many
tasks_countTareasinteger
calculado

añadido por Ventas - Proyecto (sale_project)

tasks_idsTasks associated with this salemany2many
calculado

añadido por Ventas - Proyecto (sale_project)

tax_calculation_rounding_methodMétodo de redondeo del cálculo de impuestosselection

related: company_id.tax_calculation_rounding_method

tax_country_idImpuesto del paísmany2one
calculado
tax_totalsTotal de impuestosbinary
calculado
team_idEquipo de ventasmany2one
calculado, almacenado
terms_typeTerms Typeselection

related: company_id.terms_type

timesheet_countTimesheet activitiesfloat
calculado

añadido por Partes de horas en ventas (sale_timesheet)

timesheet_encode_uom_idTimesheet Encode Uommany2one

related: company_id.timesheet_encode_uom_id

añadido por Partes de horas en ventas (sale_timesheet)

timesheet_total_durationDuración total de los partes de horas

Duración total registrada, expresada en la codificación UdM, y redondeada a la unidad

integer
calculado

añadido por Partes de horas en ventas (sale_timesheet)

transaction_idsTransaccionesmany2many
solo lectura
type_nameNombre del tipochar
calculado
user_idComercialmany2one
calculado, almacenado
validity_dateVencimiento

Validity of the quotation. After this date, you will no longer be able to sign and pay it.

date
calculado, almacenado
visible_projectDisplay projectboolean
solo lecturacalculado

añadido por Ventas - Proyecto (sale_project)

warehouse_idAlmacénmany2one
calculado, almacenado

añadido por Gestión de Ventas y Almacén (sale_stock)

website_idSitio web

Sitio web mediante el cual se realizó este pedido para los pedidos de comercio electrónico.

many2one
solo lectura

añadido por Comercio electrónico (website_sale)

website_order_lineLíneas de pedido mostradas en el sitio webone2many
calculado

añadido por Comercio electrónico (website_sale)

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_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

website_message_idsMensajes del sitio web

Historial de comunicación del sitio web

one2many

inverso: res_id

heredado de mail.thread

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 19: 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/sale.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","date_order","partner_id","partner_invoice_id"],"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}/sale.order/search_read",
    headers=headers,
    json={"domain": [], "fields": ["name","company_id","date_order","partner_id","partner_invoice_id"], "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/sale-order">sale.order (Odoo 19.0)</a>

Fuentes

Datos verificados el 23 de septiembre de 2026 · Odoo 19.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.