Integración de Magento con el ERP SAGE

La integración de Magento con SAGE u otros ERP, es un trabajo que requiere dedicación y conocimientos.

En Comunic-art, hemos llevado a cabo varias integraciones y conocemos los procesos y herramientas necesarias para realizar con éxito esta delicada tarea en un tiempo record.

Presupuesto integración Magento SAGE.

En proyectos de integración con ERPs de SAGE, las empresas que nos dedicamos a la programación en Magento raramente, podemos ofrecer precios muy aproximados o precios en forma de packs sin una toma de requerimientos previa.

Cada integración es un proyecto distinto que necesita un preanálisis en el que hay que valorar:

  • La tecnología de cada ERP o versiones (p.ej. algunas versiones de ERP de SAGE son muy distintas entre sí).
  • La configuración personalizada del ERP llevada a cabo por los técnicos de SAGE.
  • La configuración personalizada de Magento llevada a cabo por los programadores.

Integracion Sage ERP Magento

Toma de requerimientos.

Para poder hacer un presupuesto ajustado, las empresas de programación debemos recoger requerimientos bastante concretos y conocer el alcance que se quiere de la integración:

A veces simplemente se quieren sincornizar los stocks y otras se quiere una integración más completa. También se puede querer que mande el ERP de SAGE sobre la tienda Magento o al revés.

*Sobre este punto, las profesionales que nos dedicamos a Magento tenemos la opinión de que SAGE no mande de manera exagerada, para no perder parte de la flexibilidad y prestaciones de nuestro Magento y para que nos se nos complique cualquier futira ampliación de prestaciones a través de los módulos de Magento.

SAGE un ERP de código cerrado.

Las distintas versiones de ERP de SAGE y el hecho de que los programadores no tengamos acceso a conocer el código de programación de SAGE (dado que es un software privado de código cerrado) dificulta que una persona que no haya trabajado con SAGE pueda hacer un presupuesto ajustado sin necesitar las indicaciones de los técnicos, ya sea para que le den una visión general de la arquitectura de SAGE o simplemente para saber si en un proceso se tien que poner una coma o un punto.

En todo caso, siempre será muy recomendable garantizarse una colaboración activa del técnico SAGE hacia el programador Magento.

*A veces algún proyecto se nos ha encallado porqué el técnico del cliente no tenía disponibilidad para atender dudas mínimas.

Ejemplo de integración de SAGE Murano con Magento.

A continuación exponemos un ejemplo de proyecto realizado para integrar SAGE Murano:

*Creemos que si estáis en la situación de necesitar una integración este ejemplo os puede ayudar a ver el grado de concreción que necesita una redacción de requerimientos o daros una idea de que se puede requerir en un proyecto de integración.

"Nuestro cliente necesitaba un sistema que fuera capaz de exportar los productos existentes en su ERP y enviarlos a Magento para crear y actualizar los productos de la tienda online así como lograr un sistema de gestión de los stocks que funcionara de forma automática a partir de los datos del ERP.

Asimismo se requería un sistema que pudiera enviar los pedidos creados en Magento hacia el ERP de SAGE para llevar la contabilidad de la tienda online de una manera más eficaz.

Requerimientos de la integración del ERP de SAGE con Magento

  • Importar diariamente los productos del SAGE hacia Magento. Los productos se crean si no existen en Magento y se actualizarán si ya existían.
  • Habrá un sistema que relacionará las referencias de los productos en el SAGE con las referencias de los productos en la tienda online de manera única.
  • El sistema debe poder crear y actualizar productos simples y configurables. A partir de las referencias enviadas desde SAGE, se podrá saber si el producto es simple o bien si se trata de un producto configurable.
  • Hay que poder importar los atributos: color y talla del SAGE. Si el color o el tamaño no existen en Magento se darán de alta de forma automática.
  • Al importar un nuevo producto hay que importar los siguientes atributos: nombre, descripción, precio, color y talla (si tiene), el peso y el stock.
  • Al actualizar un producto en SAGE, en magento se actualizará únicamente el stock y el precio del producto.
  • Los atributos estado y visibilidad de los producto en Magento se actualizarán de forma automática a partir de su stock en SAGE.
  • El sistema para importar los productos de SAGE a Magento debe ser a partir de un archivo XML previamente definido y generado desde SAGE y enviado de forma automática en el servidor de Magento.
  • El sistema tiene que poder generar un fichero xml con un formato predefinido con la información de los nuevos pedidos. El sistema enviará diariamente los pedidos que aún no han sido enviados a SAGE.
  • El sistema de exportación de pedidos debe enviar la siguiente información: Datos personales del cliente, dirección de envío y de facturación, listado de las líneas del pedido y por último la información de los totales del pedido.
  • Debe existir un sistema de tareas programadas o crons que envíen los archivos del servidor de SAGE en el servidor de Magento y viceversa.
  • No es necesario mantener los productos existentes en el Magento anteriores a la integración del nuevo sistema.
  • El nombre y descripciones de los productos sólo se recibirán en un único idioma y con el formato enviado por SAGE. Estos textos se asignarán a la tienda por defecto de Magento. El cliente asumirá la introducción de los nombres y descripciones para los diferentes idiomas existentes en Magento.

Integración del nuevo sistema

Para este proyecto no era necesario mantener los productos existentes en el Magento anteriores a la integración del nuevo sistema, por lo tanto el sistema se integró en un Magento sin productos, ni los atributos talla y color.

Para relacionar las referencias de SAGE con Magento se crearon las referencias de los productos de Magento siguiendo un formato determinado:

  • Productos simples que no pertenecen a un producto configurable: La referencia es la misma que tiene el SAGE.
  • Productos simples que pertenecen a un producto configurable: Se crea una referencia a partir de la referencia de magento más la concatenación del código de color y del código de tamaño.
  • Por último los productos configurables se crean de forma automática cuando dos o más productos simples pertenecen a un mismo producto configurable. En este caso la referencia del producto configurable es la misma que referencia del producto de SAGE.
  • La gestión de los estados y las visibilidades de los productos se gestiona de forma automática a partir de las siguientes condiciones:
    • Si es un producto simple y no pertenece a un configurable se mostrará activo y visible en el catálogo siempre que el stock sea mayor que 0.
    • Si es un producto simple y pertenece a un configurable entonces estará activo si su stock es mayor que cero y su visibilidad será "No visible individualmente.
    • Si es un producto configurable y la suma de los stocks de los productos simples es mayor que cero entonces estará activo y visible en el catálogo. En caso de que la suma de los stocks de los productos simples sea cero el producto pasará a estar no visible en el catálogo.

Para crear las tareas de comunicación entre el Servidor de SAGE y Magento creamos los siguientes automatismos:

  • En el servidor de SAGE (Windows) creamos una tarea programada que diariamente envía por ftp los nuevos ficheros de artículos, tallas y colores en el servidor de Magento.
  • En el servidor de Magento: Creamos tres scripts que ejecutan los procesos de importación de tallas, colores y productos a partir de los archivos subidos desde SAGE.
  • A continuación el servidor de Magento genera el archivo XML con los pedidos de Magento y los guarda en una carpeta del sistema."
  • Por último el servidor de SAGE se conecta por ftp al servidor de Magento, descarga el fichero con los pedidos y por último se ejecuta la importación de los pedidos en el SAGE.