Odoo 20.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 37 módulos más. Expone 144 campos, 132 de ellos declarados directamente en el modelo; 26 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.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
sale_management, sale_service, sale_project, delivery, event_sale, event_booth_sale, sale_stock, stock_delivery, repair, sale_purchase, stock_dropshipping, pos_sale, pos_event_sale, pos_repair, pos_sale_loyalty, sale_margin, pos_sale_stock, sale_mrp, sale_expense, sale_edi_ubl, sale_expense_margin, sale_gelato, sale_gelato_stock, sale_loyalty, sale_stock_margin, sale_pdf_quote_builder, sale_product_matrix, 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_collect, website_sale_loyalty
Orden por defecto (_order)
order_id, sequence, id
Hereda de (mixins)
analytic.mixinres.currency.rate.consolidation.mixinproduct.catalog.line.mixinpos.load.mixinwebsite.checkout.alert.mixin

Campos del modelo

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

144 de 144 campos mostrados

Nombre técnicoEtiquetaTipoDetalles
accrual_move_idsAccrual Entries

Accrual entries generated for this line, so it isn't accrued again while one is still standing (posted, not yet reversed or cancelled).

many2many
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 Sales PDF Quotation Builder (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 Sale Loyalty (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

integer
obligatoriocalculado, almacenado
deferred_revenueIngresos diferidosboolean
discountDescuento (%)float
calculado, almacenado
display_qty_widgetMostrar widget de cantidadboolean
calculado
display_typeTipo de pantallaselection

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

document_tax_modeModo de impuestos del documentoselection

related: order_id.document_tax_mode

edi_customer_product_refEdi Customer Product Refchar

añadido por Import electronic orders with UBL (sale_edi_ubl)

event_booth_category_idCategoría de los estandsmany2one

añadido por Events Booths Sales (event_booth_sale)

event_booth_idsEstands confirmadosone2many

inverso: sale_order_line_id

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

event_booth_registration_idsInscripción confirmadaone2many

inverso: sale_order_line_id

añadido por Events Booths Sales (event_booth_sale)

event_idEvento

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

many2one
calculado, almacenado

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

expense_idGastomany2one

añadido por Sales Expense Margin (sale_expense_margin)

expense_idsGastosone2many
solo lectura

inverso: sale_order_line_id

añadido por Sales Expense (sale_expense)

extra_tax_dataDatos adicionales sobre impuestosjson
forecast_expected_dateFecha prevista del pronósticodatetime
calculado

añadido por Sales and Warehouse Management (sale_stock)

free_qty_todayCtd. disponible hoyfloat
calculado

añadido por Sales and Warehouse Management (sale_stock)

has_displayed_warning_upsellHas Displayed Warning Upsellboolean

añadido por Sales Timesheet (sale_timesheet)

invoice_linesLíneas de facturamany2many
invoice_policyPolítica de facturaciónselection
calculado

Valores: order (Cantidades pedidas), delivery (Cantidades entregadas)

invoice_statusEstado de la facturaselection
calculado, almacenado

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

invoice_to_be_issuedInvoice to be Issuedboolean
is_configurable_product¿El producto es configurable?boolean

related: product_template_id.has_configurable_attributes

is_deliveryEs una entregaboolean

añadido por Delivery Costs (delivery)

is_donationEs la donaciónboolean
calculado

añadido por Comercio electrónico (website_sale)

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

is_multi_slotsTiene varios espaciosboolean

related: event_id.is_multi_slots

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

is_reward_lineEs una línea de recompensa del programaboolean
calculado

añadido por Sale Loyalty (sale_loyalty)

is_serviceIs a Serviceboolean
calculado, almacenado

añadido por Sales - Service (sale_service)

is_storableIs Storableboolean

related: product_id.is_storable

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

inverso: linked_line_id

linked_virtual_idVinculado virtualmentechar
mandatory_productIs Product Mandatoryboolean
calculado
marginMargenfloat
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)

move_idsMovimientos de stockone2many

inverso: sale_line_id

añadido por Sales and Warehouse Management (sale_stock)

nameDescripcióntext
calculado, 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 Sale Loyalty (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 POS - Sales (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 Sale Matrix (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 Sales PDF Quotation Builder (sale_pdf_quote_builder)

product_idProductomany2one
product_no_variant_attribute_value_idsValores adicionalesmany2many
calculado, almacenado
product_qtyCtd. de productofloat
calculado

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

purchase_line_countNúmero de artículos de compra generadosinteger
calculado

añadido por Sale Purchase (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 Sale Purchase (sale_purchase)

purchase_priceCoste unitariofloat
calculado, almacenado

añadido por Margins in Sales Orders (sale_margin)

qty_available_todayQty Available Todayfloat
calculado
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 line - Stock Moves: the quantity comes from confirmed pickings

selection
calculado, almacenado

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

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

añadido por Sales and Warehouse Management (sale_stock)

qty_to_invoiceCantidad a facturarfloat
calculado, almacenado
reached_milestones_idsReached Milestonesone2many

inverso: sale_line_id

añadido por Sales - Project (sale_project)

recompute_delivery_priceRecompute Delivery Priceboolean

related: order_id.recompute_delivery_price

añadido por Delivery Costs (delivery)

registration_idsInscripcionesone2many

inverso: sale_order_line_id

añadido por Events Sales (event_sale)

remaining_hoursTiempo restante en el pedido de ventafloat
calculado, almacenado

añadido por Sales Timesheet (sale_timesheet)

remaining_hours_availableHoras restantes disponiblesboolean
calculado

añadido por Sales Timesheet (sale_timesheet)

repair_service_line_idRepair Service Linemany2one

añadido por Reparaciones (repair)

reward_idRecompensamany2one
solo lectura

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

route_idsRutasmany2many

añadido por Sales and Warehouse Management (sale_stock)

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

related: order_id.user_id

scheduled_dateFecha de entregadatetime
calculado
section_qtySection Quantityfloat
calculado, almacenado
section_uom_idSection Unit of Measuremany2one
calculado, almacenado
selected_combo_itemsArtículos de combinación seleccionadoschar
sequenceSecuenciainteger
service_trackingService Trackingselection

related: product_id.service_tracking

stateEstado del pedidoselection

related: order_id.state

task_idGenerated Taskmany2one

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

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 Sale Stock Product Expiry (sale_stock_product_expiry)

virtual_available_at_dateVirtual Available At Datefloat
calculado
virtual_idVirtualchar
warehouse_idAlmacénmany2one
calculado, almacenado

añadido por Sales and Warehouse Management (sale_stock)

alertsAlertasjson

heredado de website.checkout.alert.mixin

analytic_distributionDistribución analíticajson
calculado, almacenado

heredado de analytic.mixin

analytic_precisionPrecisión analíticainteger

heredado de analytic.mixin

consolidation_currency_idMoneda de consolidaciónmany2one
calculado

heredado de res.currency.rate.consolidation.mixin

consolidation_rateTasafloat
calculado

heredado de res.currency.rate.consolidation.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 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.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 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.