Odoo 19.0 Community · Persistente

hr.expense: campos, relaciones y API

El modelo hr.expense («Gasto») es un modelo persistente declarado por el módulo Gastos y ampliado por 3 módulos más. Expone 84 campos, 50 de ellos declarados directamente en el modelo; 10 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
hr.expense
Etiqueta
Gasto
Tipo
Persistente (models.Model)
Tabla SQL
hr_expense
Módulo de origen
Gastos (hr_expense)
Ampliado por
project_hr_expense, sale_expense, project_sale_expense
Orden por defecto (_order)
date desc, id desc
Hereda de (mixins)
mail.thread.main.attachmentmail.activity.mixinanalytic.mixin

Campos del modelo

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

84 de 84 campos mostrados

Nombre técnicoEtiquetaTipoDetalles
account_idCuenta

Se espera una cuenta de gastos

many2one
calculado, almacenado
account_move_idAsiento contablemany2one
solo lectura
amount_residualImporte adeudadomonetary
solo lectura

related: account_move_id.amount_residual

approval_dateFecha de aprobacióndatetime
solo lectura
approval_stateEstado de aprobaciónselection
solo lectura

Valores: submitted (Enviado), approved (Aprobado), refused (Rechazado)

attachment_idsArchivos adjuntosone2many

inverso: res_id

can_approvePuede aprobarboolean
solo lecturacalculado
can_be_reinvoicedSe puede refacturarboolean
calculado

añadido por Gastos de ventas (sale_expense)

can_resetPuede restablecerboolean
solo lecturacalculado
company_currency_idMoneda del informe de la compañíamany2one
solo lectura

related: company_id.currency_id

company_idCompañíamany2one
obligatoriosolo lectura
currency_idMonedamany2one
obligatoriocalculado, almacenado
currency_rateTipo de cambiofloat
solo lecturacalculado
dateFecha del gastodate
department_idDepartamentomany2one
calculado, almacenado
descriptionNotas internastext
duplicate_expense_idsDuplicar gastomany2many
calculado
employee_idEmpleadomany2one
obligatoriocalculado, almacenado
former_sheet_idInforme anteriorinteger
is_editableEs editable por el usuario actualboolean
solo lecturacalculado
is_multiple_currencycurrency_id es diferente de company_currency_idboolean
calculado
journal_idDiariomany2one
solo lectura

related: payment_method_line_id.journal_id

label_currency_rateEtiqueta del tipo de cambiochar
solo lecturacalculado
manager_idGerentemany2one
calculado, almacenado
message_main_attachment_checksumMessage Main Attachment Checksumchar

related: message_main_attachment_id.checksum

nameDescripciónchar
obligatoriocalculado, almacenado
nb_attachmentNúmero de archivos adjuntosinteger
calculado
payment_method_line_idMétodo de pago

El método de pago que se utiliza cuando la empresa paga el gasto.

many2one
calculado, almacenado
payment_modePagado porselection
obligatorio

Valores: own_account (Empleado (a reembolsar)), company_account (Compañía)

price_unitPrecio unitariofloat
obligatoriosolo lecturacalculado, almacenado
product_descriptionDescripción del productohtml
calculado
product_has_costEl producto tiene costeboolean
calculado
product_has_taxSi el impuesto se define en un producto seleccionadoboolean
calculado
product_idCategoríamany2one
product_uom_idUnidadmany2one
calculado, almacenado
quantityCantidadfloat
obligatorio
sale_order_idCliente a refacturar

Si la categoría tiene una política de gastos, se refacturará en este pedido de venta

many2one
calculado, almacenado

añadido por Gastos de ventas (sale_expense)

sale_order_line_idLínea de pedido de ventamany2one
solo lecturacalculado, almacenado

añadido por Gastos de ventas (sale_expense)

same_receipt_expense_idsMismo recibo de gastosmany2many
calculado
selectable_payment_method_line_idsLínea de método de pago seleccionablemany2many
calculado
split_expense_origin_idGasto original dividido

Gasto original de una división.

many2one
stateEstadoselection
solo lecturacalculado, almacenado

Valores: draft (Borrador), submitted (Enviado), approved (Aprobado), posted (Publicado), in_payment (En proceso de pago), paid (Pagado), refused (Rechazado)

tax_amountImporte de impuestos

Importe de impuestos en la moneda de la empresa

monetary
calculado, almacenado
tax_amount_currencyImporte de impuestos en la moneda

Importe de impuestos en la moneda

monetary
calculado, almacenado
tax_idsImpuestos incluidos

Tanto los impuestos incluidos en el precio como los que no, se comportarán como incluidos en el precio para los gastos.

many2many
calculado, almacenado
total_amountTotalmonetary
calculado, almacenado
total_amount_currencyTotal en monedamonetary
calculado, almacenado
untaxed_amountImporte base totalmonetary
calculado, almacenado
untaxed_amount_currencyImporte base total en la monedamonetary
calculado, almacenado
vendor_idProveedormany2one
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_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

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

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_main_attachment_idArchivo adjunto principalmany2one

heredado de mail.thread.main.attachment

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

website_message_idsMensajes del sitio web

Historial de comunicación del sitio web

one2many

inverso: res_id

heredado de mail.thread

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/hr.expense/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","currency_id","employee_id","payment_mode"],"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}/hr.expense/search_read",
    headers=headers,
    json={"domain": [], "fields": ["name","company_id","currency_id","employee_id","payment_mode"], "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/hr-expense">hr.expense (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.