Antes de facturar: de dónde sale la cantidad
La factura no se arma sobre lo que alguien escribe: se arma sobre la suma de las horas que ya quedaron cargadas en las tareas.
Para que un proyecto pueda facturar horas hacen falta dos condiciones a la vez, las dos en la pestaña Ajustes de la ficha del proyecto: el interruptor Facturable tiene que estar activado, y el campo Cliente tiene que estar completo. Sin cliente, Odoo no tiene a quién facturarle y el resto de esta página no aparece.
Con esas dos condiciones, el proyecto trae un Producto de la hoja de horas por defecto —el servicio que se va a facturar—. Ese producto es el que decide, en su propia configuración, que la cantidad a facturar salga de las horas cargadas y no de un número que alguien tipeó a mano: es lo que Odoo llama cantidad entregada, y en la línea de la orden de venta correspondiente aparece bajo la columna Entregado. Cada vez que se guarda una hoja de horas en una tarea de este proyecto, ese número sube solo. Este manual no explica cómo se cargan esas horas —eso está en «Registro de horas en las tareas»— sino qué pasa con ellas una vez cargadas.
Si el proyecto no tiene todavía ninguna hora facturable, las tareas siguen mostrando de qué manera van a quedar registradas cuando no traigan un artículo de venta propio: el aviso debajo de Facturable dice «Las hojas de horas sin un artículo de orden de venta se registran como» seguido de un valor, no facturable o facturado manualmente según cómo esté configurado el proyecto. Es una clasificación para los reportes, no una traba: de cualquiera de los dos estados se puede pasar a facturable asignando el artículo correspondiente.
Las tres formas de tarificar: por tarea, por proyecto o por empleado
No es un campo que se elige de un desplegable: Odoo lo calcula solo, según qué artículo de venta se haya asignado y dónde.
Internamente Odoo distingue tres esquemas de tarificación para un proyecto facturable por horas. No hay ningún campo «Tarificación» que se pueda abrir y elegir a mano: el esquema sale de la combinación de dos cosas —si el proyecto tiene un Artículo de la orden de venta propio, y si además existen filas cargadas en la pestaña Facturación (que se ve en la próxima sección)—.
| Esquema | Cómo se activa | Cuándo conviene |
|---|---|---|
| Tasa de actividad | Es el valor por defecto: ni el proyecto ni la pestaña Facturación tienen un artículo de venta asignado. Cada tarea trae su propio campo Artículo de la orden de venta, independiente del de las demás. | Cuando se quiere facturar distintos servicios a distintas tarifas dentro del mismo proyecto —por ejemplo, una tarea que es «Mano de obra» y otra que es «Inspección»—. |
| Tasa del proyecto | El proyecto tiene un Artículo de la orden de venta cargado directamente en su pestaña Ajustes. Todas las tareas heredan ese mismo artículo, sin importar quién cargó las horas. | Cuando se factura un servicio a una tarifa fija por hora o por día, sin distinguir quién trabajó. |
| Tarifa de empleado | Hay al menos una fila cargada en la pestaña Facturación, mapeando un empleado a un artículo de venta. Este esquema tiene prioridad sobre los otros dos: si existe aunque sea una fila, gana. | Cuando el mismo servicio se cobra distinto según quién lo hizo —por ejemplo, un oficial y un ayudante—. |
La tabla anterior usa las etiquetas reales que Odoo muestra en pantalla, y vale la pena decirlo porque no son del todo consistentes entre sí: dos de los tres valores dicen «Tasa» y el tercero dice «Tarifa», aunque los tres son la misma idea —a qué artículo de venta se carga la hora—. No es un error de esta guía: es así como están traducidas en el propio sistema.
La pestaña Facturación: mapear empleados y tarifas
Un empleado, un artículo de venta y, si hace falta, un costo interno distinto al que tiene cargado en su legajo.
La pestaña Facturación del proyecto —visible solo si es facturable y tiene cliente— trae una tabla con una fila por empleado. Cada fila tiene cuatro datos:
| Columna | Qué es |
|---|---|
| Empleado | A quién se le aplica esta fila. Un mismo empleado no puede repetirse dos veces en la tabla del mismo proyecto. |
| Artículo de la orden de venta | Contra qué línea de la orden se factura el tiempo de ese empleado en este proyecto. |
| Precio unitario | No se edita acá: lo trae el artículo de venta elegido. Es lo que efectivamente se le cobra al cliente por hora. |
| Costo por hora | Editable. Por defecto trae el costo horario cargado en el legajo del empleado, pero se puede pisar puntualmente para este proyecto. |
Si un empleado carga horas en el proyecto pero no tiene fila propia en esta tabla, Odoo no lo deja sin facturar de cualquier manera: primero busca si la tarea puntual tiene su propio artículo de venta, y si tampoco lo tiene, cae en el artículo general del proyecto. Recién si ninguno de los dos existe, esas horas quedan sin artículo asignado.
El botón Crear factura y el período de hojas de horas
Se factura desde la orden de venta, no desde el proyecto ni desde la hoja de horas.
El punto de partida es la orden de venta del cliente —la misma que trae el artículo de venta usado en cualquiera de los tres esquemas anteriores—. Con la orden confirmada, el botón Crear factura abre un asistente con tres modos posibles; el que corresponde a horas trabajadas es Factura normal, que es además el que viene tildado por defecto.
Cuando la orden tiene al menos una línea que se factura por horas, el asistente agrega un campo que no aparece para una orden común: Periodo de hojas de horas, con una fecha de inicio y una de finalización. Si se deja vacío, Odoo factura todas las horas de esa orden que todavía no se facturaron. Si se completa un rango, solo entran las horas cargadas dentro de esas fechas —las de afuera quedan pendientes para una factura posterior—. Es la forma prevista de facturar, por ejemplo, «lo trabajado en septiembre» sin tener que tocar nada en las tareas.
Una vez que una hoja de horas quedó incluida en una factura, Odoo la bloquea para edición: no se puede cambiar su cantidad de horas, el empleado, el proyecto, la tarea ni la fecha. Sí se puede seguir viendo, y la propia línea de la hoja de horas guarda una referencia a qué factura la incluyó.
Elegir qué horas cuentan para facturar
Por defecto entra cualquier hora cargada, esté o no validada por un responsable.
Hay un ajuste general, no por proyecto, que decide qué hojas de horas se toman en cuenta al facturar: en Ajustes > Hoja de horas, bloque Facturación, el campo Facturación de las hojas de horas tiene dos opciones. Todas las hojas de horas registradas es el valor por defecto: cualquier hora cargada entra al facturar, se haya validado o no. Solo hojas de horas validadas cambia esa regla: una hora que nadie aprobó todavía no cuenta para la cantidad entregada, y tampoco se muestra en el portal del cliente hasta que se valide.
Con el valor por defecto («Todas»), si al momento de facturar hay un cronómetro corriendo sobre una hoja de horas de esa orden, Odoo lo detiene automáticamente antes de generar la factura, para no dejar afuera el tiempo que se estaba cargando en ese instante.
La factura que queda y la localización argentina
Nada de lo anterior cambia el circuito de comprobantes: la factura que sale de acá es una factura como cualquier otra.
Todo lo que hace este asistente, en cualquiera de sus variantes, termina en un mismo lugar: una factura de cliente común, del mismo modelo que cualquier otra factura del sistema. No hay ningún módulo de la localización argentina que toque el circuito de facturación de horas —ni el mapeo de tarifas por empleado, ni el asistente de Crear factura, ni las hojas de horas en sí—: la revisión del código de la localización no encontró ninguna referencia a hojas de horas ni a proyectos en ninguno de sus módulos. En la práctica, esto quiere decir que la factura que se genera acá pasa por el mismo circuito de comprobantes y de ARCA que cualquier otra factura de venta, sin ningún campo, botón o control adicional por tratarse de horas trabajadas.