pos.session: campos, relaciones y API
El modelo pos.session («Sesión TPV») es un modelo persistente declarado por el módulo Punto de venta y ampliado por 9 módulos más. Expone 63 campos, 32 de ellos declarados directamente en el modelo; 9 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
pos.session- Etiqueta
- Sesión TPV
- Tipo
- Persistente (models.Model)
- Tabla SQL
pos_session- Módulo de origen
- Punto de venta (
point_of_sale) - Ampliado por
- l10n_fr_pos_cert, pos_event, pos_sale, pos_hr, pos_restaurant, pos_loyalty, pos_mercado_pago, pos_online_payment, pos_self_order
- Orden por defecto (_order)
id desc- Hereda de (mixins)
- mail.threadmail.activity.mixinpos.bus.mixinpos.load.mixin
Campos del modelo
32 campos propios, 25 heredados de mixins y 6 campos automáticos del ORM. Haga clic en un nombre para obtener el enlace directo al campo.
63 de 63 campos mostrados
| Nombre técnico | Etiqueta | Tipo | Detalles |
|---|---|---|---|
| bank_payment_ids | Pagos bancarios Pagos de cuenta que representan pagos agregados y divididos por banco. | one2many | inverso: |
| cash_control | Tiene control de caja | boolean | calculado |
| cash_journal_id | Diario de caja | many2one | calculado, almacenado |
| cash_real_transaction | Transacción | monetary | solo lectura |
| cash_register_balance_end | Saldo de cierre teórico Saldo de apertura sumado a todas las transacciones de efectivo. | monetary | solo lecturacalculado |
| cash_register_balance_end_real | Saldo final | monetary | solo lectura |
| cash_register_balance_start | Saldo inicial | monetary | solo lectura |
| cash_register_difference | Antes de la diferencia de cierre Diferencia entre el saldo de cierre teórico y el saldo de cierre real. | monetary | solo lecturacalculado |
| closing_notes | Notas de cierre | text | |
| company_id | Compañía | many2one | solo lectura related: |
| config_id | Punto de venta | many2one | obligatorio |
| crm_team_id | Equipo de ventas | many2one→ crm.team | solo lectura related: añadido por TPV - Ventas ( |
| currency_id | Moneda | many2one | related: |
| employee_id | Cajero El empleado que utiliza la caja registradora en este momento | many2one | añadido por TPV - RR. HH. ( |
| failed_pickings | Preparaciones de pedidos fallidas | boolean | calculado |
| is_in_company_currency | Está utilizando la moneda de la compañía | boolean | calculado |
| move_id | Asiento contable | many2one | |
| name | ID de la sesión | char | solo lectura |
| opening_notes | Notas de apertura | text | |
| order_count | Número de pedidos | integer | calculado |
| order_ids | Pedidos | one2many | inverso: |
| payment_method_ids | Métodos de pago | many2many | related: |
| picking_count | Número de recogidas | integer | calculado |
| picking_ids | Albarán | one2many | inverso: |
| rescue | Sesión de recuperación Sesión autogenerada para pedidos abandonados, se ignora en las restricciones | boolean | solo lectura |
| start_at | Fecha de apertura | datetime | solo lectura |
| state | Estado | selection | obligatoriosolo lectura Valores calculados dinámicamente |
| statement_line_ids | Líneas de efectivo | one2many | solo lectura inverso: |
| stop_at | Fecha de cierre | datetime | solo lectura |
| total_payments_amount | Importe total de pagos | float | calculado |
| update_stock_at_closing | El stock debe actualizarse al cierre | boolean | |
| user_id | Abierta por | many2one | obligatorio |
| access_token | Token de seguridad | char | heredado de pos.bus.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_date | Creado el | datetime | solo lecturaautomático |
| 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.bank.statement.line: statement_line_ids
- account.journal: cash_journal_id
- account.move: move_id
- account.payment: bank_payment_ids
- crm.team: crm_team_id
- hr.employee: employee_id
- pos.config: config_id
- pos.order: order_ids
- pos.payment.method: payment_method_ids
- res.company: company_id
- res.currency: currency_id
- res.users: user_id
- stock.picking: picking_ids
Campos de otros modelos que apuntan aquí
- account.bank.statement.line: pos_session_id
- account.payment: pos_session_id
- pos.config: current_session_id
- pos.daily.sales.reports.wizard: pos_session_id
- pos.order: session_id
- pos.payment: session_id
- pos.payment.method: open_session_ids
- report.pos.order: session_id
- stock.picking: pos_session_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/pos.session/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: su-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","config_id","state","user_id","cash_journal_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}/pos.session/search_read",
headers=headers,
json={"domain": [], "fields": ["name","config_id","state","user_id","cash_journal_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/pos-session">pos.session (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.