Open ERP 5 · Módulos funcionales de Open ERP 5

Módulos de Open ERP

2010·ENE·20, ed. 2010·ABR·26, Javier de Lorenzo-Cáceres

El proyecto Open Object es una arquitectura abierta que incluye entre otras cosas Open ERP, Open ERP Web y una serie de módulos que proveen la funcionalidad de Open ERP. Se puede consultar una lista de los módulos de Open ERP en http://doc.openerp.com/modindex.html donde encontramos 517 módulos. Entre ellos hay 114 que están marcados como "Official, Quality Certified", es decir, los módulos oficiales. También hay otro,profile_business_game, marcado como "Quality Certified" pero no como oficial. Los 114 módulos oficiales se incluyen en la descarga e instalación del servidor Open ERP. Podemos querer descargar alguno de los módulos listados en la citada página para actualizar alguno de los 114 módulos oficiales (aunque la actualización de éstos también puede hacerse en-línea desde la GUI de Open ERP) o para extender la funcionalidad del servidor con algún otro módulo no oficial. En cualquier caso, para descargar un módulo podemos seguir el vínculo del módulo y nos centramos en el apartado descarga que, si nos fijamos, es un enlace a uno de los tres directorios de http://openerp.com/download/modules correspondientes a las tres versiones de Open ERP: 4.2, 5.0 o trunk. El único módulo que no encontraremos en ninguno de esos tres directorios es el módulo Base, el kernel de Open ERP, que sí podemos ver tanto en el directorio addons, como en la lista de módulos de la interfaz de Open ERP, como en el citado sitio web, pero en este último la descarga no está habilitada, como era de esperar. Por supuesto que también podemos dirigirnos a la fuente origen de Open ERP en Launchpad para descargar cualquiera de los citados módulos.

Para instalar un módulo simplemente lo copiamos a la carpeta "addons" de nuestro servidor Open ERP, directamente en formato zip o descomprimido en su propia carpeta; después tan sólo tenemos que actualizar la lista de módulos y ya estará disponible para agregarlo a una BD de una compañía para que esté activo y funcionando en esa compañía.

Dicho de otra forma, los módulos se instalan en el sistema de archivos del servidor de aplicaciones Open ERP, en el directorio (carpeta) "addons" pero solamente se instalarán en una BD si son requeridos, por lo que están disponibles en el sistema para una instalación inmediata. Módulos adicionales se pueden descargar en línea desde el sitio de Open ERP http://openerp.com pero estarán inactivos en un principio y hay que instalarlos previamente en un procedimiento aparte. Para agregar módulos hay principalmente dos formas: a través del servidor y mediante el cliente, pero normalmente el cliente no tendrá permisos de acceso.

Podemos clasificar los 114 módulos oficiales en tres categorías:

  1. Módulos del núcleo o core y oficiales, los 114 que incluye la descarga de 12,7 MB.
  2. Módulos adicionales que extienden la funcionalidad, los restantes hasta 517.
  3. Localizaciones, que son módulos que incluyen la traducción, formatos de fecha, separador decimal y de millares, cuadro de cuentas, ordenamiento jurídico, etc. Entre los 114 encontramos localizaciones para Bélgica, Francia, Luxemburgo, Suiza y Reino Unido, pero no para España; entre los restantes encontramos sólo un cuadro de cuentas del PGC español llamado "l10n_chart_sp" y cuyo nombre corto es "Spain - Chart of Account". De la misma forma que I18n es la abreviatura de Internationalization porque hay 18 letras entra la primera y la última, es decir, entre la "I" y la "n", L10n es la abreviatura de Localization porque hay 10 letras entre la primera letra, la "L" y la última, la "n", usando la caja (capitalización) según corresponda. Pero como locale para España debería usarse "es" para cumplir con la sintaxis de locales POSIX en lugar de "sp" que es más del estilo Windows. Y si somos rigurosos, Cuadro de Cuentas debería escribirse Chart of Accounts, accounts en plural, abreviado CoA. De esta forma se conseguiría una mayor credibilidad, puesto que es normal en el software libre que estos cuadros de cuentas, que pueden llegar a tener 1.600 cuentas, contengan numerosos errores como códigos repetidos, exceso o defecto de ceros en las cuentas de 10 dígitos, etc. como es el caso de openXpertya, con un cuadro de 1.660 cuentas donde encontramos unos 40 ó 50 errores, que en proporción son pocos, pero su corrección tediosa. En el caso de Open ERP, este módulo del CoA español llamado "l10n_chart_sp" tiene sólo 95 cuentas, 8 impuestos IVA (0%, 4%, 7% y 16% soportados y repercutidos) y 7 casos de impuestos. Los casos de impuestos conforman un cuadro de impuestos semejante a un cuadro de cuentas y normalmente se configuran para crear la declaración de impuestos automáticamente.

La instalación de un módulo puede extender la base de datos y/o el menú, pero no tiene por qué, ya que no existe una relación particular entre los módulos y el menú o la BD. En las siguientes imágenes vemos dos compañías distintas en el mismo servidor. La 1ª captura de pantalla corresponde a una compañía de servicios donde vemos el menú del módulo de gestión de proyectos, mientras que la 2ª corresponde a una compañía de producto con los menús de los módulos de compras, inventario, fabricación y ventas. El menú de empresas es similar en ambos pero en la segunda imagen he expandido algunas ramas del árbol. En ambos casos estoy conectado como Administrador usando el navegador Firefox 3, en la primera imagen desde Windows XP 2002 (32 bits) SP3 y en la segunda desde GNU/Linux CentOS 5.3 64 bits.


Menú Principal de Open ERP para una compañía de servicios.


Menú Principal de Open ERP para una compañía de producto.

La definición de la compañía se hace primero a partir de los módulos instalados y después mediante los flujos de trabajo o ingeniería de procesos.

La instalación de los módulos es similar a los paquetes de Linux o de Python en el sentido de que existen dependencias entre módulos y al igual que ocurre en Linux, en Open ERP estas dependencias son gestionadas automáticamente, de forma que al instalar un módulo se instalarán también aquellos de los que depende, si no lo estuvieran ya. Esta característica se usa también para crear los llamados perfiles de compañía, una serie de módulos cuyos nombres comienzan con "profile", que son algo así como módulos virtuales en el sentido de que no aportan funcionalidad propia sino que solamente definen unas dependencias, para que al instalar el módulo del perfil se proceda a la instalación de la relación de módulos de los que depende. Además, los perfiles proponen también una serie de módulos opcionales que el administrador deberá confirmar para su instalación.

Perfiles

Los perfiles son módulos que funcionan como asistentes de instalación y/o configuración de módulos. Su sola aportación es ayudar al usuario final a instalar una colección de módulos acorde, en términos generales, con la actividad de la empresa. Los módulos oficiales de perfiles que han sido definidos hasta la fecha son:

  1. Perfil Mínimo (Minimal profile), que no existe como módulo y sólo instala los módulos base y base_setup.
  2. CRM (CRM profile), el módulo profile_crm.
  3. Sólo Contabilidad (Accounting only profile), el módulo profile_accounting.
  4. Asociación (Association profile), el módulo profile_association.
  5. Compañía de Servicios (Service company profile), el módulo profile_service.
  6. Compañía Fabricante (Manufacturing industry Profile), el módulo profile_manufacturing.
  7. Casa de Subastas (Auction house profile), el módulo profile_auction.

Los perfiles instalan un conjunto de módulos y, salvo Mínimo y CRM, proponen otro, aunque sin mucho entusiasmo, ya que el valor predeterminado de los módulos propuestos es no instalar, sin embargo en un caso real instalaremos bastantes de los propuestos y algunos más, aunque no desde el perfil. El perfil mínimo sólo instala 2 módulos ("base" y "base_setup") y no propone ninguno. El perfil CRM no propone módulos opcionales pero ayuda a configurar tipos de relaciones o secciones de casos.

El perfil mínimo sólo instala dos módulos que incluyen, junto con "process", una gran parte de la lógica operativa de Open ERP, es decir, los métodos implementados en el software que constituyen, por así decirlo, el motor de Open ERP. Mientras los perfiles se usan para empezar a conocer el sistema, en una instalación real para producción empezaremos por el perfil mínimo, comprobaremos si existen actualizaciones y continuaremos con la instalación de los módulos específicos que necesitemos como product (producto), purchase (compras), sale (ventas), CRM y otros. Además tendremos que ver algún módulo de localización para España, pues existen varios y ninguno viene incluido en la descarga; de otra forma tendremos que configurarnos nuestro cuadro de cuentas, impuestos, etc. lo que resulta recomendable porque es interesante dominar estos aspectos esenciales del sistema. Hay que observar que mientras la instalación de un módulo puede resultar sencilla, la desinstalación puede no serlo, ya que la implementación del desinstalador está en fase beta, mucho más compleja debido a que pueden haberse registrado datos en la BD relacionados con el módulo que se intenta desinstalar.

Listado de Módulos

La siguiente tabla muestra las dependencias de los siete perfiles oficiales, es decir, los módulos de los cuales depende cada perfil, por tanto, los módulos que instala cada perfil. Esto nos dará una idea de la importancia o prioridad de los principales módulos, pondrá de manifiesto unas relaciones que, al menos inicialmente, serán más interesantes que la relación alfabética y hará desvanecer la idea de que tenemos que enfrentarnos, también inicialmente, a cientos de módulos. Además de los 7 perfiles oficiales he incluido una columna adicional que corresponde a los módulos que han de instalarse al seguir el capítulo del Manual llamado "Desarrollando un caso real", donde básicamente se instala el perfil mínimo y el módulo "sale" (ventas) que a su vez, por su dependencia, invoca la instalación de "product", "stock" y "mrp", que a su vez invoca la instalación de "purchase", "account" y "hr".

La base de datos creada con un perfil mínimo contiene una funcionalidad mínima pero puede ser extendida para incluir toda la funcionalidad potencial disponible en Open ERP. Acerca de las únicas funciones realmente disponibles en una base de datos mínima están las Empresas (partners) y las Monedas ó divisas (currency) y ésto es así porque la definición de la compañía principal lo requiere, así que están incluidas en el módulo base; y también desde el principio necesitamos el módulo de administración base_setup. La tabla muestra que de los 114 módulos del core de Open ERP, los más importantes en una etapa inicial son 49 y si descontamos los 6 perfiles, 43. También muestra que el número de módulos por perfil no supera los 20. Los módulos que instala cada perfil se señalan con un "Sí", los propuestos con "Prop" y cuando alguno de los propuestos depende de algún otro, éste se señala con una "X". Aún falta señalar los módulos propuestos por el perfil de casa de subastas.

Lista de los principales Módulos de Open ERP
MóduloDependenciaDescripciónPerfiles
Módulos de Perfiles.1 Mín2 CRM3 Con4 Aso5 Ser6 Fab7 SubCaso real
profile_crmcrm_vertical, board_crm_configuration.Perfil de CRM.
profile_accountingaccount, report_analytic, board_account, account_followup.Perfil de sólo Contabilidad.
profile_associationmembership, board_association.Perfil para Asociaciones.
profile_sevicehr, project, board_project, account_analytic_analysis.Perfil de Compañía de Servicios.
profile manufacturingmrp, sale, delivery, board_manufacturing, product_margin.Perfil de Compañía Industrial.
profile_auctionaccount, auction, board_auction, hr_timesheet_sheet.Perfil de Casa de Subastas.
Módulos base del sistema Open ERP.MínCRMConAsoSerFabSubC.real
baseNinguna.Núcleo de Open ERP. Incluye empresas, monedas, configuración, etc.
base_setupbase.Asistente de configuración de la compañía.
Módulos base de toda compañía.MínCRMConAsoSerFabSubC.real
processbase.Ingeniería de Procesos.No
boardbase.Base de los Tableros.No
Módulos base por funcionalidad.MínCRMConAsoSerFabSubC.real
crmbase.Iniciativas, oportunidades, tareas, cuestiones, peticiones, errores, campañas, reclamaciones, etc. tareas como comunicación, identificación, priorización, asignación, resolución y notificación.No
productbase, process.Base de productos y listas de precios. Variantes, proveedores, uom, empaquetado, etc.No
hrbase, process.Gestión de recursos humanos: empleados, organigrama, horarios, presencia. Incluye informes.No
accountbase, process, product.Gestión financiera y contable, contabilidad de costes y analítica general.No
base_contactbase, process.Permite administrar los contactos de forma más completa, contactos no relacionados con empresas o trabajando en distintos sitios, posiblemente para diferentes empresas o con distinta función.NoProp
eventaccount, crm, base_contact.Permite organizar y gestionar de eventos y usar el correo.No
membershipbase, process, product, account.Administrar socios.No
projectprocess, product, account, hr.Gestión de proyectos multi-nivel, tareas, trabajos, renderizado de planificaciones, e.s.o.No
stockproduct, account.Gestión multi-almacenes y multi-ubicaciones jerárquicas, partida doble, con muchas características.No
purchasebase, process, account, stock.Gestión de compras, solicitud de ofertas, facturas de proveedores, imprimir pedidos, etc.No
mrpprocess, product, stock, hr, purchase.Módulo base para gestionar el proceso de fabricación con numerosas características.No
saleprocess, product, stock, mrp.Gestión de ofertas y pedidos de ventas con muchas características.No
deliverystock, purchase, sale.Permite agregar métodos de entrega en pedidos de venta y empaquetado, definir transportistas y rejillas de entrega por precios y suplementar facturas con transporte.No
auctionbase, account, hr_attendance.Módulo de Subastas: artistas, artículos, vendedores, compradores y subastas. Pujas, rastreos, pagos, impagos. Distribución.No
Más funcionalidad.MínCRMConAsoSerFabSubC.real
crm_configurationprocess, crm, report_crm.Seguimiento de casos y solicitudes.NoPropProp
crm_verticalcrm_configuration.Simplificación de la interfaz CRM.No
hr_attendancebase, hr.Gestiona la asistencia de los empleados.No
hr_timesheetbase, process, account, hr, hr_attendance.Implementa un sistema de tabla de tiempo, cada empleado codifica y traza el tiempo invertido en cada proyecto, un proyecto es una cuenta analítica y el tiempo genera costes en dicha cuenta.No
hr_timesheet_invoiceaccount, hr_timesheet.Crea facturas basadas en costes (recursos humanos, gastos, ...). Puede definir listas de precios en cuentas analíticas y beneficio teórico.No
hr_timesheet_sheetprocess, hr_timesheet, hr_timesheet_invoice.Facilita la codificación y validación de las hojas de tiempo en una misma vista.No
account_followupaccount.Accounting follow-ups management, genera PDFs como cartas para facturas impagadas.No
account_analytic_analysisaccount, hr_timesheet, hr_timesheet_invoice, project.Modifica las vistas analíticas de las cuentas para mostrar datos importantes a los gestores de proyecto de las compañías de servicios. Agrega un menú para mostrar la info relevante a cada gestor de proyecto.NoProp
sale_delivery_reportsale, delivery.Permite imprimir una orden de entrega.No
Informes.MínCRMConAsoSerFabSubC.real
report_crmcrm.Añade nuevos informes basados en casos CRM por sección y categoría.No
account_reportaccount.Informes contables y financieros, estado fiscal e indicadores.No
report_accountaccount.Añade nuevos informes basados en el módulo de contabilidad.No
report_analyticaccount, hr_timesheet_invoice.Añade nuevos informes basados en contabilidad analítica.No
report_analytic_lineaccount, hr_timesheet_invoice.Un informe de líneas analíticas, costes por producto, meses y cuentas.No
report_analytic_planningaccount, hr_timesheet_invoice, project, report_analytic_line.Planificación sobre cuentas analíticas.No
report_taskbase, project, hr_timesheet_sheet.Estadísticas sobre tareas por usuario en proyectos para comprobar la fuente de info de los usuarios.No
report_timesheethr_timesheet, hr_timesheet_invoice.Añade vistas de hojas de tiempo como todo el mes, por usuario, por cuenta, etc.No
product_marginbase, product, account.Añade un menú de informes de productos que computan ventas, compras, márgenes y otros indicadores basados en facturas. El asistente que lanza el informe contiene opciones para obtener los datos que se requieran.No
report_mrpmrp.Nuevos informes mrp, cargas de centros, variación semanal del valor de stock.No
Tableros.MínCRMConAsoSerFabSubC.real
board_crm_configurationboard, crm_configuration.Tablero para CRM.No
board_accountboard, account, hr_timesheet_invoice, report_account, report_analytic.Crea Tableros para contables que incluyen listas y gráficos.No
board_associationboard, event, membership, project.Tablero para asociaciones. Iniciativas, Encuentros, Casos, Trabajos, Ventas, etc.No
board_projectboard, project, report_timesheet, report_analytic_planning, report_analytic_line.Tablero para miembros de proyecto: tareas, plazos, notas públicas, gráficos de tiempo y análisis de trabajos.No
board_manufacturingboard, stock, mrp, report_mrp.Crea Tableros para fabricación que incluyen listas de pedidos de próxima producción, de entregas, de contratación de excepción y gráficos de carga de centros de trabajo.No
board_auctionboard, auction.Tablero de subastas.No
T O T A L = 43 + 6 perfiles29161318161310
Módulos adicionales propuestos por cada perfil3 Con4 Aso5 Ser6 Fab
board_documentboard, document, report_documentTablero de la Gestión Documental.PropPropPropProp
account_analytic_plansaccount, account_analytic_defaultPermite usar diferentes planes analíticos conforme al diario general, p.e., ventas y proyectos, e incluso repartir importes entre subproyectos.Prop
account_paymentaccountUna forma mejor de administrar y automatizar pagos.Prop
account_budgetaccountPermite administrar presupuestos analíticos y cruzados.Prop
project_gtdprojectImplementa los conceptos definidos por la metodología GTD.PropProp
wikibaseTrabajar con documentos wikiPropProp
hr_expensehr, account, account_tax_includeAdministrar los gastos de los empleados.PropProp
project_timesheetbase, project, hr_timesheetTransferir tareas entre el gestor de proyectos y el parte de tiempo según fecha y usuario, para crear editar y borrar.Prop
scrumprocess, projectImplementa los conceptos definidos por la metodología de gestión de proyectos scrum para empresas TIProp
hr_holidaysprocess, hr, crm_configurationFlujo para seguimiento de vacaciones y sus solicitudes.Prop
project_mrpproject, mrp, sale, mrp_jitCrea tareas automáticamente basadas en diversas fuentas como pedidos de venta o fabricación.Prop
mrp_jitmrp, salePermite el cómputo JIT para evitar ejecutar acciones programadas pq se ejecutan en tiempo real (puede ralentizar el sistema).XProp
stock_locationstockGestiona rutas de productos en cadenas y almacenes.Prop
mrp_operationsstock, hr, purchase, product, mrpAñade estado y fechas de comienzo y fin a los pedidos de producción.Prop
mrp_subproductbase, mrpPermite producir diversos artículos desde una BOMProp
mrp_repairbase, sale, accountIntenta manejar totalmente las reparaciones de productos.Prop
point_of_salesale, purchase, account, account_tax_includeTerminal Punto de VentaProp
sale_journalstock, salepermite clasificar las ventas y entregas (albaranes) en distintos diarios. (para cías grandes)Prop
sale_crmsale, crm_configurationAñade un vínculo en uno o más casos CRM para generar pedidos de venta según los casos.Prop
warningbase, saleProp
Módulos adicionales de los que dependen los propuestos3 Con4 Aso5 Ser6 Fab
documentbase, processSistema de Gestión DocumentalXXXX
report_documentdocumentInformes DMS: My Files y All Users FilesXXXX
account_analytic_defaultaccountSeleccionar automáticamente cuentas analíticas según criterios: producto, empresa, etc.X
account_tax_includeaccountPermite trabajar con impuestos incluidos en el precio.XXX
Módulos adicionales no oficiales propuestos por cada perfil3 Con4 Aso5 Ser6 Fab
account_assetProp
portalPropProp
sale_marginProp
Módulos obsoletos propuestos por cada perfil3 Con4 Aso5 Ser6 Fab
account_budget_crossoverProp

Como vemos en la tabla, los módulos de perfiles proponen módulos no oficiales y también hay uno obsoleto "account_budget_crossover" cuya funcionalidad seguramente se incluye en "account_budget". También encontramos algún error como es el caso de "mrp_operations" ya que el perfil propone "mrp_operation", en singular, lo que generaría un error. Ahora se entiende mejor el poco entusiasmo de la proposición pero en cualquier caso y especialmente para un entorno de producción, evitaremos usar los perfiles y en su lugar comenzaremos con una BD mínima añadiendo el módulo de ventas.

Comentarios

Entradas populares