Odoo 20.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 188 campos, 154 de ellos declarados directamente en el modelo; 35 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
sale.order
Etiqueta
Pedido de venta
Tipo
Persistente (models.Model)
Tabla SQL
sale_order
Módulo de origen
Ventas (sale)
Ampliado por
sale_management, sale_project, crm_sale_project, delivery, event_sale, event_booth_sale, sale_crm, mass_mailing_sale, sale_stock, stock_delivery, repair, sale_purchase, sale_purchase_stock, stock_dropshipping, partnership, pos_sale, sale_margin, pos_sale_stock, sale_mrp, 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_mrp
Orden por defecto (_order)
date_order desc, id desc
Hereda de (mixins)
account.document.import.mixinmail.activity.mixinmail.thread.subject.suggestedportal.mixinproduct.catalog.mixinutm.mixinpos.load.mixinwebsite.checkout.alert.mixin

Campos del modelo

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

188 de 188 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_unpaidAmount Remaining

Amount left to pay to avoid double payment or double invoicing.

monetary
calculado, almacenado
amount_untaxedImporte basemonetary
calculado, almacenado
analytic_account_idCuenta analíticamany2one
applied_coupon_idsCupones aplicados manualmentemany2many

añadido por Sale Loyalty (sale_loyalty)

assigned_grade_idNivel asignadomany2one
calculado

añadido por Partnership / Membership (partnership)

assigned_website_idSitio webmany2one
calculado, almacenado

añadido por Comercio electrónico (website_sale)

attendee_countNúmero de asistentesinteger
calculado

añadido por Events Sales (event_sale)

authorized_transaction_idsTransacciones autorizadasmany2many
calculado
available_quotation_document_idsDocumentos de presupuesto disponiblesmany2many
calculado

añadido por Sales PDF Quotation Builder (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 Delivery Costs (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 Sales - Project (sale_project)

code_enabled_rule_idsReglas activadas manualmentemany2many

añadido por Sale Loyalty (sale_loyalty)

commitment_dateEntrega prometida

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 Sales - Project (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 Sale Loyalty (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 Sales PDF Quotation Builder (sale_pdf_quote_builder)

date_orderFecha del pedido

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

datetime
obligatorio
delivery_countÓrdenes de entregainteger
calculado

añadido por Sales and Warehouse Management (sale_stock)

delivery_dateFecha de entregadatetime
calculado
delivery_messageMensaje de entregachar
solo lectura

añadido por Delivery Costs (delivery)

delivery_setEntrega establecidaboolean
calculado

añadido por Delivery Costs (delivery)

delivery_statusEstado de la entrega

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

selection
calculado, almacenado

Valores: pending (No entregado), started (Started), partial (Partially Delivered), full (Fully Delivered)

delivery_typeDelivery Typeselection

related: carrier_id.delivery_type

añadido por Clic y recoger (website_sale_collect)

disabled_auto_rewardsRecompensas automáticas deshabilitadasmany2many

añadido por Coupons, Promotions, Gift Card and Loyalty for eCommerce (website_sale_loyalty)

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_dateFecha efectiva

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

datetime
calculado, almacenado

añadido por Sales and Warehouse Management (sale_stock)

event_booth_countNúmero de estandsinteger
calculado

añadido por Events Booths Sales (event_booth_sale)

event_booth_idsEstandsone2many

inverso: sale_order_id

añadido por Events Booths Sales (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 Sales Expense (sale_expense)

expense_idsGastosone2many
solo lectura

inverso: sale_order_id

añadido por Sales Expense (sale_expense)

extra_total_fieldsCampos adicionales del totaljson
calculado
fiscal_position_idPosición fiscal

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

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

añadido por Sale Loyalty (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 Sale Matrix (sale_product_matrix)

grid_product_tmpl_idPlantilla de cuadrícula del productomany2one

añadido por Sale Matrix (sale_product_matrix)

grid_updateActualización de la cuadrículaboolean

añadido por Sale Matrix (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
has_overagesHas Overagesboolean
calculado
incotermIncoterm

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
invoice_idsFacturasmany2many
calculado
invoice_overagesInvoice Overagesboolean
invoice_statusEstado de la facturaselection
calculado, almacenado

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

invoicing_closedManually Closed For Invoicing

If enabled, the order is considered fully invoiced regardless of lines.

boolean
is_abandoned_cartCesta abandonadaboolean
calculado

añadido por Comercio electrónico (website_sale)

is_all_serviceProducto de servicioboolean
calculado

añadido por Delivery Costs (delivery)

is_expiredEstá vencidoboolean
calculado
is_linked_to_expense_with_attachmentIs Linked To Expense With Attachmentboolean
calculado

añadido por Sales Expense (sale_expense)

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

añadido por Sales PDF Quotation Builder (sale_pdf_quote_builder)

is_pickup_requiredIs Pickup Requiredboolean

related: carrier_id.support_pickup_locations

añadido por Disponibilidad del producto (website_sale_stock)

is_product_milestoneIs Product Milestoneboolean
calculado

añadido por Sales - Project (sale_project)

is_rating_email_sentCorreo electrónico de valoración enviadoboolean

añadido por Comercio electrónico (website_sale)

is_unfulfilledUnfulfilled Ordersboolean
journal_idDiario

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 Sales and Warehouse Management (sale_stock)

late_availabilityDisponibilidad tardía

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

boolean
calculado

añadido por Sales and Warehouse Management (sale_stock)

lockedBloqueado

No se pueden modificar los pedidos bloqueados.

boolean
marginMargenmonetary
calculado, almacenado

añadido por Margins in Sales Orders (sale_margin)

margin_percentMargen (%)float
calculado, almacenado

añadido por Margins in Sales Orders (sale_margin)

medium_idMediomany2one
milestone_countMilestone Countinteger
calculado

añadido por Sales - Project (sale_project)

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

añadido por Sales and MRP Management (sale_mrp)

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

añadido por Sales and MRP Management (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 Opportunity to Quotation (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 Sales and Warehouse Management (sale_stock)

picking_policyPolítica de envío

Especifica si los artículos se entregan parcialmente o todos a la vez

selection
obligatorio

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

añadido por Sales and Warehouse Management (sale_stock)

pos_order_countNº de pedidos de TPVinteger
solo lecturacalculado

añadido por POS - Sales (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 POS - Sales (pos_sale)

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

The amount that must be paid by the customer to confirm the order.

monetary
calculado
prepayment_percentPrepayment

The percentage of the amount that must be paid by the customer to confirm the order.

float
calculado, almacenado
pricelist_idLista de precios

If you change the pricelist, the prices of all order lines will be updated accordingly.

many2one
calculado, almacenado
project_account_idCuenta del proyectomany2one

related: project_id.account_id

añadido por Sales - Project (sale_project)

project_countNumber of Projectsinteger
calculado

añadido por Sales - Project (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 Sales - Project (sale_project)

project_idsProyectosmany2many
calculado

añadido por Sales - Project (sale_project)

project_requiredProject Requiredboolean
calculado

añadido por Sales - Project (sale_project)

purchase_order_countNúmero de pedidos de compra generadasinteger
calculado

añadido por Sale Purchase (sale_purchase)

quotation_document_idsEncabezados/pies de páginamany2many

añadido por Sales PDF Quotation Builder (sale_pdf_quote_builder)

recompute_delivery_priceEl coste de envío debería ser recalculadoboolean

añadido por Delivery Costs (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 Sale Matrix (sale_product_matrix)

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 Sale Loyalty (sale_loyalty)

sale_order_template_idPlantillamany2one

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 Delivery Costs (delivery)

show_create_project_buttonShow Create Project Buttonboolean
calculado

añadido por Sales - Project (sale_project)

show_hours_recorded_buttonShow Hours Recorded Buttonboolean
calculado

añadido por Sales Timesheet (sale_timesheet)

show_json_popoverPreparación de stock retrasadaboolean
calculado

añadido por Sales and Warehouse Management (sale_stock)

show_project_buttonShow Project Buttonboolean
calculado

añadido por Sales - Project (sale_project)

show_ship_buttonShow Ship Buttonboolean
calculado
show_sol_numbersShow Sol Numbersboolean

related: company_id.show_sol_numbers

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 Sales and Warehouse Management (sale_stock)

tag_idsEtiquetasmany2many
tasks_countTareasinteger
calculado

añadido por Sales - Project (sale_project)

tasks_idsTasks associated with this salemany2many
calculado

añadido por Sales - Project (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 impuestosjson
calculado
team_idEquipo de ventasmany2one
calculado, almacenado
terms_typeTerms Typeselection

related: company_id.terms_type

timesheet_countTimesheet activitiesfloat
calculado

añadido por Sales Timesheet (sale_timesheet)

timesheet_encode_uom_idTimesheet Encode Uommany2one

related: company_id.timesheet_encode_uom_id

añadido por Sales Timesheet (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 Sales Timesheet (sale_timesheet)

transaction_countNúmero de transaccionesinteger
calculado
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 Sales - Project (sale_project)

warehouse_idAlmacénmany2one
calculado, almacenado

añadido por Sales and Warehouse Management (sale_stock)

website_ideCommerce Website

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

alertsAlertasjson

heredado de website.checkout.alert.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

utm_referenceReferencia UTMreference

heredado de utm.mixin

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/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","document_tax_mode","partner_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","document_tax_mode","partner_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 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.