Civicom, una pequeña comunidad dedicada al software y conocimiento libre, empresas, profesionales liberales y emprendedores, te da la bienvenida. Participa, regístrate y comenta, pregunta, responde, señala los errores que veas, ayúdanos a conocer recursos libres (sean gratis o no) y no olvides promocionar tu trabajo, tu empresa, tus productos y servicios, tu sitio web, tu blog ...

Si te gusta algún artículo, ayuda a difundirlo haciendo clic en:

Puedes escribir con todos los privilegios en el muro de la página de Civicom en Facebook:

Sistemas ERP Libres I

Sistemas ERP Libres y de Código Abierto (Free Open Source ERPs)

2010·ene·11, ed. 2011·abr·08 © 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 más o menos especializados en un sector o en un tipo de empresa, y entonces lo denominamos "vertical", 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, aunque, afortunadamente, existen excepciones.

Listado de ERP Libres (Free Open Source ERPs)
Sistemas ERP Libres escritos en Java
Nombre Sitio Web Intro Lenguaje, Arquitectura RDBMS 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. Licencia GPL JDK (Java Development Kit). PostgreSQL/Oracle Mediana empresa
Openbravo http://www.openbravo.com Bifurcación de Compiere Java. Servidor Apache Tomcat. Cliente/Servidor Web. Oracle, PostgreSQL
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 OFBiz (Open For Business) http://www.ofbiz.org Licencia Apache v2 Java. Apache Tomcat Java Container. Apache Derby (originalmente Cloudscape, comprada por IBM, cambiada para cumplir las especificaciones DB2 y liberada), se recomienda cualquier otra como PostgreSQL.
opentaps (open enterprise applications) http://www.opentaps.org/ http://sourceforge.net/projects/opentaps/ Basado en Apache OFBiz. Licencia Honest Public License Java 1.4 1.5 (Tomcat y Geronimo) MySQL, PostgreSQL, Oracle, SQL Server
Sequoia ERP (nombre usado en 2005-2006 para opentaps + CRM) http://www.opensourcestrategies.com/ Si Chen fundador de Open Source Strategies Inc. Apache OfBiz MySQL, PostgreSQL, Oracle, Sybase y Microsoft SQL Server
Neogia http://www.neogia.org http://sourceforge.net/projects/neogia/ Basado en Apache OFBiz, Documentación en Francés. Puede integrar el CRM de Opentaps Java 1.4 1.5 PostgreSQL Pequeña a mediana empresa
Sistemas ERP Libres escritos en Python
Nombre Sitio Web Intro Lenguaje, Arquitectura RDBMS Sector Tamaño Funcional
GNUe (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.
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 Intro Lenguaje, Arquitectura RDBMS Sector Tamaño Funcional
xTuple ed. PostBooks http://www.xtuple.com/ PostBooks (accounting, CRM by xTuple) https://sourceforge.net/projects/postbooks 3 ediciones: Manufacturing, Standard y PostBooks. Libre solamente PostBooks Toda la lógica de la aplicación reside en pl/pgsql. Cliente Qt. Otros clientes pero no libres son iPhone y un cliente web basado en Drupal. PostgreSQL
Software Libre de Gestión no ERP
Nombre Sitio Web Intro Lenguaje, Arquitectura RDBMS Sector Tamaño Funcional
JFire http://www.jfire.org http://www.jfire.net Licencia LGPL Servidor Java JBoss o similar. Cliente Java RCP (Rich Client Platform). MySQL
AbanQ / FacturaLUX http://abanq.org/ = http://www.infosial.com/ (antes facturalux.org) Licencia GPL, buen TPV C++ (GNU g++), Cliente Qt PostgreSQL, MySQL
SQL Ledger http://www.sql-ledger.org Perl PostgreSQL
Ledger SMB http://www.ledgersmb.org/ Bifurcación de SQL Ledger 2.6.16, licencia GPL Perl PostgreSQL
Dolibarr http://www.dolibarr.es/ http://www.dolibarr.org/ http://wiki.dolibarr.org/ http://es.wikipedia.org/wiki/Dolibarr http://en.wikipedia.org/wiki/Dolibarr Licencia GPL2. Software francés disponible en español PhP MySQL
SaltOS http://www.ws3.es/portal/es/saltos.htm PhP 5 MySQL Sector Servicios
WebERP http://www.weberp.org/ http://sourceforge.net/projects/web-erp/ PhP 5.2 MySQL (108 Tablas)
WebERP http://www.web-erp.org/ http://sourceforge.net/projects/weberp/ Enero de 2011, escisión de los dos principales desarrolladores, ver artículo. PhP 5.2 MySQL (108 Tablas)
EdgeERP Bifurcación de WebERP, ahora inactivo. PhP
OpenAccounting Bifurcación de WebERP, ahora inactivo. PhP
FrontAccounting http://frontaccounting.com/ http://sourceforge.net/projects/frontaccounting/ Bifurcación de OpenAccounting PhP MySQL (75 Tablas)
PhreeBooks http://www.phreebooks.com/ http://sourceforge.net/projects/phreebooks/ http://en.wikipedia.org/wiki/PhreeBooks Creado por Dave Premo, ex-WebERP, para usarlo en su negocio PhP MySQL (42 Tablas)
BlueErp http://open.mitija.com/blueerp/ PhP MySQL
Blue Erp http://www.bluefountain.com/solutions/blueERP Privativo no confundir con BlueErp Ruby y Python, RoR PostgreSQL
TUTOS (The Ultimate Team Organization Software) (CRM) http://www.tutos.org/ http://sourceforge.net/projects/tutos/ Licencia GPL PhP 5.1+ PostgreSQL, MySQL Servicios, desarrollo de software Groupware, productos/proyectos, bug tracking, facturación, SCRUM, etc.
TOWA http://sourceforge.net/projects/towa/ Tutos + Owl + WebERP + Aria
Nola Pro http://www.nolapro.com/ Proprietary Freeware PhP MySQL
Aria http://www.ariany.com Basado en Nola. PhP MySQL Ropa.
Open-ERP http://open-erp.sourceforge.net/ No confundir con Open ERP ASP MS-SQL.
i-GlobalGest o iglobalgest http://sourceforge.net/projects/i-globalgest/ http://sourceforge.net/projects/i-globalgest/ desarrollado con dgp21 Sólo cliente Windows PostgreSQL
Software Libre de Contabilidad
Nombre Sitio Web Intro Lenguaje, Arquitectura RDBMS Sector Tamaño Funcional
QuickBooks Propietario Windows

Programas españoles

En el listado anterior encontramos desarrollos españoles como openXpertya y Openbravo que son bifurcaciones de Compiere. También SaltOS, desarrollado por Wide Spectrum Software Solutions S.L. (WS3 ) de Barcelona. A continuación se señalan otros desarrollos también españoles, de Galicia, Baleares y Extremadura:

Fisterra (GPL) by Igalia

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.

http://community.igalia.com/twiki/pub/Fisterra/ProjectArticles/Caixanova...

www.fisterra.org = http://community.igalia.com/twiki/bin/view/Fisterra

Base de datos PostgreSQL, Acceso a DB con libGDA. Replicación ad hoc
Clientes Gnome, Objetos del dominio implementados en C, con tecnologías Gnome (Glib, GObject, Bonobo). Versión de la plataforma de desarrollo Gnome: 2.2, Comunicación entre capas mediante CORBA, Arquitectura en 3 capas, Soporte de internacionalización.

BulmaGés

Nacido bajo la asociación BULMA y hoy en la asociación IGLUES, su 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. Incluye Contabilidad - BulmaCont, Facturación - BulmaFact, Terminal Punto de Venta - BulmaTPV, y Configurador gráfico de bases de datos, usuarios y permisos - BulmaSetup.
Enlaces: http://www.iglues.org/proyectos.php , http://www.iglues.org/ , http://bulmages.berlios.de/ , http://developer.berlios.de/projects/bulmages , http://es.wikipedia.org/wiki/BulmaG%C3%A9s , http://bulmages.sourceforge.net/

Linex-Empresas , LinEx PYME 2008

ContaLinex y FacturLinex.
www.gnulinex.net

Otros sin clasificar:

Comunion, http://www.comunionerp.com/

project-open (PM+CRM+Financial), (desarrolladores de España y Alemania y otros) http://www.project-open.org/ , http://sourceforge.net/projects/project-open/ , http://www.project-open.com/ , http://en.wikipedia.org/wiki/Project-Open

Plazma (ERP+CRM), Java, basado en Spring Framework + Hibernate. Oracle, PostgreSQL, MySQL, Firebird, HSQL. http://plazma.sourceforge.net/frameaction.php?lng=en&page=index , http://sourceforge.net/projects/plazma/

OpenInfo3W, http://www.openinfo3w.com/ , http://sourceforge.net/projects/openinfo3w/

jAllinOne, Java, desarrollado en el framework OpenSwing (Swing), http://jallinone.sourceforge.net/ , http://sourceforge.net/projects/jallinone/

Wavelet Enterprise Management Portal, desarrollo de Malasia, J2EE, PostgreSQL, http://enterprise.sourceforge.net/ , http://sourceforge.net/projects/enterprise/

Evaristo ERP Software (ERP + TPV), Portugués, Licencia GPL, Java PL/SQL, http://sourceforge.net/projects/evaristo/

microerp, (algo dormido) http://www.altaprise.com/ , http://sourceforge.net/projects/microerp/

Millenium BSA (Business Suite Anywhere), http://www.mbsa.ru/ (http://www.m-g.ru/) , http://sourceforge.net/projects/mbsa/

ERP.NET, http://erpnet.sourceforge.net/ , http://sourceforge.net/projects/erpnet/, escrito en C#.NET/ASP.NET/T-SQL

OrangeGears, de Tailandia, http://www.orangegears.com/, Apache OfBiz

Gardenia, Portugal, Licencia LGPL, http://www.gotham.pt/site/content/view/18/32/lang,en/ , http://sourceforge.net/projects/gardenia/ , J2EE

Yuza Open, Italia, Licencia GPL, http://www.yuza.it/ , para Windows

EBI Neutrino R1, Italia y Alemania, http://www.ebineutrino.org/crm/ , Java

Workflow Magic, (parece inactivo) http://sourceforge.net/projects/workflowmagic/

jewelERP (vertical para joyería, inactivo) http://sourceforge.net/projects/jewelerp/

ERP como Extensión de otro sistema

CK-ERP y ERP (extensiones de Drupal)

projectERP o pERP, http://projecterp.org/ , se trata de un grupo de aplicaciones de terceros para eGroupWare.

Magento tiene una extensión ERP.

Nota

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 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.

Taxonomía:

Comentarios

Aún estando de acuerdo con la gran mayoría del contenido, quisiera puntualizar algunas cosas.

En cuanto a los requisitos para que una aplicación tenga la categoría de ERP, hay algunos en los que no estoy de acuerdo como son:

Muchas compañías, cada una Multi-compañía. ¿por que?
Puedo entender la necesidad de multialmacén con series diferentes y facturaciones diferentes pues es un hecho real que muchas empresas tienen dependencias en diferentes ciudades, incluso que pueda tener varias empresas independientes con NIFs diferentes, pero “cada una multi-compañía” ¿a que necesidades generales reales responde?

En cuanto a la definición de cliente/servidor, creo que su utilidad va mucho más allá del simple balanceo de cargas entre máquinas. En principio la base de datos está claro que debe funcionar de forma totalmente independiente. Luego hay una pieza fundamental que es el servidor de aplicaciones que es el responsable de ejecutar la lógica del programa y por último está el cliente que es el responsable de presentar los datos e interactuar con el usuario.
La gran diferencia entre un ERP cliente-servidor y uno que no lo es, estriba en que el mantenimiento es brutalmente sencillo, pues actualizando la aplicación en el servidor, todo el mundo está actualizado y cuando toca cambiar el cliente se hace de forma automática sin la intervención de ningún técnico o usuario avanzado.
Otra diferencia importante es que, en el caso de aparecer nuevos sistemas operativos de gran éxito en el futuro en el lado cliente, en un sistema cliente/servidor sólo es necesario crear un nuevo cliente y todo funciona igual, mientras que en un sistema tradicional implica rehacer todo el ERP.

Cuando se habla de los lenguajes de desarrollo de los ERPs, se mencionan lenguajes como Java o Python. Mi experiencia programando sistemas informáticos desde el año 1982 y la observación de los más grandes del software, me han llevado a la conclusión de que para abordar con éxito el proyecto de un buen ERP, debes preparar tu propia herramienta que haga la programación de los módulos del ERP muy muy muy sencilla, algunos ejemplos de ello son SAP R3 => Abap/4, Oracle => Developer 2000... No se pusieron a programar con lenguajes tradicionales como C, Visualbasic, Java, Cobol,... sino que invirtieron en una herramienta de programación.

Estoy de acuerdo en que al igual que cuando se puso de moda la palabra Cliente/Servidor todo el mundo se apuntó al carro por el simple hecho de trabajar con una base de datos que si lo era, aunque no tenía nada que ver con el programa en sí, vuelve a ocurrir lo mismo con la palabra ERP en el que se le aplica la palabra a un simple programa de facturación, pero en este caso cuando se plantean los requerimientos, podemos entrar en contradicciones, pues ningún ERP lo es para todos los sectores a menos que se hagan módulos específicos y por otra parte podríamos tener un ERP con todos los requerimientos para ese sector y en cambio le faltaría una pieza fundamental para otra actividad ¿Cual sería el bueno?

Una vez expuestos mis puntos de vista, paso a reivindicar la categoría de ERP para Iglobalgest por los motivos siguientes:

Al igual que los más grandes, para desarrollar Iglobalgest, se ha creado una herramienta específica llamada daps21(antes dgp21) que se ha liberado como software libre con licencia AGPL. Esta herramienta hace extremadamente fácil la programación de Iglobalgest.
Daps21 es un entorno de ejecución y desarrollo cliente servidor 3capas, RDBMS Postgresql, servidor de aplicaciones daps21 para Linux y cliente fino para windows.
La programación de Iglobalgest se guarda en una base de datos desde la que también se ejecuta.
Esta diseñado en origen para trabajar en modo Cloud, de modo que un juego de programas en un mismo servidor puede atender usuarios de diferentes empresas con diferentes configuraciones y diferentes idiomas. Un mismo servidor puede ejecutar distintos juegos de programas a la vez y los usuarios de una misma empresa pueden ser atendidos por diferentes servidores a la vez.
Incorpora un sistema de encriptación de comunicaciones y otro de encriptación de documentos de la gestión documental.
Utiliza sockets TCP-IP de conexión con estado, protocolo FTP para el tránsito de los documentos y un protocolo propio para el cliente, que utiliza un ancho de banda ínfimo de alrededor del 10% de lo que necesitan los programas web. Esto hace posible trabajar incluso con conexiones de módem de 56 kbps.
Por descontado los datos de todo el ERP son datos únicos, relacionados exclusivamente por las claves de las diferentes tablas y un ejemplo de ello es que los tickets del TPV, se guardan como albaranes y utilizan las funciones de facturación estandars.
Puesto que una imagen vale más que mil palabras, adjunto un link de un caso de uso de Iglobalgest, en el que se puede apreciar el flujo de la información en una empresa real. http://iglobalgest.com/wiki/index.php?title=Iglobalgest_en_una_fabrica_d...