Guía Completa para la Exportación de Datos en un ERP a Documento XML
La gestión eficiente de los datos es esencial para garantizar un flujo de trabajo sin interrupciones en cualquier empresa. Los sistemas ERP (Enterprise Resource Planning) actúan como el centro neurálgico para las operaciones comerciales, contables y logísticas. La capacidad de exportar e importar datos desde y hacia un ERP es fundamental para una gestión eficiente de la información, permitiendo la integración con otras plataformas o la migración de datos.
Una de las formas más comunes y estructuradas para intercambiar datos es a través del formato XML (eXtensible Markup Language). A continuación, exploraremos los pasos y consideraciones para realizar la exportación de datos en un ERP a documentos XML, así como otros procesos de sincronización de datos relevantes.
Exportación de Datos Contables en Formato XML
Para realizar la exportación de los datos contables de una empresa (o varias) en formato XML, los sistemas ERP suelen ofrecer un asistente o módulo específico. El proceso generalmente comienza accediendo a la funcionalidad de exportación de datos contables XML.
1. Opciones de Configuración Inicial
En la primera pantalla del asistente de exportación, es posible crear y gestionar configuraciones para futuras exportaciones. Esto permite reutilizar los mismos parámetros sin tener que definirlos nuevamente.
- Guardar configuración de exportación: Si se marca esta opción, será necesario informar un nombre para la exportación. En futuras exportaciones, se podrá seleccionar esta configuración para repetir el mismo proceso, aunque es posible modificar los parámetros antes de realizar la exportación.
- Seleccionar configuración de exportación: Si ya se tiene una exportación configurada, se puede seleccionar su nombre. Esta opción también permite eliminar o realizar una copia de una configuración existente.
2. Límites de Proceso
Al avanzar al siguiente paso, se deberá seleccionar el orden de las empresas (o ejercicios) y la partición de datos donde se van a generar los ficheros de la exportación. Es aconsejable que la carpeta de destino esté totalmente vacía para evitar confusiones.
3. Selección de Empresas y/o Ejercicios
Por defecto, la aplicación seleccionará el ejercicio de la empresa activa. Es posible seleccionar varios ejercicios y empresas a la vez. En el caso de seleccionar la casilla de la empresa, se seleccionarán todos los ejercicios asociados a ella.
4. Selección de Datos a Traspasar (Maestros, Diseños, Presupuestos y Configuración)
Desde esta pantalla se seleccionarán los tipos de datos que se desean incluir en la exportación.
- Datos maestros: Es posible seleccionar todos los datos maestros o bien de forma individual, según las necesidades.
- Diseños: Esta opción permite exportar guías de balances y los distintos diseños de entrada de asientos y asientos predefinidos.
- Presupuestos: Traspasará los presupuestos existentes del módulo de contabilidad y/o analítica.
- Configuración: Se traspasarán los datos generales de la empresa (módulos, domicilio, datos registrales...), la configuración de contabilidad (longitud de cuentas...) y los Datos NPGC (relación de cuentas PGC90/NPGC).
5. Selección de Datos a Traspasar (Movimientos)
En este punto, se seleccionarán los datos relacionados con los Movimientos contables. La opción de 'Control traspasados' es crucial:
- Se debe desmarcar si es la primera vez que se realiza la importación en la empresa de destino.
- En el caso de que existan datos en la empresa de destino, se debe dejar marcada para controlar los movimientos y evitar duplicar la información.
Microsip Contabilidad: Cómo exportar pólizas contables a XML
6. Límites de Datos Maestros
Se informará el límite de los datos maestros a traspasar. Si se necesitan todos, se dejará tal y como viene por defecto.
7. Límites de Presupuestos
Si se ha seleccionado la opción de exportar presupuestos, esta pantalla permitirá informar los límites necesarios a traspasar para estos.
8. Límites de Movimientos, Cartera de Efectos, etc.
Si se ha seleccionado traspasar Movimientos, aquí se indicarán los límites específicos a traspasar. En el caso de haber seleccionado varios ejercicios, se deberán verificar cuidadosamente los límites de fechas.
9. Límites de Cartera de Efectos, Cartera de Saldos
Si se han seleccionado las opciones de exportar Movimientos 'Cartera de efectos sin movim.' y 'Saldos vivos sin movim.', esta pantalla permitirá informar los límites necesarios para estos elementos.
10. Límites de Registros Desconectados
Si se ha optado por exportar 'Guías' y 'Diseño de entrada y asientos predefinidos', esta sección permitirá seleccionar las guías de balances y los diseños específicos que se desean traspasar.
11. Inclusión de Datos Adicionales en la Exportación XML
Para especificar datos adicionales que se van a exportar a un archivo XML, es posible utilizar métodos programáticos como CreateAdditionalData para crear un objeto AdditionalData. Este procedimiento ilustra la manera de incluir datos relacionados al exportar una tabla principal a código XML, junto con tablas relacionadas. También se pueden crear archivos XSD (definición de esquema XML) y XSL (hojas de estilo XML) para complementar la exportación.
Sincronización de Datos entre ERP y Tiendas Online
La integración de una tienda online con un ERP es otro escenario donde la exportación e importación de datos es crucial. La sincronización se enfoca principalmente en productos (stock, precios, etc.) y pedidos realizados.
Esquema de Sincronización
Muchas plataformas requieren que se provea un fichero estructurado (como CSV o XML) para mantener los datos sincronizados. Esto puede realizarse de forma manual o automática. Aunque el siguiente ejemplo se enfoca en la importación de productos vía CSV, los principios de preparación y estructuración de datos son directamente aplicables a la exportación de datos a XML.
Opción Manual para la Importación de Productos (Ejemplo CSV)
Esta opción implica la subida directa de un fichero previamente preparado. Para iniciar, se accederá a la sección de "Importación" del portal, donde se seleccionará el fichero a importar y se procederá con la carga.
Formato del Fichero
Para evitar problemas con tildes o caracteres especiales, se recomienda guardar el archivo con codificación 'Unicode UTF-8', aunque otras codificaciones como ISO-8859-1 o Windows-1252 también pueden funcionar. También se aceptan formatos .xls o .xlsx. Para guardar en UTF-8 desde Excel, se puede hacer en el momento de guardar, accediendo a 'Herramientas' -> 'Opciones Web' y seleccionando 'Unicode (UTF-8)' en la pestaña de codificación.
Columnas Requeridas en el Fichero de Datos
Para que el sistema de destino pueda entender los datos, es crucial que se presenten de una forma concreta, siguiendo unas pautas en la indicación de las columnas. En caso de ser necesario, es posible programar la conversión de las columnas para que se adapten al formato requerido.
La siguiente tabla muestra un ejemplo de los valores aceptados para un documento de importación/exportación de productos, destacando la necesidad de una estructura definida, similar a la que se requeriría para un esquema XML.
Tabla: Valores Aceptados para Sincronización de Productos (Ejemplo)
| Nombre de columna | Descripción | Valores aceptados | Obligatorio |
|---|---|---|---|
| tipo | Indica el tipo de objeto que se quiere crear: una categoría (C), un producto (P), un producto con variedades (M) o variedades (V) | C / P / M / V | Sí, excepto para actualización donde se indique 'codigo_barras' o 'referencia' + 'proveedor' |
| id_interno | Identificador utilizado por tu tienda para hacer referencia al objeto a crear o a editar | Cadena de caracteres | En categorías y productos múltiples, para luego poder crear elementos dentro |
| padre | ID interno del objeto contenedor (la categoría donde crear un producto o el producto donde crear variedades). En el caso de crear un producto, puedes indicar más de una categoría separándolas por una coma. | Cadena de caracteres | Sólo en creación |
| publicado | Indica si el elemento se quiere publicar o despublicar | 1 para publicar, 0 para despublicar. Si no se quiere modificar el campo, no añadir la columna | No |
| imagen | URL de una o más imágenes. En caso de más de una URL, separadas por coma (','). La importación NO borra imágenes existentes. | Cadena de caracteres | No |
| borrar_imagenes | Elimina las imágenes existentes de un producto. SI / NO | SI / NO | No |
| video_es | Sólo para productos simples y múltiples. URL de uno o más vídeos de YouTube. | Cadena de caracteres | No |
| archivo_es | Url de uno o más archivos. Sólo para productos simples y múltiples. | Cadena de caracteres | No |
| plazo_entrega_sin_stock | Sólo para el producto. Días en los que se tarda en recibir el producto en caso de que no haya stock | Número | No |
| iva | Sólo para productos (simple y variedades) | 21 / 10 / 4 / 0 | No, por defecto se pondrá 21% |
| precio_coste | Sólo para productos simples o variedades. Precio de coste del producto. | xx.xx EUR / GBP / USD xx.xx xx,xx | No |
| peso | Sólo para productos simples o variedades. Peso del producto. | xx.xx | No, por defecto será 0 |
| volumen | Sólo para productos simples o variedades. Volumen del producto. | xx.xx | No |
| referencia | Sólo para productos simples o variedades. Referencia del proveedor. Máx. 30 caracteres. | Cadena de caracteres | No |
| codigo_barras | Sólo para productos simples o variedades. Código de barras del producto | Cadena de números | No |
| stock_proveedor | Sólo para productos simples o variedades. Stock disponible por parte del proveedor. | Número | No, por defecto será 0 |
| stock | Sólo para productos simples o variedades. Stock disponible en tu almacén. | Número | No, por defecto será 0 |
| marca | Sólo para productos. El identificador de la marca. Debe existir previamente. | Cadena de caracteres | No |
| proveedor | Sólo para productos (simple y variedades). ID interno del proveedor. Debe existir previamente. | Cadena de caracteres | No |
| nombre_es | Nombre en español del contenido. | Sólo creación | Sí |
| descripcion_es | Descripción en español del contenido. | Texto | No |
| cuerpo_es | Cuerpo en español del contenido. | Texto o HTML | No |
| nombre_largo_es | Nombre largo en español del contenido. Recomendado para SEO. | Texto | No |
| meta_title_es | Meta title del contenido. Utilizado para SEO. | Texto | No |
| meta_description_es | Meta description del contenido. Utilizado para SEO. | Texto | No |
| precio_es | Sólo para productos simples y variedades. PVP en español del contenido. | xx.xx EUR / GBP / USD xx.xx xx,xx | Sólo creación y sólo en el idioma por defecto de la tienda. |
| precio_oferta_es | Sólo para productos simples y variedades. Precio de oferta en español del contenido. | xx.xx EUR / GBP / USD xx.xx xx,xx | No |
| precio_flash_es | Sólo para productos simples y variedades. Precio de oferta flash. Debe acompañarse de 'precio_flash_fecha_fin_X'. | xx.xx EUR / GBP / USD xx.xx xx,xx | No |
| precio_flash_fecha_fin_es | Sólo para productos simples y variedades. Fecha de fin de la oferta flash. Formato dd/mm/aaaa. | Fecha | No |
| unidades_compra_proveedor | Información a tener en cuenta para solicitar unidades al proveedor. | Texto | No |
| fecha_proxima_entrada_stock | Fecha entrada de stock, usado para el cálculo del plazo de entrega. | Fecha | No |
| nombre_atributo_1 | ID interno del primer atributo del producto. Ej: 'Talla'. | Cadena de caracteres | No |
| valor_atributo_1 | Valor del primer atributo del producto. Ej: 'XL'. | Cadena de caracteres | No |
| ubicacion | Ubicación física del producto dentro de la tienda/almacén. | Cadena de caracteres. P.ej: 'Electrónica > Pasillo 3 > Estantería C' | No |
| largo | Sólo para productos simples o variedades. Largo del embalaje en centímetros. | xx,xx | No |
| ancho | Sólo para productos simples o variedades. Ancho del embalaje en centímetros. | xx,xx | No |
| alto | Sólo para productos simples o variedades. Alto del embalaje en centímetros. | xx,xx | No |
| gestion_stock | Gestión de stock para el producto. Vacío: por defecto; 0: No usar; 1: No vender si no hay stock; 2: Pedido se puede atrasar; 3: No vender si no hay stock (propio). | Vacío / 0 / 1 / 2 / 3 | No |
| grupo_portes_gratis | Agrupación de portes gratuitos para este producto. | Vacío / basico / extendido-1 / extendido-2 | No |
| productos_relacionados | ID's internos de productos relacionados separados por coma. | Cadena de caracteres | No |
| clasificacion | Identificador interno de la clasificación. | Cadena de caracteres | No |
| valor_nivel_1 | Para relacionar un producto con valores de nivel. | Cadena de caracteres | No |
| cantidad_minima | Cantidad mínima de venta. | Número | No |
| multiplo | Cantidad múltiple de venta. | Número | No |
| es_apilable | Indica si es posible apilar múltiples unidades del producto. | 1 si apilable, 0 si no lo es | No |
| recoger_tienda | Indica si se permite la recogida en tienda del producto. | 1 para recoger, 0 o vacío para no. | No |
| tipo_repetitivo | Tipo de producto repetitivo (0: No repetitivo, 1: Mensual, 2: Anual, 3: Anual (equivalente), 4: Trimestral). | Vacío / 0 / 1 / 2 / 3 / 4 | No |
| novedad_fecha_fin | Fecha de fin de la novedad en el producto (dd/mm/aaaa). | Fecha | No |
| dto_cant_cantidad1_es | Cantidad mínima de unidades para aplicar el descuento por cantidad. (Hasta 10 descuentos). | Número | No |
| dto_cant_valor1_es | Descuento que se aplicará. Puede ser porcentaje o cantidad fija. | Número | No |
| dto_cant_divisa1_es | Tipo de divisa del descuento por cantidad (%, EUR, USD, etc.). | % / EUR / USD | No |
Parametrización General y Gestión de Datos en el ERP
Para asegurar una correcta exportación e importación de datos, la parametrización del ERP es fundamental. Esto incluye la configuración de aspectos generales de la empresa y la gestión de entidades clave como clientes y centros administrativos.
Parametrización General
Desde la opción PARAMETRIZACIÓN / B. Parametrización general / A. Gestión / Pestaña VENTAS, se deben parametrizar los datos correspondientes a la empresa, como los Datos del registro mercantil: libro, registro, hoja, folio, sección, volumen, CNAE e IneCod.
Además, es necesario configurar las empresas en PARAMETRIZACIÓN, Configuración, A.- Empresas. Al marcar ciertos checks, se habilitarán campos específicos en las direcciones de envío para identificar "Oficina Contable", "Órgano Gestor", "Unidad Tramitadora", "Órgano Proponente" y "Delegación".
Importación de Direcciones de Clientes y Centros Administrativos
La importación de direcciones de clientes permite añadir códigos de centros administrativos de esa dirección (tabla maestra). Este proceso se lanza desde el Volcado de Datos, importación de Gestión -> Centros Administrativos. La importación de centros administrativos a direcciones de clientes es un proceso que se realiza desde el Volcado de datos, Gestión, Clientes (Importar Datos Face) que asigna en todas las direcciones del cliente los centros administrativos.
Dolibarr: Un Ejemplo de ERP con Capacidad de Exportación e Importación
Dolibarr es un software ERP y CRM de código abierto utilizado por muchas empresas para gestionar sus operaciones comerciales, contables y logísticas. Este tipo de sistemas ofrece capacidades avanzadas para el manejo de datos, incluyendo la exportación a formatos estructurados.
Dolibarr, por ejemplo, ofrece una API REST que permite automatizar los procesos de importación y exportación, facilitando así la integración con otras aplicaciones y el intercambio de información en formatos como XML o JSON.
Es importante verificar siempre los formatos de fechas y números (por ejemplo, formato europeo vs. americano) al exportar e importar datos para evitar errores y garantizar la coherencia de la información entre diferentes sistemas.
