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
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écnico | Etiqueta | Tipo | Detalles |
|---|---|---|---|
| amount_delivery | Gastos 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 ( |
| amount_invoiced | Ya facturado | monetary | calculado |
| amount_paid | Importe 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_tax | Impuestos | monetary | calculado, almacenado |
| amount_to_invoice | Saldo no facturado | monetary | calculado |
| amount_total | Total | monetary | calculado, almacenado |
| amount_undiscounted | Importe antes del descuento | float | calculado |
| amount_unpaid | Importe 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 ( |
| amount_untaxed | Importe base | monetary | calculado, almacenado |
| applied_coupon_ids | Cupones aplicados manualmente | many2many | añadido por Ventas fidelidad ( |
| assigned_grade_id | Nivel asignado | many2one | calculado añadido por Asociación / Afiliación ( |
| attendee_count | Número de asistentes | integer | calculado añadido por Ventas de eventos ( |
| authorized_transaction_ids | Transacciones autorizadas | many2many | calculado |
| available_quotation_document_ids | Documentos de presupuesto disponibles | many2many | calculado añadido por Creador de presupuesto en PDF para Ventas ( |
| campaign_id | Campaña | many2one | |
| carrier_id | Mé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 ( |
| cart_quantity | Cantidad en la cesta | integer | calculado añadido por Comercio electrónico ( |
| cart_recovery_email_sent | Correo electrónico de recuperación de cesta ya enviado | boolean | añadido por Comercio electrónico ( |
| client_order_ref | Referencia del cliente | char | |
| closed_task_count | Closed Task Count | integer | calculado añadido por Ventas - Proyecto ( |
| code_enabled_rule_ids | Reglas activadas manualmente | many2many | añadido por Ventas fidelidad ( |
| commitment_date | Fecha 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_id | Compañía | many2one | obligatorio |
| company_price_include | Company Price Include | selection | related: |
| completed_task_percentage | Completed Task Percentage | float | calculado añadido por Ventas - Proyecto ( |
| country_code | Código del país | char | related: |
| coupon_point_ids | Punto de cupón | one2many | inverso: añadido por Ventas fidelidad ( |
| create_date | Fecha de creación | datetime | solo lectura |
| currency_id | Moneda | many2one | calculado, almacenado |
| currency_rate | Tipo de cambio | float | calculado, almacenado |
| customizable_pdf_form_fields | Campos de formulario en PDF personalizables | json | añadido por Creador de presupuesto en PDF para Ventas ( |
| date_order | Fecha de pedido Creation date of draft/sent orders, Confirmation date of confirmed orders. | datetime | obligatorio |
| delivery_count | Órdenes de entrega | integer | calculado añadido por Gestión de Ventas y Almacén ( |
| delivery_message | Mensaje de entrega | char | solo lectura añadido por Gastos de envío ( |
| delivery_set | Entrega establecida | boolean | calculado añadido por Gastos de envío ( |
| delivery_status | Estado de la entrega Blue: Not Delivered/Started Orange: Partially Delivered Green: Fully Delivered | selection | calculado, almacenado Valores: añadido por Gestión de Ventas y Almacén ( |
| disabled_auto_rewards | Recompensas automáticas deshabilitadas | many2many | añadido por Cupones, promociones, tarjetas de regalo y programa de fidelización para comercio electrónico ( |
| dropship_picking_count | Número de dropshippings | integer | calculado añadido por Dropshipping ( |
| duplicated_order_ids | Pedido duplicado | many2many | calculado |
| effective_date | Fecha efectiva Fecha de finalización de la primera orden de entrega. | datetime | calculado, almacenado añadido por Gestión de Ventas y Almacén ( |
| event_booth_count | Número de estands | integer | calculado añadido por Ventas de estands de eventos ( |
| event_booth_ids | Estands | one2many | inverso: añadido por Ventas de estands de eventos ( |
| expected_date | Fecha 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_count | N.° de gastos | integer | calculado añadido por Gastos de ventas ( |
| expense_ids | Gastos | one2many | solo lectura inverso: añadido por Gastos de ventas ( |
| fiscal_position_id | Posició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_count | Número de tarjetas de regalo | integer | calculado añadido por Ventas fidelidad ( |
| grid | Almacenamiento 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 ( |
| grid_product_tmpl_id | Plantilla de cuadrícula del producto | many2one | añadido por Matriz de ventas ( |
| grid_update | Actualización de la cuadrícula | boolean | añadido por Matriz de ventas ( |
| has_active_pricelist | Tiene una lista de precios activa | boolean | calculado |
| has_archived_products | Tiene productos archivados | boolean | calculado |
| has_authorized_transaction_ids | Tiene transacciones autorizadas | boolean | calculado |
| incoterm | Incoterm 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 ( |
| incoterm_location | Ubicación del Incoterm | char | añadido por Gestión de Ventas y Almacén ( |
| invoice_count | Número de facturas | integer | calculado |
| invoice_ids | Facturas | many2many | calculado |
| invoice_status | Estado de la factura | selection | calculado, almacenado Valores: |
| is_abandoned_cart | Cesta abandonada | boolean | calculado añadido por Comercio electrónico ( |
| is_all_service | Producto de servicio | boolean | calculado añadido por Gastos de envío ( |
| is_expired | Está vencido | boolean | 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 ( |
| is_product_milestone | Is Product Milestone | boolean | calculado añadido por Ventas - Proyecto ( |
| journal_id | Diario 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_popover | Datos JSON para el widget de ventana emergente | char | calculado añadido por Gestión de Ventas y Almacén ( |
| late_availability | Disponibilidad 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 ( |
| locked | Bloqueado No se pueden modificar los pedidos bloqueados. | boolean | |
| loyalty_data | Datos de fidelidad | json | calculado añadido por Ventas fidelidad ( |
| margin | Margen | monetary | calculado, almacenado añadido por Márgenes en pedidos de venta ( |
| margin_percent | Margen (%) | float | calculado, almacenado añadido por Márgenes en pedidos de venta ( |
| medium_id | Medio | many2one | |
| milestone_count | Milestone Count | integer | calculado añadido por Ventas - Proyecto ( |
| mrp_production_count | Número de órdenes de fabricación generadas | integer | calculado añadido por Gestión de Ventas y 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 ( |
| name | Referencia del pedido | char | obligatorio |
| note | Términos y condiciones | html | calculado, almacenado |
| only_services | Solo servicios | boolean | calculado añadido por Comercio electrónico ( |
| opportunity_id | Oportunidad | many2one→ crm.lead | añadido por Oportunidad a presupuesto ( |
| order_line | Líneas del pedido | one2many | inverso: |
| origin | Documento de origen Referencia del documento que generó esta solicitud de pedido de venta | char | |
| partner_credit_warning | Advertencia de crédito del contacto | text | calculado |
| partner_id | Cliente | many2one | obligatorio |
| partner_invoice_id | Dirección de facturación | many2one | obligatoriocalculado, almacenado |
| partner_shipping_id | Dirección de entrega | many2one | obligatoriocalculado, almacenado |
| payment_term_id | Condiciones de pago | many2one | calculado, almacenado |
| pending_email_template_id | Plantilla de correo electrónico pendiente | many2one | solo lectura |
| picking_ids | Traslados | one2many | inverso: añadido por Gestión de Ventas y Almacén ( |
| picking_policy | Polí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: añadido por Gestión de Ventas y Almacén ( |
| pickup_location_data | Información de ubicación de recogida | json | añadido por Gastos de envío ( |
| pos_order_count | Nº de pedidos de TPV | integer | solo lecturacalculado añadido por TPV - Ventas ( |
| pos_order_line_ids | Líneas de pedido que se transfirieron al punto de venta | one2many | solo lectura inverso: añadido por TPV - Ventas ( |
| preferred_payment_method_line_id | Método de pago | many2one | calculado, almacenado |
| prepayment_percent | Porcentaje de pago anticipado El porcentaje del importe que el cliente debe pagar para confirmar el pedido. | float | calculado, almacenado |
| pricelist_id | Lista de precios Si modifica la lista de precios, solo afectará a las nuevas líneas que añadió. | many2one | calculado, almacenado |
| project_account_id | Cuenta del proyecto | many2one | related: añadido por Ventas - Proyecto ( |
| project_count | Number of Projects | integer | calculado añadido por Ventas - Proyecto ( |
| project_id | Proyecto 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 ( |
| project_ids | Proyectos | many2many | calculado añadido por Ventas - Proyecto ( |
| purchase_order_count | Número de pedidos de compra generadas | integer | calculado añadido por Venta y compra ( |
| quotation_document_ids | Encabezados/pies de página | many2many | añadido por Creador de presupuesto en PDF para Ventas ( |
| recompute_delivery_price | El coste de envío debería ser recalculado | boolean | añadido por Gastos de envío ( |
| reference | Ref. de pago La referencia de pago de este pedido de venta. | char | |
| repair_count | Órdenes de reparación | integer | calculado añadido por Reparaciones ( |
| repair_order_ids | Orden de reparación | one2many | inverso: añadido por Reparaciones ( |
| report_grids | Imprimir cuadrículas de variantes | boolean | añadido por Matriz de ventas ( |
| require_payment | Pago en línea Solicite al cliente que pague en línea para confirmar el pedido. | boolean | calculado, almacenado |
| require_signature | Firma en línea Solicite al cliente que firme en línea para confirmar el pedido. | boolean | calculado, almacenado |
| reward_amount | Importe de la recompensa | float | calculado añadido por Ventas fidelidad ( |
| sale_order_template_id | Plantilla de presupuesto | many2one | calculado, almacenado añadido por Ventas ( |
| sale_warning_text | Advertencia de venta Advertencia interna para el contacto o los productos según lo establecido por el usuario. | text | calculado |
| shipping_weight | Peso del envío | float | calculado, almacenado añadido por Gastos de envío ( |
| shop_warning | Advertencia | char | añadido por Comercio electrónico ( |
| show_create_project_button | Show Create Project Button | boolean | calculado añadido por Ventas - Proyecto ( |
| show_hours_recorded_button | Show Hours Recorded Button | boolean | calculado añadido por Partes de horas en ventas ( |
| show_json_popover | Preparación de stock retrasada | boolean | calculado añadido por Gestión de Ventas y Almacén ( |
| show_project_button | Show Project Button | boolean | calculado añadido por Ventas - Proyecto ( |
| show_update_fpos | Ha cambiado la posición fiscal | boolean | |
| show_update_pricelist | Ha cambiado la lista de precios | boolean | |
| signature | Firma | image | |
| signed_by | Firmada por | char | |
| signed_on | Firmado el | datetime | |
| source_id | Origen | many2one | |
| state | Estado | selection | solo lectura Valores: |
| stock_reference_ids | Referencias | many2many | añadido por Gestión de Ventas y Almacén ( |
| tag_ids | Etiquetas | many2many→ crm.tag | |
| tasks_count | Tareas | integer | calculado añadido por Ventas - Proyecto ( |
| tasks_ids | Tasks associated with this sale | many2many | calculado añadido por Ventas - Proyecto ( |
| tax_calculation_rounding_method | Método de redondeo del cálculo de impuestos | selection | related: |
| tax_country_id | Impuesto del país | many2one | calculado |
| tax_totals | Total de impuestos | binary | calculado |
| team_id | Equipo de ventas | many2one→ crm.team | calculado, almacenado |
| terms_type | Terms Type | selection | related: |
| timesheet_count | Timesheet activities | float | calculado añadido por Partes de horas en ventas ( |
| timesheet_encode_uom_id | Timesheet Encode Uom | many2one→ uom.uom | related: añadido por Partes de horas en ventas ( |
| timesheet_total_duration | Duració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 ( |
| transaction_ids | Transacciones | many2many | solo lectura |
| type_name | Nombre del tipo | char | calculado |
| user_id | Comercial | many2one | calculado, almacenado |
| validity_date | Vencimiento Validity of the quotation. After this date, you will no longer be able to sign and pay it. | date | calculado, almacenado |
| visible_project | Display project | boolean | solo lecturacalculado añadido por Ventas - Proyecto ( |
| warehouse_id | Almacén | many2one | calculado, almacenado añadido por Gestión de Ventas y Almacén ( |
| website_id | Sitio web Sitio web mediante el cual se realizó este pedido para los pedidos de comercio electrónico. | many2one→ website | solo lectura añadido por Comercio electrónico ( |
| website_order_line | Líneas de pedido mostradas en el sitio web | one2many | calculado añadido por Comercio electrónico ( |
| access_token | Token de seguridad | char | heredado de portal.mixin |
| access_url | URL de acceso al portal URL del portal de cliente | char | calculado heredado de portal.mixin |
| access_warning | Advertencia de acceso | text | calculado heredado de portal.mixin |
| activity_calendar_event_id | Siguiente evento en el calendario de actividades. | many2one | calculado heredado de mail.activity.mixin |
| activity_date_deadline | Fecha límite de la siguiente actividad | date | solo lecturacalculado heredado de mail.activity.mixin |
| activity_exception_decoration | Decoración de Actividad de Excepción Tipo de actividad de excepción en el registro. | selection | calculado Valores: heredado de mail.activity.mixin |
| activity_exception_icon | Icono Icono para indicar una actividad de excepción. | char | calculado heredado de mail.activity.mixin |
| activity_ids | Actividades | one2many | inverso: heredado de mail.activity.mixin |
| activity_state | Estado de la actividad Status based on activities Overdue: Due date is already passed Today: Activity date is today Planned: Future activities. | selection | calculado Valores: heredado de mail.activity.mixin |
| activity_summary | Resumen de la siguiente actividad | char | related: heredado de mail.activity.mixin |
| activity_type_icon | Icono de tipo de actividad | char | related: heredado de mail.activity.mixin |
| activity_type_id | Tipo de la siguiente actividad | many2one | related: heredado de mail.activity.mixin |
| activity_user_id | Usuario responsable | many2one | solo lecturacalculado heredado de mail.activity.mixin |
| has_message | Tiene un mensaje | boolean | calculado heredado de mail.thread |
| message_attachment_count | Número de archivos adjuntos | integer | calculado heredado de mail.thread |
| message_follower_ids | Seguidores | one2many | inverso: heredado de mail.thread |
| message_has_error | Error de envío de mensaje Si está marcada, algunos mensajes tienen error de envío. | boolean | calculado heredado de mail.thread |
| message_has_error_counter | Número de errores Número de mensajes con error de envío | integer | calculado heredado de mail.thread |
| message_has_sms_error | Error de envío del SMS Si está marcada, algunos mensajes tienen error de envío. | boolean | calculado heredado de mail.thread |
| message_ids | Mensajes | one2many | inverso: heredado de mail.thread |
| message_is_follower | Es un seguidor | boolean | calculado heredado de mail.thread |
| message_needaction | Acción requerida Si está marcada, hay nuevos mensajes que requieren su atención. | boolean | calculado heredado de mail.thread |
| message_needaction_counter | Número de acciones Número de mensajes que requieren una acción | integer | calculado heredado de mail.thread |
| message_partner_ids | Seguidores (Contactos) | many2many | calculado heredado de mail.thread |
| my_activity_date_deadline | Fecha límite de mi actividad | date | solo lecturacalculado heredado de mail.activity.mixin |
| rating_ids | Calificaciones | one2many | inverso: heredado de mail.thread |
| website_message_ids | Mensajes del sitio web Historial de comunicación del sitio web | one2many | inverso: heredado de mail.thread |
| create_uid | Creado por | many2one | solo lecturaautomático |
| display_name | Nombre mostrado | char | solo lecturacalculadoautomático |
| id | ID | integer | solo lecturaautomático |
| write_date | Última actualización el | datetime | solo lecturaautomático |
| write_uid | Última actualización por | many2one | solo lecturaautomático |
Relaciones
Modelos enlazados desde este modelo
- account.analytic.account: project_account_id
- account.fiscal.position: fiscal_position_id
- account.incoterms: incoterm
- account.journal: journal_id
- account.move: invoice_ids
- account.payment.method.line: preferred_payment_method_line_id
- account.payment.term: payment_term_id
- crm.lead: opportunity_id
- crm.tag: tag_ids
- crm.team: team_id
- delivery.carrier: carrier_id
- event.booth: event_booth_ids
- hr.expense: expense_ids
- loyalty.card: applied_coupon_ids
- loyalty.reward: disabled_auto_rewards
- loyalty.rule: code_enabled_rule_ids
- mail.template: pending_email_template_id
- mrp.production: mrp_production_ids
- payment.transaction: authorized_transaction_ids, transaction_ids
- pos.order.line: pos_order_line_ids
- product.pricelist: pricelist_id
- product.template: grid_product_tmpl_id
- project.project: project_id, project_ids
- project.task: tasks_ids
- quotation.document: available_quotation_document_ids, quotation_document_ids
- repair.order: repair_order_ids
- res.company: company_id
- res.country: tax_country_id
- res.currency: currency_id
- res.partner: partner_id, partner_invoice_id, partner_shipping_id
- res.partner.grade: assigned_grade_id
- res.users: user_id
- sale.order: duplicated_order_ids
- sale.order.coupon.points: coupon_point_ids
- sale.order.line: order_line, website_order_line
- sale.order.template: sale_order_template_id
- stock.picking: picking_ids
- stock.reference: stock_reference_ids
- stock.warehouse: warehouse_id
- uom.uom: timesheet_encode_uom_id
- utm.campaign: campaign_id
- utm.medium: medium_id
- utm.source: source_id
- website: website_id
Campos de otros modelos que apuntan aquí
- account.analytic.line: order_id
- choose.delivery.carrier: order_id
- event.booth: sale_order_id
- event.registration: sale_order_id
- event.sale.report: sale_order_id
- hr.expense: sale_order_id
- hr.expense.split: sale_order_id
- loyalty.card: order_id
- payment.transaction: sale_order_ids
- pos.order.line: sale_order_origin_id
- project.project: reinvoiced_sale_order_id, sale_order_id
- project.sale.line.employee.map: sale_order_id
- project.task: project_sale_order_id, sale_order_id
- purchase.order.line: sale_order_id
- registration.editor: sale_order_id
- repair.order: sale_order_id
- report.project.task.user: sale_order_id
- sale.advance.payment.inv: sale_order_ids
- sale.loyalty.coupon.wizard: order_id
- sale.loyalty.reward.wizard: order_id
- sale.mass.cancel.orders: sale_order_ids
- sale.order: duplicated_order_ids
- sale.order.coupon.points: order_id
- sale.order.discount: sale_order_id
- sale.order.line: order_id
- stock.lot: sale_order_ids
- stock.picking: sale_id
- stock.reference: sale_ids
- timesheets.analysis.report: order_id
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 -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}'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
- Código fuente del modelo en GitHub
- Documentación de Odoo 19: ORM API
- Documentación de Odoo 19: API externa JSON-2
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.