Seguro que te suena este cliente: paga la iguala puntual, nunca discute una factura y llama tres veces por semana. Es el favorito de administración. Y con bastante probabilidad es el que menos dinero deja, porque la iguala no cambia aunque las horas se disparen.
Con las bolsas de horas pasa algo parecido, pero al revés: el cliente paga por adelantado un paquete de horas y nadie mira quién las consume ni qué pasa cuando se acaban. En los dos casos el problema es el mismo. Lo cobrado está en contabilidad y las horas, si se apuntan, están en otro sitio. Nadie cruza las dos cosas cliente a cliente.
¿Por qué una iguala esconde las pérdidas mejor que una factura por horas?
Porque cuando facturas por horas, cada hora de más se ve en la factura y el cliente la paga. En una iguala, esa hora de más la paga el despacho. Y no se nota en ningún informe de ventas: la cuota entra igual en enero que en junio.
Un ejemplo para verlo claro, con números nuestros. Dos clientes con la misma iguala, 450 € al mes. Un socio con un coste de 45 € la hora y un técnico junior a 22 €.
| Cliente A: coste sobre la cuota | 54 % | |
| Cliente B: coste sobre la cuota | 109 % |
Fíjate en que el cliente B no llega al doble de horas: gasta 14 frente a 8. Pero su coste sí se dobla, de 245 € a 492 €. Lo que lo hunde es quién hace el trabajo: el socio pone 8 de esas 14 horas porque es quien coge el teléfono. Con el reparto del cliente A, esas mismas 14 horas costarían unos 429 € y la iguala aún dejaría margen.
¿Qué necesita Odoo para enseñarte esto cliente a cliente?
Cuatro cosas. Ninguna es exótica, y si falta cualquiera de las tres primeras, el número sale mal.
- El coste por hora de cada persona. Es el campo «Coste por hora» de la ficha del empleado, y Odoo lo usa para valorar cada parte de horas. Si está vacío, las horas cuentan como esfuerzo pero cuestan cero euros. Y el coste se fija al guardar cada parte: si lo rellenas tarde, los partes ya registrados no se recalculan solos. Nuestro consejo: pon el coste completo (sueldo, seguridad social y una parte de la estructura), no solo el bruto.
- Un proyecto por cliente, enlazado a lo que paga. La iguala y la bolsa de horas se crean como productos de servicio que, al confirmar el pedido, generan el proyecto del cliente (en la ficha del producto, la opción «Proyecto» del campo que decide qué se crea con el pedido). Ojo: Odoo crea un proyecto por pedido, así que si vendes otra bolsa en un pedido nuevo, las horas del cliente pueden acabar repartidas en dos proyectos. Si la iguala se factura cada mes con la app de Suscripciones, el producto se marca además como «Producto de suscripción».
- Horas imputadas al proyecto de ese cliente. No a un proyecto genérico de «asesoría» ni a uno interno. Si las llamadas del cliente B se apuntan en «Varios», su coste desaparece de sus números.
- Tarifa por perfil, si facturas extras. En la pestaña «Facturación» del proyecto puedes asignar a cada empleado su propia línea de pedido, cada una con su precio: así la hora del socio y la del junior se facturan distinto. Ahí mismo puedes fijar un coste por hora solo para ese proyecto. Ojo: esa asignación manda a su línea todas las horas de esa persona en el proyecto. Si la haces en el proyecto de la iguala, cada hora suya se facturaría como extra. Lleva los extras en un proyecto aparte, facturable y del mismo cliente.
Con eso montado, el panel de rentabilidad del proyecto enfrenta ingresos y costes. Cómo se lee ese panel lo contamos en Odoo Proyectos y rentabilidad; aquí nos interesa otra cosa: agrupar el análisis de partes de horas por cliente y ponerlo al lado de lo facturado. Esa agrupación no viene de serie: se añade con un grupo personalizado por el campo «Contacto». Y para la iguala, quédate con el coste de los partes, no con la columna de margen de ese informe: puede valorar cada hora al precio de la cuota entera. Esa tabla, con doce meses, es la que casi nunca se mira. Dejarla montada es parte de lo que hacemos en Odoo para despachos profesionales.
¿Y las bolsas de horas?
La bolsa es más honesta que la iguala, porque tiene un límite. El riesgo está en lo que pasa cerca de ese límite.
En Odoo, la bolsa se vende con la política de facturación «Prepago/Precio fijo» y la unidad en horas. Cada hora que el equipo imputa cuenta como entregada en esa línea del pedido, y Odoo te muestra en la tarea y en el pedido el tiempo que queda. En la ficha del producto puedes fijar además un umbral: el porcentaje de horas consumidas a partir del cual Odoo crea una actividad para que el comercial ofrezca más horas. Con el umbral en el 80 %, el aviso salta cuando el cliente pasa de 16 de sus 20 horas. Pero en Odoo 19 tiene dos condiciones: que haya un comercial asignado, en el pedido o en la ficha del cliente, y que la bolsa no esté facturada entera. Si la facturaste por adelantado, el aviso no llega hasta que se pasan las 20 horas. Así que no te fíes solo del aviso: revisa el tiempo restante cada semana.
IGUALA Cuota fija sin tope de horas. Lo que vigilas es el coste real de las horas contra la cuota, mes a mes y por perfil. El peligro: el cliente que consume sin que nadie lo vea. | BOLSA DE HORAS Paquete prepagado con tope. Lo que vigilas son las horas restantes y quién las gasta. El peligro: seguir trabajando cuando la bolsa ya está a cero. Odoo no lo impide: solo pone en rojo el tiempo restante. |
Un matiz que se olvida: una bolsa de 20 horas vendida a 60 € la hora son 1.200 €. Si la consume el socio, a 45 € de coste, quedan 300 €. Si la consume el junior, a 22 €, quedan 760 €. Mismo cliente, misma factura y más del doble de margen. Otra vez, números nuestros.
En Cohaerentis las igualas, las bolsas de horas y los proyectos se definieron como productos facturables, con listas de precios por rol (senior, junior, paralegal) y partes de horas que no cuesta rellenar. Encima configuramos informes de horas para justificar el trabajo ante el cliente, y una automatización con IA que prepara cada mes el informe de horas por cliente y expediente sin compilarlo a mano. Se pensaron para el cliente, pero son la misma materia prima que necesitas para saber qué iguala está bien calculada y cuál no.
¿Qué haces con el cliente que sale a pérdidas?
No hay una respuesta única, y desconfía de quien te dé una. Hay clientes con los que pierdes dinero y aun así compensan, porque traen a otros o porque son la puerta a un sector. Lo que cambia con el dato es que la decisión la tomas tú, y no la inercia.
Las salidas posibles son revisar la cuota con los números delante, acotar por escrito lo que entra en la iguala, mover parte del trabajo a otro perfil o facturar aparte lo que se sale del alcance. Y esa conversación se sostiene mucho mejor con una tabla delante que con una impresión.
Una iguala suele fijarse una vez, por intuición o mirando al de al lado, y luego nadie la vuelve a tocar. Es lógico: sin las horas por cliente no hay con qué revisarla. Odoo no te dice qué cobrar. Te dice, con unos meses de partes bien imputados, dónde estás regalando trabajo. A partir de ahí, el precio es una decisión de negocio, no de software.
Montamos Odoo para despachos profesionales con igualas, bolsas de horas y partes por perfil, para que tengas cada mes la rentabilidad por cliente a la vista.
HablemosFuentes: Odoo 19 — Rentabilidad del proyecto · Odoo 19 — Facturación por tiempo y materiales · Odoo 19 — Helpdesk: registrar y facturar tiempo (horas prepagadas). El umbral de aviso, la asignación de líneas por empleado y el coste por proyecto no están en la documentación: se han comprobado en el código de Odoo 19 (módulo sale_timesheet). Los nombres de campos se han comprobado en un Odoo 19 en español. Los ejemplos numéricos son propios de epoint, para ilustrar el cálculo.