Guía · Facturación

Facturar horas en Odoo: del parte de horas a la factura

Si facturas por horas, quieres que cada hora trabajada llegue a la factura, y ninguna dos veces. Odoo lo hace también en Community, con un producto de servicio facturado según los partes de horas. Cómo configurarlo, dónde suele fallar y qué añade TimeViking.

Actualizado el · por el equipo de TimeViking

Cómo factura Odoo las horas

En Odoo, una línea de horas es una línea analítica en un proyecto, normalmente con una tarea. No se factura sobre la línea en sí, sino a través de un pedido de venta:

  1. un producto de servicio con la política "Basada en los partes de horas";
  2. un pedido de venta confirmado con ese producto;
  3. un proyecto o tarea vinculado a la línea del pedido;
  4. líneas de horas en ese proyecto o tarea, que reciben automáticamente el elemento del pedido;
  5. una factura por las horas entregadas aún no facturadas.

Todo esto está en el módulo sale_timesheet, que Odoo instala en cuanto usas Ventas y Partes de horas juntos. Es Community: lo hemos comprobado en el código fuente de Odoo 18, 19 y 20.

Por ejemplo: una consultora informática implanta un sistema en un cliente de logística, facturando por horas. El presupuesto se convierte en pedido, las tareas van a un proyecto, y cada viernes el jefe de proyecto ve en el pedido cuántas horas se han entregado.

Cómo configurarlo

  1. Crea un producto de servicio que facture por horas

    En Ventas: un producto de tipo Servicio, con la política de facturación Basada en los partes de horas (Based on Timesheets) y, en Crear en el pedido, una tarea o un proyecto. Indica tu tarifa por hora.

  2. Confirma un pedido de venta

    Crea un presupuesto para el cliente con ese producto y las horas estimadas, y confírmalo. Odoo crea el proyecto o la tarea y lo vincula a la línea del pedido.

  3. Que tu equipo registre horas en esa tarea

    Cada línea de horas del proyecto o la tarea recibe el elemento del pedido de venta. La columna Entregado del pedido suma las horas.

  4. Revisa las horas

    En Partes de horas, filtra por proyecto y periodo, y comprueba que cada línea tenga un elemento del pedido. Las líneas sin él no llegan a la factura.

  5. Crea la factura

    En el pedido de venta: Crear factura. Odoo toma las horas entregadas que aún no se han facturado. Cuando la factura se publica, esas líneas quedan bloqueadas.

Tres formas de poner precio a un proyecto

En un proyecto facturable eliges en Odoo cómo reciben precio las horas (el campo Precios):

FormaCuándo
Tasa de tareaCada tarea tiene su propia línea de pedido. Útil si vendes servicios distintos a clientes distintos.
Tasa del proyectoUna tarifa por hora para todo el proyecto, la haga quien la haga.
Tarifa de empleadoEl mismo trabajo a otra tarifa por persona, por ejemplo junior y senior. Asignas una línea de pedido por empleado.

En cada línea de horas Odoo indica además un tipo facturable: según partes de horas, a precio fijo, por hitos, manual o no facturable. En los informes de Partes de horas agrupas por él para ver qué parte de las horas se convierte en ingresos.

Dónde suele fallar

En el foro de Odoo se repiten las mismas preguntas. La mayoría tiene la misma causa: una línea de horas sin elemento del pedido de venta.

  • El proyecto se creó a mano. Entonces no tiene línea de pedido y las horas nunca llegan a la factura. Vincula el proyecto o la tarea a un elemento del pedido.
  • La política de facturación se cambió después. Odoo no la aplica con efecto retroactivo a las líneas existentes.
  • Alguien registró horas en la tarea equivocada. Una tarea sin línea de pedido, o interna, no cuenta.
  • El pedido no está confirmado. Solo tras confirmarlo crea Odoo el proyecto y el vínculo.
Consejo: muestra la columna Elemento del pedido de venta en la lista de Partes de horas. Una celda vacía es una hora que no vas a facturar.

Las horas facturadas quedan bloqueadas

Cuando una línea de horas está en una factura publicada, Odoo ya no deja borrarla ("You cannot remove a timesheet that has already been invoiced"), ni siquiera a un administrador. Si hay que cambiar algo, cancela la factura o emite una nota de crédito. En Odoo 18 y 19 el campo de la factura se llama timesheet_invoice_id, en 20 reinvoice_move_id; el comportamiento es el mismo.

Qué añade TimeViking

TimeViking no hace facturas: eso sigue en Odoo. Lo que hace es que las horas estén en Odoo a tiempo y en su sitio.

  • Horas en la tarea correcta. Tu equipo elige proyecto y tarea de Odoo, también en el móvil. Odoo vincula la línea al elemento del pedido de la tarea, igual que una línea introducida en Odoo.
  • Antes de facturar: aprobación por semana. El jefe de proyecto ve por persona las horas enviadas y la parte facturable, y devuelve una semana si algo no cuadra. Consulta aprobar horas en Odoo.
  • Horas facturables y su valor por proyecto, cliente o persona, con exportación a Excel y CSV.
  • Las líneas facturadas no se tocan. Si una línea está en una factura, la app no la cambia ni la borra y explica por qué.

Más sobre la conexión en la página integración con Odoo; el coste, en precios.

Prueba TimeViking con tu propio Odoo.

Gratis para equipos de hasta 3 usuarios, para siempre. Los equipos más grandes tienen 30 días de prueba gratis, sin tarjeta.

Preguntas frecuentes

¿Puedo facturar horas en Odoo Community?

Sí. El módulo sale_timesheet (Ventas y Partes de horas juntos) es Community, LGPL-3, en Odoo 18, 19 y 20. No necesitas Enterprise.

¿Por qué las horas entregadas del pedido no coinciden con los partes de horas?

Normalmente algunas líneas no están vinculadas al elemento del pedido de venta: el proyecto se creó a mano o la tarea no tiene elemento. Muestra la columna Elemento del pedido de venta en la lista de Partes de horas y filtra los valores vacíos. Además, Odoo no aplica con efecto retroactivo una política de facturación que cambies después.

¿Puedo modificar una línea de horas ya facturada?

No una vez publicada la factura: Odoo también impide borrarla. Cancela la factura o emite una nota de crédito. TimeViking no fuerza esas líneas y muestra por qué están bloqueadas.

¿TimeViking factura por sí mismo?

No. Las facturas se hacen en Odoo. TimeViking lleva las horas a Odoo, al proyecto y la tarea correctos, para que Odoo las vincule al pedido de venta. En la app ves por proyecto las horas facturables y su valor, y las exportas a Excel.

Más guías