+ All Categories
Home > Documents > Sistemas ERP

Sistemas ERP

Date post: 26-Jun-2015
Category:
Upload: andresgarciao
View: 1,861 times
Download: 1 times
Share this document with a friend
33
Organizaciones empresariales más eficaces y eficientes con su información, ERP 2009·DIC·01 Domingo Vera, ed. 2010·JUL·09 J.L-C. La información en las organizaciones empresariales Este mundo globalizado facilita oportunidades de crecimiento a las empresas, aunque por otro lado y al mismo tiempo se presentan niveles de competencia sin precedentes y un entorno cada vez más cambiante. En esta nueva fase de crecimiento de los negocios, las organizaciones empresariales han de aprender a pensar y actuar como una sola. Toda empresa que desee competir en el mercado actual debe considerar la información como uno de los activos más importantes. Por esta razón, es necesario que la empresa disponga de los Sistemas de Información adecuados para suministrar rápida y eficientemente la información. La gestión de la empresa implica la adaptación constante a cambios que generan nuevos entornos y por ello se hace necesaria la ayuda tecnológica que permita que las empresas se anticipen y se adapten a las necesidades de los clientes. Hechos como, peticiones de clientes en tiempo real, la permanente competencia, las exigencias de los accionistas, el cumplimiento de regulaciones legales, además de fusiones y adquisiciones exitosas, demandan plataformas comunes, procesos compartidos y un flujo óptimo de conocimientos fiables. La realidad a nivel mundial de las empresas es, con demasiada frecuencia, la de unos sistemas informáticos obsoletos, con un sinfín de aplicaciones que se solapan, donde existe una redundancia de información, informes incompletos y discrepancias entre sistemas . Lo que demanda un negocio global y ágil es la alineación de la información disponible en la organización, con la estrategia global del negocio. Hoy en día, para que una organización empresarial sea competitiva, es necesario que tenga optimizado e integrado sus flujos internos de información y sus relaciones comerciales externas, para así conseguir objetivos básicos como son las mejoras de la productividad, la calidad, el servicio al cliente y la reducción de costes. Las organizaciones necesitan integración interna y colaboración externa para aumentar sus oportunidades de sobrevivir en el competitivo mercado global. Es por esta razón que se busca poseer un sistema que cubra todas las necesidades del negocio, desde el control de las operaciones financieras y generación de informes, manejo de relaciones y ventas con los clientes, administración de la cadena de suministros, planificación a largo plazo de los requerimientos en la capacidad de producción y programación a corto plazo de la producción, hasta el manejo de inventario y control de costes. En la actualidad, las organizaciones empresariales buscan implementar sistemas para manejar todas las áreas del negocio de forma integral. Con un sistema integrado, las barreras de información entre los diferentes sistemas y departamentos desaparecen. Toda la empresa, sus sistemas y procesos, pueden reunirse para beneficiar a toda la organización. Como consecuencia de este sistema integrador se han de generar unos mejores resultados en la Organización siempre que las empresas desplieguen el software adecuadamente, ofreciendo como beneficio el control y visualización de las operaciones, eficiencia administrativa, productividad más adecuada, servicio a clientes, ahorro en costes operativos y soporte más fiable para la toma de decisiones. Para una organización empresarial, el que un cliente realice una demanda de sus productos o servicios, representa que se cree un pedido de venta, el cual desencadena el proceso de producción, de control de inventarios, una planificación de distribución del producto, cobrarlo, y por supuesto sus respectivas anotaciones contables y fiscales. El sistema permite controlar “todo lo que afecta al negocio”, es decir, el circuito comercial (pedidos, albaranes, facturas y cobros) y las compras. Y sumando los dos ámbitos, compras y ventas, se controla la producción y los stocks. Sin olvidar, además, toda la parte financiera, contable y fiscal. Actualmente el Sistema de Información constituye la base para el desarrollo de nuevos productos y servicios. Es el soporte principal del trabajo de los directivos, ya que permite coordinar el trabajo dentro y entre organizaciones, y sobre todo permite mejorar el funcionamiento, d esarrollando nuevos modelos organizativos con una clara orientación a la información. Los dirigentes, coordinadores o gestores que tienen mayor éxito en su trabajo son aquellos que están mejor capacitados para gestionar y utilizar la información, con el fin de tomar las decisiones más adecuadas. La economía ahora está basada en la producción, la administración y el uso de la información. Muchas compañías se dedican a la producción de la información, pero solo aquellas compañías que adquieran y utilicen la información de manera más eficaz tendrán éxito, y en un ámbito de competencia perfecta será a costa de las que no lo hacen. Los gestores descubren diariamente que mantenerse al día es una tarea difícil. La mayoría de la gente es consciente de la magnitud de los cambios: nuevos métodos de producción, evolución de la sociedad, nuevas políticas económicas, etc. Sin embargo, mientras estos cambios acontecen, los directores y gestores deben diseñar el curso a seguir por sus respectivas organizaciones, departamentos u oficinas, que les permitan lograr las metas y objetivos de la mejor forma. A medida que el entorno va cambiando, la información que se recibe necesita actualizarse. Por lo tanto, la necesidad de una mejor información y de la información adecuada, es una actividad cada vez más crítica. Las organizaciones, entre otras cosas, son agrupaciones interconectadas de trabajadores. Todas las actividades de la empresa están relacionadas. Los éxitos y problemas que ocurran en un departamento de la empresa afectan a las actividades en otras partes de la misma, aunque se encuentren geográficamente muy separadas. Los gestores administradores han de transmitir información a los demás y garantizarse que los departamentos estén progresando de acuerdo con los objetivos planificados. La información es uno de los ingredientes que mantiene unido a todos los componentes del sistema organizativo. La información es un importante recurso para la organización. Tiene valor porque influye en las operaciones de la empresa. La falta de información vital puede ocasionar que los administradores o directores cometan errores, pierdan oportunidades y se enfrenten a graves problemas de rendimiento. La confusión que pudiera generarse por la falta de información podría resultar desastrosa para el futuro de la empresa. Muchas veces una organización dispone de recursos, pero éstos no son gestionados de la forma adecuada y por tanto es como si no existieran. La utilización y desarrollo de sistemas de información adecuados, mejora la productividad aumentando el volumen de trabajo realizado y la velocidad con la que se ejecutan las transacciones, al tiempo que se reducen errores y aumenta la precisión. Incrementan la capacidad de los directores y empleados, haciendo posible lograr nuevos niveles de eficiencia y eficacia. A pesar de todas las ventajas, los sistemas de información también tienen sus costes. Debido a
Transcript
Page 1: Sistemas ERP

Organizaciones empresariales más eficaces y eficientes con su información, ERP2009·DIC·01 Domingo Vera, ed. 2010·JUL·09 J.L-C.

La información en las organizaciones empresariales

Este mundo globalizado facilita oportunidades de crecimiento a las empresas, aunque por otro lado y al mismo tiempo se presentan niveles de competencia sin precedentes y un entorno cada vez más cambiante. En esta nueva fase de crecimiento de los negocios, las organizaciones empresariales han de aprender a pensar y actuar como una sola.Toda empresa que desee competir en el mercado actual debe considerar la información como uno de los activos más importantes. Por

esta razón, es necesario que la empresa disponga de los Sistemas de Información adecuados para suministrar rápida y eficientemente la información. La gestión de la empresa implica la adaptación constante a cambios que generan nuevos entornos y por ello se hace necesaria la ayuda tecnológica que permita que las empresas se anticipen y se adapten a las necesidades de los clientes.

Hechos como, peticiones de clientes en tiempo real, la permanente competencia, las exigencias de los accionistas, el cumplimiento de regulaciones legales, además de fusiones y adquisiciones exitosas, demandan plataformas comunes, procesos compartidos y un flujo óptimo de conocimientos fiables.

La realidad a nivel mundial de las empresas es, con demasiada frecuencia, la de unos sistemas informáticos obsoletos, con un sinfín de aplicaciones que se solapan, donde existe una redundancia de información, informes incompletos y discrepancias entre sistemas. Lo que demanda un negocio global y ágil es la alineación de la información disponible en la organización, con la estrategia global del negocio.

Hoy en día, para que una organización empresarial sea competitiva, es necesario que tenga optimizado e integrado sus flujos internos de información y sus relaciones comerciales externas, para así conseguir objetivos básicos como son las mejoras de la productividad, la calidad, el servicio al cliente y la reducción de costes. Las organizaciones necesitan integración interna y colaboración externa para aumentar sus oportunidades de sobrevivir en el competitivo mercado global.

Es por esta razón que se busca poseer un sistema que cubra todas las necesidades del negocio, desde el control de las operaciones financieras y generación de informes, manejo de relaciones y ventas con los clientes, administración de la cadena de suministros, planificación a largo plazo de los requerimientos en la capacidad de producción y programación a corto plazo de la producción, hasta el manejo de inventario y control de costes. En la actualidad, las organizaciones empresariales buscan implementar sistemas para manejar todas las áreas del negocio de forma integral. Con un sistema integrado, las barreras de información entre los diferentes sistemas y departamentos desaparecen. Toda la empresa, sus sistemas y procesos, pueden reunirse para beneficiar a toda la organización.

Como consecuencia de este sistema integrador se han de generar unos mejores resultados en la Organización siempre que las empresas desplieguen el software adecuadamente, ofreciendo como beneficio el control y visualización de las operaciones, eficiencia administrativa, productividad más adecuada, servicio a clientes, ahorro en costes operativos y soporte más fiable para la toma de decisiones.

Para una organización empresarial, el que un cliente realice una demanda de sus productos o servicios, representa que se cree un pedido de venta, el cual desencadena el proceso de producción, de control de inventarios, una planificación de distribución del producto, cobrarlo, y por supuesto sus respectivas anotaciones contables y fiscales. El sistema permite controlar “todo lo que afecta al negocio”, es decir, el circuito comercial (pedidos, albaranes, facturas y cobros) y las compras. Y sumando los dos ámbitos, compras y ventas, se controla la producción y los stocks. Sin olvidar, además, toda la parte financiera, contable y fiscal.

Actualmente el Sistema de Información constituye la base para el desarrollo de nuevos productos y servicios. Es el soporte principal del trabajo de los directivos, ya que permite coordinar el trabajo dentro y entre organizaciones, y sobre todo permite mejorar el funcionamiento, desarrollando nuevos modelos organizativos con una clara orientación a la información. Los dirigentes, coordinadores o gestores que tienen mayor éxito en su trabajo son aquellos que están mejor capacitados para gestionar y utilizar la información, con el fin de tomar las decisiones más adecuadas.

La economía ahora está basada en la producción, la administración y el uso de la información. Muchas compañías se dedican a la producción de la información, pero solo aquellas compañías que adquieran y utilicen la información de manera más eficaz tendrán éxito, y en un ámbito de competencia perfecta será a costa de las que no lo hacen.

Los gestores descubren diariamente que mantenerse al día es una tarea difícil. La mayoría de la gente es consciente de la magnitud de los cambios: nuevos métodos de producción, evolución de la sociedad, nuevas políticas económicas, etc. Sin embargo, mientras estos cambios acontecen, los directores y gestores deben diseñar el curso a seguir por sus respectivas organizaciones, departamentos u oficinas, que les permitan lograr las metas y objetivos de la mejor forma. A medida que el entorno va cambiando, la información que se recibe necesita actualizarse. Por lo tanto, la necesidad de una mejor información y de la información adecuada, es una actividad cada vez más crítica.

Las organizaciones, entre otras cosas, son agrupaciones interconectadas de trabajadores. Todas las actividades de la empresa están relacionadas. Los éxitos y problemas que ocurran en un departamento de la empresa afectan a las actividades en otras partes de la misma, aunque se encuentren geográficamente muy separadas. Los gestores administradores han de transmitir información a los demás y garantizarse que los departamentos estén progresando de acuerdo con los objetivos planificados. La información es uno de los ingredientes que mantiene unido a todos los componentes del sistema organizativo. La información es un importante recurso para la organización. Tiene valor porque influye en las operaciones de la empresa. La falta de información vital puede ocasionar que los administradores o directores cometan errores, pierdan oportunidades y se enfrenten a graves problemas de rendimiento. La confusión que pudiera generarse por la falta de información podría resultar desastrosa para el futuro de la empresa. Muchas veces una organización dispone de recursos, pero éstos no son gestionados de la forma adecuada y por tanto es como si no existieran.

La utilización y desarrollo de sistemas de información adecuados, mejora la productividad aumentando el volumen de trabajo realizado y la velocidad con la que se ejecutan las transacciones, al tiempo que se reducen errores y aumenta la precisión. Incrementan la capacidad de los directores y empleados, haciendo posible lograr nuevos niveles de eficiencia y eficacia. A pesar de todas las ventajas, los sistemas de información también tienen sus costes. Debido a la importancia de la información, se deben tomar medidas para administrarla de la misma forma que se controlan otros recursos. Para ello se debe asegurar que la información esté disponible cuando se requiera y que sea exacta y precisa.

Las compañías piensan que la tecnología le elevará sus costes, cuando la relación es al revés, el despliegue adecuado de la tecnología traerá consigo la reducción de los costes y el aumento en la calidad, eficiencia y eficacia en sus productos o servicios.

Para poder obtener el beneficio que buscamos de los sistemas de información, éstos deben ser accesibles para una gran variedad de usuarios, por lo que deben ser fáciles de utilizar.

Los sistemas de Planeamiento o Planificación o Gestión de Recursos Empresariales o ERP

Una empresa ha de disponer de un integrador de información: un sistema capaz de ordenar todo el conjunto de áreas, que sumando su funcionamiento mantienen con vida a la empresa de la cual forman parte.

Page 2: Sistemas ERP

Los sistemas de gestión de información que integran y automatizan muchas de las prácticas de negocio asociadas con los aspectos operativos o productivos de una empresa, requieren la interrelación ordenada de todas las áreas de la empresa para contribuir a un objetivo común: agilizar, desburocratizar y contar con información actualizada sobre clientes, ventas, proveedores, producción, etc. Todo esto está contemplado en un software de Gestión de Recursos Empresariales, ERP. Son sistemas estructurados de gestión de la información, diseñados para satisfacer soluciones de gestión empresarial.El sistema de Gestión de Recursos Empresariales, ERP, está constituido por los procedimientos de personas y medios técnicos que permiten capturar, tratar y difundir la información, de forma que pueda contribuir a la toma de decisiones o a la puesta en práctica de dichas decisiones, es decir, a la ejecución de acciones concretas. Los componentes de un sistema de información pueden ser clasificados en tres grupos:

Las herramientas tecnológicas: hardware, software, base de datos, telecomunicaciones.

Las personas.

Los procedimientos o procesos o flujos o flujos de trabajo.

Este software de gestión integral, consta de aplicaciones cuyo propósito es la coordinación de todas las actividades de una organización empresarial en torno al mismo sistema de información. Son aplicaciones de software que permiten a una empresa automatizar sus operaciones y cuya característica principal es que todas las funciones están relacionadas entre sí.

Los sistemas ERP, al tratarse de sistemas integrales de gestión para la empresa, se caracterizan por estar compuestos por diferentes partes integradas en una única aplicación. Estas partes son de diferente uso, por ejemplo: pedidos, producción, ventas, compras, logística, contabilidad, gestión de proyectos, CRM, análisis de negocio, gestión documental, gestión de recursos humanos, nóminas, control de almacenes, inventarios, etc. Sólo podemos definir un ERP como la integración de todas estas partes, es decir, el software utilizado por todos los departamentos de la empresa, que ayuda a trabajar de una forma más eficaz, evitando una duplicidad de datos y tareas por parte de los usuarios. A su vez, ayuda a tener una visión completa de la organización, ya que todos los procesos de la misma pasarán por el ERP, convirtiéndose en el contenedor del activo más importante que existe hoy en día: la información. Dependiendo del grado o nivel de desarrollo y utilización de estas herramientas, una empresa puede marcar una diferencia con respecto a sus competidores.

Los sistemas ERP hacen más adecuada la gestión de las organizaciones empresariales mediante un sólo programa de software integrado que trabaja con una base de datos común, combina todos los sistema informáticos de cada departamento, de modo que todas las transacciones quedan registradas desde que se originan, permitiendo consultar en línea, a las personas autorizadas para ello, cualquier información relevante. De esta forma, todos los departamentos pueden, de forma más fácil, compartir información y comunicarse entre sí. Esto supone un ahorro de tiempo, evitando el reingreso de datos en diferentes puntos de la organización, disminuyendo así el margen de error.

Los sistemas ERP mantienen todas las operaciones y procesos de la empresa bajo una misma base de datos compartida, permitiendo a las empresas evaluar, controlar y gestionar más fácilmente su negocio en todos los ámbitos. A su vez, permiten agilizar los diferentes tipos de trabajo de cada usuario, reduciendo el tiempo real de las tareas repetitivas y permitiendo el aumento de la comunicación entre todas las áreas que integran la empresa.

Podemos decir que un ERP es un sistema de gestión de la información empresarial, estructurado para satisfacer la demanda de soluciones de gestión, basado en la disposición de una solución completa que permite a las empresas evaluar, implementar y gestionar más adecuadamente su negocio.

El sistema ERP se caracteriza por su modularidad, integración de la información (dato único), universalidad, estandarización, e interfaces con otras aplicaciones. Son sistemas abiertos y en la mayoría de los casos multiplataforma. Son necesarios para tener todos los datos de la empresa y transformarlos en información. Este ordenamiento adecuado de la información nos permite armar un tablero de control de la empresa que, mediante indicadores, nos alerta de la evolución de los negocios; en síntesis, si se gana o se pierde e indicando donde hay que actuar. El sistema ERP es primordial para ir aún más lejos transformando la información en conocimiento, implementando una pirámide DIKW, en cuyo vértice su sitúa un sistema BI (Business Intelligence) donde el tablero de indicadores ofrece previsiones basadas en análisis de tendencias.

Evolución histórica del ERP

Si echamos un vistazo al pasado, encontraremos que realmente lo que hoy se conoce como ERP se gestó, como otros muchos progresos, durante la II Guerra Mundial. En esos tiempos, el Gobierno estadounidense utilizó programas especializados para administrar los recursos de materiales (Gestión del Inventario), soluciones llamadas Planificación de los Requerimientos de Materiales (MRP, Material Requirements Planning).

A principios de la década de los sesenta, estos sistemas entraron en el sector productivo, y durante las dos décadas siguientes tuvieron un desarrollo importante ya que permitían reducir los inventarios, al planificar sus insumos en base a la demanda real. La finalidad principal del MRP consistía en que ayudase a planificar qué materiales se iban a necesitar durante el proceso de producción y gestionar también su adquisición.

En los años 80 se crea el MRP II que, a diferencia de sus antecesores, reconocía que las empresas padecían interrupciones en las operaciones, cambios inesperados y limitaciones en recursos que iban más allá de la disponibilidad de materiales. El intento inicial para la MRP II fue planear y monitorizar todos los recursos de una firma manufacturera, entre ellos se incluía el marketing, la manufactura, las finanzas e ingeniería de procesos, a través de un sistema de ciclo cerrado que generaba cifras financieras.

En los 90, dado el contexto de negocios que se empezó a vivir, tutelado por un marco de competencia global que exigía mayores niveles de eficiencia y productividad, multiplantas en lugares geográficos diferentes, amplia demanda mundial de productos, subcontratación internacional, mercados monetarios variados, provocó que los programas de software existentes no pudieran cubrir las características mencionadas. Debido a estos requerimientos, la industria del software desarrolló varias aplicaciones con el fin de interconectar los sistemas MRP II con los sistemas MRP existentes, a fin de integrar ese panorama disperso; ello llevó al nacimiento de los ERP.

Así, del MRP, software destinado a calcular los materiales necesarios para cumplir un plan de ventas, surgió el MRP II, software que agregaba la planificación de la maquinaria de la planta de producción. A este tipo de software se le adicionó la planificación financiera creando el ERP. Mientras las grandes empresas proveedoras de ERP consolidaban sus mercados, surgieron otras que brindaban soluciones que no eran cubiertas por los ERP en los 90s.

De esta forma, mientras los ERP administraban los recursos de la empresa, por definición, otras compañías buscaban administrar lo que estaba fuera de la empresa: las relaciones con los clientes (CRM, Customer Relantionship Management) y la cadena de suministros (Supply Chain Management), entre otras “categorías”.

Page 3: Sistemas ERP

En torno al año 2000, estas soluciones vinculan las áreas de operación empresarial que ya están administradas por un ERP con los proveedores. Esto implica que el proveedor puede entrar en el sistema de la compañía y viceversa, creándose el Administrador de la Cadena de Suministro (SCM).

Ya en el nuevo siglo, los ERP están estructurados íntegramente para importar y exportar información de manera flexible, llegan al e-business y a la integración de sus sistemas con Internet. Nacen dos nuevos conceptos: Business Inteligence (BI) o extraer de los datos los resultados realmente importantes y Workforce Analytics, el poder de la unión de BI y HRM.

Para qué un Planeamiento o Gestión de Recursos Empresariales, ERP

Las organizaciones empresariales desean aumentar su competitividad, mejorar el control de sus operaciones e integrar sus procesos:Competitividad. Las empresas requieren continuas optimizaciones de sus costes, ya sea de producción, comercialización o administración; por otro lado, deben incrementar constantemente su productividad.

Control. Las empresas suelen tener un manejo aislado de la información generada en los distintos departamentos y requieren de una solución global que integre y organice los datos para que en forma accesible apoye la toma de decisiones.Integración. Es importante integrar la información en la áreas vitales de la empresa como finanzas, distribución y manufactura. En este sentido, las principales integraciones son aquellas aplicaciones que apoyan la fuerza de ventas, comercialización y servicio al cliente con las aplicaciones que permiten a las empresas comprar, monitorizar, administrar y distribuir productos.

El propósito fundamental de un ERP es otorgar apoyo a los clientes del negocio, reduciendo los tiempos de respuesta a sus problemas, así como un eficiente manejo de información que permita la toma oportuna de decisiones y disminución de los costes totales de operación. Satisfacen las diferentes necesidades de información de la empresa, para conseguir que los gestores empresariales dispongan de un soporte para tomar decisiones y controlar el cumplimiento de objetivos.

Los objetivos principales de los sistemas ERP son:

Optimización de los procesos empresariales.

Acceso a toda la información de forma confiable, precisa y oportuna (integridad de datos).

La posibilidad de compartir información entre todos los participantes de la organización.

Eliminación de datos y operaciones innecesarias de reingeniería.

Reducción de los tiempos y costes de los procesos.

Capacidad de modelar y automatizar la mayoría de los procesos básicos de una organización, desde el pedido del cliente (u orden de venta), hasta la distribución del producto.

Beneficios que proporciona la utilización de un ERP:

Integridad de los datos y de los procesos de información entre las diferentes áreas.

Confiabilidad en la información del Sistema y Seguridad definida por el usuario.

Tener una mayor visibilidad de las transacciones en todo el ámbito de la Organización.

Tomar mejores decisiones empresariales, por disponer de una mejor información.

Inmediatez de la Información disponible para la toma de decisiones.

Definición de un solo Flujo de Trabajo.

Definición de las Reglas del Negocio.

Sistema basado en Resultados.

Sistema para manejo de diferentes tipos de Industria.

Sistema con Tecnología punta.

Suministrar el producto demandado en el tiempo adecuado.

Cumplir los compromisos con los clientes.

Mejoras en los servicios al cliente.

Mejora en los tiempos de respuesta. Eficiencia.

Reducción de costes.

Reducción del coste de calidad.

Reducción de Inventarios.

Incorporar los métodos más adecuados de fabricación.

Incremento en la productividad. Eficacia.

Permite una rápida adaptación a los cambios.

Escalabilidad del sistema.

Cada euro que se paga, se cobra o se mueve de cualquier forma en la empresa e incluso fuera de ella, aunque relacionado con la empresa, puede ser manejado por el ERP.

Los sistemas ERP están diseñados para incrementar la eficiencia en las operaciones de la compañía que lo utilice. Si el cliente desea organizarse mejor, estos sistemas son un aliado excelente, ya que le permite aumentar la productividad de la compañía de forma considerable.

Las organizaciones empresariales escogen este tipo de soluciones, porque desean un aumento en el rendimiento de las actividades corporativas y mejora en el servicio al cliente, calidad de la producción, provocándose una mejora en la imagen corporativa, manejo de la integración de procesos y calidad de los mismos. También las administraciones públicas mejor gestionadas han conseguido deshacerse de una maraña de aplicaciones heredadas y deshacer el enredo gracias a la implatación de un ERP.

Características

Las características que distinguen a un ERP de cualquier otro software empresarial, es que deben de ser sistemas integrales, modulares y adaptables:

Page 4: Sistemas ERP

Integral. Porque permiten controlar los diferentes procesos de la compañía comprendiendo que todos los departamentos de una empresa se relacionan entre sí, es decir, que el resultado de un proceso es punto de inicio del siguiente. Por ejemplo, en una organización, el que un cliente haga un pedido representa que se cree una orden de venta que desencadena el proceso de producción, de control de inventarios, de planificación de distribución del producto, cobranza, y por supuesto sus respectivos movimientos contables. Al estar integradas, todas las aplicaciones comparten un mismo conjunto de datos que es almacenado en una base de datos común centralizada. Las empresas se benefician de esta información debido a que el sistema ERP relaciona los procesos de negocios y los maneja como un todo en forma integrada.

Si la empresa no usa un ERP, necesitará tener varios programas para los diferentes departamentos que controlen todos los procesos mencionados, con la desventaja de que al no estar integrados, la información se duplica, crece el margen de contaminación en la información (sobre todo por errores de captura) y se crea un escenario favorable para irregularidades. Con un ERP, el operador simplemente captura el pedido y el sistema se encarga de todo lo demás, por lo que la información no se manipula y se encuentra protegida de errores.

Con los ERP se puede organizar todo tipo de información: inventario, compras, ventas, embarque, entrada y salida de procesos, etc. Además, se puede concentrar la información proveniente de todas las sucursales en el mundo entero y al mismo tiempo, debido a su organización, tenerla disponible para todo tipo de informe: informativo, comparativo, gráfico, etc.Modular. En los sistemas ERP se entiende que una empresa es un conjunto de departamentos que se encuentran interrelacionados por la

información que comparten y que se genera a partir de sus procesos. Una ventaja de los ERP, tanto económica como técnica es que la funcionalidad se encuentra dividida en módulos, los cuales pueden instalarse de acuerdo con los requerimientos del cliente. Ejemplo: ventas, inventarios, finanzas, control de almacén, recursos humanos, etc.

Adaptable. Los ERP están creados para adaptarse a la peculiaridad de cada empresa. Esto se logra por medio de la reingeniería, parametrización o configuración de los procesos de acuerdo con las salidas que se necesiten de cada uno. Por ejemplo, para controlar inventarios, es posible que una empresa necesite manejar la partición de lotes pero otra empresa no. Los ERP más avanzados suelen incorporar herramientas de programación de 4ª Generación para el desarrollo rápido de nuevos procesos. La parametrización es el valor añadido fundamental que debe contar cualquier ERP para adaptarlo a las necesidades concretas de cada empresa.

Aunque el ERP es un sistema compuesto por un conjunto de módulos funcionales estándar, es susceptible de ser adaptado a las necesidades de cada empresa. Tiene la capacidad de adaptarse a las necesidades particulares de cada negocio y si se aprovecha al máximo el trabajo de consultoría durante la implantación, permite mejorar los procesos actuales de trabajo. Los sistemas de ERP se presentan como tecnología adaptativa y han demostrado hasta ahora ser una buena solución ante la gran demanda de manejo de información y aprovechamiento de las tecnologías.

Otras Características

Homogenización de la información, logrando con esto un manejo de los datos de las diferentes áreas de la empresa como un todo. Los componentes del ERP interactúan entre sí consolidando todas las operaciones.

En un sistema ERP los datos se introducen sólo una vez y deben ser consistentes, completos y comunes.

Aunque el ERP pueda tener menús modulares configurables según los roles de cada usuario, es un todo. Esto significa: es un único programa con acceso a una base de datos centralizada. No debemos confundir en este punto la definición de un ERP con la de una suite de gestión.

Sirve de soporte para la realización de una administración eficiente.

Los ERP proveen herramientas para mejorar el control y la planeación, y principalmente la toma de decisiones.

Un ERP conlleva incrementos radicales de productividad así como la posibilidad de tener mejor información en la toma de decisiones.

Ofrecen el soporte necesario para alcanzar los objetivos deseados, en las organizaciones empresariales.

Es una forma de utilizar la información a través de la organización de forma más proactiva en todas las unidades de negocio que conforman una empresa.

Brindan soluciones prácticas e integrales a problemas reales.

Ayuda a la documentación y estandarización de procesos y, a su vez, permite sacar el mayor provecho a la tecnología establecida.

Los ERP, para su operativa, utilizan una arquitectura cliente/servidor y una base de datos relacional, unificando todos los datos de la aplicación.

Tener un flujo eficiente de información y transaccional íntegro a través de las diferentes áreas de la empresa, unidades de negocio y áreas geográficas hace que se tengan beneficios aún mayores, sobre todo en cuestión de tiempos y acceso a la información.

Los procesos de planificación estratégica, manejo de recursos humanos, optimización de recursos, reducción de costes y capacidad de atención a clientes y proveedores se ven beneficiados, en tiempo y coste, por el manejo de sistemas integrados de este tipo.

Se optimizan los procesos empresariales y se incrementa la capacidad de proporcionar información confiable y en tiempo real.

Mejoras en cuanto al servicio al cliente y atención de los mismos, así como mayor competitividad conforme haya cambios en el medio.

El usuario interactúa solo con la porción cliente de la aplicación que generalmente consiste en la interfaz de usuario, el proceso de entrada de datos, la consulta a la base de datos y la obtención de informes.

Las bases de datos relacionales (RDBMS) son un estándar en el actual desarrollo de sistemas de información para la empresa y su denominación deriva del uso de un modelo específico para organizar los datos (en forma de tablas relacionadas entre sí frente a otros modelos en estructura de árbol como los árboles balanceados AVL ó los árboles B B-Tree).

Los ERP también se caracterizan por ser una forma de utilizar la información a través de toda la organización en áreas claves como fabricación, compras, administración de inventario y cadena de suministros, control financiero, administración de recursos humanos, logística y distribución, ventas, marketing y administración de relaciones con clientes.

Relación entre las características y los beneficiosAcceso a información fiable. Este beneficio se logra por:

El uso de una base de datos común .

La consistencia y exactitud de los datos.

Las mejoras en los informes del sistema.

Evita redundancia de datos y operaciones. Como los distintos módulos del sistema ERP acceden en tiempo real a la misma base de datos central, se evitan dos cosas:

Page 5: Sistemas ERP

Los registros duplicados de los mismos datos en el sistema.

La duplicación de las operaciones por falta de actualización del registro sobre ellas.

Reducción del tiempo de ciclo y de entrega. Este beneficio se logra, por una parte, al minimizar el proceso de recuperación, y por otra, al realizar informes sobre los retrasos de producción o entrega.

Reducción de costes. Esta reducción se debe tanto a la economía de tiempo, como a las mejoras en el control y en el análisis de las decisiones empresariales.

Fácil adaptabilidad. Los sistemas ERP se pueden modificar a través de la redefinición de sus distintos procesos de negocio, esto hace fácil que se adapte y reestructure para satisfacer los nuevos requerimientos.

Mejoras en “escalabilidad”. Debido a un diseño modular y estructurado los sistemas ERP permiten realizar adiciones de funciones para aumentar o escalar la solución inicial.

Mejoras en el mantenimiento. La existencia de un contrato a largo plazo de mantenimiento con el proveedor, como parte de la adquisición del sistema ERP, hace que mejore el proceso de mantener el sistema de información al día de los avances tecnológicos y de gestión.Alcance fuera de la organización. Los módulos de extensión de los sistemas ERP como son los CRM (Customer Relationship Management -

Gestión de la relación con los clientes), y los SCM (Supply Chain Management - Gestión de la Cadena de Suministro o abastecimiento) hacen que la organización se integre con clientes y proveedores, fuera de los límites tradicionales de la empresa.

Comercio electrónico ó e-business. Por una parte esto es posible debido a que la infraestructura tecnológica de los sistemas ERP soportan procesos en Internet, lo que es básico para el comercio electrónico, y por otra parte, a que la adopción de los sistemas ERP desarrolla una cultura de colaboración entre negocios (EDI, B2B, B2C, PKI).

Adaptación, implantación y puesta en marcha de un ERP

Aunque son muchos y muy complejos los retos para la implantación de un sistema ERP, los beneficios los superan y hacen que valga la pena sumarse a esta tendencia mundial si se quiere ser competitivo. La clave está en el compromiso y la dedicación que merece una inversión de este tipo.

Es importante hacer un cambio de cultura dentro de la organización e interpretar y comprender que lo más importante que tiene una organización es la información y si la información está bien “organizada” de modo que nos permita tomar una decisión ágil “en tiempo y forma”, puede evitar pérdidas de dinero y también ayudar a fortalecer los canales de flujo informativo, logrando con ésto que se mejoren las ventas, las compras, los cobros, los procesos productivos, los controles y en definitiva todos los aspectos del negocio incluida la calidad de vida de los trabajadores, y que todo funcione de acuerdo al plan de negocios que tiene la organización.

La implantación de un ERP significa:

Un cambio cultural en la empresa.

Un cambio en los procesos de negocio.

Un cambio en la disciplina de trabajo.

Un cambio en la organización.

La implantación de un ERP no es sólo una cuestión de tecnología, sino también de ¡las personas!. Los sistemas pueden integrar la información, pero sólo las personas “integran” (dan forma, comunicación y energía) a una organización. Es necesario concienciar a todos los usuarios sobre los beneficios, escuchar sus requerimientos, organizar una adecuada capacitación y hacer entender que estos sistemas son sencillos de utilizar. El despliegue debe ser un trabajo en conjunto porque incluye todas las áreas de una compañía, siendo vital desde el primer momento que la alta dirección se encuentre involucrada en el proyecto.En el establecimiento de un ERP es importante la capacitación que todo el personal debe tener o adquirir, para cambiar su “cultura” en

cuanto a la forma de manejar papeleo y datos, y para ser consciente de que la información que se está compartiendo en tiempo real se va a utilizar en la toma de decisiones de la empresa, y sobre todo, que hay que ser muy cuidadoso de “no generar ni transmitir” información errónea.

Para que una implantación sea exitosa cada área de la empresa que adopta el módulo correspondiente de este tipo de software deberá trabajar en conjunto con los consultores. La organización ha de establecer mecanismos que permitan disponer de una fuerza de trabajo suficientemente motivada para un desempeño eficiente y eficaz, que conduzca al logro de los objetivos y las metas de la empresa, y al mismo tiempo se logre satisfacer las expectativas y aspiraciones de sus integrantes.

Se ha de tener en cuenta no solo el factor tecnológico sino también el tipo de organización, su giro, su misión, su visión, la cultura, las características generales de la empresa, ya que conociendo estos factores se puede determinar con mayor exactitud lo que realmente se desea cumplir con la implantación del sistema.

La empresa tiene que procurar, una vez tomada la decisión, comunicar que el proyecto de cambio es para fortalecer a la propia organización y que todas las personas van a recibir la formación adecuada para que puedan dominar la nueva herramienta.En la fase más temprana de la preparación, se deberían confirmar las respuestas a las siguientes preguntas:

¿Qué procesos tiene el negocio?

¿Cómo queremos que sean esos procesos?

¿Cómo contribuirá el ERP al proceso de cambio?

¿Cuál será el impacto de implantar un ERP?

¿Cómo reducir el impacto negativo?

El contar con una herramienta que conecte todas las áreas de información de una empresa es un valor que permitirá que se tenga éxito en el entorno actual que viven las organizaciones, aunque se debe tener especial cuidado con el factor humano, porque el cambio que genera la implantación de este tipo de tecnologías en cualquier empresa es muy importante ya que cambia la estructura organizacional, afecta la cultura y principalmente cambia el rol individual de los miembros.

Un sistema ERP debe personalizarse para ajustarse al máximo posible a las necesidades de cada uno de los departamentos.

Page 6: Sistemas ERP

El éxito en la implantación de tecnología ERP es responsabilidad de toda la empresa. Es indispensable fomentar el trabajo en equipo, debido a que desde la puesta en funcionamiento del ERP, los datos ingresados por un usuario serán utilizados por otro de un área completamente diferente. Quien finalmente “alimenta y da fuerza” a cualquier sistema, es el personal que lo usa. Todos los retos y costes intrínsecos a los ERP fuerzan a las empresas a realizar un cambio de cultura.

Este cambio es el más complicado de todos porque pone en evidencia los errores y manejos equivocados (muchas veces causados en honesta ignorancia) del personal. De nada servirá tener un software que permita verificar en tiempo real los inventarios de la compañía si quien debe capturar los movimientos decide hacerlo al final de la semana o cada vez que “tenga tiempo”. Este compromiso que involucra al personal en el proyecto debe darse a través de una función de liderazgo y convencimiento por parte de los directivos y gerentes de la organización y no por imposición, ya que la resistencia al cambio se acrecentaría y es importante que todas las áreas de la empresa alcancen el objetivo al mismo tiempo.

Detrás del ERP, además de la arquitectura y la funcionalidad, ha de haber unos técnicos que conozcan el negocio, personal que sea capaz de entender la problemática de sus clientes. Ésta es una de las diferencias cualitativas más importantes en un ERP.

A pesar de que el ERP es un sistema que permite trabajar la información de una manera integral y con total seguridad, un alto porcentaje de las personas implicadas en una empresa admiten que utilizan la hoja de cálculo para obtener informes fundamentales para su negocio. Incluso, en algún caso, el uso de una hoja de cálculo está presente en casi todas las operaciones de la compañía. Estos hábitos forman parte de una cultura empresarial que, a pesar de las innovaciones tecnológicas, todavía cuesta cambiar en la mayoría de las organizaciones.

La implantación de un ERP requiere complicidad por parte de todas las personas que actúan en la empresa, todos los que tienen relación, unos con otros, en la actividad de la empresa, han de comunicarse para conocer el fin de su trabajo, y como éste se puede mejorar para quien más tarde va a hacer uso del mismo. Para que lo realizado tenga un valor máximo para el cliente interno que lo va a recibir, ha de conocer el destino de su actividad.Es importante que la organización empresarial quiera entrar en un proceso de documentación, organización y capacitación tal, que le

permita conocerse más y aprovechar las oportunidades que pueda presentar el mercado.

Antes de la adquisición hay que saber con bastante detalle lo que se pretende que aporte el ERP. Si no hay una lista formal de objetivos y una definición explícita de los procesos, difícilmente podremos medir el nivel de satisfacción de la implantación.Algunos factores a considerar para implementar un ERP:

Se debe definir claramente el objetivo y visión del proyecto de negocio.

Contar con el equipo adecuado para la implantación de proyecto, así como la persona que tomará el rol de líder del proyecto.

Capacitación continua no sólo tecnológica.

Adaptación a los programas existentes (integración del back-office y del front-office).

Realizar un Plan de trabajo bien definido.

Tener asesoría de expertos y tomar medidas (hacer benchmark) de empresas que ya cuenten con este tipo de herramientas ya integradas.

La implantación de este tipo de tecnología requerirá un cambio organizacional y se debe tener muy en cuenta el tipo de cultura de la empresa.

Dar seguimiento a la implantación.

Factores comunes que conducen el proceso de implementación del ERP:

Análisis

o Recursos de la empresa

o Procesos de negocio

o Impacto del ERP

o Contexto externo

Planificación y diseño

o Planeamiento del proyecto

o Cuándo, cómo, quién, qué

o Prueba, diseño (modelado) y entrenamiento del ERP

Implementación

o Implantación

o Seguimiento

o Ajuste de detalles

Pos implementación

o Mejoras

o Análisis del proyecto

Para lograr un manejo adecuado de cualquier situación nueva, se les debe proporcionar a las personas el qué, el por qué y el cómo. La educación es el por qué, el quién y el dónde. El entrenamiento es el cómo.El entrenamiento debe girar en torno a enseñarles a los empleados dónde llenar los campos, qué hacer en las pantallas y en términos

generales, cómo funciona la herramienta tecnológica.

Demasiado énfasis en el sistema tecnológico y prácticamente nada en las variables para fomentar su compresión completa y su pleno convencimiento de que el sistema es nuevo, es diferente, es mejor y de que dadas sus características, el buen desempeño humano al hacer uso del mismo o sus errores tendrán un impacto profundo y en ocasiones severo para toda la organización. Una vez más, hay que recordar que el sistema ERP es fundamentalmente integrador, se basa por completo en la interrelación de las variables y en su plena interdependencia.

La estrategia de implementación define los elementos a tener en cuenta durante el proceso, y determina los pasos que se darán para terminar con la puesta en marcha del sistema en condiciones de operatividad, en producción. La idea de estrategia es tratar de avanzar

Page 7: Sistemas ERP

más allá de las metodologías de implementación que con frecuencia proponen los propios proveedores de la aplicación o los consultores que participan del proyecto.

La estrategia de implementación debe ser definida de un modo muy específico en relación con la organización para la que se diseña.

A veces se dice que se comienza con el sistema tal cual está para añadirle luego, de manera gradual, funciones adicionales una vez que las funciones básicas funcionan y lo hacen de manera satisfactoria. Las principales ventajas de esta opción podrían resumirse en:

Rapidez de implementación y por ende, resultados.

Éxito político y por ende, respaldo de la organización.

Reducir la posibilidad de repetir aspectos no deseados de los sistemas heredados.

Otra forma es la implantación sucesiva de módulos aislados, que paulatinamente se vincularán con los sistemas heredados de la empresa hasta el despliegue del sistema completo.Para poder tener éxito, además del enfoque general y de la programación del conjunto de actividades necesarias para llevar adelante el

proyecto, se debe considerar los factores críticos para el éxito o fracaso, junto con la interacción entre ellos y las condiciones o condicionantes del entorno.Los tres factores principales que determinan si una empresa está lista para utilizar un sistema ERP son:

1. La necesidad de crecimiento, un factor fundamental; saber que la empresa crece, que sus pedidos aumentan, si existen nuevos proveedores, etc.

2. La necesidad de información actualizada.3. La urgencia de mantener un nivel competitivo respecto a otro tipo de empresas.

Formas de disponer de los medios para un ERPExisten diversas formas de despliegue según la proporción de medios propios y externos:

1. En servidores propios.2. Contratando servidores dedicados.3. Contratando servidores compartidos.4. Contratando servidores en la nube.5. Contratar una oferta SaaS (software como servicio)

En el primer caso hay que realizar una inversión en la adquisición de todo el equipamiento e infraestructura, mientras que en los restantes, la inversión en adquisición se va reduciendo a cambio de una tarifa mensual de utilización, hasta eliminarse por completo en el caso de la contratación del software como servicio en el que el proveedor del servicio mantiene las aplicaciones hospedadas en un Data Center, se encarga de la seguridad de la información y dispone el ancho de banda de salida necesario.

En todos los casos podemos tener el control total de la empresa desde cualquier lugar mediante un ordenador o un dispositivo móvil con acceso a Internet. Podemos estar al tanto, minuto a minuto y en cualquier momento del día, de todo lo que está ocurriendo en la empresa, sin importar si se está en otro país o si es fin de semana. Esto significa que la información administrativa y de gestión está disponible en tiempo real desde cualquier lugar y en cualquier momento, permitiendo tomar mejores decisiones de modo oportuno, aumentando la competitividad y rentabilidad de la empresa. Al estar en línea, el alza de la productividad es una ventaja para las organizaciones empresariales de hoy en día.

Cada vez es más patente la conveniencia de contar con un software de gestión empresarial vía web, pues es sin duda una opción que aporta ventajas como la compatibilidad con dispositivos móviles y el ahorro inicial en términos financieros que significa no tener que invertir en equipamiento e infraestructura como servidores de red privada virtual (VPN), aunque en muchos casos es deseable disponer de lo mejor de ambas tecnologías.

Características diferenciales de los sistemas ERP actuales respecto al software de gestión

Lo que distingue un sistema ERP de cualquier otro software de gestión empresarial que no llega a esta categoría, son las siguientes características principales:

Ingeniería de procesos o flujos de trabajo. La aplicación permite definir los procesos de negocio de la compañía permitiendo controlar cada aspecto del negocio; pero es un proceso complejo, que puede requerir cambios en la compañía y del que depende el éxito de la implantación de esta herramienta. Cuando es la compañía la que tiene que adaptarse a los procesos definidos en el ERP se hace necesario una reingeniería de procesos.

Multicompañía.

Funcionalidad completa e integral.

Dato único.

La wikipedia española hace alguna referencia en este sentido http://es.wikipedia.org/wiki/Planificaci%C3%B3n_de_Recursos_Empresariales

Aplicaciones que complementan el ERP

En la práctica no hay un producto ERP que posea todas las cualidades que son deseables para la empresa. En algunos no se ha desarrollado adecuadamente la flexibilidad de la ingeniería de procesos o flujos de trabajo http://www.gestiopolis.com/administracion-estrategia/workflow-de-los-erp.htm

En la mayoría de los casos la funcionalidad no es completa y para cubrirla habrá que recurrir a otros sistemas, algunos de los cuales han venido desarrollándose más recientemente, lo cual presenta el problema de la integración de los distintos sistemas.

Algunos de estos sistemas que aportan funcionalidades adicionales y que podemos encontrar tanto como sistemas independientes como integrados en los sistemas ERP más recientes:

CRM (Customer Relationship Management) o Gestión de la Relación con los Clientes, es parte de una estrategia de negocio centrada en el cliente. Una parte fundamental de su idea es, precisamente, la de recopilar la mayor cantidad de información posible sobre los clientes,

Page 8: Sistemas ERP

para poder dar valor a la oferta. La empresa ha de conocer las necesidades de los mismos y así poder adelantar una oferta y mejorar la calidad en la atención. Por lo tanto, el nombre CRM hace referencia a una estrategia de negocio basada en los clientes, pero también a los sistemas informáticos que dan soporte a esta estrategia. Las aplicaciones CRM tienen el objetivo de gestionar todas las formas en que la empresa trata con sus actuales y potenciales clientes. Las funciones encontradas en los paquetes CRM típicos son marketing, ventas, servicio y apoyo al cliente. Integrando la información, al consolidar en un solo sistema a los múltiples canales de comunicaciones entre cliente y empresa.

HCM (Human Capital Management) o Gestión del Capital Humano, ó HRM o Gestión de los Recursos Humanos, es el proceso de gestionar la fuerza de trabajo con la intención de automatizar al máximo el departamento de Recursos Humanos pudiendo llevar un mayor control de nuestros empleados, como el rendimiento, el plan laboral o los incentivos.

SCM (Supply Chain Management) o Administración de la Cadena de Suministro, es el proceso de planear, implementar, y controlar las operaciones de la cadena de suministro tan eficientemente como sea posible. En el contexto de un ERP puede ser muy útil. Por ejemplo, podríamos hacer que cada vez que nuestras existencias de un producto del que nos suministramos hayan disminuido hasta un cierto valor de stock, se marque a stock bajo mínimos y automáticamente mediante SCM se haría una petición de pedido de ese producto al proveedor habitual y en las cantidades habituales para ese producto. O que cuando uno de nuestros proveedores de ese producto disminuyera su precio, nos avisara por si queremos aumentar nuestras existencias para aprovechar la oferta. O que simplemente nos elija el proveedor más beneficioso en función no sólo del producto sino también del trasporte, etc.

PLM (Product Lifecycle Management) o Gestión del Ciclo de Vida del Producto, es un módulo que puede resultar muy útil para empresas manufactureras al automatizar y poner en contacto las personas y documentos relacionados con el desarrollo de un producto en concreto. Intenta controlar todo el proceso, desde la introducción al mercado hasta su lanzamiento y posterior evolución.

En definitiva podemos hablar del ERP como esa guía que vamos documentando y es capaz de llevarnos por el camino más adecuado, desde un origen, “unas materias primas”, hasta una meta, “el servir al cliente un producto o servicio”, de forma que este último quede satisfecho y al mismo tiempo, quien ha seguido esa guía le resulte rentable y sea conocedor de forma consciente de todos los pasos que ha dado desde el inicio hasta el destino de llegada.Autor: D. Vera · coachdver(at)civicom.eu

Sistemas ERP Libres y de Código Abierto (Free Open Source ERPs)2010·ENE·11, ed. 2010·OCT·17 © Javier de Lorenzo-Cáceres

Esta página es una sencilla lista de sistemas ERP libres (free software open source ERPs) que hemos ampliado convirténdola en una tabla, en sentido horizontal para incluir algunas características, y en vertical para incluir, primero algunas aplicaciones de software que no llegan a la categoría de un sistema ERP y que hemos denominado software de gestión, y después aplicaciones de sólo contabilidad.

Para la distinción entre sistemas ERP y software de gestión se ha utilizado el criterio de que un sistema ERP debe cumplir los requisitos siguientes:

1. Ingeniería de procesos o flujos de trabajo (workflows).2. Muchas compañías, cada una Multi-compañía.3. Dato único.4. Funcionalidad integral y completa.5. Internacionalización (i18n).

En cuanto a la distinción entre software de gestión y aplicaciones de contabilidad + facturación + almacén, los programas de gestión incluyen algunas funciones como gestión de compras o gestión de producción (MRP) que no suelen encontrarse en los programas de contabilidad + facturación + almacén.Los sistemas ERP también se pueden clasificar según estén más o menos orientados a una aplicación concreta, en general:

Discrete ERP o Discrete manufacturing ERP.

Process ERP o Process manufacturing ERP.

Engineer To Order ERP o ETO ERP.

Y también pueden estar orientados a un tipo de empresa concreta, por ejemplo:

Distribution ERP.

Mill-based and Material Converting Environments ERP.

Fashion and Apparel Industry ERP.

Services Industry ERP (non-manufacturing).

Mining Industry ERP and CMMS.

Mixed Mode ERP.

Al fijarnos en esta tabla de ERP libres (open source), llama la atención que los auténticos ERP están escritos en Java o Python y actúan sobre una BD PostgreSQL, mientras que los programas de gestión están escritos en PhP y actúan sobre MySQL, es decir, hay una cierta correspondencia entre la potencia del proyecto y la tecnología usada (lenguaje de programación y sistema de base de datos).Podría esperarse que existiera un ERP libre escrito en PhP si tenemos en cuenta la gran popularidad que goza la sencilla tecnología LAMP,

muy atractiva precisamente por su sencillez, razón por la que es de uso mayoritario entre los catalogados como software de gestión. Pero a la gran diferencia de categoría distante entre un ERP y un software de gestión, hay que añadir una gran diferencia de calidad, muy escasa entre estos software de gestión, en su mayoría desarrollados por contables con escasos conocimientos de programación.

Page 9: Sistemas ERP

Listado de ERP Libres (Free Open Source ERPs)

Sistemas ERP Libres escritos en Java

Nombre Sitio Web IntroLenguaje,

ArquitecturaRDBMS Sector Tamaño Funcional

Compiere http://www.compiere.com Compiere Inc. adquirida por Consona en Jun 2010

Java. Cliente/Servidor Web.

Inicialmente Oracle, después también PostgreSQL.

Mediana empresa

ADempiere http://www.adempiere.org http://www.adempiere.com

Bifurcación (fork) de Compiere el 1/sep/2006, establecida en SourceForge.

Mediana empresa

openXpertya http://www.openxpertya.org http://www.openxpertya.es http://www.openxpertya.com

Bifurcación de Compiere Java. Cliente/Servidor Web.

Inicialmente Oracle, ahora también PostgreSQL (700 Tablas)

Mediana empresa

Apache Open For Business

http://www.ofbiz.org Java. Apache Tomcat Java Container.

Derby (originalmente Cloudscape, comprada por IBM, cambiada para cumplir las especificaciones DB2 y liberada), se recomienda cualquier otra.

Neogia http://www.neogia.org Desarrollado sobre Apache OFBiz.

Openbravo http://www.openbravo.com Java. Servidor Apache Tomcat. Cliente/Servidor Web.

Oracle, PostgreSQL

Sistemas ERP Libres escritos en Python

Nombre Sitio Web IntroLenguaje,

ArquitecturaRDBMS Sector Tamaño Funcional

GNU Enterprise http://www.gnuenterprise.org GNUe es una infraestructura o meta proyecto.

Python. Servidor App/GTK2.

PostgreSQL, MySQL (MariaDB), MaxDB, Firebird (Interbase), SQLite, Oracle, MS-SQL.

Open ERP http://www.openerp.com http://www.openerp.tv

Tiny ERP hasta principios del 2008.

Python. Servidor App./GTK+ (y Qt) y Web.

PostgreSQL, MySQL Cluster 7. (desde 87 tablas base, 214 mín, etc.)

Tryton http://www.tryton.org http://www.b2ck.com

Fork de Tiny ERP 4.2 Python. Servidor App./GTK+

PostgreSQL.

Page 10: Sistemas ERP

ERP5 http://www.erp5.org http://www.erp5.com http://www.tiolive.com

Python. Zope Web Application Server.

MySQL.

Sistemas ERP Libres en otros lenguajes

Nombre Sitio Web IntroLenguaje,

ArquitecturaRDBMS Sector Tamaño Funcional

xTuple / PostBooks

http://www.xtuple.com/ 3 ediciones: Manufacturing, Standard y PostBooks

Toda la lógica de la aplicación reside en pl/pgsql. Cliente Qt.

Postgres

Software Libre de Gestión no ERP

Nombre Sitio Web IntroLenguaje,

ArquitecturaRDBMS Sector Tamaño Funcional

Nola Pro

Aria http://www.ariany.com Basado en Nola. Ropa.

fachri Basado en Nola y ARIA.

SQL Ledger http://www.sql-ledger.org Perl. PostgreSQL.

Ledger SMB Basado en SQL Ledger

WebERP PhP. Servidor App. Web.

MySQL (108 Tablas)

EdgeERP Bifurcación de WebERP, ahora inactivo.

OpenAccounting Bifurcación de WebERP, ahora inactivo.

FrontAccounting Bifurcación de OpenAccounting

MySQL (75 Tablas)

PhreeBooks MySQL (42 Tablas)

AbanQ / FacturaLUX

opentaps

BlueErp

Dolibarr

JFire http://www.jfire.org http://www.jfire.net

Licencia LGPL Servidor Java JBoss o similar. Cliente Java RCP (Rich Client Platform).

MySQL.

Sequoia

vtiger CRM

TUTOS

TOWA Tutos + Owl + WebERP + Aria

Open-ERP http://open-erp.sourceforge.net/ No confundir con Open ERP.

ASP. MS-SQL.

Software Libre de Contabilidad

Nombre Sitio Web IntroLenguaje,

ArquitecturaRDBMS Sector Tamaño Funcional

QuickBooks

En la casilla donde se indica el lenguaje de programación, sólo se indica el lenguaje principal de la aplicación como C, C++, Java, Python, Perl, PhP, ó Ruby, de modo que, en aras de una mayor claridad de la tabla, se han omitido otros leguajes necesariamente usados conjuntamente como HTML, XHTML, XML, Javascript, SQL ó PL/SQL, que se pueden deducir fácilmente en cada caso.

En cuanto a la arquitectura, siempre es difícil definirla en un sólo término. Tradicionalmente se ha denominado Cliente/Servidor a un servidor (back end) de BD SQL que se encarga de las tareas puramente relacionadas con el almacenamiento mientras que la lógica de la aplicación residía en el lado donde se iniciaba el proceso (front end), en este caso el cliente. En contraposición, el modelo Par a Par balancea el proceso hacia el lado del cliente mientras que para aligerar el cliente y balancear la carga de proceso hacia el lado del servidor existen varios modelos: en el modelo tradicional Cliente/Servidor se puede hacer usando procedimientos almacenados (stored procedures) y disparadores (triggers) en el servidor de la BD o mediante arquitecturas de 3 ó más niveles o hilos (multi-tier ó n-tier architecture) donde la aplicación se reparte entre el servidor (procedimientos remotos), un cliente ligero y servidores intermedios (middleware). Por último, cada

Page 11: Sistemas ERP

vez más, parece que volvemos a un modelo parecido al antiguo Servidor/Terminal, donde la aplicación se ejecuta por entero en el servidor, sólo que ahora el terminal se presenta en modo gráfico. De entre las diversas implementaciones de este modelo, las extensiones de los servidores web que permiten implantarlo en la web tienen un indudable y creciente atractivo, a pesar del inconveniente que significa el hecho de que la web no fuera inicialmente diseñada con el fin de ejecutar aplicaciones sino con el objeto de servir de base documental.Otros sin clasificar: 

Posterita, Lokad, Comunion, projectERP, Omni, project-open, jewelERP, Tine 2.0, Plazma, OpenInfo3W, jAllinOne, Wavelet Enterprise Management Portal, Evaristo, Workflow Magic, microerp, Millenium BSA, i-globalgest, University, ERP.NET, OrangeGears, Gardenia, Yuza Open, EBI Neutrino R1, Stog y CK-ERP (dependiente de Drupal, etc.)

BulmaGés 

El objetivo es ofrecer al mundo empresarial, de forma gratuita, un programa de Contabilidad que satisfaga a los contables más exigentes, que sea sencillo, rápido y efectivo y al mismo tiempo permita futuras integraciones interdepartamentales.

FacturaLUX 

Proyecto de software ERP que ofrece un marco de trabajo sólido, estable y optimizado para el desarrollo rápido de cualquier tipo de solución orientada a la administración, gestión comercial, finanzas y, en general, a cualquier tipo de aplicación donde se manejen grandes bases de datos y procesos administrativos. Las aplicaciones construidas en el marco de trabajo abierto de FacturaLUX son multiplataforma, internacionalizadas, basadas en estándares y con licencia de software libre GPL. www.facturalux.org

Fisterra 

Proyecto que pretende crear un ERP genérico hecho con software libre. En la actualidad soporta: administración de clientes y pedidos, facturación, gestión de stock y de pagos, punto de venta, funcionamiento distribuido y replicación offline de los datos. www.fisterra.orgLinex-Empresas , LinEx PYME 2008 

ContaLinex y FacturLinex. www.gnulinex.net

Presentación de Open ERP

2010·ENE·12, ed. 2010·OCT·18Open ERP 5, también conocido como OpenERP, es el ERP más reciente, avanzado, potente y amigable; en realidad el software ERP con el

que habíamos soñado. Publicado a comienzos de 2009 con licencia de software libre de código fuente abierto (free libre open source software, FLOSS), marca un nuevo hito en el ámbito del software libre open source y de los sistemas ERP en general. Proyectado en UML, escrito en Python (el lenguaje de programación elegido por gran parte de la NASA, Google y muchas otras compañías) usando programación POO + ORM, y desarrollado según el paradigma MVC de estilo de arquitectura de software, ofrece una solución modular e integral que brilla por la inteligencia con que resuelve problemas complejos mediante soluciones sencillas. Su módulo base es el núcleo que funciona como un motor para todos los módulos, allanando la curva de aprendizaje del usuario al presentar los mismos controles de interfaz de usuario a lo largo de todo el programa. Ningún otro ERP es tan flexible como OpenERP 5, desde profesionales autónomos a empresas como Atlas Copco o Whirpool, OpenERP 5 se puede configurar para ser justo lo que se necesita que sea.

Open ERP es software libre, incluso sus autores han modificado recientemente la licencia, pasando de GPL a OEPL, para que el código de las modificaciones realizadas por los proveedores SaaS tenga que estar disponible, aunque han incorporado algunas restricciones (ver Open ERP Licencia). Pero desafortunadamente, esta libertad del software no abarca la mejor parte de la documentación como Manuales, etc. que no son libres

(http://doc.openerp.com/legal/license-documentation.html#doc-license-link).

Se trata de una protección para retribuir a los autores, traductores y editores, por lo que no me está permitido hacer pública la traducción que he realizado del Manual, en el que las dos partes del primer capítulo de introducción, Tour guiado y Desarrollando un caso real, ilustran bastante bien las características y uso básico del programa.

Hasta octubre de 2010, las páginas sobre la licencia eran http://doc.openerp.com/documentation_license.html#doc-license-link y http://doc.openerp.com/contribute/documentation_process.html#building-the-documentation

En la lista de ERP libres (http://civicom.eu/ERP/ERP-Libres.htm) podemos ver que no existe un ERP libre escrito en PhP que use la sencilla tecnología LAMP. La mayoría están escritos en Java, excepto GNUe, Open ERP y ERP5 que están escritos en Python. ERP5 tiene la peculiaridad de usar Zope, un potente servidor web distinto al conocido Apache, mientras que GNUe es un meta proyecto, una infraestructura. Por tanto, sin contar Java, OpenERP parece la mejor alternativa para empezar a conocer estos sistemas, descubrirá el que posiblemente sea el mejor ERP libre y uno de los mejores en general.

Tiny SPRL Bélgica, compañía fundada y dirigida por Fabien Pinckaers, es la empresa autora de TinyERP. Hasta octubre de 2008 TinyERP se desarrolla en Sourceforge (http://sourceforge.net/projects/tinyerp/), en ese momento cambia de nombre y lugar, pasando a llamarse Open ERP y desarrollarse en Launchpad, donde se fragua el lanzamiento de la versión 5.0 el día 6 de febrero de 2009.

OpenERP es el principal de los muchos proyectos que componen un proyecto matriz llamado OpenObject https://launchpad.net/openobject . Entre los muchos proyectos destaca el cliente web, desarrollado por la empresa parisina Axelor, que permite usar Open ERP desde la web, evitando la instalación de software cliente en los ordenadores de los usuarios, a quienes les resultará familiar el uso del navegador.

Introducción a Open ERP2010·MAR·05, ed. 2010·OCT·19

Automático y manual

Page 12: Sistemas ERP

La ventaja de un ERP es realizar operaciones automáticamente, reduciendo el tedio, la pérdida de tiempo y las posibilidades de errores humanos. Las automatizaciones son muchas, por ejemplo, una sola factura de compra de un solo producto significa solicitar disponibilidad y cotización (presupuesto), recibir y comprobar la factura, contabilizarla y pagarla, en total:

Un buen número de asientos contables.

Unas cifras de impuestos, bases y cuotas, a tener en cuenta en distintas declaraciones

Unas cifras en existencias (si la compra es de mercadería o materias primas)

Una nueva valoración de existencias (si el precio de compra ha cambiado)

Un nuevo precio de venta basado en el nuevo precio medio ponderado de la valoración anterior.

En Open ERP todo eso puede ser automático. Como parte del proceso que llamamos implementación, en Open ERP se configuran cuentas, diarios, impuestos, existencias y otras propiedades predeterminadas a varios niveles. Primero a nivel de nuestra compañía, luego a nivel de categorías de productos, y después, si queremos, por cada cliente, proveedor, producto, etc.Entonces tenemos tres niveles de automatización y un modo manual:

1. Si partimos de un pedido de compra o venta todo es automático, pues éste generará la facturación, contabilidad, impuestos, existencias, valoración de existencias, precios, etc. (el etc. puede ser enviar un correo a un cliente o proveedor, avisar a un directivo, o lo que sea. Por ejemplo, el primero que se configura es un recordatorio de pago a clientes morosos, entonces el programa hace el correo y solamente tenemos que confirmar el envío cuando llega el momento.)

2. Si partimos de un albarán, entonces las existencias y su valoración son automáticas y también podemos generar una factura a partir del albarán, y ésta generará la contabilidad e impuestos automáticamente.

3. Si partimos de una factura, entonces la contabilidad e impuestos será automática, pero las existencias y la valoración de existencias y por tanto los precios tenemos que hacerlos manual, aunque el programa nos ayude. Puede estar bien para una factura casual puntual, algo no relacionado con existencias.

4. Por último, podemos entrar apuntes contables directamente de forma manual. Hay dos métodos: Por Movimiento (conjunto de apuntes que cuadran la doble entrada) y Por Apunte Indivual, y en este caso tendremos que hacer tantos apuntes como sean necesarios para conformar un movimiento. En ambos casos, por movimientos o por asientos individuales, ya sea desde diarios o desde cualquier otro sitio del menú, entonces tenemos que contemplar los impuestos, las existencias, la valoración de existencias (y por tanto los precios), aunque el programa nos ayude a hacerlo.

Por tanto, de lo que se trata es de configurar bien la compañía, es decir, de lograr una buena implementación, y ya solamente hemos de dedicarnos a la actividad y a revisar que ésta se está registrando de forma correcta. No es lo mismo revisar la contabilidad, impuestos e inventario, que tener que hacer todo eso manualmente. Al final Open ERP debe quedar como un programa a medida en el que no hay más tarea manual de la estrictamente necesaria, en el ejemplo anterior de una compra, sería solamente el nuevo precio de compra y los gastos de transporte de las mercancías recibidas.El modo automático nunca inhibe al manual, esto es así en los buenos sistemas porque siempre puede haber algo que corregir; de esta

forma podemos hacer la corrección y seguir en automático, por ejemplo, un redondeo de céntimos en algún porcentaje.

Conectando a Open ERP

OpenERP dispone de dos tipos de aplicación cliente que conectan con el servidor: el cliente GTK y el cliente web.

ContraseñasOpenERP dispone de tres categorías o niveles de contraseña:

1. la del super administrador (para todas las compañías)2. las de los administradores (miembros del grupo admin de cada compañía)3. las de los usuarios

El usuario puede cambiar su propia contraseña, por lo que conviene tomar medidas para prevenir que sean demasiado débiles, como una directiva por escrito.Existe un módulo que permite usar LDAP.

Roles, Grupos y Usuarios

Los grupos se utilizan para definir permisos de acceso en cada pantalla y menú. Usuarios y grupos proveen la estructura para especificar derechos de acceso a distintos menús y documentos. Su configuración responde a la pregunta ¿Quién tiene acceso a qué?

Los roles se utilizan para definir las acciones disponibles, que son proporcionadas por los flujos (procesos). Los roles son usados en procesos de negocio para permitir o bloquear ciertos pasos en el flujo de trabajo de un documento dado. Por ejemplo, puede asignar el rol de aprobar una factura. Los roles responden a la pregunta ¿Quién puede hacer qué?

A lo largo de Open ERP: menús, acciones, listados, formularios, campos, etc.Los menús, opciones, campos, etc. que muestra OpenERP, dependen primero de los módulos instalados y después de los permisos de

acceso del usuario; si el usuario no tiene acceso a un menú, OpenERP considera que no tiene sentido mostrarlo; pero esto no significa que el sistema de seguridad consista simplemente en ocultarlo.Interfaz Simplificada e Interfaz ExtendidaPara cada usuario, la interfaz de OpenERP se puede configurar de dos modos: Simplificada y Extendida. La Interfaz Simplificada oculta los

campos y acciones menos usados. Para determinar el modo de interfaz del usuario, le asignamos o no el grupo 'Useability / Extended View'.Multinacionales e IdiomasLa versión base de OpenERP está traducida a los siguientes idiomas: Inglés, Alemán, Chino, Español, Italiano, Húngaro, Holandés,

Portugués, Rumano, Sueco y Checo. Pero también hay disponibles otros idiomas, actualmente más de veinte, por ejemplo: Árabe, Afgano, Austriaco, Búlgaro, Indonés, Finlandés, Tailandés, Turco y Vietnamita.Cada compañía puede cargar los idiomas alternativos al inglés, que necesiten ella y sus usuarios. Entonces, cada usuario puede elegir su

idioma de trabajo de entre esos idiomas .

Page 13: Sistemas ERP

Multinacionales y zonas horariasSi existen usuarios en diferentes países, cada usuario puede configurar su propia zona horaria. La hora que se muestra es la local del

usuario, pero se guarda la local del servidor, de forma que si un usuario en China establece su horario de trabajo de 9 a 6 y otro usuario en España desea concertar una reunión con él, el horario del usuario en China se muestra al usuario español convertido a la hora de España.Multinacionales y MonedasOpenERP trabaja simultáneamente con todas las monedas: EUR, USD, GBP, CAD, CNY, IDR, etc.

Fecha de aviso (Trigger dates)Puede enviar mensajes con una fecha futura. Estos mensajes no aparecerán en la lista de espera del receptor hasta la fecha indicada. Este

mecanismo es muy útil para configurar alertas ante un evento importante.EmpresasEn OpenERP, una empresa representa una entidad con la que hacer negocios, cualquier persona física o jurídica con la que nuestra

compañía tiene una relación mercantil e incluso laboral. Puede ser una empresa y también una ONG, una administración pública, un autónomo, un vendedor a comisión, un cliente potencial e incluso un empleado de la compañía. La relación se define según sea un cliente, un proveedor, ambas cosas o ninguna.Cada empresa comprende una o más delegaciones (direcciones) o contactos; podemos instalar el módulo 'base_contact' para manejar

múltiples contactos relacionados con una o distintas delegaciones e incluso distintas empresas.Categorías de Empresas del sistema y definidas por el usuario.Existen dos tipos de categorías de empresas: las categorías del sistema y las definidas por el usuario.Las categorías del sistema son 4: cliente, proveedor, ambas cosas y ninguna. Están diseñadas para permitir a OpenERP seleccionar

rápidamente lo que debería aparecer en algunas de las listas de selección desplegables del sistema. Y por tanto, es necesario rellenarlas correctamente.Las categorías de empresas definidas por el usuario no tienen más efecto que permitir clasificar las empresas según la relación que

mantiene con ellas (cliente, cliente potencial, proveedor, etc.), en una estructura jerárquica. Una empresa puede pertenecer a diversas categorías a cualquier nivel. Algunas estructuras usadas con frecuencia son las siguientes:

Localizaciones geográficas.

Intereses en ciertas líneas de productos.

Subscripciones a boletines de noticias.

Tipo de industria.

ContabilidadLa Contabilidad está totalmente integrada en todos los procesos y funciones de la compañía, tanto la contabilidad general (o contabilidad

financiera) como la analítica, la presupuestaria y la auxiliar. La función contable de OpenERP es de doble entrada y soporta múltiples divisiones de la compañía y múltiples compañías, así como múltiples monedas e idiomas. La mayoría de asientos son generados automáticamente al procesar otros documentos. OpenERP es un sistema de dato único. La contabilidad de OpenERP no es sólo para informes financieros, sino también el punto de anclaje de muchos de los procesos de administración de la compañía. La contabilidad analítica integrada permite la administración por actividad o proyecto de negocio y ofrece niveles de análisis muy detallados para controlar sus operaciones basándose en necesidades de administración de determinados objetos de negocio (proyectos, servicios, etc.), en lugar de cuadros de cuentas que generalmente se ajustan solamente a requisitos legales.Cuadros de CuentasOpenERP permite usar varios cuadros de cuentas en paralelo, no sólo para abrazar el concepto de multicompañía, también para una única

empresa. Puede poner sus cuentas en distintos cuadros, con diversas disposiciones para impuestos y amortizaciones, agrupadas de forma diferente para ajustarse a diversas necesidades.Tipos de Cuentas: Tipos Internos del sistema y Tipos definidos por el usuarioMuchos software de gestión y la mayoría de programas de contabilidad definen dos tipos de cuenta según lo que nos interese de ellas sea:

1. El Saldo al término de un período.2. Los Movimientos a lo largo de un intervalo de tiempo.

En el cuadro de cuentas del Plan General Contable español, así como en el de otros muchos países:

1. Las cuentas de los grupos 1 a 5 son del primer tipo (nos interesa el saldo, en inglés balance), porque son cuentas de situación (activo, pasivo y patrimonio),

2. mientras que las de los grupos 6 a 9 son del segundo (nos interesan los movimientos, en inglés statement), porque son cuentas de ingresos y gastos.

Estos dos tipos de cuenta corresponden:

1. El primero, grupos 1 a 5, a las cuentas del Balance o Balance de Situación, en inglés Balance Sheet, que traducido literalmente sería hoja de saldos;

2. Y el segundo, grupos 6 a 9 (estado de ingresos y gastos reconocidos), distinguimos:1. si los ingresos y gastos se derivan de las operaciones de la actividad normal de la empresa, grupos 6 y 7, se incluyen en la

Cuenta de Resultados (results account), antes de 2008 llamada de Pérdidas y Ganancias, en inglés Profit & Loss o también Income Statement o también Statement of Operations, que significa estado de la cuenta de ingresos y estado de la cuenta de operaciones, respectivamente, donde estado de cuenta significa movimientos.

2. si los ingresos y gastos se derivan de operaciones imputables al patrimonio, grupos 8 y 9, se incluyen en una cuenta de imputaciones al patrimonio.

Algunos sistemas clasifican entonces las cuentas del balance (saldo) en activo, pasivo y patrimonio; o lo hacen desde el principio, definiendo 4 ó 5 tipos de cuentas:

1. O, Owned, Patrimonio2. L, Liability, Pasivo3. A, Assets, Activo4. R, Results, Resultados5. M, se trata de cuentas para procesos automáticos o cuentas AA que no son de aplicación en España.

Page 14: Sistemas ERP

OpenERP define 6 tipos de cuenta internos y permite al usuario definir sus propios "Tipos de cuenta definidos por el usuario"; tantos como necesite.Los 6 tipos internos son:

1. Vista (View)2. A Pagar (Payable)3. A Cobrar (Receivable)4. Cerrada (Closed)5. Consolidación (Consolidation)6. Otros (Others)

El tipo Vista es lo que nosotros llamamos grupos, mayores o sumarios, no tienen movimientos propios sino que se trata de subtotales o suma de los movimientos de las cuentas del grupo; en el listado de las cuentas se presentan de color azul. Además de estos tipos internos, el usuario ha de definir sus tipos de cuentas (account_account_type) porque al crear una cuenta hay que establecer su tipo, tanto el interno como el definido por el usuario.Los tipos internos "A Pagar" y "A Cobrar" son usados por el sistema en operaciones en los que solamente puede seleccionarse uno de estos

tipos de cuenta.Los tipos definidos por el usuario son a título informativo para comodidad del usuario, por ejemplo, al seleccionar una cuenta o al permitir

solamente determinados tipos en un diario. Puede crear tantos como necesite. En un caso real normal, se definirán 9, 10 ú 11 tipos de cuentas definidas por el usuario. Tener un tipo definido de más no molesta. En el módulo del Cuadro Español que se distribuye en el paquete de software no se incluye el tipo Existencias. Antes de crear cuentas del Grupo 3 Existencias, deberíamos pensar si crear el tipo o asignarlas a uno de los ya existentes (los 9 primeros). Como en la mayoría de los programas, hay que establecer el signo de la cuenta para el subtotal en presentación de informes. En este caso todos los tipos son positivos. También para la presentación de informes hay que establecer una secuencia, el orden del listado. En este caso todas en principio son secuencia 5 (al ser todos iguales nos da el orden natural), de forma que si queremos que una cuenta aparezca la primera basta con asignarle un número de secuencia inferior a 5. En OpenERP también podemos asignar una cuenta a una empresa como un cliente, un proveedor o una empresa del grupo en un entorno multicompañía; las cuentas de empresa son las que irá creando el usuario final para sus empresas del grupo o sus proveedores y clientes concretos, pero ésto se irá configurando a medida que vayamos dando de alta las empresas, así que en principio se comienza con ninguna como cuenta de empresa.

Nombre Referencia Método de Cierre

1 Vista vista (view) none

2 Ingresos ingresos (income) none

3 Gastos gastos (expense) none

4 Financieras (Tesorería, Caja)

financieras (cash) balance

5 Terceros - A Cobrar porcobrar (receivable) unreconciled

6 Terceros - A Pagar porpagar (payable) unreconciled

7 Impuestos impuestos (tax) unreconciled

8 Inmobilizado (Activos) inmo (asset) balance

9 Capital (Patrimonio neto) capital (equity) balance

10 Existencias stock balance

Errores al configurar las cuentas y sus propiedadesEs fácil cometer errores al configurar las cuentas y sus propiedades pero las consecuencias no se hacen evidentes de forma inmediata. Lo

más probable es que descubra los errores al intentar hacer un pedido de Compra ó Venta donde las cuentas son campos obligatorios, ó, si es diligente, al configurar Empresas.Si configura las cuentas correctamente, los campos se completarán automáticamente en los pedidos de Compras y Ventas de forma

transparente. Pero si no, será imposible guardar un pedido hasta haber corregido el problema o hasta que indique las cuentas manualmente.Como esta configuración es bastante tediosa, sería mejor encontrar un Cuadro de Cuentas certificado que ya esté configurado para

satisfacer sus necesidades, en el caso de que exista uno.Errores al configurar diariosTambién es fácil cometer errores al configurar los diarios y las consecuencias tampoco son evidentes inmediatamente. Casi siempre los

errores se descubren al crear una factura (lo que ocurre en diferentes puntos del proceso en función de la configuración). Por ejemplo, validar un Pedido de Compra crea un borrador de la factura donde se requiere un diario.Como con las cuentas y propiedades, si los configura correctamente desde el principio, entonces los campos serán rellenados

automáticamente y no tendrá que preocuparse. Si no, habrá errores con el formulario de pedido o su correspondiente borrador de factura hasta que haya corregido el problema o seleccione el diario de forma manual.ImpuestosOpenERP dispone Cuadros de Impuestos análogos a los Cuadro de Cuentas, es decir, estructuras jerárquicas en forma de árbol, tantas

como necesite, sólo para impuestos, que puede configurar a voluntad y re-estructurar, sin perjuicio de seguir usando el cuadro de cuentas como suele ser habitual cuando no se dispone de una herramienta tan avanzada. Por tanto, no es necesario administrar distintas cuentas contables en función del tipo de venta y el tipo de impuesto, es posible asignar sólo una parte de la transacción del impuesto y no estará limitado al balance de un período específico.El mecanismo de impuestos puede también usarse para manejar otras transacciones financieras similares a los impuestos, como derechos

de autor o comisiones de ventas basadas en el valor de las transacciones a través de una cuenta.Se pueden configurar tantos impuestos como desee y también impuesto sobre impuesto con tantos niveles como desee. Se pueden usar

impuestos porcentaje y fijos, predeterminados o específicos, para categorías de productos, específicos del producto, empresas, etc. y expresados en las facturas, incluidos en el precio u ocultos. La declaración de impuestos se genera automáticamente a partir de las facturas.

Page 15: Sistemas ERP

En algunos países, los impuestos pueden ser calculados en función de los pagos recibidos en lugar de las facturas emitidas, OpenERP permite ambos planteamientos al seleccionar un período: Basar en Pagos ó Basar en Facturas.Algunos módulos que amplían la funcionalidad en algún sentido son:

'report_intrastat', para declaraciones de bienes enviados y recibidos de otros países.

'import_export', para una contabilidad de impuestos basada en ubicaciones: Local, Europa, Extracomunitario.

'account_simulation', para simular balances de sumas y saldos con diferentes métodos de amortización como IFRS o el método francés.

'account_reporting', de informes configurables en formatos legales.

TablerosLos tableros proveen una vista general de toda la información importante para el usuario en una sola página. El menú Tableros ofrece

acceso a tablones predefinidos de Administración Financiera, Fabricación y Administración de Proyectos. A diferencia de la mayoría de sistemas ERP y de los clásicos sistemas con una base estática, OpenERP puede proveer tableros a todos los usuarios del sistema y no solamente a unos pocos selectos como directores y contables. Los tableros son dinámicos, lo que le permite navegar fácilmente a lo largo de toda la base de información. OpenERP contiene un editor de tableros que le permite construir su propio tablero con unos pocos clics para ajustarse a sus necesidades específicas.ProductosEn OpenERP, producto significa una materia prima en bruto, un producto almacenable, un consumible o un servicio. Se puede trabajar con

productos enteros o con plantillas que separan la definición de productos y variantes (p.e., tallas, colores, presentaciones, etc.). Las variantes pueden estar en una dimensión o más si instala el módulo 'product_variant_multi' que tendrá que comprobar si está actualizado para la versión 5. Hay muchos módulos opcionales para extender la funcionalidad de producto en el sitio web de OpenERP como:

'membership' : para administrar las subscripciones de los miembros de una compañía.

'product_electronic' : para administrar productos electrónicos.

'product_extended' : para administrar costes de producción.

'product_expiry' : para productos agro-alimentarios donde los artículos deben ser retirados después de un cierto período.

'product_lot_foundry' : para administrar productos de metal forjado.

ConsumiblesEn OpenERP, un consumible es un producto físico que es tratado como producto almacenable excepto que la administración de existencias

no es tenida en cuenta por el sistema. Podría comprarlo, entregarlo o producirlo pero OpenERP asumirá siempre que hay suficiente en el almacén. Nunca disparará una excepción de contratación de abastecimiento para procurarlo.

Manejando unidades de medida doblesToda la gestión de las existencias puede ser llevada a cabo con dobles unidades de medida (UDM y UDV Unidad de Venta). Por ejemplo

una compañía agroalimentaria puede almacenar y vender jamón por piezas pero comprarlo y valorarlo al peso. No existe una relación directa entre estas dos unidades de modo que es necesaria una operación de ponderación.Esta funcionalidad es crucial en la industria agroalimentaria y puede ser igualmente importante en fabricación, químicas y muchas otras

industrias.

Listas de PreciosLas listas de precios (Productos ‣ Listas de Precios) determinan los precios de compra y venta y ajustes derivados del uso de diferentes

monedas. Las listas de precios son extremadamente flexibles y permiten poner en marcha una completa política de gestión de precios. Se componen de reglas simples que permiten construir un conjunto de reglas para las situaciones más complejas: múltiples descuentos, precios de venta basados en precios de compra, reducciones de precios, promociones en rangos enteros de productos, rebajas de navidad o verano y otras situaciones.

Existencias e InventarioLa administración de las existencias es, como la contabilidad, de doble entrada. De esta forma las existencias no aparecen y desaparecen

de un almacén por arte de magia, sólo se mueven de un lugar a otro. Y, exactamente como la contabilidad, tal sistema de doble entrada ofrece grandes ventajas cuando se trata de auditar las existencias porque cada artículo perdido tiene una contrapartida en algún sitio.La mayoría de software de administración de existencias se limita a generar listas de productos en almacenes. Gracias al sistema de doble

entrada, OpenERP administra automáticamente las existencias de clientes y también de proveedores, lo cual tiene muchas ventajas: trazabilidad completa desde el proveedor al cliente, administración de existencias consignadas, y análisis de movimientos de existencias de contrapartida.Además, justo como la cuentas, las ubicaciones de existencias son jerárquicas, así que se pueden realizar análisis a diferentes niveles de

detalle.Las órdenes de embalaje y entregas son normalmente definidas automáticamente mediante el cálculo de requerimientos basado en las

ventas. El personal de los almacenes y/o tiendas, utiliza listas de recogida generadas por OpenERP, producidas automáticamente en orden de prioridad.El sistema le permite:

Definir los almacenes y estructurarlos a partir de ubicaciones y disposiciones a su elección.

Administrar la rotación de inventario y niveles de existencias.

Ejecutar órdenes de embalaje (entrega) generadas por el sistema.

Ejecutar entregas con notas de entrega (albarán) y calcular gastos de transporte.

Administrar lotes y números de serie para su trazabilidad.

Calcular niveles de existencias teóricos y automatizar la valoración de inventario.

Crear reglas para reposición automática de existencias.

Valoración de ExistenciasSi desea una valoración de existencias en tiempo real sincronizada con los movimientos de existencias, debe asignar una cuenta a cada

ubicación de existencias. Cuando se produzcan entradas y salidas de productos en cada ubicación, OpenERP generará apuntes contables para esa ubicación, que estarán definidos por la configuración de los productos (y una valoración de existencias que podrá estar basada en Precio de Coste Estándar o Precio Medio Ponderado). Esta funcionalidad no está disponible en versiones anteriores de OpenERP.

Page 16: Sistemas ERP

Por ejemplo, si asigna una cuenta a la ubicación del Proveedor podrá ver el valor de las existencias que ha tomado del proveedor. Sus contenidos pueden ser valorados en sus cuentas y ello puede gestionar el inventario en consigna.

Trazabilidad en doble entradaOpenERP opera en un esquema de transferencia de existencias de doble entrada similar a la contabilidad de doble entrada. Gracias a ello

se pueden llevar a cabo varios análisis de niveles (cantidades) de existencias en los almacenes junto con los correspondientes niveles en la ubicación del proveedor. El sistema de doble entrada, análogo al de la contabilidad, permite llevar un seguimiento de los movimientos de existencias con enorme facilidad y resolver cualquier error que pudiera ocurrir.

Ejecutando Acciones ProgramadasEn el momento de recibir un Pedido de Venta deben reservarse los productos de dicho pedido y actualizarse las necesidades de

existencias. Periódicamente tiene lugar una actividad de reserva de existencias que calcula las necesidades teniendo en cuenta las prioridades de los clientes. El cálculo puede iniciarse desde el menú "Fabricación ‣ Calcular Todas las Programaciones". Al hacerlo se reservan los productos automáticamente.Si en lugar de tener que trabajar con necesidades de existencias prefiere tener un flujo de trabajo más sencillo y directo, puede instalar el

módulo 'mrp_jit' (Just In Time).

CRM y SRM, Administración de las relaciones con clientes y proveedoresOpenERP utiliza el concepto de "caso" para tratar de forma arbitraria diferentes tipos de relaciones, cada una derivada de un método

genérico. Puede usarse para todo tipo de comunicaciones como consulta de pedidos, problemas de calidad, administración de un centro de atención al cliente (call center, centro de asistencia técnica, post-venta, etc.), seguimiento o traza de registros, solicitudes de asistencia (soporte o helpdesk) y ofertas de empleo.OpenERP asegura que cada caso es tratado efectivamente por los usuarios del sistema, clientes y proveedores. Puede reasignar un caso

automáticamente, rastrearlo, enviar recordatorios por correo electrónico y causar otra documentación y procesos de OpenERP.Todas las operaciones son archivadas, y una puerta de enlace de correo electrónico permite actualizar un caso automáticamente, a partir

de correos enviados y recibidos.Además, el CRM y SRM de OpenERP tiene herramientas para mejorar la productividad de todo el personal en su trabajo diario:

un editor de documentos que interactúa con OpenOffice.org,

interfaces para sinconizar sus contactos y Outlook Calendar con OpenERP,

un plugin de Outlook que permite guardar automáticamente los correos con sus adjuntos en un Sistema de Gestión Documental integrado con OpenERP.

un portal para proveedores y clientes que les permite acceder a ciertos datos del sistema.

Recursos HumanosLos módulos de Administración de Recursos Humanos de OpenERP ofrecen funciones como:

administración del personal y el calendario de vacaciones,

administración de los contratos de los empleados,

administración de beneficios,

administración de bajas por vacaciones y enfermedad,

administración de procesos de demanda,

administración del rendimiento del personal,

administración de habilidades y competencias (capacidades o capacitaciones).

La mayoría de estas funciones son facilitadas por módulos opcionales.

En obras, continuará ...OpenERP es un auténtico ERP y por tanto dispone de gestión de procesos o ingeniería de procesos, y como es un ERP completo, la

cantidad de funciones es enorme, incluyendo Gestión de Compras, Proyectos, Fabricación, Ventas, Documental, etc.Además, existe una gran cantidad de módulos de terceros que extienden la funcionalidad de OpenERP.

Presentación de Open ERP2010·ENE·12, ed. 2010·OCT·18Open ERP 5, también conocido como OpenERP, es el ERP más reciente, avanzado, potente y amigable; en realidad el software ERP con el

que habíamos soñado. Publicado a comienzos de 2009 con licencia de software libre de código fuente abierto (free libre open source software, FLOSS), marca un nuevo hito en el ámbito del software libre open source y de los sistemas ERP en general. Proyectado en UML, escrito en Python (el lenguaje de programación elegido por gran parte de la NASA, Google y muchas otras compañías) usando programación POO + ORM, y desarrollado según el paradigma MVC de estilo de arquitectura de software, ofrece una solución modular e integral que brilla por la inteligencia con que resuelve problemas complejos mediante soluciones sencillas. Su módulo base es el núcleo que funciona como un motor para todos los módulos, allanando la curva de aprendizaje del usuario al presentar los mismos controles de interfaz de usuario a lo largo de todo el programa. Ningún otro ERP es tan flexible como OpenERP 5, desde profesionales autónomos a empresas como Atlas Copco o Whirpool, OpenERP 5 se puede configurar para ser justo lo que se necesita que sea.Open ERP es software libre, incluso sus autores han modificado recientemente la licencia, pasando de GPL a OEPL, para que el código de

las modificaciones realizadas por los proveedores SaaS tenga que estar disponible, aunque han incorporado algunas restricciones (ver Open ERP Licencia). Pero desafortunadamente, esta libertad del software no abarca la mejor parte de la documentación como Manuales, etc. que no son libres (http://doc.openerp.com/legal/license-documentation.html#doc-license-link). Se trata de una protección para retribuir a los autores, traductores y editores, por lo que no me está permitido hacer pública la traducción que he realizado del Manual, en el que las dos partes del primer capítulo de introducción, Tour guiado y Desarrollando un caso real, ilustran bastante bien las características y uso básico del programa.Hasta octubre de 2010, las páginas sobre la licencia eran http://doc.openerp.com/documentation_license.html#doc-license-link y

http://doc.openerp.com/contribute/documentation_process.html#building-the-documentationEn la lista de ERP libres (http://civicom.eu/ERP/ERP-Libres.htm) podemos ver que no existe un ERP libre escrito en PhP que use la sencilla

tecnología LAMP. La mayoría están escritos en Java, excepto GNUe, Open ERP y ERP5 que están escritos en Python. ERP5 tiene la peculiaridad de usar Zope, un potente servidor web distinto al conocido Apache, mientras que GNUe es un meta proyecto, una infraestructura. Por tanto, sin contar Java, OpenERP parece la mejor alternativa para empezar a conocer estos sistemas, descubrirá el que posiblemente sea el mejor ERP libre y uno de los mejores en general.

Page 17: Sistemas ERP

Tiny SPRL Bélgica, compañía fundada y dirigida por Fabien Pinckaers, es la empresa autora de TinyERP. Hasta octubre de 2008 TinyERP se desarrolla en Sourceforge (http://sourceforge.net/projects/tinyerp/), en ese momento cambia de nombre y lugar, pasando a llamarse Open ERP y desarrollarse en Launchpad, donde se fragua el lanzamiento de la versión 5.0 el día 6 de febrero de 2009.OpenERP es el principal de los muchos proyectos que componen un proyecto matriz llamado OpenObject

https://launchpad.net/openobject . Entre los muchos proyectos destaca el cliente web, desarrollado por la empresa parisina Axelor, que permite usar Open ERP desde la web, evitando la instalación de software cliente en los ordenadores de los usuarios, a quienes les resultará familiar el uso del navegador.

La solución Open ERPExtraído del Manual en línea de Open ERP.Gracias a su modularidad, los desarrollos de colaboradores han sido integrados limpiamente en Open ERP, permitiendo a cualquier

compañía elegir entre una larga lista de funciones disponibles. Como en la mayoría de software de código abierto, la accesibilidad, flexibilidad y sencillez son importantes palabras clave del desarrollo. La experiencia ha demostrado que no es necesario instruir a los usuarios durante meses sobre el sistema, porque es posible descargarlo y usarlo directamente.De modo que encontrará módulos para todo tipo de necesidades, permitiendo a su compañía construir su sistema a medida, simplemente

agrupando y configurando los módulos más adecuados. Hay cientos de módulos disponibles (más de 350).

Page 18: Sistemas ERP

Van desde módulos específicos como la interfaz EDI para productos agropecuarios, que han sido usados para interactuar con tiendas Match y Leclerc, hasta el módulo de automatización genérico, cuya demostración para pedir sandwiches puede tener en cuenta los gustos preferidos de su personal.Los resultados son bastante sorprendentes. Open ERP (llamado Tiny ERP en sus inicios) es el software de gestión que es descargado más

que ningún otro en el mundo, con más de 600 descargas al día. Está disponible en 18 idiomas en la actualidad y posee una red mundial de socios y colaboradores. Más de 800 desarrolladores participan en los proyectos; en el sistema de desarrollo colaborativo de Tiny Forge.Según nos consta, Open ERP es el único sistema de gestión que es usado de forma rutinaria tanto por grandes compañías como por

compañías muy pequeñas y compañías independientes. Esta diversidad ilustra la flexibilidad del software: una coordinación absolutamente elegante entre la funcionalidad del software que esperan las personas, y su gran sencillez de uso.Y esta diversidad se encuentra también en los distintos sectores y negocios que usan el software, incluyendo productos agropecuarios,

textiles, subasta pública, IT, y asociaciones comerciales.Por último, este software ha emergido de una mezcla de código de alta calidad, una arquitectura bien pensada y el uso de tecnologías

libres. De hecho, puede que le sorprenda (si es una persona IT) encontrar que el tamaño de la descarga de Open ERP es sólo de 6 MB aproximadamente. Cuando se expande durante la instalación, su tamaño es atribuíble en su mayor parte a todas las traducciones oficiales que están empaquetadas en ella, y no al código operativo. Hemos recorrido un largo camino desde los días en que las únicas personas que podían esperar beneficiarse de un ERP eran los propietarios de una fábrica de juguetes en algún remoto estado industrial.Open ERP en la webEl mejor sitio para empezar a conocer Open ERP depende de su familiaridad con el francés y/o el inglés. El principal de los Manuales fue

escrito originalmente en francés y traducido al inglés; ambas ediciones en papel están a la venta en Amazon. Una edición actualizada del Manual en inglés está disponible libremente en el área de documentación del sitio oficial, donde también se puede descargar, en formato PDF, una versión anterior del manual, correspondiente a la versión 4.2 de OpenERP, de la que existe una traducción al español, en formatos wiki y pdf. Los proyectos de traducción del Manual a otros idiomas se realizan con Sphynx en Launchpad y son publicados en el área de documentación oficial.Existen numerosos sitios sobre Open ERP alrededor del mundo, por ejemplo, http://openerp.netuse.be/en. Los sitios de India, muy buenos,

están en inglés. Otros sitios igual de buenos de países como Brasil están en portugués.

Sitio web oficial (en inglés): http://openerp.com/ (antes http://www.tinyerp.com y http://www.tiny.be) donde destaca:

o Documentación (en inglés): http://doc.openerp.com/ que solía resultar algo lenta, por el enlace con Amazon.

http://test.openerp.com/book/index.html

o Módulos: http://doc.openerp.com/py-modindex.html (antes http://doc.openerp.com/modindex.html)

Tutoriales en vídeo (en inglés): http://www.openerp.tv/

Wiki: http://www.openobject.com/wiki

Foro: http://www.openerp.com/forum (antes http://www.openobject.com/forum)

Blog: http://openerp-team.blogspot.com/

Lista de correo: http://tiny.be/mailman/listinfo/tinyerp-announce

Cursos: http://edu.openerp.com/moodle/

Axelor: http://axelor.com

OpenLabs (Sharoon Thomas): http://www.openlabs.co.in/

Blog personal de Sharoon Thomas: http://sharoonthomas.blogspot.com/

En España existen al menos 14 empresas que prestan servicios relacionados con Open ERP: Ting (León, Madrid y Cádiz), Thymbra (Argentina y Las Palmas de Gran Canaria), Acysos (Pamplona), Kemet (La Laguna, Tenerife), NaN (Sabadell), ZikZakMedia (Villafranca del Penedés), Domatix (Valencia), Ana Juaristi (Guipúzcoa), Abartia Team (Bilbao), Pexego (Lugo), Asozia (Llanera, Asturias), Excale (Madrid), Desertic, (Toledo), Revo Studios (Cádiz), Acesil, Ángel Moya, etc. Además de otras muchas en el continente americano como NetQuatro en Venezuela. Agunas de ellas ofrecen documentación libremente en diversos idiomas, bien en su sitio web o en sitios creados por un grupo de estas empresas:En español

El sitio español más completo: http://www.openerpsite.com/ cuya principal desarrolladora, Ana Juaristi (http://www.anajuaristi.com), es autora de la traducción de esta atractiva presentación http://www.slideshare.net/openerpsite/el-efecto-openerp.

http://www.pexego.es/blog; presentación localización española http://www.slideshare.net/pexego/localizacion-4135894

OpenERP web http://openerpweb.es creado por Susana Izquierdo (Abartia, Abartek) autora de la siguiente presentación http://www.slideshare.net/izquierdosusana/openerp-presentacion

AulaERP http://www.aulaerp.com por openerpsite (Ana Juaristi) y zikzakmedia (Jordi Esteve), http://openobject.com/forum/topic10480.html?sid=47903bbcecaa31965d7af4ff49b31837 http://www.openerp.com/forum/post34208.html?sid=04021725de2fcab7cbcd42bef0d9a93a

http://openerp.com.es/ creada por http://www.acesil.com/

http://www.jornadasopenerp.com/

(en inglés) http://openerpappliance.com/ (alias de http://opensourceconsulting.wordpress.com) autor de un instalador o appliance.

Open ERP Alliance España: http://www.openerpspain.com/ Se trata de una página comercial autopromocional pequeña, donde encontramos enlaces a otros sitios; pero también la versión anterior del Manual de OpenERP, correspondiente a la versión 4.x de Open ERP http://www.openerpspain.com/downloads/TinyERP4.2.pdf http://www.openerpspain.com/downloads/manual_openerp.230209.pdf

http://groups.google.com/group/openerp-spain/

En inglés

http://albert-nan.blogspot.com

En catalán

http://www.openerp.cat/

http://wiki.zikzakmedia.com

Page 19: Sistemas ERP

En los países americanos de habla hispana existe una comunidad muy amplia donde encontramos al menos los siguientes sitios que ofrecen documentación libremente:

http://www.thymbra.com/es/index.html Thymbra está cargo de la localización Argentina y es autora del módulo Medical.

http://openerp.org.ve (Venezuela) http://wiki.openerp.org.ve http://geronimo.com.ve http://openerp.netquatro.com (http://openerp.com.ve) http://www.netquatro.com

Open ERP América Latina http://groups.google.com.co/group/openerpamerica un grupo de 46 miembros fundado en Antioquia (Colombia) cuyo sitio es https://sites.google.com/site/openerpamericalatina/

http://wiki.opdevel.com/TinyBookEs/ una traducción incimpleta del Manual por http://www.opdevel.com Colombia

Open ERP en la WikipediaUn reciente estudio comparativo de las wikipedias española, inglesa y alemana concluye que la inglesa es la más amplia y la germana la

más precisa; y señala que la española presenta numerosas imprecisiones.

http://es.wikipedia.org/wiki/OpenERP

http://en.wikipedia.org/wiki/OpenERP

Open ERP se desarrolla en Launchpad

https://launchpad.net/openerp

https://code.launchpad.net/~openerp/

https://launchpad.net/openerp-spain (Open ERP Spain Team)

Otras opinionesEl número de sitios que hablan de Open ERP es creciente, incluyendo partners, compañías independientes y personas físicas que hablan en

su nombre a través de su blog personal, éste es el caso de los siguientes enlaces:

http://www.sisdoma.es/noticiassoft.html

http://coactivate.org/projects/pyve/lists/pyve-discussion/archive/2008/09/1221711916747/forum_view

http://juanmacias.net/archives/354

Instalando, Configurando y Ejecutando OpenERP 5 (openerp-server y openerp-web) en CentOS 5 64 bits2009·DIC·05, ed. 2010·OCT·05 © Javier de Lorenzo-Cáceres · Derechos Reservados.

IntroducciónDocumentación oficialLa documentación oficial sobre la instalación de Open ERP, muy orientada a Ubuntu con apenas unas referencias a Fedora y Mandriva, es

la siguiente:

Manual de Instalación (en inglés): http://doc.openerp.com/install/index.html#installation-link

Primer capítulo del Manual del Usuario, dedicado a la instalación (en inglés) y que nos remite con frecuencia al Manual de Instalación: http://doc.openerp.com/book/1/1_1_Inst_Config/index.html

El fichero INSTALL incluido en la carpeta "doc" de la descarga que se autodefine como una guía rápida.

La documentación incluida en el código fuente.

Documentación en la webAl comenzar este artículo, la documentación encontrada en la web también estaba más orientada a Ubuntu:Instalación de OpenERP en Ubuntu son:

AulaERP: http://www.aulaerp.com/aula/course/view.php?id=7 (aulaerp)

AulaERP: http://www.aulaerp.com/aula/mod/resource/view.php?id=151

Instalador Todo-en-uno por Iñaki Fernández: http://opensourceconsulting.wordpress.com/2009/08/25/openerp-5-0-3-all-in-one-installer-for-ubuntu/

Versión anterior del Todo-en-uno por Iñaki Fernández: http://opensourceconsulting.wordpress.com/2009/08/13/openerp-allinone-setup-5-0-2-0-sh/

Versión anterior del Todo-en-uno por Iñaki Fernández: http://opensourceconsulting.wordpress.com/2009/06/29/openerp-server-5-0-openerp-web-5-0-1-installation-

script-on-ubuntu-9-0-4-sh/

Instalación de OpenERP en Debian:

http://www.ecualug.org/2009/07/14/blog/razametal/instalar_openerp_5010_en_debian

Instalación de OpenERP en CentOS:

Open ERP 5.0.6 en CentOS 5.3 por Bert Deferme: http://www.bdeferme.net/blog/2009/10/howto-installation-openerp-centos

Open ERP 4.2.2 en Centos 5.2 64: http://www.howtoforge.com/openerp-installation-on-centos5.2

Instalación de OpenERP en OpenBSD:

Page 20: Sistemas ERP

Open ERP 4.2.3 en OpenBSD 4.3 en VMWare en Mac OS X: http://betabug.ch/wiki/OpenERPOnOpenBSDInstallNotes

Versiones de Open ERP 5Los editores de Open ERP publican una nueva versión cada mes:

6.0 alpha r1515: 2010·AGO·27

5.0.14: 2010·SEP·03

5.0.13

5.0.12

5.0.11: 2010·JUN·08, http://stephane-wirtel-at-tiny.blogspot.com/2010/06/openerp-5011.html

5.0.10: 2010·MAY·05, http://stephane-wirtel-at-tiny.blogspot.com/2010/05/openerp-5010.html

5.0.9: 2010·ABR·06, http://stephane-wirtel-at-tiny.blogspot.com/2010/04/openerp-509.html

5.0.8: 2010·ABR·06, http://stephane-wirtel-at-tiny.blogspot.com/2010/04/openerp-508.html

5.0.7: 2010·MAR·01, http://stephane-wirtel-at-tiny.blogspot.com/2010/03/openerp-507.html

5.0.6: 2010·FEB

...

5.0.0 Alpha 2008·NOV

Por considerarse una aplicación de misión crítica, por el número de versión y por transcurrir sólo un mes entre publicaciones sucesivas, podríamos esperar que cada nueva versión no presentara muchas diferencias respecto a la anterior, que tan sólo solucionara problemas conocidos, los llamados bichos (bugs) y sus correcciones (bugfixes) de forma que cada nueva versión fuera algo así como un bugfix de la anterior. Pero el proyecto Open ERP es mucho más dinámico, en sintonía con Canonical y su Ubuntu.De modo que Open ERP desde la versión 5.0.7 en adelante ya es compatible con el reciente Python 2.6, mientras que la 5.0.6 y anteriores

no lo eran. Justo en la 5.0.7 deja de requerir los paquetes xml (PyXML), libxml2-python y libxslt-python, aunque xml permanece en la lista del instalador, quizás porque el instalador sí lo requiere (ver tabla del apéndice 3); y se introduce una nueva dependencia: lxml, un enlace alternativo a libxml2 y libxslt que reemplaza a los libxml2-python y libxslt-python usados hasta la 5.0.6. Así que la versión 5.0.7 representa un cambio y, como comentan, también alguna regresión que seguramente ya habrá sido corregida en la 5.0.11. Al mes siguiente de la 5.0.7 tocaba la versión 5.0.8 la cual no me consta que exista. Algo no muy positivo debió ocurrir al publicar esta versión porque fue "vista y no vista" como indica la fecha de publicación. Versiones más antiguas requerían TurboGears que a su vez depende de CherryPy2. Ahora, openerp-web depende directamente de CherryPy3.El caso opuesto a usar una versión reciente de Python como la 2.6 es seguir usando la 2.4, que es el caso de CentOS 5. Open ERP 5.0.13

introduce algunos cambios no soportados por Python 2.4 y que podemos seguir en https://bugs.launchpad.net/openobject-server/+bug/630333 gracias a Jorge González (CTO en Daikon Integración y Desarrollo, S.L.). En esa página se dicen cosas como que Open ERP debe ser compatible con Python 2.4, se habla de los cambios que impiden a Open ERP 5.0.13 y 5.0.14 ejecutarse en Python 2.4 y se facilitan soluciones.Una errata que presenta el Manual respecto a psycopg: en Ubuntu se indica requerirse sólo la versión 2 pero en Fedora se indican como

dependencia tanto la versión 1 como la 2: psycopg y psycopg2. Sin embargo en el documento INSTALL sólo se expresa psycopg2, que es lo correcto en cualquier caso.Distribuciones Linux y arquitecturas x86 y AMD64Las diferencias entre las distintas distribuciones Linux son suficientes para que algo que funciona tan suave como la seda en una de ellas,

no lo haga igual de bien en otra. Ejemplos de diferencias notables son las "LSB initscript functions" (ver /lib/lsb/ y http://refspecs.freestandards.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic_lines.txt) y el "empaquetado" de las piezas de software, rpm en unas y deb en otras, así como los administradores de paquetes, es decir, las aplicaciones de instalación/actualización de software: yum y su hermana gráfica yumex, yast, up2date, apt. Tomando dos distribuciones casi idénticas como RHEL y CentOS (CentOS está basado en RHEL), encontramos que CentOS incluye yum y RHEL no. Hay tantas distribuciones que una "Guía de Instalación de Open ERP en Linux" sería algo inmenso. Lo significativo es que el código fuente del software es el mismo, las diferencias comienzan al compilarlo (como si de arquitecturas distintas se tratara) y aumentan al distribuirlo; de modo que a la hora de instalar será mejor asegurarnos de coger el paquete adecuado, o compilarlo correctamente para nuestro sistema o, con suerte, simplemente comprobar que no le afecta especialmente el entorno. Las LSB initscripts functions son usadas en el script de inicio del demonio (servicio) openerp-web pero la implementación en CentOS difiere bastante de Ubuntu.Por otra parte, la instalación de Open ERP en CentOS 64 no difiere mucho de la misma en CentOS 32, aún cuando las arquitecturas x86 y

AMD64 son completamente distintas, basta sustituir los sufijos "x86_64" de los paquetes Linux por "i386". Pero un sistema de 32 bits no puede direccionar más de 4GB de memoria principal (2 elevado a 32). Esta guía está orientada a CentOS 5.5 64 bits, y sirve igual para versiones anteriores como las 5.2, 5.3 y 5.4 porque al actualizarlas convergen. Seguramente pueda extrapolarse a RHEL y Scientific Linux así como a otros sistemas basados en Red Hat como Fedora, tanto a 32 como a 64 bits, con suerte incluso a SLES y openSUSE, del mismo modo que una guía para Ubuntu quizás pueda extrapolarse a otros sistemas basados en Debian.Métodos de instalación de Open ERP 5De los distintos cuatro métodos de instalación de Open ERP indicados en el Manual del Usuario, esta guía trata del que aparece en último

lugar, el cuarto:

Comparación de los diferentes métodos de instalación en Windows o Linux

Método Tiempo Complejidad Notas

Instalador Todo-en-uno para Windows Unos pocos minutos

Fácil Muy útil para una evaluación rápida porque instala todos los componentes pre-configurados en un ordenador (usando el cliente GTK).

Instalación independiente en Windows Media hora Medio Permite instalar los componentes en diferentes ordenadores. Puede ser usado en producción.

Open ERP como paquetes Linux de Ubuntu

Unos pocos minutos

Fácil Fácil y rápido pero los paquetes Ubuntu no están siempre actualizados.

A partir del código fuente, para todos los sistemas Linux

Más de media hora

Dificultad media a ligeramente difícil

Este es el método recomendado para entornos de producción porque es fácil mantenerlo actualizado.

Page 21: Sistemas ERP

Guía rápidaNo soy partidario de las guías rápidas tipo "haga ésto y esto otro", es como decir "meta vd. la mano que a mí me da risa", pero de alguna

forma hay que resumir o sintetizar el proceso de instalación en un sencillo paso-a-paso que nos sirva de referencia. En un primer momento situé este resumen al final, a modo de conclusión pero después lo modifiqué un poco para que sirviera de comienzo, quitando parte del contenido y dejando el resto a modo de apéndice.La instalación de OpenERP consiste en comprobar una serie de componentes que se relacionan a continuación, algunos deberán ser

instalados y otros tendrán que ser actualizados, pero es posible encontrar conflictos. Es importante tener en cuenta que los componentes relacionados son los requeridos tanto por la versión 5.0.6 como por la versión 5.0.11 que era la más reciente al momento de escribir, así que se relacionan más paquetes de los necesarios y se indica la versión de OpenERP que lo requiere.OpenERP y OpenERP-Web son aplicaciones Python de modo que podemos considerarlas como paquetes Python. Cada paquete Python se

denomina un EGG, en referencia a las huevos de la serpiente, un simpático nombre para denominar tanto aplicaciones completas como lo que llamamos bibliotecas, librerías, paquetes, módulos o extensiones de Python. Remotamente, un EGG es a Python lo que un Bean es a Java, mientras que PEAR es a PhP una librería cuyo objetivo es el uso compartido. Algunos paquetes Python están contemplados también como paquetes Linux para facilitar la instalación, administración de las dependencias de otros paquetes, actualización y desinstalación.Si el paquete Python que queremos instalar no existe como paquete Linux entre los repositorios que estamos usando, puede que exista en

repositorios adicionales como CentOS Extras y otros no oficiales como Karan, RPMForge, EPEL u otro (http://wiki.centos.org/AdditionalResources/Repositories), pero mejor que recurrir a repositorios no oficiales es usar setuptools, distutils o la instalación manual. Usar setuptools es una buena opción pero no servirá en todos los casos, de modo que para instalar algún paquete deberemos descargarlo e instalarlo manualmente. Si instalamos repositorios adicionales es importante proteger los repositorios base mediante uno cualquiera de los 3 métodos disponibles: ProtectBase, Priorities y Exclude; y también es recomendable activarlo sólo para instalar dicho paquete y desactivarlo después.Esta guía le permitirá instalar OpenERP y OpenERP-Web usando solamente repositorios oficiales.

Open ERP Server

1. CentOS 5

o El contenido de este artículo comienza probando una instalación base (con el repositorio Extras activado y CentosPlus desactivado)

de las versión 5.5 de CentOS 64 bits seleccionando los conjuntos de paquetes gnome y server. Aplicando actualizaciones a ésta y anteriores versiones como 5.2, 5.3 y 5.4, las actualizaciones terminaron por igualar los sistemas entre sí. Las pruebas se realizaron tanto en ordenadores de escritorio como servidores HP y con diversos procesadores AMD e Intel, con 8, 4 y 2 GB de memoria principal de los tres tipos, Registered-ECC (Buffered), non-Buffered-ECC y no-ECC. Con sólo 2 GB los resultados no fueron aceptables.

2. RDBMS PostgreSQL 8.2 ó superior (http://www.postgresql.org)

o CentOS 5 64 incluye la versión 8.1 (8.1.11 y después de actualizar e importar la clave wget, la 8.1.18) que no es suficiente para

OpenERP así que deberemos instalar una versión superior por nosotros mismos. PostgreSQL no se instala por defecto pero sí "postgresql-libs-8.1 ... x86_64". Las últimas versiones estables a 18-MAY-2010 son 8.4.4, 8.3.11, 8.2.17, 8.1.21, 8.0.25 y 7.4.29 disponibles para Fedora, RHEL y CentOS en el repositorio de Devrim Gündüz http://yum.pgrpms.org desde 17-MAY-2010. PostgreSQL 7.4 y 8.0 dejarán de estar soportados en julio de 2010 (End of LifeCycle). Entre las versiones superiores encontramos las beta de 9.0. El repositorio recomendado de PostgreSQL para CentOS (The PostgreSQL yum repository, pgdg83, https://public.commandprompt.com/projects/pgcore/wiki) está indicado en http://www.postgresql.org/download/linux donde vemos que aún dice que el repositorio es mantenido por Devrim Gündüz en Command Prompt cuando en realidad, ahora Devrim Gündüz se ha "movido" de Command Prompt comenzando un nuevo repositorio yum: http://yum.pgrpms.org/ (el movimiento se puede apreciar de http://yum.pgsqlrpms.org/howtoyum.php a http://yum.pgrpms.org/howtoyum.php). Como somos seguidores de Devrim instalamos su nuevo repositorio, antes hay que excluir los repositorios de CentOS (exclude postgresql*) e importar la clave pública o instalar sin ella. Lo siguiente es aplicar actualizaciones y además de actualizarse postgresql-libs vemos que se instala compat-postgresql-libs-4-1_x86_64. Si elegimos 8.3 tenemos dos opciones, con soporte ID (Integer Datetimes) para fechas/horas como números enteros o sin él y en este caso será algo más difícil actualizar después a la versión 8.4, aunque Open ERP funcionará bien. Elegimos 8.4 (postgresql-server que depende de postgresql).

o No es necesario instalar "postgresql-pipython-8.3.10-2PGDG.rhel5.x86_64" o el que corresponda a la versión de PostgreSQL

instalada porque OpenERP probablemente usará psycopg2.

o Una vez instalado PostgreSQL, antes de iniciar el servicio hay que iniciar el directorio de datos "/var/lib/pgsql/data" que en un

principio estará vacío (service postgresql initdb). Una vez iniciado el directorio es el momento de iniciar el servicio y crear un usuario de PostgreSQL para OpenERP. El archivo pg_hba.conf en "/var/lib/pgsql/data/" de la configuración de seguridad de PostgreSQL (/var/lib/pgsql/data/pg_hba.conf y pg_ident.conf) limita de forma predeterminada que sólo se permitan conexiones con el servidor de BD desde la propia máquina (local y host 127.0.0.1) y mediante cuentas que existan tanto en el sistema como en el servidor BD (ident sameuser) o relacionadas mediante pg_ident.conf. Desde el punto de vista de la seguridad es mejor que los servidores openerp-server y openerp-web se ejecuten mediante una cuenta limitada y no con una cuenta privilegiada del sistema como root, así que en producción conviene crear un usuario del sistema exclusivamente para la ejecución del servidor OpenERP y que sea este usuario quien acceda a la BD con una cuenta en Postgres que no será de superusuario postgres mientras no necesitemos restaurar una base de datos, todo esto sin relajar la seguridad de postgres en pg_hba.conf, es decir, sin cambiar "ident sameuser" por "trust". Este es el punto más delicado por la seguridad y comprende una serie de inter-relaciones: script de inicio del demonio si ejecutamos OpenERP como servicio, fichero de configuración de inicio del servidor OpenERP (tanto si ejecutamos openerp-server como demonio o como aplicación en un terminal), fichero de configuración de accesos de postgres y cuenta de usuario en el servidor BD.

o Hay que tener en cuenta que al iniciar el servidor OpenERP, éste no comprueba la conexión con el servidor de BD, así que no nos

indicará la imposibilidad de acceso, y después de instalar el cliente web y conectar mediante el navegador, éste nos dirá que "no se pudo conectar con el servidor" y fácilmente podríamos interpretar que "el cliente web no pudo conectar con el servidor OpenERP" cuando lo que está ocurriendo es que "el servidor OpenERP no pudo conectar con el servidor de BD".

o Recapitulando, si a la hora de probar lo hacemos ejecutando el servidor OpenERP en un terminal, deberá existir una cuenta en el

servidor BD para el usuario que ejecutó el servidor OpenERP (o relajar el fichero de acceso de Postgres), y se establecerá dicha cuenta en el parámetro db_user del fichero de configuración de inicio de OpenERP. En caso de ejecutar el servidor OpenERP como demonio, la cuenta dependerá del script de inicio del servicio, si el script permite indicar la cuenta estaremos en un caso similar al anterior y si no, deberemos crear una cuenta para root en el servidor postgres. Crear una cuenta para root en el servidor BD no supone una relajación de la seguridad ya que root puede crearse su cuenta, el punto débil es que el servicio se ejecute con una cuenta privilegiada.

o Para crear el usuario en el servidor BD iniciamos una sesión root: 1) Usamos psql para crear la cuenta iniciando sesión en el

servidor BD con el usario postgres con "su - postgres -c psql" (el guión suelto equivale a -l) y ejecutamos "create user 'nombredeusuarioparaopenerp' with encrypted password 'contraseñafuerte' createdb;" (con el único privilegio de crear bases de datos). La diferencia entre create user y create role es que ceate user es ahora un alias de create role que por defecto otorga privilegio de login mientras que create role no; si usamos create role podemos añadir login después de createdb; el privilegio login lo necesitaremos sólo si en adelante queremos usar esta cuenta al utilizar psql o PgAdminIII.

3. Python 2.4 ó superior (http://www.python.org)

o CentOS 5 64 incluye Python 2.4 así como numerosos paquetes relacionados. OpenERP debe funcionar bien, según los requisitos

mínimos declarados, con la versión 2.4 de Python que encontramos ya instalada: el paquete Linux "python-2.4.3-27.el5.x86_64".

Page 22: Sistemas ERP

Para poder usar Python 2.6 se necesita Open ERP 5.0.7 o más reciente. En la versión 5.0.14 de Open ERP, Jorge González (CTO en Daikon Integración y Desarrollo, S.L.) encontró una cláusula "Try/Except/Finally" en la línea 909 del fichero "tolls/misc.py" así como una declaración a la librería AST (Abstract Syntax Tree) que no son compatibles con Python 2.4 sino a partir de la 2.5 y abrió un ticket en https://bugs.launchpad.net/openobject-server/+bug/630333 donde se discute y soluciona. Comparando las versiones por curiosidad, veo que este cambio se introdujo en la versión 5.0.13.

4. setuptools

o Descripción: setuptools es un paquete python, una herramienta para instalar fácilmente paquetes Python. Es requerido por pydot

que a su vez es requerido por el instalador de OpenERP (ver el Manual o la definición de "check_modules" dentro del archivo de instalación "setup.py" para comprobar que se requiere "pydot" porque el archivo INSTALL no lo menciona).

o Instalamos el paquete Linux "python-setuptools-0.6c5-2.el5.noarch" (El sufijo noarch "no architecture" significa que es

independiente de la arquitectura y por tanto no existen versiones específicas para 32 ó 64 bits, "i386" ó "x86_64" respectivamente, ya que es válido para ambas). Una vez instalado podemos hacer "easy_install --help" para ver las opciones. Una vez instalado podemos usarlo para actualizarlo a sí mismo "easy_install -U setuptools".

5. psycopg2 (PostgreSQL module)

o Descripción: Un adaptador de la base de datos PostgreSQL para Python (como pygresql y popy). Escrito desde cero con el objetivo

de ser muy pequeño, rápido y estable. Las principales ventajas de psycopg son que soporta completamente Python DBAPI-2.0 y que es thread safe a nivel 2. Ésta es la versión 2, una re-escritura total del código original para proveer un nuevo estilo de clases para los objetos de conexión y cursor y otras dulzuras. Como el original, psycopg2 fue escrito con el objetivo de ser muy pequeño, rápido y estable.

o CentOS 5 64 incluye las versiones 2.0.7 y 2.0.12 para 64 bits y en el repositorio de PostgreSQL están las versiones 2.0.13 y 2.014

para 64 bits. Instalamos la 14, el paquete Linux "python-psycopg2-2.0.14-1.rhel5.x86_64".6. pychart

o Descripción: Usado por OpenERP para generar gráficos de tarta, barras y líneas en diversos formatos como png.

o CentOS no lo incluye y tampoco easy_install, así que deberemos descargarlo desde "http://home.gna.org/pychart" e instalarlo

manualmente, situándonos en el directorio descargado donde se encuentra el instalador y ejecutándolo: "python setup.py install". Sin problema.

7. pyparsing

o Descripción: Requerido por pydot y usado por OpenERP para renderizar gráficos de flujo (procesos), se trata de un módulo que

puede ser usado para configurar, directa y fácilmente, definiciones de sintaxis para cualquier número de aplicaciones de análisis de texto.

o RPMForge incluye la versión 1.4 ("python-parsing-1.4.11-1.el5.rf.noarch") pero se necesita la 1.5 o superior, que instalaremos

fácilmente gracias a setuptools: "easy_install -Z pyparsing". Si tenemos problemas con wikispaces (Download error: name or service not known) podemos indicar el sitio de descarga: "easy_install http://cheeseshop.python.org/packages/source/p/pyparsing/pyparsing-1.5.0.tar.gz".

8. Graphviz (Graph visualization) (http://www.graphviz.org/)

o Descripción: Usado por OpenERP para renderizar los gráficos de procesos (diagramas de flujo). Se trata de una colección de

herramientas y paquetes tcl para la manipulación y composición (disposición) de gráficos entendidos como nodos y aristas y no algo como gráficos de barras (para los que OpenERP usa pychart). Desde el cliente web no se aprecia diferencia en los diagramas de flujo con graphviz instalado y sin él. En el Manual de Open ERP tan sólo se relaciona para Fedora, lo cual no es muy fiable; y también se relaciona en el fichero INSTALL que tampoco es fiable.

o Graphviz: http://www.research.att.com/sw/tools/graphviz 

Es un modo de representar información estructural como diagramas de gráficos y redes abstractos. El dibujo automático de gráficos tiene muchas e importantes aplicaciones en ingeniería de software, diseño de bases de datos y web, redes, así como en interfaces visuales en muchos otros ámbitos. Graphviz es open source. Tiene diversos programas principales de composición gráfica.

o CentOS no lo incluye ni tampoco setuptools. Podemos instalar Graphviz usando el repositorio de graphviz con la ayuda del sitio web

oficial: descargar graphviz-rhel.repo y ubicarlo en /etc/yum.repos.d que nos facilitará un buen número de versiones hasta 2.26.3-1.el5.x86_64 (al momento de escribir) que depende de freeglut-2.4.0-7.1.el5, gtkglext-libs-1.2.0-6.el5 y gts-0.7.6-11.el5 y otros paquetes relacionados como Webdot. Sin embargo volvemos a necesitar libgvplugin_gd.so.6 para poder cargar graphviz, así que junto a graphviz instalamos también "graphviz-gd" (un plugin de graphviz para renderizadores basados en gd). Al instalar Graphviz se instala también Webdot en el sevidor web Apache de CentOS, un programa cgi-bin que produce gráficos en páginas web donde podemos hacer clic, así como un subdirectorio webdot entre los documentos.

o En el visor de procesos de OpenERP puede apreciarse que no sea posible ver las descripciones emergentes de las transiciones al

situar el puntero del ratón (hover) sobre las flechas de las transiciones, pero instalar graphviz no lo soluciona. En cuanto al error UnicodeDecodeError que puede producirse al hacer doble clic en una transición y al comportamiento general del visor de procesos en IE, se tratan en "OpenERP, Varios".

9. pydot

o Pydot (http://dkbza.org/pydot.html, http://code.google.com/p/pydot/) es una interfaz Python al lenguaje DOT de Graphviz.

Actualmente parece proveer una interfaz completa para crear, manejar y modificar diagramas de flujos en el lenguaje dot de Graphviz. Su sitio web indica que requiere pyparsing para cargar archivos DOT y Graphviz para renderizar los gráficos, pero su archivo "requires.txt" indica que requiere pyparsing y setuptools.

o CentOS no lo incluye pero podemos instalarlo fácilmente mediante setuptools, "easy_install -Z pydot". Como depende de pyparsing

es mejor haber instalado pyparsing previamente y así evitar "Couldn't import dot_parser, loading of dot files will not be possible".10. Python Imaging Library (PIL)

o Descripción: Usado por OpenERP, o mejor dicho, por reportlab, para manejar imágenes en formatos distintos a JPG como GIF o PNG

a la hora de generar informes, esta librería añade capacidades de proceso de imágenes al intérprete de Python, ofreciendo soporte de un extenso número de formatos, una eficiente representación interna y potentes capacidades de proceso de imágenes.

o Requerido por reportlab. Instalamos el paquete Linux incluido en CentOS 5 "python-imaging-1.1.5-5.el5.x86_64" que depende de

tix y tkinter.11. reportlab http://www.reportlab.com/

o Descripción: Biblioteca Python para generar archivos PDF.

o CentOS no lo incluye. Reportlab requiere Freetype 2, PIL y la librería gzip que es mejor instalar antes. Para instalarlo, ya sea

manualmente o mediante setuptools se necesitan los paquetes de desarrollo Python python-devel 64 y 32 y, para soporte de fuentes True Type debemos tener instalada previamente "freetype-devel". El repositorio RPMForge incluye la versión 1.2 "python-reportlab-1.20-1.el5.rf.noarch" que nos daría el error "Unicode() argument 2 must be string not none" al generar un PDF desde OpenERP porque OpenERP requiere la versión 2.4 (la más reciente al momento de escribir). Sus prestaciones pueden acelerarse, opcionalmente, compilando código extra escrito en C para lo que tendremos que instalar primero gcc que también es requerido por el acelerador de simplejson (ejecutar desde compilación en C en lugar de Plain Python) y que necesitaremos para poder instalar lxml, de modo saldremos ganando si desde este punto instalamos gcc. Para instalar reportlab la mejor opción es descargar reportlab del sitio oficial www.reportlab.com y leer las instrucciones de las diversas opciones de instalación incluyendo setuptools.

Page 23: Sistemas ERP

12. mx by egenix (mxDateTime, etc.)

o Las extensiones mx para Python (http://pypi.python.org/pypi/egenix-mx-base/3.1.2) son una colección de herramientas software

que mejoran la usabilidad de Python en muchas áreas.

o CentOS incluye "mx-2.0.6-2.2.2.x86_64" que, aunque no se necesita para la instalación de OpenERP, será requerido a la hora de

ejecutarlo.13. pytz

o Descripción: Definiciones de husos horarios (TimeZones) del mundo para Python. pytz trae la base de datos de "tz" de Olson a

Python. Esta biblioteca permite cálculos de husos horarios precisos e independientes de la plataforma usando Python 2.3 o superior. También resuelve el problema de horas ambiguas al final del período en que ha cambiado la hora para ahorro energético de lo que puede ampliar información en la Python Library Reference (datetime.tzinfo). Casi todos los husos Olson (más de 540) están soportados.

o El repositorio RPMForge incluye el paquete "python-tz-2006p-1.el5.rf.noarch" pero mejor ejecutamos "easy_install -Z pytz" que nos

instalará "pytz-2010h-py2.4.egg". OpenERP está actualizado para soportar pytz incluso más recientes que pytz-2008i donde los husos comunes comenzaron a incluir solamente los nombres de las zonas con un correspondiente archivo de datos en zoneinfo (ver final de setup.py de OpenERP).

14. PyXML (sólo 5.0.6 y anteriores)

o Ya lo encontraremos instalado PyXML-0.8.4-4.el5_4.2.x86_64"

15. libxml2

o Descripción de libxml2: Permite manipular ficheros XML. Incluye soporte para leer, modificar y escribir archivos XML y HTML. El

soporte DTD permite analizar la gramática y validar incluso DTDs complejos al mismo tiempo que el análisis o después de modificar el documento. La salida puede ser un sencillo flujo SAX o representaciones DOM en memoria. En este caso se pueden usar las implementaciones incluidas de XPath y XPointer para seleccionar subnodos o rangos. Dispone de un mecanismo flexible de Entrada/Salida, con módulos HTTP y FTP existentes y combinados con una librería URI.

o CentOS 5 64 incluye los paquetes Linux "libxml2-2.6.26-2.1.2.8.x86_64" y "libxml2-2.6.26-2.1.2.8.i386", a 64 y 32 bits

respectivamente, que proveen soporte XML y HTML y que seguramente ya encontrará instalados y si no es así los instalamos (como Open ERP es una aplicación a 32 bits, sólo necesita la librería i386, pero si está instalando en el área del sistema debería instalar ambas; si sólo instala la librería a 64, OpenERP dará un error de segmentación en las llamadas a esta librería).

16. libxml2-python enlaces python para libxml2 (sólo 5.0.6 y anteriores)

o Descripción de libxml2-python: Contiene un módulo que permite a las aplicaciones escritas en Python usar la interfaz suministrada

por libxml2 para manipular archivos XML.

o CentOS 5 64 incluye el paquete "libxml2-python 2.6.26-2.1.2.8.x86_64" (los enlaces python a las librerías anteriores) que

encontraremos ya instalado.17. libxslt (libxslt1)

o Descripción de libxslt: Es una librería C que permite transformar archivos XML en otros archivos XML, HTML, texto, etc. usando el

mecanismo estándar XSLT de transformación de hoja de estilo. Para usarlo se necesita tener instalada la versión 2.6.25 de libxml2 o más reciente. El comando xsltproc es una interfaz de línea de comandos al motor de XSLT.

o CentOS 5 64 incluye los paquetes "libxslt-1.1.17-2.el5_2.2.x86_64" y "libxslt-1.1.17-2.el5_2.2.i386" a 64 y 32 bits respectivamente,

la primera la encontraremos ya instalada.18. libxslt-python los enlaces python (sólo 5.0.6 y anteriores)

o Descripción de libxslt-python: Contiene un módulo que permite a las aplicaciones escritas en Python usar la interfaz de la librería

libxslt para aplicar transformaciones XSLT. Permite analizar hojas de estilo, usa libxml2-python para cargar y guardar archivos XML y HTML. Es posible acceder directamente a XPath y al contexto de transformación XSLT para extender el lenguaje XSLT con funciones XPath escritas en Python.

o Encontramos ya instalado el paquete Linux "libxslt-python-1.1.17-2.el5_2.2.x86_64".

19. lxml (lxml module: pythonic libxml2 and libxslt bindings) http://codespeak.net/lxml/ (sólo 5.0.7 y superiores)

o Descripción: Requerido por OpenERP a partir de la versión 5.0.7 en adelante, se trata de enlaces Python para libxml2 y libxslt

similares a ElementTree. Sigue lo más posible la API de ElementTree para proveer una interfaz a libxml2 y libxslt más pitónica que los enlaces predeterminados. En concreto, lxml trata con cadenas literales Unicode de Python en lugar de codificadas UTF-8 y maneja automáticamente la administración de memoria, al contrario que los enlaces predeterminados.

o Este es uno de los puntos más delicados porque lxml no se incluye en ninguno de los repositorios CentOS y porque tanto

elementtree como los enlaces a libxml2 y libxslt ya los encontramos instalados y pueden confundirnos; y en parte también porque deberemos compilarlo pero ésto resultará sencillo. El repositorio RPMForge incluye el paquete "python-lxml-1.3.4-1.el5.rf.x86_64" pero producirá errores de segmentación. Para compilar e instalar simplemente ejecutaremos "easy_install -Z lxml" que encontrará la versión 2.2.6 que es la más reciente y tratará de compilarla para su instalación pero antes debemos tener en cuenta que se necesitarán los paquetes de desarrollo libxml2-devel y libxslt-devel. Si no los instalamos previamente tratará de compilar lxml con los binarios de libxml2 y libxslt, nos llenará el terminal con un montón de líneas de error y terminará con "error: Setup script exited with error: command 'gcc' failed with exit status 1". Pero si tenemos instalados los paquetes devel tan sólo veremos unas pocas líneas: "Building against libxml2/libxslt in /usr/lib64", "Adding lxml to easy_install.pth" e "Installed /usr/lib/python/site-packages/lxml-2.2.6-py2.4-linux-x86_64.egg". Al comienzo vemos que el script trata de encontrar Cython para usarlo en la compilación en lugar de gcc, pero CentOS no incluye Cython.

20. openerp-server

o Quizás no sea aconsejable por ahora usar setuptools para instalar OpenERP, ya que si ejecutamos "easy_install openerp-server" es

posible que no se instale la versión más reciente y/o no quede del todo bien instalada, mientras que en la zona de descarga de Open ERP estará disponible la versión más reciente, que podemos instalar situándonos en el directorio donde se encuentra el instalador y ejecutándolo "python setup.py install" ó "python ./setup.py install". Antes podemos ver las opciones de instalación haciendo "python ./setup.py --help-commands", en cualquier caso quedará instalado en ""/usr/lib/python2.4/site-packages/openerp-server . En las versiones 5.0.13 y 5.0.14 (la más reciente al momento de escribir) de Open ERP, debe tomar una decisión entre dos opciones: actualizar Python a una versión más reciente que la 2.4 o aplicar un sencillo parche a Open ERP publicado en la resolución del bug que se ha mencionado ya dos veces: al principio en el apartado "Versiones de Open ERP" y en el punto 3 de esta lista.

21. configurando openerp-server

o Si los puertos IP predeterminados (8069 y 8070) que va a usar el servidor openerp están libres (normalmente así será y así es en

una instalación base), el siguiente paso es ejecutar el servidor openerp en un terminal con la opción -s (save) "openerp-server -s" que creará un fichero oculto en el home del usuario que lo ejecuta ".openerp-serverrc" con las opciones de inicio (configuración de inicio). Terminamos la ejecución con "Ctrl+C" para pasar a editar este fichero de configuración de inicio. Las líneas no se guardarán precisamente ordenadas y podemos compararlas con las opciones de ejecución que vemos en "man openerp-server" porque son casi las mismas. La línea "admin_password" es la contraseña del super-administrador de OpenERP necesaria para, desde la interfaz de usuario (cliente de OpenERP), crear o eliminar una base de datos (esquema o compañía), hacer una copia de respaldo (de seguridad) o restaurar desde la anterior. OpenERP pedirá esta contraseña (sólo la contraseña sin nombre de usuario) y si es correcta conectará con PostgreSQL usando la cuenta indicada en la línea "db_user" de este fichero de configuración que será la del

Page 24: Sistemas ERP

usuario que habíamos creado para éste y otros propósitos, al comienzo de esta guía. La línea "db_password" no será necesaria cambiarla, la dejamos en False (ver PostgreSQL authentication). En este punto ya es posible ejecutar el programa en un terminal invocando "openerp-server" para que corra el script del mismo nombre ubicado en "/usr/bin". Recuerde que al arrancar el servidor openerp, éste no comprueba la conexión con el servidor de BD y por tanto no recibiremos alerta alguna si la cuenta indicada en "db_user" no es válida en el servidor BD. Cuando iniciemos openerp web y nos conectemos mediante un navegador, éste nos indicará que no se pudo conectar con el servidor, pero será un mensaje ambiguo ya que perfectamente podríamos interpretar que openerp-web no pudo conectar con openerp-server cuando lo que ocurre es que este último no pudo conectar con el servidor BD.

22. ejecutando openerp-server

o Ahora ya sólo queda configurar el servidor para que el programa se ejecute como servicio para no tener que ejecutarlo en un

terminal. Básicamente consiste en situar el fichero de configuración en el directorio "/etc/", ubicar en "/etc/init.d/" el script de arranque (que no es el mismo del paso anterior y tampoco se facilita en la descarga), otorgarle permiso de ejecución, añadirlo como servicio "chkconfig --add openerp-server" y establecer los niveles de ejecución en que estará disponible, por ejemplo, para todos, sería "chkconfig openerp-server on" y para el nivel 5 "chkconfig -level 5 openerp-server on" y para los niveles 3 y 5 "chkconfig -level 35 openerp-server on". Usando off podemos hacer que no esté disponible en alguno o todos los niveles de ejecución. También podemos usar la interfaz gráfica: "System, Administration, Server Settings, Services" y entonces "Actions, Add Service" y escribimos "openerp-server", activamos su casilla y hacemos clic en "Guardar".

Open ERP Web

1. CherryPy >= 3.1.2

o CherryPy3 colisiona con CherryPy2 (usado por TurboGears) así que no podemos instalar ambos en el área del sistema. En el caso

de que necesitemos tener CherryPy2 en el sistema, podemos hacer una instalación local de CherryPy3 y las demás librerías en el subdirectorio lib de la carpeta de openerp-web, ubicándonos en el directorio lib y ejecutando "./populate.sh" que instalará todas las dependencias necesarias en el directorio privado lib; no necesitaremos instalar nada más.

o CherryPy >= 3.1.2 "easy_install -Z cherrypy" instalará la versión 3.1.2 y el script "cherryd" en /usr/bin/

2. pycryptopp >= 0.5.12

o Puede ser requerido por Beaker que instalaremos a continuación, si usamos alguna función de cifrado. Como requiere la versión

0.6c6 de setuptools que es más reciente que la 0.6c5 que hemos instalado, ejecutamos "easy_install -U setuptools" que actualiza a 0.6c11. Gracias de nuevo a Jorge González, director técnico de Daikon (www.daikon.es), para poder ejecutar sin fallos "easy_install -Z pycryptopp" necesitamos tener instalado previamente, además de gcc, el compilador de C++ (gcc-c++). La otra opción es la instalación manual.

3. Beaker >= 1.5

o Descripción: Una librería general de caché y sesión web que incluye WSGI middleware para usar en aplicaciones web, construida a

partir de MyghtyUtils y extendida con soporte de BD, http://beaker.groovie.org

o La versión 1.1 o superior es requerida por Mako, que instalaremos a continuación, pero la versión 1.5 es requerida por openerp-

web, de modo que "easy_install -Z beaker" instalará la versión 1.5.3 y ningún script, como es lógico.4. Mako >= 0.2.4

o Descripción: Una librería de plantillas que toma prestadas las mejores ideas de las plantillas de Django, Cheetah, Myghty y Genshi.

Mako es un lenguaje Python incrustado (es decir, Python Server Page).

o "easy_install -Z mako" instalará la versión 0.3.2 y el script "mako-render" en /usr/bin/

5. Babel >= 0.9.4

o Útiles de internacionalización, una colección de herramientas para internacionalizar aplicaciones Python http://babel.edgewall.org

Edgewall Software

o "easy_install -Z babel" instalará la versión 0.9.5 y el script "pybabel" en /usr/bin/

6. FormEncode >= 1.2.2

o HTML form validation, generation and conversion.

o "easy_install -Z formencode" instalará la versión 1.2.2 y ningún script en /usr/bin/

7. simplejson >= 2.0.9

o RPMForge incluye la versión 2.0.5 ("python-simplejson-2.0.5-1.el5.rf.x86_64") que no es suficiente, así que "easy_install -Z

simplejson" instalará la versión 2.1.1 y ningún script en /usr/bin/ Simplejson ya viene incluido en Python 2.6 y es compatible con 2.5 pero hay que instalarlo por separado, también para la 2.4.

8. pyparsing >= 1.5.0

o Ya lo hemos instalado.

9. xlwt >= 0.7 (0.7.2)

o Es una librería para generar archivos xls con formato de hoja de cálculo compatible con MS Excel 97/2000/XP/2003, OpenOffice.org,

y Gnumeric con soprte Unicode completo. Sólo requiere Python 2.3 o superior. Se trata de una bifucarción de pyExcelerator. Será requerido por openerp-web y podemos instalarlo con easy_install.

10. openerp-web

o Al contrario que con openerp-server, es posible que setuptools pueda ayudarnos perfectamente a instalar la última versión de

openerp-web (que era la 5.0.10 cuando hice las pruebas), pero también es posible que pueda haber regresiones en wikispaces, pues más recientemente, cuando la última versión era la 5.0.14, Jorge González nos comenta que al usar setuptools para instalar openerp-web, resultó ser instalada la 5.0.6; de modo que habrá que irlo comprobando con las sucesivas versiones, en concreto la 5.0.15 que estará a punto de salir. Por tanto, podemos elegir la instalación manual o intentar "easy_install -UZ openerp-web" que debería dejarlo bien instalado en "/usr/lib/python2.4/site-packages/openerp_web-5.0.10-py2.4.egg". Si los instalamos con setuptools, las dependencias que fueron indicadas en el archivo doc/README.txt podemos verlas ahora en el archivo "EGG-INFO/requires.txt": 

o CherryPy >= 3.1.2

o Mako >= 0.2.4

o Babel >= 0.9.4

o FormEncode >= 1.2.2

o simplejson >= 2.0.9

Page 25: Sistemas ERP

o pyparsing >= 1.5.0

o La ventaja de usar setuptools es la actualización, si nuestra primera instalación la hacemos mediante easy_install, podemos

actualizar con la opción -U sin correr peligro de que haya una regresión en wikispaces, mientras que si la primera instalación es manual deberemos realizar la actualización también de forma manual o bien desinstalar de forma manual e instalar la nueva versión con setuptools.

o También es posible probar OpenERP web en Linux sin necesidad de instalarlo, usando el script "populate.sh" incluido en la

subcarpeta lib de la descarga, que ubica todos los paquetes Python necesarios en esa misma subcarpeta. Después podemos ejecutarlo desde ahí mismo.

11. configurando openerp-web

o El siguiente paso es editar el fichero de configuración de inicio "openerp-web.cfg" que encontramos en el directorio "config". En

este punto ya es posible ejecutar el programa en un terminal invocando "openerp-web" para que corra el script del mismo nombre en "/usr/bin".

12. ejecutando openerp-web como demonio

o Ahora ya sólo queda configurar el servidor para que el programa se ejecute como servicio para no tener que ejecutarlo en un

terminal. Básicamente consiste en situar el fichero de configuración en el directorio "/etc/", copiar a "/etc/init.d/" el script de arranque (que no es el mismo del paso anterior sino el que encontramos en el directorio "scripts"), hacerle unos mínimos cambios porque LSB es distinto en CentOS que en Ubuntu y añadirlo como servicio.

ProblemasConocer lo que hace cada extensión de Python puede ayudarnos a aislar problemas, por ejemplo, si encontramos un problema al generar

un documento PDF es muy probable que la causa esté en reportlab. Este fue el motivo de incluir una descripción de cada extensión. No he comprobado algunas extensiones Python mencionadas en otras guías, como python-vobject, python-matplotlib (depende de python-dateutil), python-matplotlib-data y python-hippocanvas.Si ejecutamos openerp-server en un Terminal, he encontrado problemas si el idioma del usuario del sistema es distinto del inglés, el típico

problema del separador decimal. Esto no tiene nada que ver con el idioma de los usuarios de OpenERP que puede estar perfectamente en español.Apéndice 1. Instalando paquetes Python: setuptools (también conocido como easy_install)http://cheeseshop.python.org/pypi/setuptools

Instalación de paquetes PythonInstalar en el área del sistema (/usr/lib/python/site-packages y /usr/lib64/python/site-packages) los paquetes Python necesarios para

ejecutar OpenERP puede resultar sencillo usando setuptools, también conocido como easy_install, que es una colección de mejoras a las distutils de Python que permite compilar y distribuir paquetes Python más fácilmente, especialmente aquellos que tienen dependencia de otros paquetes, su funcionalidad consiste en descargar, compilar, instalar, actualizar y ¿desinstalar? paquetes Python. He escrito desinstalar entre interrogantes porque la descripción del paquete indica que tiene esta capacidad pero no existe un comando u opción para este fin. Igual que ocurre con los módulos de Open ERP, la operación de desinstalación será más compleja, aunque no tanto como en OpenERP, lo que debemos tener presente a la hora de instalar.CentOS 5 incluye "python-setuptools-0.6c5-2.el.noarch".Por defecto setuptools se instala junto con los paquetes Python en "/usr/lib/python/site-packages/setuptools" y podemos usarlo

directamente desde un terminal porque en "/usr/bin/" se instala el script correspondiente. Como no tiene una entrada de manual de documentación no obtendremos resultado de "man easy_install" pero podemos probar "easy_install --help" donde vemos las posibles opciones entre las que no vemos nada acerca de desinstalar.Al ejecutar easy_install, lo primero que hace es buscar el paquete en la web (searching, reading), cuando encuentra la mejor versión (best

match) lo descarga (downloading) y lo instala (running setup.py). El script setup.py del paquete puede haber sido implementado específicamente para setuptools o adaptado para que sea compatible como es el caso de reportlab.A continuación hace lo mismo con sus dependencias (Processing dependencies) que registra en el archivo "requires.txt" bajo el directorio

"EGG-INFO" del paquete, y registra los paquetes instalados y su ubicación en el archivo "easy_install.pth" que encontraremos en "/usr/lib/python2.4/site-packages" y que tiene el aspecto siguiente:

import sys; sys.__plen = len(sys.path)

./pyparsing-1.5.0-py2.4.egg

./CherryPy-3.1.2-py2.4.egg

./Mako-0.2.5-py2.4.egg

./Beaker-1.5-py2.4.egg

./Babel-0.9.4-py2.4.egg

./FormEncode-1.2.2-py2.4.egg

./reportlab-2.4-py2.4-linux-x86_64.egg

./openerp_web-5.0.9-py2.4.egg

./pydot-1.0.2-py2.4.egg

./simplejson-2.1.1-py2.4-linux-x86_64.egg

import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:];

p=getattr(sys,'__egginsert',0); sys.path[p:p]=new; sys.__egginsert = p+len(new)

Si la búsqueda en la web es infructuosa, el proceso se interrumpirá en el momento de la descarga:

[Civicom@www ~]# easy_install pyparsing

Searching for pyparsing

Reading http://cheeseshop.python.org/pypi/pyparsing/

Reading http://pyparsing.wikispaces.com/

error: Download error: (-2, 'Name or service not known')

En este caso podemos indicar explícitamente la dirección URI:

[Civicom@www ~]# easy_install http://cheeseshop.python.org/packages/

Page 26: Sistemas ERP

source/p/pyparsing/pyparsing-1.5.0.tar.gz

Downloading http://cheeseshop.python.org/packages/

source/p/pyparsing/pyparsing-1.5.0.tar.gz

Processing pyparsing-1.5.0.tar.gz

Running pyparsing-1.5.0/setup.py -q bdist_egg --dist-dir

/tmp/easy_install-SHSQ5X/pyparsing-1.5.0/egg-dist-tmp-5O8Vnm

zip_safe flag not set; analyzing archive contents...

pyparsing: module MAY be using inspect.stack

pyparsing: top-level module may be 'python -m' script

Adding pyparsing 1.5.0 to easy-install.pth file

Installed /usr/lib/python2.4/site-packages/pyparsing-1.5.0-py2.4.egg

Processing dependencies for pyparsing==1.5.0

Para instalar un paquete ejecutamos "easy_install paquete" pero seguramente querremos controlar si se instalará como zip o como directorio ya que cada paquete tiene su formato predeterminado, p.e., simplejson y pydot se instalan en zip si no especificamos nada. Podemos forzar el formato mediante las opciones: la opción -z (--zip-ok) instala el paquete en formato zip, mientras que la opción -Z (--always-unzip) lo instala descomprimido en su propia carpeta.Actualización de paquetesPara actualizar un paquete que hemos instalado previamente con easy_install usamos la opción -U (--upgrade) que comprobará la versión

instalada y la versión disponible más reciente, si coinciden, setuptools informa que la versión instalada es la más reciente y no hace nada más. Hay que tener cierto cuidado si previamente habíamos instalado el paquete que vamos a actualizar usando otro método (p.e. manualmente) porque será ignorada por easy_install aunque sea más reciente al no haberse registrado en el archivo de paquetes instalados (la versión más reciente disponible para setuptools puede no ser la última, que puede estar disponible en el sitio oficial de descarga, por ejemplo, en el momento de escribir, la versión de openerp-server disponible para descarga es la 5.0.10 mientras que para easy_install es la 5.0.0-3), es decir, easy_install sólo tiene en cuenta las versiones de los paquetes que han sido instalados previamente por él mismo, las que están registradas en easy_install.pth; una actualización tiene el aspecto siguiente:

[Civicom@www ~]# easy_install -UZ simplejson

Searching for simplejson

Reading http://cheeseshop.python.org/pypi/simplejson/

Reading http://undefined.org/python/#simplejson

Reading http://cheeseshop.python.org/pypi/simplejson/2.1.1

Best match: simplejson 2.1.1

Downloading http://pypi.python.org/packages/source/s/simplejson/

simplejson-2.1.1.tar.gz#md5=0bbe3a2e5e4cac040013733aca159d89

Processing simplejson-2.1.1.tar.gz

Running simplejson-2.1.1/setup.py -q bdist_egg --dist-dir

/tmp/easy_install-WeImCz/simplejson-2.1.1/egg-dist-tmp-GuhBjm

Removing simplejson 2.0.9 from easy-install.pth file

Adding simplejson 2.1.1 to easy-install.pth file

Installed /usr/lib/python2.4/site-packages/simplejson-2.1.1-py2.4-linux-x86_64.egg

Processing dependencies for simplejson

Como resultado de la actualización tenemos una nueva carpeta adicional ya que la carpeta de la versión anterior no es borrada, porque easy_install puede hacer que las aplicaciones requieran una versión determinada y por tanto es posible tener instalada más de una versión. Si no la necesitamos para otro programa podemos eliminarla manualmente.Desinstalar paquetes instalados con setuptoolsEn principio, para desinstalar un paquete instalado con setptools basta con eliminar su carpeta y la referencia a la misma en el archivo

"easy_install.pth", por ejemplo, en el caso de que vayamos a volver a instalarlo (por ejemplo, si lo instalamos sin gcc y queremos volver a instalarlo con gcc) y también en el caso de que no sea necesario como dependencia de ningún otro paquete. Si el paquete se necesita como dependencia de algún otro y hay instalada otra versión del mismo paquete que sea válida basta comprobar las referencias en el archivo ".pth". En el caso de que queramos eliminarlo de forma permanente y sea necesario como dependencia de algún otro paquete, entonces esta dependencia estará registrada en el archivo "require.txt" de ese otro paquete y al actualizarlo se volverán a procesar las dependencias. Podemos eliminar estas dependendencias manualmente, usar la opción -m o actualizar usando la opción -N (--no-deps) que instala sin procesar dependencias.Apéndice 2. Instalación manual vs. setuptoolseasy_installA la hora de instalar un paquete python podemos elegir usar setuptools que es una aplicación que facilita la instalación, actualización y

administración de dependencias de paquetes python. Por ejemplo, tomemos el paquete pydot que depende de pyparsing y setuptools, podemos instalarlo ejecutando "easy_install pydot" y usando la opción -Z "easy_install -Z pydot" para asegurarnos que se instale descomprimido en una carpeta y no en formato zip. La instalación se realiza en el área del sistema, es decir, en el directorio "site-packages" (/usr/lib/python/site-packages/):

[Civicom@www ~]# easy_install -Z pydot

Searching for pydot

Reading http://cheeseshop.python.org/pypi/pydot/

Page 27: Sistemas ERP

Reading http://code.google.com/p/pydot/

Reading http://cheeseshop.python.org/pypi/pydot/1.0.2

Best match: pydot 1.0.2

Downloading http://pydot.googlecode.com/files/pydot-1.0.2.zip

Processing pydot-1.0.2.zip

Running pydot-1.0.2/setup.py -q bdist_egg --dist-dir

/tmp/easy_install-hbpcsj/pydot-1.0.2/egg-dist-tmp-e9iej8

zip_safe flag not set; analyzing archive contents...

Adding pydot 1.0.2 to easy-install.pth file

Installed /usr/lib/python2.4/site-packages/pydot-1.0.2-py2.4.egg

Processing dependencies for pydot

instalación manualO usar el instalador del paquete. Por ejemplo, podemos instalar pydot usando su instalador: descargamos el paquete, nos situamos en el

directorio del paquete descargado donde se encuentra el instalador y lo ejecutamos, "python setup.py install".

[Civicom@www pydot-1.0.2]# python setup.py install

running install

running bdist_egg

running egg_info

writing requirements to pydot.egg-info/requires.txt

writing pydot.egg-info/PKG-INFO

writing top-level names to pydot.egg-info/top_level.txt

writing dependency_links to pydot.egg-info/dependency_links.txt

reading manifest file 'pydot.egg-info/SOURCES.txt'

writing manifest file 'pydot.egg-info/SOURCES.txt'

installing library code to build/bdist.linux-x86_64/egg

running install_lib

running build_py

creating build/bdist.linux-x86_64

creating build/bdist.linux-x86_64/egg

copying build/lib/pydot.py -> build/bdist.linux-x86_64/egg

copying build/lib/dot_parser.py -> build/bdist.linux-x86_64/egg

byte-compiling build/bdist.linux-x86_64/egg/pydot.py to pydot.pyc

byte-compiling build/bdist.linux-x86_64/egg/dot_parser.py to dot_parser.pyc

installing package data to build/bdist.linux-x86_64/egg

running install_data

copying ChangeLog -> build/bdist.linux-x86_64/egg/.

copying LICENSE -> build/bdist.linux-x86_64/egg/.

copying README -> build/bdist.linux-x86_64/egg/.

creating build/bdist.linux-x86_64/egg/EGG-INFO

copying pydot.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO

copying pydot.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO

copying pydot.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO

copying pydot.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO

copying pydot.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO

zip_safe flag not set; analyzing archive contents...

creating dist

creating 'dist/pydot-1.0.2-py2.4.egg' and adding 'build/bdist.linux-x86_64/egg' to it

removing 'build/bdist.linux-x86_64/egg' (and everything under it)

Processing pydot-1.0.2-py2.4.egg

Copying pydot-1.0.2-py2.4.egg to /usr/lib/python2.4/site-packages

Adding pydot 1.0.2 to easy-install.pth file

Installed /usr/lib/python2.4/site-packages/pydot-1.0.2-py2.4.egg

Processing dependencies for pydot==1.0.2

Page 28: Sistemas ERP

Searching for pyparsing

Reading http://cheeseshop.python.org/pypi/pyparsing/

Reading http://pyparsing.wikispaces.com/

error: Download error: (-2, 'Name or service not known')

Si todo estaba correcto el resultado será parecido, especialmente en el caso de pydot que usa setuptools, pero si no (p.e. si no tenemos instalado setuptools que es requerido por pydot), es posible que la instalación sea infructuosa y nos encontremos con una serie de archivos ubicados incorrectamente:

[Civicom@www pydot-1.0.2]# python setup.py install

/usr/lib64/python2.4/distutils/dist.py:236: UserWarning:

Unknown distribution option: 'install requires'

warnings.warn(msg)

running install

running build

running build_py

creating build

creating build/lib

copying pydot.py -> build/lib

copying dot_parser.py -> build/lib

running install_lib

copying build/lib/pydot.py -> usr/lib/python2.4/site-packages

copying build/lib/dot_parser.py -> /usr/lib/python2.4/site-packages

byte-compiling /usr/lib/python2.4/site-packages/pydot.py to pydot.pyc

byte-compiling /usr/lib/python2.4/site-packages/dot_parser.py to dot_parser.pyc

running install_data

copying Changelog -> /usr/.

copying LICENSE -> /usr/.

copying README -> /usr/.

Así que, si hemos de probar, quizás sea mejor hacerlo primero aceptando la ayuda de easy_install, que realiza las operaciones en /tmp antes de instalar; si falla, antes de terminarse nos mostrará un mensaje y borrará la carpeta que creó en /tmp.Apéndice 3. Dependencias de Open ERP según INSTALL y el instalador setup.pyDocumento INSTALLAl descargar Open ERP, encontramos en la carpeta doc el fichero INSTALL que se autodefine como una guía rápida de instalación. El

archivo relaciona una serie de paquetes que necesitamos tener instalados y las instrucciones para instalarlos en sistemas basados en Debian como Ubuntu (apt-get install -y) y en Fedora (usando yum ó los repositorios "core" ó "extra" del sitio web de Fedora). Este documento no es fiable porque presenta contradicciones no sólo respecto al Manual sino en sí mismo. El Manual indica que desde 5.0.7 ya no son necesarios libxml2 ni libxslt y aquí siguen apareciendo.Si comparamos las versiones 5.0.6, 5.0.7, 5.0.9 y 5.0.10, la lista que aparece en primer lugar es la misma en los cuatro, pero en el

comando apt-get hay una diferencia: en la versión 5.0.9 y 10 ya no aparece "python-xml" entre los paquetes Linux a instalar para Debian, paquete que no debería aparecer en 5.0.7 y que no se indica para Fedora en ninguno de los tres. Este no es necesario desde 5.0.7 así que puede servir de indicador de si una guía de instalación está actualizada o no.La siguiente tabla resume la primera lista de este fichero INSTALL: en la primera columna tenemos la relación de software, en la segunda

los paquetes de la instalación para Ubuntu y en la tercera para Fedora (algunos paquetes Python existen como paquetes Linux).

Software Ubuntu Fedora

Python 2.4 ó 2.5

PostgreSQL 8.2 ó superior postgresql postgresql-python

Psycopg2, el módulo Python python-psycopg2 python-psycopg2

libxml2 y los enlaces (empalmes) Python python-libxml2 libxml2-python

libxslt y los enlaces (empalmes) Python python-libxslt1 libxslt-python

lxml, el módulo Python python-lxml python-lxml

Reportlab pdf generation library for Python python-reportlab

pytz, el módulo Python python-tz

Page 29: Sistemas ERP

Algunas dependencias son requeridas solamente para propósitos específicos:

Para renderizar gráficos de flujos:

graphviz graphviz graphviz

pyparsing

Para generar informes usando imágenes en otro formato que .jpg:

Python Imaging Library (PIL) python-imaging python-imaging

La diferencia entre las instrucciones para Ubuntu frente a Fedora son que para Ubuntu no se indica "python-reportlab" (que es necesario y que seguramente ya esté instalado, lo que deberemos comprobar) y para Fedora no se indica "python-tz" que es un paquete básico de husos horarios (time zone) que seguramente encontremos ya instalado.El fichero INSTALL continúa con una referencia a "pyparsing", indicándonos que lo podemos encontrar en http://pyparsing.sourceforge.net/

y termina sugiriendo que ejecutemos OpenERP directamente, desde el directorio donde lo hemos descargado, lo cual es útil como comprobación final de que los paquetes imprescindibles están instalados.setup.pyAhora, si miramos el archivo setup.py de instalación vemos que el instalador buscará una serie de módulos (check_modules) y que en caso

de no encontrarse informará y terminará. Esta lista de módulos es distinta a las que encontramos en el archivo setup.py de las versiones 5.0.7 y 5.06, así que vamos a hacer una tabla para ver mejor los módulos requeridos por el instalador de Open ERP de cada versión:

Módulo 5.0.9 y 10 5.0.7 5.0.6

psycopg2 Sí Sí Sí

xml No Sí Sí

libxml2 No No Sí

libxslt No No Sí

lxml Sí Sí No

reportlab Sí Sí Sí

pychart Sí Sí Sí

pydot Sí Sí Sí

Esta tabla indica solamente aquellos paquetes que el instalador comprueba que estén instalados como requisito para ejecutarse, nada más, pero aún así, significa que pychart y pydot de alguna manera hay que contemplarlos también como requeridos por OpenERP.


Recommended