Odoo 19.0 Community · Persistente

sale.order.line: campos, relaciones y API

El modelo sale.order.line («Línea de pedido de venta») es un modelo persistente declarado por el módulo Ventas y ampliado por 35 módulos más. Expone 129 campos, 120 de ellos declarados directamente en el modelo; 25 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.line
Etiqueta
Línea de pedido de venta
Tipo
Persistente (models.Model)
Tabla SQL
sale_order_line
Módulo de origen
Ventas (sale)
Ampliado por
delivery, sale_stock, stock_delivery, sale_management, event_sale, event_booth_sale, repair, sale_purchase, stock_dropshipping, pos_sale, pos_repair, pos_sale_loyalty, sale_margin, sale_mrp, sale_service, sale_project, sale_expense, sale_expense_margin, sale_gelato, sale_gelato_stock, sale_loyalty, sale_stock_margin, sale_pdf_quote_builder, sale_product_matrix, sale_project_stock, sale_purchase_project, sale_stock_product_expiry, sale_timesheet, sale_timesheet_margin, website_sale, website_sale_slides, website_event_booth_sale, website_event_sale, website_sale_stock, website_sale_loyalty
Orden por defecto (_order)
order_id, sequence, id
Hereda de (mixins)
analytic.mixinpos.load.mixin

Campos del modelo

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

129 de 129 campos mostrados

Nombre técnicoEtiquetaTipoDetalles
allowed_uom_idsUdM permitidamany2many
calculado
amount_invoicedImporte facturadomonetary
calculado
amount_to_invoiceSaldo no facturadomonetary
calculado
amount_to_invoice_at_dateImportefloat
calculado
analytic_line_idsLíneas analíticasone2many

inverso: so_line

available_product_document_idsDocumentos de producto disponiblesmany2many
calculado

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

categ_idCategmany2one

related: product_id.categ_id

collapse_compositionContraer composiciónboolean
collapse_pricesContraer desglose de preciosboolean
combo_item_idElemento de la combinaciónmany2one
company_idCompañíamany2one

related: order_id.company_id

company_price_includeCompany Price Includeselection

related: company_id.account_price_include

coupon_idCupónmany2one
solo lectura

añadido por Ventas fidelidad (sale_loyalty)

currency_idMonedamany2one

related: order_id.currency_id

customer_leadPlazo de entrega

Número de días entre la confirmación del pedido y la entrega de los productos al cliente

float
obligatoriocalculado, almacenado
discountDescuento (%)float
calculado, almacenado
display_qty_widgetMostrar widget de cantidadboolean
calculado

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

display_typeTipo de pantallaselection

Valores: line_section (Sección), line_subsection (Subsección), line_note (Nota)

event_booth_category_idCategoría de los estandsmany2one

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

event_booth_idsEstands confirmadosone2many

inverso: sale_order_line_id

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

event_booth_pending_idsEstands pendientes

Usado para crear una inscripción cuando se suministra el estand del evento deseado.

many2many
calculado

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

event_booth_registration_idsInscripción confirmadaone2many

inverso: sale_order_line_id

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

event_idEvento

Escoja un evento y cree automáticamente una inscripción para este evento.

many2one
calculado, almacenado

añadido por Ventas de eventos (event_sale)

event_slot_idEspacio

Escoja un espacio de un evento para el evento y se creará automáticamente una inscripción para el mismo.

many2one
calculado, almacenado

añadido por Ventas de eventos (event_sale)

event_ticket_idTipo de entrada

Escoja un tipo de entrada para el evento y se creará automáticamente una inscripción para el mismo.

many2one
calculado, almacenado

añadido por Ventas de eventos (event_sale)

expense_idGastomany2one

añadido por Margen de gastos de venta (sale_expense_margin)

expense_idsGastosone2many
solo lectura

inverso: sale_order_line_id

añadido por Gastos de ventas (sale_expense)

extra_tax_dataDatos adicionales sobre impuestosjson
forecast_expected_dateFecha prevista del pronósticodatetime
calculado

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

free_qty_todayCtd. disponible hoyfloat
calculado

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

has_displayed_warning_upsellHas Displayed Warning Upsellboolean

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

invoice_linesLíneas de facturamany2many
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_configurable_product¿El producto es configurable?boolean

related: product_template_id.has_configurable_attributes

is_deliveryEs una entregaboolean

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

is_downpaymentEs un anticipo

Los anticipos se producen cuando se crean facturas desde un pedido de venta. No se copian al duplicar un pedido.

boolean
is_expenseEs gasto

Es True si la línea de pedido de venta proviene de un gasto o de las facturas de un proveedor

boolean
is_mtoEs una fabricación sobre pedidoboolean
calculado

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

is_multi_slotsTiene varios espaciosboolean

related: event_id.is_multi_slots

añadido por Ventas de eventos (event_sale)

is_optionalLínea opcionalboolean

añadido por Ventas (sale_management)

is_product_archived¿El producto está archivado?boolean
calculado
is_repair_lineEstá vinculado a una reparaciónboolean
calculado

añadido por TPV - Reparación (pos_repair)

is_reward_lineEs una línea de recompensa del programaboolean
calculado

añadido por Ventas fidelidad (sale_loyalty)

is_serviceIs a Serviceboolean
calculado, almacenado

añadido por Ventas - Servicio (sale_service)

is_storableIs Storableboolean

related: product_id.is_storable

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

linked_line_idLínea de pedido vinculadamany2one
linked_line_idsLíneas de pedido vinculadasone2many

inverso: linked_line_id

linked_virtual_idVinculado virtualmentechar
marginMargenfloat
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)

move_idsMovimientos de stockone2many

inverso: sale_line_id

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

nameDescripcióntext
obligatoriocalculado, almacenado
name_shortNombre cortochar
calculado

añadido por Comercio electrónico (website_sale)

order_idReferencia del pedidomany2one
obligatorio
order_partner_idClientemany2one

related: order_id.partner_id

parent_idLínea de la sección principalmany2one
calculado
points_costCoste por puntos

Cuántos puntos cuesta esta recompensa en la tarjeta de fidelidad.

float

añadido por Ventas fidelidad (sale_loyalty)

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

inverso: sale_order_line_id

añadido por TPV - Ventas (pos_sale)

price_reduce_taxexclPrecio reducido con impuestos excluidosmonetary
calculado, almacenado
price_reduce_taxincPrecio reducido con impuestos incluidosmonetary
calculado, almacenado
price_subtotalSubtotalmonetary
calculado, almacenado
price_taxTotal de impuestosfloat
calculado, almacenado
price_totalTotalmonetary
calculado, almacenado
price_unitPrecio unitariofloat
obligatoriocalculado, almacenado
pricelist_item_idElemento de lista de preciosmany2one
calculado
product_add_modeProduct Add Modeselection

related: product_template_id.product_add_mode

añadido por Matriz de ventas (sale_product_matrix)

product_custom_attribute_value_idsValores personalizadosone2many
calculado, almacenado

inverso: sale_order_line_id

product_document_idsDocumentos del producto

Los documentos de producto para esta línea del pedido que se fusionarán en el presupuesto en PDF.

many2many

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

product_idProductomany2one
product_no_variant_attribute_value_idsValores adicionalesmany2many
calculado, almacenado
product_qtyCtd. de productofloat
calculado

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

product_template_attribute_value_idsValor del atributo de la plantilla de productomany2many

related: product_id.product_template_attribute_value_ids

product_template_idPlantilla de productomany2one
calculado
product_typeTipo de productoselection

related: product_id.type

product_uom_idUnidadmany2one
calculado, almacenado
product_uom_qtyCantidadfloat
obligatoriocalculado, almacenado
product_uom_readonlyUdM del producto de sólo lecturaboolean
calculado
product_updatablePuede editar productoboolean
calculado
project_idGenerated Projectmany2one

añadido por Ventas - Proyecto (sale_project)

purchase_line_countNúmero de artículos de compra generadosinteger
calculado

añadido por Venta y compra (sale_purchase)

purchase_line_idsLíneas de compra generadas

Línea de compra generada por este elemento de ventas en la confirmación del pedido, o cuando se aumentó la cantidad.

one2many
solo lectura

inverso: sale_line_id

añadido por Venta y compra (sale_purchase)

purchase_priceCostefloat
calculado, almacenado

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

qty_available_todayCtd. disponible hoyfloat
calculado

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

qty_deliveredCantidad de entregafloat
calculado, almacenado
qty_delivered_at_dateEntregadofloat
calculado
qty_delivered_methodMétodo para actualizar la cantidad entregada

According to product configuration, the delivered quantity can be automatically computed by mechanism: - Manual: the quantity is set manually on the line - Analytic From expenses: the quantity is the quantity sum from posted expenses - Timesheet: the quantity is the sum of hours recorded on tasks linked to this sale line - Stock Moves: the quantity comes from confirmed pickings

selection
calculado, almacenado

Valores: manual (Manual), analytic (Analítico para gastos)

qty_invoicedCantidad Facturadafloat
calculado, almacenado
qty_invoiced_at_dateFacturadofloat
calculado
qty_invoiced_postedCantidad facturada (publicada)float
calculado
qty_to_deliverCtd. a entregarfloat
calculado

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

qty_to_invoiceCantidad a facturarfloat
calculado, almacenado
reached_milestones_idsReached Milestonesone2many

inverso: sale_line_id

añadido por Ventas - Proyecto (sale_project)

recompute_delivery_priceRecompute Delivery Priceboolean

related: order_id.recompute_delivery_price

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

registration_idsInscripcionesone2many

inverso: sale_order_line_id

añadido por Ventas de eventos (event_sale)

remaining_hoursTiempo restante en el pedido de ventafloat
calculado, almacenado

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

remaining_hours_availableHoras restantes disponiblesboolean
calculado

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

reward_idRecompensamany2one
solo lectura

añadido por Ventas fidelidad (sale_loyalty)

reward_identifier_codeCódigo de identificación de la recompensa

Campo técnico que se usa para vincular varias líneas de recompensa en una sola recompensa.

char

añadido por Ventas fidelidad (sale_loyalty)

route_idsRutasmany2many

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

sale_line_warn_msgMensaje de advertencia de la línea de ventatext
calculado
salesman_idComercialmany2one

related: order_id.user_id

scheduled_dateFecha programadadatetime
calculado

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

selected_combo_itemsArtículos de combinación seleccionadoschar
sequenceSecuenciainteger
service_trackingService Trackingselection

related: product_id.service_tracking

shop_warningAdvertenciachar

añadido por Comercio electrónico (website_sale)

stateEstado del pedidoselection

related: order_id.state

task_idGenerated Taskmany2one

añadido por Ventas - Proyecto (sale_project)

tax_calculation_rounding_methodMétodo de redondeo al calcular impuestosselection
solo lectura

related: company_id.tax_calculation_rounding_method

tax_country_idImpuesto del paísmany2one

related: order_id.tax_country_id

tax_idsImpuestosmany2many
calculado, almacenado
technical_price_unitPrecio unitario técnicofloat
timesheet_idsPartes de horasone2many

inverso: so_line

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

translated_product_nameNombre del producto traducidotext
calculado
untaxed_amount_invoicedImporte base facturadomonetary
calculado, almacenado
untaxed_amount_to_invoiceImporte base a facturarmonetary
calculado, almacenado
use_expiration_dateUsar fecha de caducidadboolean

related: product_id.use_expiration_date

añadido por Caducidad de producto de ventas en el stock (sale_stock_product_expiry)

virtual_available_at_dateDisponibilidad virtual a la fechafloat
calculado

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

virtual_idVirtualchar
warehouse_idAlmacénmany2one
calculado, almacenado

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

analytic_distributionDistribución analíticajson
calculado, almacenado

heredado de analytic.mixin

analytic_precisionPrecisión analíticainteger

heredado de analytic.mixin

distribution_analytic_account_idsCuenta analítica de distribuciónmany2many
calculado

heredado de analytic.mixin

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 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.line/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: su-base" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["name","customer_lead","order_id","price_unit","product_uom_qty"],"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.line/search_read",
    headers=headers,
    json={"domain": [], "fields": ["name","customer_lead","order_id","price_unit","product_uom_qty"], "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-line">sale.order.line (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.