Rentabilidad en Odoo - La contabilidad de costos como es implementada
Es algo que se escucha recurrentemente y es una queja de los gerentes. "No tengo visibilidad sobre la contabilidad". A lo que muchos project leaders hacen un gesto como "pero si podes ver todas las facturas de proveedores, de venta, estan todos los asientos contables... cual es el problema?". Y el problema es que Odoo out-of the-box implementa la contabilidad financiera, que es la que te permite llevar a cabo las operaciones de la empresa. Ahora lo que mucha veces necesitan los gerentes es la contabilidad de costos, que es la que te permite conocer por línea de negocio/proveedor/cliente/producto la rentabilidad del mismo.
Las grandes empresas implementan en sus sistemas la contabilidad de costos. Durante mi juventud trabaje para dos grandes aerolineas (de las que vuelan cientos de aviones, ese tamaño de aerolinea). Y eran muy similares en los sistemas que implementaban. Para revenue management, para distribución. Ahora ambas aerolineas tenian un sistema en comun. Tenían un sistema denominado Flight Profitability System, el cual les permitía conocer por vuelo (y pensemos que cada aerolinea tiene decenas de miles de vuelos por año) la rentabilidad del mundo. Lo que les permite luego conocer la rentabilidad por mercado, por horario, etc etc...
Ahora, se puede implementar lo mismo en Odoo? Definitivamente. Out-of-the-box Odoo cuenta con los módulos product_margin y sale_margin los cuales permiten conocer por producto u orden de venta, siempre y cuando el costeo de los productos se alinee con los procesos de costeos de la empresa. Lo cual sirve en múltiples casos. Por ejemplo sirven para una distribuidora. Odoo tambien provee el módulo analytic el cual introduce el concepto de la contabilidad analítica (no se quien lo hará, pero alguien debe decirle a la gente en Odoo que estan para desarrollar software, no para revolucionar los fundamentos de la contabilidad que hace siglos que funcionan bien). La contabilidad analítica introduce las cuentas analiticas las cuales son un nombre marketinero para lo que en Argentina conocemos como "centro de costos". La contabilidad analítica por ejemplo es la que nos permite conocer la rentabilidad por proyecto (por ejemplo).
Ahora hay muchos negocios que funcionan de otra manera, que hacen muchas cosas más alla de las ordenes de venta. Por ejemplo hay negocios que implementan contratos por medio del módulo contract. Hay otros que implementan el módulo sale_blanket_order. Y la lista sigue. Entonces, como pueden hacer ellos para hacer el seguimiento de su rentabilidad por línea de negocios? Aca interviene (cuando no) la capacidad de desarrollar módulos propios.
Lo que se debe hacer es extender el módulo analytic para agregarle al objeto account.analytic.account y account.analytic.line los atributos que necesitemos (por ejemplo el ID de la sale order, ID del producto, del cliente. proveedor... de cualquiera que sea la línea de negocio de la cual querramos hacer el seguimiento de la rentabilidad (o como dijimos anteriormente, el centro de costo en el mundo pre-Odoo). Y seguidamente tenemos que implementar la creación de las lineas analíticas (el objeto account.analytic.line) en cada uno de los movimientos del negocio que impliquen un ingreso o egreso financiero. Por ejemplo, al momento de confirmar una factura o al registrar una factura de proveedor, o al registrar un pago de clientes, etc.
Es en este punto en el que por ejemplo podemos realizar las distribuciones de los costos indirectos. Por ejemplo, supongamos que registramos el pago del salario de un vendedor. Al registrar el pago del salario; podríamos distribuir su salario en las diferentes ordenes de venta confirmadas del vendedor (creando tantas líneas analíticas como pedidos de venta, prorrateando el salario por la cantidad de pedidos). Lo importante a tener en cuenta es, el objeto de costos es el modelo account.analytic.account. Y las imputaciones se realizan por medio del modelo account.analytic.line. Es importante en ambos modelos relacionarlos con el objeto que deseemos analizar; por ejemplo pedido de venta, proyecto o contrato.
Usted se preguntará "hay algún módulo que haga esto?". No creo, la rentabilidad de los negocios varía de empresa a empresa y es dificil tener módulo que cubra no solo la alocación de los ingresos sino tambien de los costos directos pero por sobre todo indirectos. Es por ello que esta problemática se soluciona de una forma personalizada por cliente. Y por eso, antes de empezar a programar... es mejor que el cliente les alcance su planilla de Excel donde ya tiene modelada la distribución de costos.
Recapitulando, la contabilidad de costos en Odoo esta bien implementada. Lo que es claro es que el sistema le brinda a uno la infraestructura, despues está en nosotros el poder construir con ella. Los modelos que se usan para el seguimiento de los costos son simples y efectivos al mismo tiempo (por ejemplo, las imputaciones analiticas son lineas con montos positivos y negativos; si no se entiende eso... no se que puedo hacer por usted). Pero esta en uno implementarla y desarrollar soluciones en Odoo (como en cualquier area de la informática) no siempre es facil.
Acerca de:
Gustavo Orrillo
Passionate about programming, he has implemented Odoo for different types of businesses since 2010. In Moldeo Interactive he is a founding Partner and Programmer; In addition to writing on the Blog about different topics related to the developments he makes.