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:
- un producto de servicio con la política "Basada en los partes de horas";
- un pedido de venta confirmado con ese producto;
- un proyecto o tarea vinculado a la línea del pedido;
- líneas de horas en ese proyecto o tarea, que reciben automáticamente el elemento del pedido;
- 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
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.
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.
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.
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.
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):
| Forma | Cuándo |
|---|---|
| Tasa de tarea | Cada tarea tiene su propia línea de pedido. Útil si vendes servicios distintos a clientes distintos. |
| Tasa del proyecto | Una tarifa por hora para todo el proyecto, la haga quien la haga. |
| Tarifa de empleado | El 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
- Odoo Community y hojas de horas
- Aprobar hojas de horas en Odoo
- La app de horas en el móvil
- Plantilla gratuita de hoja de horas mensual
- Hora de inicio y de fin
- Trucos para partes de horas Odoo
- Por qué Odoo Partes de horas
- Partes de horas en Odoo: guía completa
- Vista calendario del parte de horas en Odoo