Hola JeanLup
Hay varias casuisticas que planteas en tu correo y creo que te puedo dar solución a todo. Justo estamos trabajando en este tema para un par de clientes y acabamos de publicar los siguientes módulos.
https://github.com/avanzosc/odoo-addons/tree/14.0/stock_picking_analytic --> Permite añadir una cuenta analítica directamente en un albarán de tal forma que te genera una entrada analítica por cada línea de movimiento realizado. Los de salida generan coste y los de entrada ingreso. (Luego explico porqué)
https://github.com/avanzosc/odoo-addons/tree/14.0/purchase_stock_picking_analytic --> EVITA que si un albarán se ha creado desde un pedido de compra, se vea la cuenta analítica en el albarán.
Esto es porque por un lado, las imputaciones desde compras van por línea. Si es así, necesitarías imputar por línea de albarán en diferentes proyectos y no era esto lo que se nos solicitó. Por otro lado, aunque todas las líneas del pedido vayan contra un único proyecto, si luego confirmas la factura de compra, crearías el coste 2 veces. Para evitarlo primero hemos creado el módulo mencionado y segundo, si se pone una cuenta analítica en un albarán de entrada, no se imputa como coste, sino como ingreso.
https://github.com/avanzosc/odoo-addons/tree/14.0/sale_stock_picking_analytic --> Evita que si un albarán se ha creado desde un pedido de venta, se vea la cuenta analítica en el albarán. En este punto ya no tiene mucho sentido ya que una salida de material cotra un cliente siempre tendrá un coste. Posteriormente cuando confirmes la factura te realizará las líneas de ingreso, con lo que vas a ver perfectamente el margen. Pero... alguien solicitó esta funcionalidad, por lo que también hemos hecho el módulo para ventas.
https://github.com/avanzosc/odoo-addons/tree/14.0/stock_picking_project --> Enlaza tareas de proyecto DIRECTAMENTE con albaranes. Es decir, en un albarán aparte de cuenta analítica, le puedes poner una tarea. Y desde la tarea puedes enganchar directamente cualquier tipo de albarán. Esto permite desestockar material contra una tarea, aunque haya sido comprada contra stock, creando tantos albaranes como sean necesarios mientras se está haciendo la tarea. Tened en cuenta que las líneas generadas NO LLEVAN proyecto. Solo llevan cuenta analítica y tarea. Ya que aquellas líneas que llevan proyecto Odoo las considera imputaciones de horas y éstas son de material.
Dicho esto, vuelvo a los requerimientos de Jean Lup
1. Necesito poder facturar desde un proyecto, no sólo las horas que los empleados han imputado en la realización de las tareas, sino también los materiales y recursos tangibles utilizados en el mismo.
1. Si en el proyecto utilizas materiales que tienes que facturar a un cliente y puesto que actualmente se factura todo desde un pedido, creo que lo más sencillo, es que crees uno o varios nuevos pedidos, a los que asignes la cuenta analítica del proyecto original y vayas metiendo ahí todos los materiales a cobrar. Esto te irá generando diferentes albaranes a los que también puedes asociar cuenta analítica con nuestro módulo. Al validar los albaranes, te generará el coste en analítica y el pedido te permitirá facturarlos. Así que entiendo que el requerimiento estaría cubierto.
2. Mediante las cuentas analíticas, puedo de una forma fácil imputar en las facturas de compras los productos a ese proyecto, pero tengo una casuística que no sé como resolver, en caso de que yo compré por ejemplo 300 Kg de pintura, para tener en mi almacén, pero en el proyecto voy a hacer uso de 100 Kg de esos 300 Kg, si ya la factura de compra está generada, facturada, contabilizada y pagada, en que momento yo le imputo y digo que mi proyecto hace uso de esos 100 Kg de para controlarlo mediante la contabilidad analítica --> En este caso, creas directamente un albarán desde el proyecto, le asocias su cuenta analítica y lo validas. Puesto que no vas a facturar esa cantidad de pintura, no haría falta que creases el pedido de venta.